continue;
}
- if (strstr(buffer, "**REHANDSHAKE**") != NULL) {
- fprintf (stderr, "*** Starting TLS rehandshake\n");
- ret = do_handshake (&hd);
- if (ret < 0)
- {
- fprintf (stderr, "*** Rehandshake has failed\n");
- user_term = 1;
- retval = 1;
- break;
- }
- }
if (crlf != 0)
{
char *b = strchr (buffer, '\n');
}
else
{
+ fprintf(stderr, "received: %s\n", request);
+ if (request[0] == request[1] && request[0] == '*')
+ {
+ if (strncmp(request, "**REHANDSHAKE**", sizeof("**REHANDSHAKE**")-1)==0)
+ {
+ fprintf(stderr, "*** Sending rehandshake request\n");
+ gnutls_rehandshake(session);
+ }
+ *response = NULL;
+ *response_length = 0;
+ return;
+ }
*response = strdup (request);
*response_length = ((*response) ? strlen (*response) : 0);
}
{
if (r == GNUTLS_E_REHANDSHAKE)
{
+ fprintf(stderr, "*** Received hello message\n");
do
{
r = gnutls_handshake (j->tls_session);
}
}
- if (j->handshake_ok == 1)
+ if (j->handshake_ok == 1 && j->http_response != NULL)
{
/* FIXME if j->http_response == NULL? */
r = gnutls_record_send (j->tls_session,
}
}
}
+ else
+ {
+ j->request_length = 0;
+ j->http_request[0] = 0;
+ j->http_state = HTTP_STATE_REQUEST;
+ }
}
}
lloopend (listener_list, j);