summaryrefslogtreecommitdiffhomepage
path: root/src/core (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-10-10Modules compatibility: compatibility with NGX_HTTP_SSL.Maxim Dounin3-15/+17
With this change it is now possible to load modules compiled without the "--with-http_ssl_module" configure option into nginx binary compiled with it, and vice versa (if a module doesn't use ssl-specific functions), assuming both use the "--with-compat" option.
2016-10-10Modules compatibility: compatibility with NGX_HAVE_FILE_AIO.Maxim Dounin4-8/+6
With this change it is now possible to load modules compiled without the "--with-file-aio" configure option into nginx binary compiled with it, and vice versa, assuming both use the "--with-compat" option.
2016-10-10Modules compatibility: compatibility with NGX_THREADS.Maxim Dounin5-21/+16
With this change it is now possible to load modules compiled without the "--with-threads" configure option into nginx binary compiled with it, and vice versa (if a module does not use thread-specific functions), assuming both use the "--with-compat" option.
2016-10-10Core: sockaddr lengths now respected by ngx_cmp_sockaddr().Maxim Dounin1-6/+13
Linux can return AF_UNIX sockaddrs with partially filled sun_path, resulting in spurious comparison failures and failed binary upgrades. Added proper checking of the lengths provided. Reported by Jan Seda, http://mailman.nginx.org/pipermail/nginx-devel/2016-September/008832.html.
2016-10-07Core: ngx_conf_set_access_slot() user access (ticket #1096).Maxim Dounin1-2/+6
Previously, user access bits were always set to "rw" unconditionally, even with "user:r" explicitly specified. With this change we only add default user access bits (0600) if they weren't set explicitly.
2016-10-05Cache: cache manager limits.Dmitry Volyntsev1-1/+1
The new parameters "manager_files", "manager_sleep" and "manager_threshold" were added to proxy_cache_path and friends. Note that ngx_path_manager_pt was changed to return ngx_msec_t instead of time_t (API change).
2016-10-05Core: use c->log while closing connection.Ruslan Ermilov1-4/+1
c->pool is not destroyed here since c52408583801.
2016-10-03Modules compatibility: removed two NGX_HAVE_DEFERRED_ACCEPT checks.Ruslan Ermilov2-7/+1
Removed (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) from the signature accordingly.
2016-10-03Modules compatibility: removed unneeded NGX_HAVE_REUSEPORT checks.Maxim Dounin2-7/+0
Removed NGX_HAVE_REUSEPORT from the signature accordingly.
2016-10-03Modules compatibility: removed unneeded IPV6_V6ONLY checks.Maxim Dounin2-5/+1
The IPV6_V6ONLY macro is now checked only while parsing appropriate flag and when using the macro. The ipv6only field in listen structures is always initialized to 1, even if not supported on a given platform. This is expected to prevent a module compiled without IPV6_V6ONLY from accidentally creating dual sockets if loaded into main binary with proper IPV6_V6ONLY support.
2016-10-03Modules compatibility: http2.Maxim Dounin1-4/+0
HTTP/2-specific fields in structures are now available unconditionally. Removed NGX_HTTP_V2 from the signature accordingly.
2016-10-03Modules compatibility: degradation fields now always present.Maxim Dounin1-4/+0
There is no need to save these two bits as they are wasted anyway. Removed NGX_HTTP_DEGRADATION from the signature accordingly.
2016-09-29Introduced the NGX_COMPAT macro.Ruslan Ermilov2-1/+20
When enabled, some structures are padded to be size compatible with their NGINX Plus versions.
2016-09-29Resolver: introduced state field in ngx_resolver_srv_name_t.Dmitry Volyntsev2-0/+2
It keeps the actual state value of a DNS SRV subrequest and can be used to report a more detailed log for failed SRV records.
2016-09-29Modules compatibility: cache purge fields.Maxim Dounin1-0/+2
2016-09-20Fixed log levels of configuration parsing errors.Valentin Bartenev1-2/+2
All the errors that prevent loading configuration must be printed on the "emerg" log level. Previously, nginx might silently fail to load configuration in some cases as the default log level is "error".
2016-09-20Removed influence of some options on structures.Ruslan Ermilov1-2/+0
2016-09-15Version bump.Vladimir Homutov1-2/+2
2016-09-07Core: introduced ngx_cidr_match() function.Dmitry Volyntsev2-0/+88
2016-08-15Thread pools: create threads in detached state.Piotr Sikora1-0/+7
This prevents theoretical resource leak, since those threads are never joined. Found with ThreadSanitizer. Signed-off-by: Piotr Sikora <piotrsikora@google.com>
2016-07-26Version bump.Vladimir Homutov1-2/+2
2016-07-07Avoid left-shifting integers into the sign bit, which is undefined.Sergey Kandaurov1-2/+2
Found with UndefinedBehaviorSanitizer.
2016-07-06Use NGX_MAX_PATH_LEVEL where appropriate.Ruslan Ermilov2-12/+11
The macro was unused since 0.7.44.
2016-07-06Version bump.Ruslan Ermilov1-2/+2
2016-06-30Internal md5 and sha1 implementations are now always used.Maxim Dounin5-75/+0
This reduces the number of moving parts in ABI compatibility checks. Additionally, it also allows to use OpenSSL in FIPS mode while still using md5 for non-security tasks.
2016-06-29Removed unused flag accept_context_updated from ngx_event_t.Ruslan Ermilov1-4/+0
Also, removed practically unused flag accept_context_updated from ngx_connection_t.
2016-06-20Fixed build on MSVC.Roman Arutyunyan1-1/+1
2016-06-20Introduced ngx_inet_get_port() and ngx_inet_set_port() functions.Roman Arutyunyan4-44/+68
2016-06-09An internal SHA1 implementation.Maxim Dounin3-13/+319
2016-06-07Version bump.Sergey Kandaurov1-2/+2
2016-05-24Version bump.Valentin Bartenev1-2/+2
2016-05-24Fixed build on MSVC.Maxim Dounin1-2/+2
2016-05-23Realip: port support in X-Real-IP and X-Forwarded-For.Dmitry Volyntsev2-0/+81
Now, the module extracts optional port which may accompany an IP address. This custom extension is introduced, among other things, in order to facilitate logging of original client ports. Addresses with ports are expected to be in the RFC 3986 format, that is, with IPv6 addresses in square brackets. E.g., "X-Real-IP: [2001:0db8::1]:12345" sets client port ($remote_port) to 12345.
2016-05-23Added the $proxy_protocol_port variable.Dmitry Volyntsev2-4/+38
2016-05-23Introduced the ngx_sockaddr_t type.Ruslan Ermilov4-42/+45
It's properly aligned and can hold any supported sockaddr.
2016-05-20Belatedly changed the ngx_create_listening() prototype.Ruslan Ermilov2-2/+3
The function is called only with "struct sockaddr *" since 0.7.58.
2016-05-11Removed a surplus condition from ngx_parse_inet6_url().Ruslan Ermilov1-33/+30
No functional changes, since the condition was always true.
2016-05-11Core: fixed port handling in ngx_parse_inet6_url().Valentin Bartenev1-1/+6
This fixes buffer over-read when no port is specified in cases similar to 5df5d7d771f6, and catches missing port separator.
2016-04-28Removed unused flag unexpected_eof from ngx_connection_t.Ruslan Ermilov1-1/+0
2016-04-26Removed some bitrot.Ruslan Ermilov2-2/+0
Removed NGX_CONF_MULTI unused since 1.3.4. Removed ngx_url_t.one_addr unused since 1.3.10.
2016-04-26Version bump.Ruslan Ermilov1-2/+2
2016-04-19Thread pools: memory barriers in task completion notifications.Maxim Dounin1-0/+4
The ngx_thread_pool_done object isn't volatile, and at least some compilers assume that it is permitted to reorder modifications of volatile and non-volatile objects. Added appropriate ngx_memory_barrier() calls to make sure all modifications will happen before the lock is released. Reported by Mindaugas Rasiukevicius, http://mailman.nginx.org/pipermail/nginx-devel/2016-April/008160.html.
2016-04-12Fixed NGX_CONF_TAKE1/NGX_CONF_FLAG misuse (as in e444e8f6538b).Ruslan Ermilov1-1/+1
2016-04-08Removed redundant "u" format specifier.Ruslan Ermilov2-3/+3
It is implied for "x" and "X".
2016-04-07Version bump.Ruslan Ermilov1-2/+2
2016-04-01Core: removed incorrect GCC 2.7 check.Maxim Dounin1-5/+0
It was broken since introduction (__GNU__ instead of __GNUC__) and did nothing. Moreover, GCC 2.7 is happy with the normal version of the code. Reported by Joel Cunningham, http://mailman.nginx.org/pipermail/nginx-devel/2016-March/007964.html.
2016-03-31SSL: SSLeay_version() is deprecated in OpenSSL 1.1.0.Maxim Dounin1-3/+2
SSLeay_version() and SSLeay() are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L. Switched to using OpenSSL_version() instead. Additionally, we now compare version strings instead of version numbers, and this correctly works for LibreSSL as well.
2016-03-31Removed the prototype mysql module.Ruslan Ermilov2-3/+2
2016-03-31Fixed ngx_os_signal_process() prototype.Ruslan Ermilov1-2/+2
2016-03-31Fixed format specifiers in ngx_sprintf().Sergey Kandaurov2-3/+3