diff options
Diffstat (limited to 'src/daemon/daemon.c')
-rw-r--r-- | src/daemon/daemon.c | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/src/daemon/daemon.c b/src/daemon/daemon.c index e971c9b2..971196f8 100644 --- a/src/daemon/daemon.c +++ b/src/daemon/daemon.c @@ -172,7 +172,7 @@ MHD_handle_connection (void *data) static int MHD_accept_connection (struct MHD_Daemon *daemon) { - struct MHD_Connection *pos; + struct MHD_Connection *pos; struct MHD_Connection *connection; struct sockaddr_in6 addr6; struct sockaddr *addr = (struct sockaddr *) &addr6; @@ -204,42 +204,44 @@ MHD_accept_connection (struct MHD_Daemon *daemon) #if DEBUG_CONNECT MHD_DLOG (daemon, "Accepted connection on socket %d\n", s); #endif - have = 0; - if ( (daemon->per_ip_connection_limit != 0) && - (daemon->max_connections > 0) ) + have = 0; + if ((daemon->per_ip_connection_limit != 0) && (daemon->max_connections > 0)) { pos = daemon->connections; - while (pos != NULL) - { - if ( (pos->addr != NULL) && - (pos->addr_len == addrlen) ) - { - if (addrlen == sizeof(struct sockaddr_in)) - { - const struct sockaddr_in * a1 = (const struct sockaddr_in *) &addr; - const struct sockaddr_in * a2 = (const struct sockaddr_in *) pos->addr; - if (0 == memcmp(&a1->sin_addr, - &a2->sin_addr, - sizeof(struct in_addr))) - have++; - } - if (addrlen == sizeof(struct sockaddr_in6)) - { - const struct sockaddr_in6 * a1 = (const struct sockaddr_in6 *) &addr; - const struct sockaddr_in6 * a2 = (const struct sockaddr_in6 *) pos->addr; - if (0 == memcmp(&a1->sin6_addr, - &a2->sin6_addr, - sizeof(struct in6_addr))) - have++; - } - } - pos = pos->next; - } + while (pos != NULL) + { + if ((pos->addr != NULL) && (pos->addr_len == addrlen)) + { + if (addrlen == sizeof (struct sockaddr_in)) + { + const struct sockaddr_in *a1 = + (const struct sockaddr_in *) &addr; + const struct sockaddr_in *a2 = + (const struct sockaddr_in *) pos->addr; + if (0 == + memcmp (&a1->sin_addr, &a2->sin_addr, + sizeof (struct in_addr))) + have++; + } + if (addrlen == sizeof (struct sockaddr_in6)) + { + const struct sockaddr_in6 *a1 = + (const struct sockaddr_in6 *) &addr; + const struct sockaddr_in6 *a2 = + (const struct sockaddr_in6 *) pos->addr; + if (0 == + memcmp (&a1->sin6_addr, &a2->sin6_addr, + sizeof (struct in6_addr))) + have++; + } + } + pos = pos->next; + } } - if ( (daemon->max_connections == 0) || - ( (daemon->per_ip_connection_limit != 0) && - (daemon->per_ip_connection_limit <= have) ) ) + if ((daemon->max_connections == 0) || + ((daemon->per_ip_connection_limit != 0) && + (daemon->per_ip_connection_limit <= have))) { /* above connection limit - reject */ #if HAVE_MESSAGES @@ -635,7 +637,7 @@ MHD_start_daemon (unsigned int options, retVal = malloc (sizeof (struct MHD_Daemon)); if (retVal == NULL) { - CLOSE(socket_fd); + CLOSE (socket_fd); return NULL; } memset (retVal, 0, sizeof (struct MHD_Daemon)); @@ -668,10 +670,9 @@ MHD_start_daemon (unsigned int options, va_arg (ap, MHD_RequestCompletedCallback); retVal->notify_completed_cls = va_arg (ap, void *); break; - case MHD_OPTION_PER_IP_CONNECTION_LIMIT: - retVal->per_ip_connection_limit - = va_arg (ap, unsigned int); - break; + case MHD_OPTION_PER_IP_CONNECTION_LIMIT: + retVal->per_ip_connection_limit = va_arg (ap, unsigned int); + break; default: #if HAVE_MESSAGES fprintf (stderr, |