AUTH_VECTOR_LEN
u_char vector[AUTH_VECTOR_LEN];
char vector[AUTH_VECTOR_LEN+1], *p, *v;
for (i = 0; i < AUTH_VECTOR_LEN;) {
vector[AUTH_VECTOR_LEN] = '\0';
u_char md5buf[MAXSECRETLEN+AUTH_VECTOR_LEN], digest[AUTH_VECTOR_LEN],
memcpy(auth.vector, vector, AUTH_VECTOR_LEN);
p = (length + AUTH_VECTOR_LEN - 1) / AUTH_VECTOR_LEN;
*ptr++ = p * AUTH_VECTOR_LEN + 2;
memcpy(md5buf + secretlen, auth.vector, AUTH_VECTOR_LEN);
MD5_Update(&context, md5buf, secretlen + AUTH_VECTOR_LEN);
for (i = 0; i < AUTH_VECTOR_LEN; ++i) {
total_length += AUTH_VECTOR_LEN;
u_char recv_vector[AUTH_VECTOR_LEN], test_vector[AUTH_VECTOR_LEN];
memcpy(recv_vector, auth.vector, AUTH_VECTOR_LEN);
memcpy(auth.vector, req_vector, AUTH_VECTOR_LEN);
if (memcmp(recv_vector, test_vector, AUTH_VECTOR_LEN) != 0)