Correct some small details here and there.

This commit is contained in:
Lefteris Chatzimparmpas 2012-02-16 18:49:57 +01:00
parent b67ae8209b
commit 820e9db522
4 changed files with 34 additions and 30 deletions

View File

@ -29,8 +29,7 @@ auth_cram_md5(const char *user, const char *pass, unsigned char *chal)
EVP_DecodeBlock(resp, chal, strlen((char *)(chal))); EVP_DecodeBlock(resp, chal, strlen((char *)(chal)));
HMAC_Init(&hmac, (const unsigned char *)pass, strlen(pass), HMAC_Init(&hmac, (const unsigned char *)pass, strlen(pass), EVP_md5());
EVP_md5());
HMAC_Update(&hmac, resp, strlen((char *)(resp))); HMAC_Update(&hmac, resp, strlen((char *)(resp)));
HMAC_Final(&hmac, md, &mdlen); HMAC_Final(&hmac, md, &mdlen);

View File

@ -148,7 +148,8 @@ open_debug(void)
debugfp = fopen(opts.debug, "w"); debugfp = fopen(opts.debug, "w");
if (debugfp == NULL) { if (debugfp == NULL) {
error("opening debug file %s: %s\n", opts.debug, strerror(errno)); error("opening debug file %s: %s\n", opts.debug,
strerror(errno));
return 1; return 1;
} }
return 0; return 0;

View File

@ -219,7 +219,8 @@ response_generic(session *ssn, int tag)
do { do {
buffer_check(&ibuf, ibuf.len + INPUT_BUF); buffer_check(&ibuf, ibuf.len + INPUT_BUF);
if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) == -1) if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) ==
-1)
return -1; return -1;
ibuf.len += n; ibuf.len += n;
@ -247,7 +248,8 @@ response_continuation(session *ssn)
do { do {
buffer_check(&ibuf, ibuf.len + INPUT_BUF); buffer_check(&ibuf, ibuf.len + INPUT_BUF);
if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) == -1) if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) ==
-1)
return -1; return -1;
ibuf.len += n; ibuf.len += n;
@ -353,8 +355,9 @@ response_authenticate(session *ssn, int tag, unsigned char **cont)
if ((r = response_continuation(ssn)) == STATUS_CONTINUE && if ((r = response_continuation(ssn)) == STATUS_CONTINUE &&
!regexec(re->preg, ibuf.data, re->nmatch, re->pmatch, 0)) !regexec(re->preg, ibuf.data, re->nmatch, re->pmatch, 0))
*cont = (unsigned char *)xstrndup(ibuf.data + re->pmatch[1].rm_so, *cont = (unsigned char *)xstrndup(ibuf.data +
re->pmatch[1].rm_eo - re->pmatch[1].rm_so); re->pmatch[1].rm_so, re->pmatch[1].rm_eo -
re->pmatch[1].rm_so);
return r; return r;
} }
@ -571,7 +574,8 @@ response_search(session *ssn, int tag, char **mesgs)
*m = '\0'; *m = '\0';
} }
min = (unsigned int)(re->pmatch[1].rm_eo - re->pmatch[1].rm_so) < ibuf.len ? min = (unsigned int)(re->pmatch[1].rm_eo -
re->pmatch[1].rm_so) < ibuf.len ?
(unsigned int)(re->pmatch[1].rm_eo - re->pmatch[1].rm_so) : (unsigned int)(re->pmatch[1].rm_eo - re->pmatch[1].rm_so) :
ibuf.len; ibuf.len;
@ -775,7 +779,8 @@ response_fetchbody(session *ssn, int tag, char **body, size_t *len)
do { do {
buffer_check(&ibuf, ibuf.len + INPUT_BUF); buffer_check(&ibuf, ibuf.len + INPUT_BUF);
if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) == -1) if ((n = receive_response(ssn, ibuf.data + ibuf.len, 0, 1)) ==
-1)
return -1; return -1;
ibuf.len += n; ibuf.len += n;

View File

@ -125,6 +125,7 @@ open_secure_connection(session *ssn)
"connection has been closed cleanly\n", "connection has been closed cleanly\n",
ssn->server); ssn->server);
goto fail; goto fail;
case SSL_ERROR_NONE:
case SSL_ERROR_WANT_CONNECT: case SSL_ERROR_WANT_CONNECT:
case SSL_ERROR_WANT_ACCEPT: case SSL_ERROR_WANT_ACCEPT:
case SSL_ERROR_WANT_X509_LOOKUP: case SSL_ERROR_WANT_X509_LOOKUP:
@ -149,7 +150,7 @@ open_secure_connection(session *ssn)
NULL)); NULL));
goto fail; goto fail;
default: default:
goto fail; break;
} }
} }
if (get_option_boolean("certificates") && get_cert(ssn) == -1) if (get_option_boolean("certificates") && get_cert(ssn) == -1)
@ -294,9 +295,7 @@ socket_secure_read(session *ssn, char *buf, size_t len)
int r, e; int r, e;
for (;;) { for (;;) {
r = (ssize_t) SSL_read(ssn->sslsocket, buf, len); if ((r = (ssize_t) SSL_read(ssn->sslsocket, buf, len)) > 0)
if (r > 0)
break; break;
switch (SSL_get_error(ssn->sslsocket, r)) { switch (SSL_get_error(ssn->sslsocket, r)) {
@ -304,6 +303,7 @@ socket_secure_read(session *ssn, char *buf, size_t len)
error("reading data; the connection has been closed " error("reading data; the connection has been closed "
"cleanly\n"); "cleanly\n");
return -1; return -1;
case SSL_ERROR_NONE:
case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE: case SSL_ERROR_WANT_WRITE:
case SSL_ERROR_WANT_CONNECT: case SSL_ERROR_WANT_CONNECT:
@ -326,7 +326,7 @@ socket_secure_read(session *ssn, char *buf, size_t len)
ERR_error_string(ERR_get_error(), NULL)); ERR_error_string(ERR_get_error(), NULL));
return -1; return -1;
default: default:
return -1; break;
} }
} }
@ -342,10 +342,10 @@ ssize_t
socket_write(session *ssn, const char *buf, size_t len) socket_write(session *ssn, const char *buf, size_t len)
{ {
int s; int s;
ssize_t w, wt; ssize_t r, t;
fd_set fds; fd_set fds;
w = wt = 0; r = t = 0;
s = 1; s = 1;
FD_ZERO(&fds); FD_ZERO(&fds);
@ -356,28 +356,28 @@ socket_write(session *ssn, const char *buf, size_t len)
FD_ISSET(ssn->socket, &fds))) { FD_ISSET(ssn->socket, &fds))) {
#ifndef NO_SSLTLS #ifndef NO_SSLTLS
if (ssn->sslsocket) { if (ssn->sslsocket) {
w = socket_secure_write(ssn, buf, len); r = socket_secure_write(ssn, buf, len);
if (w <= 0) if (r <= 0)
goto fail; goto fail;
} else } else
#endif #endif
{ {
w = write(ssn->socket, buf, len); r = write(ssn->socket, buf, len);
if (w == -1) { if (r == -1) {
error("writing data; %s\n", error("writing data; %s\n",
strerror(errno)); strerror(errno));
goto fail; goto fail;
} else if (w == 0) { } else if (r == 0) {
goto fail; goto fail;
} }
} }
if (w > 0) { if (r > 0) {
len -= w; len -= r;
buf += w; buf += r;
wt += w; t += r;
} }
} }
} }
@ -390,7 +390,7 @@ socket_write(session *ssn, const char *buf, size_t len)
goto fail; goto fail;
} }
return wt; return t;
fail: fail:
close_connection(ssn); close_connection(ssn);
@ -408,9 +408,7 @@ socket_secure_write(session *ssn, const char *buf, size_t len)
int r, e; int r, e;
for (;;) { for (;;) {
r = (ssize_t) SSL_write(ssn->sslsocket, buf, len); if ((r = (ssize_t) SSL_write(ssn->sslsocket, buf, len)) > 0)
if (r > 0)
break; break;
switch (SSL_get_error(ssn->sslsocket, r)) { switch (SSL_get_error(ssn->sslsocket, r)) {
@ -418,6 +416,7 @@ socket_secure_write(session *ssn, const char *buf, size_t len)
error("writing data; the connection has been closed " error("writing data; the connection has been closed "
"cleanly\n"); "cleanly\n");
return -1; return -1;
case SSL_ERROR_NONE:
case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE: case SSL_ERROR_WANT_WRITE:
case SSL_ERROR_WANT_CONNECT: case SSL_ERROR_WANT_CONNECT:
@ -440,7 +439,7 @@ socket_secure_write(session *ssn, const char *buf, size_t len)
ERR_error_string(ERR_get_error(), NULL)); ERR_error_string(ERR_get_error(), NULL));
return -1; return -1;
default: default:
return -1; break;
} }
} }