char *config_file;
char *key_file;
char *user;
+ RC4_KEY rc4_recv_key;
+ RC4_KEY rc4_send_key;
+
char *in_buf;
size_t *in_loaded;
char *out_buf;
return ret;
}
-static RC4_KEY rc4_recv_key;
-static RC4_KEY rc4_send_key;
-static unsigned char rc4_buf[2 * RC4_KEY_LEN];
-
-static void rc4_send(unsigned long len, const unsigned char *indata, unsigned char *outdata)
+static void rc4_send(unsigned long len, const unsigned char *indata,
+ unsigned char *outdata)
{
- RC4(&rc4_send_key, len, indata, outdata);
+ RC4(&pcd->rc4_send_key, len, indata, outdata);
}
-static void rc4_recv(unsigned long len, const unsigned char *indata, unsigned char *outdata)
+static void rc4_recv(unsigned long len, const unsigned char *indata,
+ unsigned char *outdata)
{
- RC4(&rc4_recv_key, len, indata, outdata);
+ RC4(&pcd->rc4_recv_key, len, indata, outdata);
}
+
void (*crypt_function_recv)(unsigned long len, const unsigned char *indata, unsigned char *outdata);
void (*crypt_function_send)(unsigned long len, const unsigned char *indata, unsigned char *outdata);
char buf[8192];
char *auth_str;
long unsigned challenge_nr;
+ unsigned char rc4_buf[2 * RC4_KEY_LEN] = "";
ret = client_parse_config(argc, argv, &pcd);
if (ret < 0)
numbytes - PROCEED_MSG_LEN - 1);
if (ret < 0)
goto out;
- RC4_set_key(&rc4_send_key, RC4_KEY_LEN, rc4_buf);
- RC4_set_key(&rc4_recv_key, RC4_KEY_LEN, rc4_buf + RC4_KEY_LEN);
+ RC4_set_key(&pcd->rc4_send_key, RC4_KEY_LEN, rc4_buf);
+ RC4_set_key(&pcd->rc4_recv_key, RC4_KEY_LEN, rc4_buf + RC4_KEY_LEN);
PARA_INFO_LOG("rc4 encrytion activated: %x:%x:%x:%x\n",
rc4_buf[0], rc4_buf[1], rc4_buf[2], rc4_buf[3]);
crypt_function_recv = rc4_recv;