diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2003-06-12 13:55:40 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2003-06-12 13:55:40 +0000 | 
| commit | 5f62a0c1ca89e9cf1d99058734a4f85ccbaa68e6 (patch) | |
| tree | 26fa65c3bfbdd972b67eaadd6184da3d49f349a6 /lib | |
| parent | ad1bf0f3891b6c89f347b3c4b992ae723bc6a258 (diff) | |
make it build with older OpenSSL
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/http_ntlm.c | 38 | 
1 files changed, 23 insertions, 15 deletions
| diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c index 639d147d3..af0d960a7 100644 --- a/lib/http_ntlm.c +++ b/lib/http_ntlm.c @@ -54,6 +54,14 @@  #define DES_set_odd_parity des_set_odd_parity  #define DES_set_key des_set_key  #define DES_ecb_encrypt des_ecb_encrypt + +/* This is how things were done in the old days */#define DESKEY(x) x +#define DESKEY(x) x +#define DESKEYARG(x) x +#else +/* Modern version */ +#define DESKEYARG(x) *x +#define DESKEY(x) &x  #endif  /* The last #include file should be: */ @@ -144,7 +152,7 @@ requests show that 0x18-0x1f seems to be the nonce anyway.   * key schedule ks is also set.   */  static void setup_des_key(unsigned char *key_56, -                          DES_key_schedule *ks) +                          DES_key_schedule DESKEYARG(ks))  {    DES_cblock key; @@ -170,19 +178,19 @@ static void calc_resp(unsigned char *keys,                        unsigned char *plaintext,                        unsigned char *results)  { -  des_key_schedule ks; +  DES_key_schedule ks; -  setup_des_key(keys, &ks); -  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results, &ks, -                  DES_ENCRYPT); +  setup_des_key(keys, DESKEY(ks)); +  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) results, +                  DESKEY(ks), DES_ENCRYPT); -  setup_des_key(keys+7, &ks); -  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+8), &ks, -                  DES_ENCRYPT); +  setup_des_key(keys+7, DESKEY(ks)); +  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+8), +                  DESKEY(ks), DES_ENCRYPT); -  setup_des_key(keys+14, &ks); -  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+16), &ks, -                  DES_ENCRYPT); +  setup_des_key(keys+14, DESKEY(ks)); +  DES_ecb_encrypt((DES_cblock*) plaintext, (DES_cblock*) (results+16), +                  DESKEY(ks), DES_ENCRYPT);  }  /* @@ -215,12 +223,12 @@ static void mkhash(char *password,      DES_key_schedule ks; -    setup_des_key(pw, &ks); -    DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer, &ks, +    setup_des_key(pw, DESKEY(ks)); +    DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer, DESKEY(ks),                      DES_ENCRYPT); -    setup_des_key(pw+7, &ks); -    DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer+8, &ks, +    setup_des_key(pw+7, DESKEY(ks)); +    DES_ecb_encrypt((DES_cblock *)magic, (DES_cblock *)lmbuffer+8, DESKEY(ks),                      DES_ENCRYPT);      memset(lmbuffer+16, 0, 5); | 
