| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2016-10-10 | Core: sockaddr lengths now respected by ngx_cmp_sockaddr(). | Maxim Dounin | 1 | -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-09-07 | Core: introduced ngx_cidr_match() function. | Dmitry Volyntsev | 1 | -0/+87 | |
| 2016-06-20 | Fixed build on MSVC. | Roman Arutyunyan | 1 | -1/+1 | |
| 2016-06-20 | Introduced ngx_inet_get_port() and ngx_inet_set_port() functions. | Roman Arutyunyan | 1 | -21/+62 | |
| 2016-05-24 | Fixed build on MSVC. | Maxim Dounin | 1 | -2/+2 | |
| 2016-05-23 | Realip: port support in X-Real-IP and X-Forwarded-For. | Dmitry Volyntsev | 1 | -0/+79 | |
| 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-23 | Introduced the ngx_sockaddr_t type. | Ruslan Ermilov | 1 | -3/+3 | |
| It's properly aligned and can hold any supported sockaddr. | |||||
| 2016-05-11 | Removed a surplus condition from ngx_parse_inet6_url(). | Ruslan Ermilov | 1 | -33/+30 | |
| No functional changes, since the condition was always true. | |||||
| 2016-05-11 | Core: fixed port handling in ngx_parse_inet6_url(). | Valentin Bartenev | 1 | -1/+6 | |
| This fixes buffer over-read when no port is specified in cases similar to 5df5d7d771f6, and catches missing port separator. | |||||
| 2016-04-08 | Removed redundant "u" format specifier. | Ruslan Ermilov | 1 | -1/+1 | |
| It is implied for "x" and "X". | |||||
| 2016-03-31 | Fixed format specifiers in ngx_sprintf(). | Sergey Kandaurov | 1 | -1/+1 | |
| 2016-03-30 | Style. | Ruslan Ermilov | 1 | -10/+10 | |
| 2016-02-26 | Core: allow strings without null-termination in ngx_parse_url(). | Piotr Sikora | 1 | -2/+4 | |
| This fixes buffer over-read while using variables in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives, where result of string evaluation isn't null-terminated. Found with MemorySanitizer. Signed-off-by: Piotr Sikora <piotrsikora@google.com> | |||||
| 2015-04-28 | Fixed overflow detection in ngx_inet_addr(). | Valentin Bartenev | 1 | -5/+5 | |
| Overflow detection of the last octet might not work. Reported by Sergey Polovko. | |||||
| 2015-03-17 | Overflow detection in ngx_inet_addr(). | Ruslan Ermilov | 1 | -2/+6 | |
| 2013-12-06 | Core: externalized ngx_cmp_sockaddr(). | Ruslan Ermilov | 1 | -0/+73 | |
| It's also extended with the "cmp_port" argument to indicate whether ports should be compared as well, or only addresses. | |||||
| 2013-08-05 | Core: guard use of AI_ADDRCONFIG. | Ruslan Ermilov | 1 | -0/+2 | |
| Some systems (notably NetBSD and OpenBSD) lack AI_ADDRCONFIG support. Reported by Piotr Sikora. | |||||
| 2013-08-05 | Fixed build with signed socklen_t and unix sockets. | Maxim Dounin | 1 | -1/+1 | |
| This seems to be the case at least under Cygwin, where build was broken by 05ba5bce31e0 (1.5.3). Reported by Kevin Worthington, http://mailman.nginx.org/pipermail/nginx/2013-August/040028.html. | |||||
| 2013-08-05 | Core: only resolve address families configured on the local system. | Ruslan Ermilov | 1 | -0/+1 | |
| This is done by passing AI_ADDRCONFIG to getaddrinfo(). On Linux, setting net.ipv6.conf.all.disable_ipv6 to 1 will now be respected. On FreeBSD, AI_ADDRCONFIG filtering is currently implemented by attempting to create a datagram socket for the corresponding family, which succeeds even if the system doesn't in fact have any addresses of that family configured. That is, if the system with IPv6 support in the kernel doesn't have IPv6 addresses configured, AI_ADDRCONFIG will filter out IPv6 only inside a jail without IPv6 addresses or with IPv6 disabled. | |||||
| 2013-07-11 | Core: extended ngx_sock_ntop() with socklen parameter. | Vladimir Homutov | 1 | -5/+17 | |
| On Linux, sockaddr length is required to process unix socket addresses properly due to unnamed sockets (which don't have sun_path set at all) and abstract namespace sockets. | |||||
| 2013-01-10 | Fixed "proxy_pass" with IP address and no port (ticket #276). | Ruslan Ermilov | 1 | -10/+4 | |
| Upstreams created by "proxy_pass" with IP address and no port were broken in 1.3.10, by not initializing port in u->sockaddr. API change: ngx_parse_url() was modified to always initialize port (in u->sockaddr and in u->port), even for the u->no_resolve case; ngx_http_upstream() and ngx_http_upstream_add() were adopted. | |||||
| 2012-12-22 | Properly initialize "struct in6_addr" with zeroes. | Ruslan Ermilov | 1 | -1/+1 | |
| 2012-12-17 | Implemented IPv6 support for URLs specified using domain names. | Ruslan Ermilov | 1 | -29/+210 | |
| This includes "debug_connection", upstreams, "proxy_pass", etc. (ticket #92) To preserve compatibility, "listen" specified with a domain name selects the first IPv4 address, if available. If not available, the first IPv6 address will be used (ticket #186). | |||||
| 2012-12-17 | Fixed URL parsing code. | Ruslan Ermilov | 1 | -5/+5 | |
| The URL parsing code is not expected to initialize port from default port when in "no_resolve" mode. This got broken in r4671 for the case of IPv6 literals. | |||||
| 2012-12-17 | Simplified URL parsing code. | Ruslan Ermilov | 1 | -30/+26 | |
| Except for the "listen" directive, "*" specified as a hostname is no longer treated specially. | |||||
| 2012-06-04 | Support for IPv6 literals in proxy_pass and so on. | Maxim Dounin | 1 | -7/+30 | |
| 2012-06-01 | Code reduction (no functional changes). | Ruslan Ermilov | 1 | -19/+2 | |
| 2012-05-21 | Removed historical and now redundant syntax pre-checks in ngx_parse_url(). | Ruslan Ermilov | 1 | -5/+0 | |
| 2012-04-12 | Reduced the number of lines of code in ngx_inet_addr(). | Ruslan Ermilov | 1 | -5/+1 | |
| 2012-04-11 | Improved readability of the code that produces bitmask from prefix. | Ruslan Ermilov | 1 | -2/+2 | |
| In collaboration with Maxim Dounin. | |||||
| 2012-04-03 | In ngx_ptocidr(), check that the supplied prefix length is within | Ruslan Ermilov | 1 | -0/+7 | |
| the allowed range. | |||||
| 2012-04-03 | Fixed spelling in multiline C comments. | Ruslan Ermilov | 1 | -1/+1 | |
| 2012-01-18 | Copyright updated. | Maxim Konovalov | 1 | -0/+1 | |
| 2011-10-25 | Fixed port range checking. | Ruslan Ermilov | 1 | -3/+3 | |
| 2011-04-15 | fix segfault in IPv6 parsing while processing invalid IPv4 address X.YYYY.Z | Igor Sysoev | 1 | -1/+1 | |
| patch by Maxim Dounin | |||||
| 2011-02-17 | fix u->one_addr handling in ngx_inet_resolve_host() | Igor Sysoev | 1 | -1/+1 | |
| patch by Maxim Dounin | |||||
| 2009-12-07 | fix double free(), introduced in r3268 | Igor Sysoev | 1 | -1/+0 | |
| 2009-11-03 | ngx_ptocidr() supports IPv6 | Igor Sysoev | 1 | -26/+66 | |
| 2009-11-03 | make ngx_inet6_ntop() non-static | Igor Sysoev | 1 | -4/+1 | |
| 2009-11-02 | change ngx_parse_addr() interface | Igor Sysoev | 1 | -22/+13 | |
| 2009-11-02 | ngx_parse_addr() | Igor Sysoev | 1 | -0/+63 | |
| 2009-11-02 | rename ngx_peer_addr_t to ngx_addr_t | Igor Sysoev | 1 | -3/+3 | |
| 2009-11-02 | use sin6_addr.s6_addr instead of "(u_char *) & .sin6_addr" | Igor Sysoev | 1 | -2/+2 | |
| 2009-11-02 | replace inet_addr() with ngx_inet_addr() | Igor Sysoev | 1 | -21/+18 | |
| 2009-11-02 | use ngx_inet6_addr() | Igor Sysoev | 1 | -28/+2 | |
| 2009-11-02 | ngx_inet6_addr() | Igor Sysoev | 1 | -0/+120 | |
| 2009-10-26 | http listen unix domain sockets | Igor Sysoev | 1 | -0/+14 | |
| 2009-05-18 | delete unneeded field | Igor Sysoev | 1 | -3/+0 | |
| 2009-05-07 | IPv6 for Win32 | Igor Sysoev | 1 | -0/+14 | |
| 2009-02-24 | prepare ngx_ptocidr() for IPv6 | Igor Sysoev | 1 | -13/+14 | |
