mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-10-04 04:03:18 +03:00
releasing 0.9.61
This commit is contained in:
8 files changed
+200
-180
No files matched your search
@@ -123,7 +123,8 @@ connection_done (void *cls,
|
||||
struct Request *req = *con_cls;
|
||||
|
||||
if (-1 != req->timerfd)
|
||||
close (req->timerfd);
|
||||
if (0 != close (req->timerfd))
|
||||
abort ();
|
||||
free(req);
|
||||
}
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ typedef intptr_t ssize_t;
|
||||
* Current version of the library.
|
||||
* 0x01093001 = 1.9.30-1.
|
||||
*/
|
||||
#define MHD_VERSION 0x00096000
|
||||
#define MHD_VERSION 0x00096100
|
||||
|
||||
/**
|
||||
* MHD-internal return code for "YES".
|
||||
@@ -1176,7 +1176,7 @@ typedef void
|
||||
* @param psk[out] to be set to the pre-shared-key; should be allocated with malloc(),
|
||||
* will be freed by MHD
|
||||
* @param psk_size[out] to be set to the number of bytes in @a psk
|
||||
* @return 0 on success, -1 on errors
|
||||
* @return 0 on success, -1 on errors
|
||||
*/
|
||||
typedef int
|
||||
(*MHD_PskServerCredentialsCallback)(void *cls,
|
||||
@@ -1511,7 +1511,7 @@ enum MHD_OPTION
|
||||
MHD_OPTION_STRICT_FOR_CLIENT = 29,
|
||||
|
||||
/**
|
||||
* This should be a pointer to callback of type
|
||||
* This should be a pointer to callback of type
|
||||
* gnutls_psk_server_credentials_function that will be given to
|
||||
* gnutls_psk_set_server_credentials_function. It is used to
|
||||
* retrieve the shared key for a given username.
|
||||
|
||||
+23
-15
@@ -2236,6 +2236,7 @@ parse_initial_message_line (struct MHD_Connection *connection,
|
||||
uri++;
|
||||
if ((size_t)(uri - line) == line_len)
|
||||
{
|
||||
/* No URI and no http version given */
|
||||
curi = "";
|
||||
uri_len = 0;
|
||||
uri = NULL;
|
||||
@@ -2257,29 +2258,36 @@ parse_initial_message_line (struct MHD_Connection *connection,
|
||||
http_version--;
|
||||
if (http_version > uri)
|
||||
{
|
||||
/* http_version points to string before HTTP version string */
|
||||
http_version[0] = '\0';
|
||||
connection->version = http_version + 1;
|
||||
args = memchr (uri,
|
||||
'?',
|
||||
http_version - uri);
|
||||
uri_len = http_version - uri;
|
||||
}
|
||||
else
|
||||
{
|
||||
connection->version = "";
|
||||
args = memchr (uri,
|
||||
'?',
|
||||
line_len - (uri - line));
|
||||
uri_len = line_len - (uri - line);
|
||||
}
|
||||
uri_len = http_version - uri;
|
||||
}
|
||||
if ( (1 <= daemon->strict_for_client) &&
|
||||
(NULL != memchr (curi,
|
||||
' ',
|
||||
uri_len)) )
|
||||
{
|
||||
/* space exists in URI and we are supposed to be strict, reject */
|
||||
return MHD_NO;
|
||||
/* check for spaces in URI if we are "strict" */
|
||||
if ( (1 <= daemon->strict_for_client) &&
|
||||
(NULL != memchr (uri,
|
||||
' ',
|
||||
uri_len)) )
|
||||
{
|
||||
/* space exists in URI and we are supposed to be strict, reject */
|
||||
return MHD_NO;
|
||||
}
|
||||
|
||||
/* unescape URI before searching for arguments */
|
||||
daemon->unescape_callback (daemon->unescape_callback_cls,
|
||||
connection,
|
||||
uri);
|
||||
uri_len = strlen (uri); /* recalculate: may have changed! */
|
||||
args = memchr (uri,
|
||||
'?',
|
||||
uri_len);
|
||||
}
|
||||
|
||||
if (NULL != daemon->uri_log_callback)
|
||||
{
|
||||
connection->client_aware = true;
|
||||
|
||||
@@ -1711,7 +1711,8 @@ thread_main_connection_upgrade (struct MHD_Connection *con)
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
urh_from_pollfd(urh, p);
|
||||
urh_from_pollfd (urh,
|
||||
p);
|
||||
process_urh (urh);
|
||||
}
|
||||
}
|
||||
@@ -3670,7 +3671,8 @@ MHD_poll_all (struct MHD_Daemon *daemon,
|
||||
struct pollfd *p;
|
||||
MHD_socket ls;
|
||||
|
||||
p = MHD_calloc_ ((2 + num_connections), sizeof (struct pollfd));
|
||||
p = MHD_calloc_ ((2 + num_connections),
|
||||
sizeof (struct pollfd));
|
||||
if (NULL == p)
|
||||
{
|
||||
#ifdef HAVE_MESSAGES
|
||||
@@ -3809,7 +3811,8 @@ MHD_poll_all (struct MHD_Daemon *daemon,
|
||||
if ((p[poll_server+i].fd != urh->connection->socket_fd) ||
|
||||
(p[poll_server+i+1].fd != urh->mhd.socket))
|
||||
break;
|
||||
urh_from_pollfd(urh, &(p[poll_server+i]));
|
||||
urh_from_pollfd (urh,
|
||||
&p[poll_server+i]);
|
||||
i += 2;
|
||||
process_urh (urh);
|
||||
/* Finished forwarding? */
|
||||
|
||||
+14
-12
@@ -112,12 +112,12 @@ digest_calc_ha1_from_digest (const char *alg,
|
||||
char sessionkey[HASH_MD5_HEX_LEN + 1])
|
||||
{
|
||||
struct MD5Context md5;
|
||||
|
||||
|
||||
if (MHD_str_equal_caseless_(alg,
|
||||
"md5-sess"))
|
||||
{
|
||||
unsigned char ha1[MHD_MD5_DIGEST_SIZE];
|
||||
|
||||
|
||||
MD5Init (&md5);
|
||||
MD5Update (&md5,
|
||||
digest,
|
||||
@@ -680,7 +680,9 @@ check_argument_match (struct MHD_Connection *connection,
|
||||
&num_headers);
|
||||
free (argb);
|
||||
if (MHD_YES != ret)
|
||||
return MHD_NO;
|
||||
{
|
||||
return MHD_NO;
|
||||
}
|
||||
/* also check that the number of headers matches */
|
||||
for (pos = connection->headers_received; NULL != pos; pos = pos->next)
|
||||
{
|
||||
@@ -690,7 +692,7 @@ check_argument_match (struct MHD_Connection *connection,
|
||||
}
|
||||
if (0 != num_headers)
|
||||
{
|
||||
/* argument count mismatch */
|
||||
/* argument count missmatch */
|
||||
return MHD_NO;
|
||||
}
|
||||
return MHD_YES;
|
||||
@@ -978,8 +980,8 @@ digest_auth_check_all (struct MHD_Connection *connection,
|
||||
}
|
||||
}
|
||||
free (uri);
|
||||
return (0 == strcmp(response,
|
||||
respexp))
|
||||
return (0 == strcmp (response,
|
||||
respexp))
|
||||
? MHD_YES
|
||||
: MHD_NO;
|
||||
}
|
||||
@@ -1006,12 +1008,12 @@ MHD_digest_auth_check (struct MHD_Connection *connection,
|
||||
const char *password,
|
||||
unsigned int nonce_timeout)
|
||||
{
|
||||
return digest_auth_check_all(connection,
|
||||
realm,
|
||||
username,
|
||||
password,
|
||||
NULL,
|
||||
nonce_timeout);
|
||||
return digest_auth_check_all (connection,
|
||||
realm,
|
||||
username,
|
||||
password,
|
||||
NULL,
|
||||
nonce_timeout);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user