changeset 4353:710e35d17c28 stable-1.0

Merge of r4227, r4228: Fixed range checking for the "somaxconn" sysctl. Fixed port range checking.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Dec 2011 13:06:45 +0000
parents 413b822f1efa
children cdb2e95bd3d0
files src/core/ngx_inet.c src/mail/ngx_mail_auth_http_module.c src/os/unix/ngx_darwin_init.c src/os/unix/ngx_freebsd_init.c
diffstat 4 files changed, 9 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -671,7 +671,7 @@ ngx_parse_inet_url(ngx_pool_t *pool, ngx
 
         n = ngx_atoi(port, len);
 
-        if (n < 1 || n > 65536) {
+        if (n < 1 || n > 65535) {
             u->err = "invalid port";
             return NGX_ERROR;
         }
@@ -695,7 +695,7 @@ ngx_parse_inet_url(ngx_pool_t *pool, ngx
 
                 if (n != NGX_ERROR) {
 
-                    if (n < 1 || n > 65536) {
+                    if (n < 1 || n > 65535) {
                         u->err = "invalid port";
                         return NGX_ERROR;
                     }
@@ -835,7 +835,7 @@ ngx_parse_inet6_url(ngx_pool_t *pool, ng
 
             n = ngx_atoi(port, len);
 
-            if (n < 1 || n > 65536) {
+            if (n < 1 || n > 65535) {
                 u->err = "invalid port";
                 return NGX_ERROR;
             }
--- a/src/mail/ngx_mail_auth_http_module.c
+++ b/src/mail/ngx_mail_auth_http_module.c
@@ -783,7 +783,7 @@ ngx_mail_auth_http_process_headers(ngx_m
             sin->sin_family = AF_INET;
 
             port = ngx_atoi(ctx->port.data, ctx->port.len);
-            if (port == NGX_ERROR || port < 1 || port > 65536) {
+            if (port == NGX_ERROR || port < 1 || port > 65535) {
                 ngx_log_error(NGX_LOG_ERR, s->connection->log, 0,
                               "auth http server %V sent invalid server "
                               "port:\"%V\"",
--- a/src/os/unix/ngx_darwin_init.c
+++ b/src/os/unix/ngx_darwin_init.c
@@ -58,7 +58,6 @@ sysctl_t sysctls[] = {
 ngx_int_t
 ngx_os_specific_init(ngx_log_t *log)
 {
-    int         somaxconn;
     size_t      size;
     ngx_err_t   err;
     ngx_uint_t  i;
@@ -125,12 +124,9 @@ ngx_os_specific_init(ngx_log_t *log)
 
     ngx_ncpu = ngx_darwin_hw_ncpu;
 
-    somaxconn = 32676;
-
-    if (ngx_darwin_kern_ipc_somaxconn > somaxconn) {
+    if (ngx_darwin_kern_ipc_somaxconn > 32767) {
         ngx_log_error(NGX_LOG_ALERT, log, 0,
-                      "sysctl kern.ipc.somaxconn must be no more than %d",
-                      somaxconn);
+                      "sysctl kern.ipc.somaxconn must be less than 32768");
         return NGX_ERROR;
     }
 
--- a/src/os/unix/ngx_freebsd_init.c
+++ b/src/os/unix/ngx_freebsd_init.c
@@ -97,7 +97,7 @@ ngx_debug_init()
 ngx_int_t
 ngx_os_specific_init(ngx_log_t *log)
 {
-    int         version, somaxconn;
+    int         version;
     size_t      size;
     ngx_err_t   err;
     ngx_uint_t  i;
@@ -209,12 +209,9 @@ ngx_os_specific_init(ngx_log_t *log)
         ngx_ncpu = ngx_freebsd_hw_ncpu;
     }
 
-    somaxconn = version < 600008 ? 32676 : 65535;
-
-    if (ngx_freebsd_kern_ipc_somaxconn > somaxconn) {
+    if (version < 600008 && ngx_freebsd_kern_ipc_somaxconn > 32767) {
         ngx_log_error(NGX_LOG_ALERT, log, 0,
-                      "sysctl kern.ipc.somaxconn must be no more than %d",
-                      somaxconn);
+                      "sysctl kern.ipc.somaxconn must be less than 32768");
         return NGX_ERROR;
     }