AUTH_LENGTH
unsigned char challenge[AUTH_LENGTH];
unsigned char crypt_expected[AUTH_LENGTH];
if (stream_write(cfd, challenge, AUTH_LENGTH) <= 0)
len = stream_read(cfd, buf, AUTH_LENGTH);
memcpy(crypt_expected, challenge, AUTH_LENGTH);
if (memcmp(crypt_expected, buf, AUTH_LENGTH) != 0) {