Changeset 4705


Ignore:
Timestamp:
10/08/08 07:17:05 (5 years ago)
Author:
werner
Message:

Cleanup, part 2. Code move separated for clarity.

  • wepkey.h, wepkey.c: reversed order of wepkey_64 and wepkey_128
  • tests/Makefile (all): run all tests
  • Makefile (clean): also clean up tests/
Location:
developers/werner/wep
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • developers/werner/wep/Makefile

    r4704 r4705  
    2424clean: 
    2525                rm -f $(OBJS) .depend 
     26                $(MAKE) -C tests clean 
    2627 
    2728spotless:       clean 
  • developers/werner/wep/tests/Makefile

    r4702 r4705  
    11.PHONY: tests clean 
    22 
     3# We list all lower-case letter explicitly to keep localization from messing 
     4# with us. 
     5 
    36all: 
    4         ./foobar 
     7        for n in [abcdefghijklmnopqrstuvwxyz]*; do ./$$n || exit; done 
    58 
    69clean: 
  • developers/werner/wep/wepkey.c

    r4704 r4705  
    2626 
    2727#include "wepkey.h" 
    28  
    29  
    30 ssize_t wepkey_128(void *out, size_t size, const char *in, int n) 
    31 { 
    32         const char extra[] = "#$%" "!@#" "%&^"; 
    33         MD5_CTX ctx; 
    34         char buf[64]; 
    35         unsigned char tmp[16]; 
    36         int len, i, j; 
    37  
    38         if (size < WEPKEY_128_BYTES) 
    39                 return -1; 
    40         if (n < 0 || n >= 4) 
    41                 return -1; 
    42  
    43         len = strlen(in); 
    44         if (!len) 
    45                 return -1; 
    46  
    47         for (i = 0; i != sizeof(buf); i++) { 
    48                 j = i % (len+n*3); 
    49                 buf[i] = j < len ? in[j] : extra[j-len]; 
    50         } 
    51         MD5_Init(&ctx); 
    52         MD5_Update(&ctx, buf, sizeof(buf)); 
    53         MD5_Final(tmp, &ctx); 
    54         memcpy(out, tmp+n, WEPKEY_128_BYTES); 
    55         return WEPKEY_128_BYTES; 
    56 } 
    5728 
    5829 
     
    8657        return WEPKEY_64_BYTES; 
    8758} 
     59 
     60 
     61ssize_t wepkey_128(void *out, size_t size, const char *in, int n) 
     62{ 
     63        const char extra[] = "#$%" "!@#" "%&^"; 
     64        MD5_CTX ctx; 
     65        char buf[64]; 
     66        unsigned char tmp[16]; 
     67        int len, i, j; 
     68 
     69        if (size < WEPKEY_128_BYTES) 
     70                return -1; 
     71        if (n < 0 || n >= 4) 
     72                return -1; 
     73 
     74        len = strlen(in); 
     75        if (!len) 
     76                return -1; 
     77 
     78        for (i = 0; i != sizeof(buf); i++) { 
     79                j = i % (len+n*3); 
     80                buf[i] = j < len ? in[j] : extra[j-len]; 
     81        } 
     82        MD5_Init(&ctx); 
     83        MD5_Update(&ctx, buf, sizeof(buf)); 
     84        MD5_Final(tmp, &ctx); 
     85        memcpy(out, tmp+n, WEPKEY_128_BYTES); 
     86        return WEPKEY_128_BYTES; 
     87} 
  • developers/werner/wep/wepkey.h

    r4704 r4705  
    2323 
    2424 
     25#define WEPKEY_64_BYTES         5 
    2526#define WEPKEY_128_BYTES        13 
    26 #define WEPKEY_64_BYTES         5 
    2727 
    2828 
     
    3232 */ 
    3333 
     34ssize_t wepkey_64(void *out, size_t size, const char *in, int n); 
    3435ssize_t wepkey_128(void *out, size_t size, const char *in, int n); 
    35 ssize_t wepkey_64(void *out, size_t size, const char *in, int n); 
    3636 
    3737#endif /* !WEPKEY_H */ 
Note: See TracChangeset for help on using the changeset viewer.