- lenin = recv(c->socket, c->buffer + c->buflen, MAXBUFSIZE - c->buflen, 0);
+ if(c->allow_request == ID) {
+ logger(LOG_DEBUG, _("Continuing handshake..."));
+ result = gnutls_handshake(c->session);
+ if(!result) {
+ logger(LOG_DEBUG, _("Handshake with %s (%s) completed!"), c->name, c->hostname);
+ c->allow_request = ACK;
+ return send_ack(c);
+ }
+ if(result == GNUTLS_E_INTERRUPTED || result == GNUTLS_E_AGAIN)
+ return true;
+ logger(LOG_DEBUG, _("Handshake with %s (%s) failed: %s"), c->name, c->hostname, gnutls_strerror(result));
+ return false;
+ }
+
+ result = gnutls_record_recv(c->session, c->buffer + c->buflen, MAXBUFSIZE - c->buflen);