Ruslan Ermilov
f1819242fc
Geo: ensure that default entry is always present.
...
If 0.0.0.0/32 entry was present and there was no explicit "default",
we failed to add an empty string as a default value.
2012-12-21 08:46:52 +00:00
Ruslan Ermilov
a0caa70c98
There's no need to normalize address returned by ngx_ptocidr().
2012-12-21 08:44:39 +00:00
Ruslan Ermilov
c865f8dfa2
Added checks that disallow adding a variable with an empty name.
...
Added variable name syntax checks to "geo" and "map" directives.
2012-12-17 19:03:33 +00:00
Ruslan Ermilov
18a7e1b359
Geo: fixed the "ranges" without ranges case.
...
The following configuration returned an empty value for $geo:
geo $geo {
ranges;
default default;
}
2012-12-14 19:56:03 +00:00
Ruslan Ermilov
cd04ca3546
Geo: improved ngx_http_geo_block() code readability.
2012-12-14 19:35:37 +00:00
Ruslan Ermilov
ba290091cf
Fixed variable syntax checking in "set", "geo", "limit_conn_zone",
...
and "perl_set" directives.
2012-12-13 15:05:19 +00:00
Ruslan Ermilov
d469482cda
Fixed strict aliasing bugs when dealing with IPv4-mapped IPv6 addresses
...
(closes #201 ).
2012-08-30 14:58:11 +00:00
Maxim Dounin
5425263436
Geo: fixed handling of ranges without default set.
...
The bug had appeared in 0.8.43 (r3653). Patch by Weibin Yao.
2012-08-16 13:01:41 +00:00
Ruslan Ermilov
d4353c6fd3
Fixed spelling of "endianness", and called it "byte ordering" in the
...
user visible part.
2012-06-08 09:41:55 +00:00
Ruslan Ermilov
69521ddebf
geo: chains of trusted proxies and partial IPv6 support.
...
The module now supports recursive search of client address through
the chain of trusted proxies, controlled by the "proxy_recursive"
directive in the "geo" block. It also gets partial IPv6 support:
now proxies may be specified with IPv6 addresses.
Example:
geo $test {
...
proxy 127.0.0.1;
proxy ::1;
proxy_recursive;
}
There's also a slight change in behavior. When original client
address (as specified by the "geo" directive) is one of the
trusted proxies, and the value of the X-Forwarded-For request
header cannot not be parsed as a valid address, an original client
address will be used for lookup. Previously, 255.255.255.255 was
used in this case.
2012-05-14 13:53:22 +00:00
Ruslan Ermilov
43d2b1c045
Fixed grammar in error messages.
2012-04-12 19:35:41 +00:00
Maxim Konovalov
f8d59e33f3
Copyright updated.
2012-01-18 15:07:43 +00:00
Igor Sysoev
529b5f1938
support IPv4 mapped to IPv6 in geo module
2011-05-16 13:54:42 +00:00
Igor Sysoev
d63104eea4
use memmove() in appropriate places
2011-04-12 08:02:46 +00:00
Igor Sysoev
178cd2da2b
style fix: remove tabs
2010-06-30 14:28:54 +00:00
Igor Sysoev
ffcc2f4a9e
test binary geo range base size
2010-06-30 10:13:51 +00:00
Igor Sysoev
3b0ddc2097
test the second binary geo range base existence
2010-06-30 10:12:46 +00:00
Igor Sysoev
e3d88fb8eb
test binary geo ranges base only for ranges
2010-06-30 10:05:56 +00:00
Igor Sysoev
4655c721e8
test binary gep range base mtime
2010-06-30 10:02:05 +00:00
Igor Sysoev
edf29ef8cd
binary geo ranges base cache
2010-06-29 16:06:20 +00:00
Igor Sysoev
325bd4ea98
change duplicate default geo range processing
2010-06-29 13:36:16 +00:00
Igor Sysoev
70485d6b7c
eliminate a number of ranges: about 18,000 /16 networks are empty,
...
this change saves about 70K/140K on 32/64-bit platforms
2010-06-24 15:26:05 +00:00
Igor Sysoev
e3693e3b37
break cycle early
2010-06-24 13:16:19 +00:00
Igor Sysoev
aa6936e61a
style fix
2010-06-23 16:34:54 +00:00
Igor Sysoev
0923d08148
change ngx_http_variable_value_node_t to more generic ngx_str_node_t
2010-06-23 15:31:33 +00:00
Igor Sysoev
bd4b6e68af
fix a geo range if the range includes two or more /16 networks
...
and does not begin at /16 network boundary
2010-02-25 17:26:01 +00:00
Igor Sysoev
e0f1d0afcc
style fix
2009-09-11 13:57:50 +00:00
Igor Sysoev
15e3b01819
geo module supports trusted proxies
2009-07-22 09:43:14 +00:00
Igor Sysoev
36860101ec
prepare ngx_ptocidr() for IPv6
2009-02-24 14:01:40 +00:00
Igor Sysoev
a35eaccdec
a prelimiary IPv6 support, HTTP listen
2009-02-21 07:02:02 +00:00
Igor Sysoev
cd55a93cce
fix segfault when geo range replaces starting part of another range
2009-01-19 16:42:14 +00:00
Igor Sysoev
c1a2b978de
allow insertion range if its start or end is the same as existent one
2009-01-16 16:29:23 +00:00
Igor Sysoev
53554ae54d
fix single address range
2009-01-16 16:09:58 +00:00
Igor Sysoev
6ff8cda061
fix range deletion
2009-01-16 16:02:30 +00:00
Igor Sysoev
95cff3e9d0
repeat r2448 for range deletion
2009-01-16 15:58:27 +00:00
Igor Sysoev
287c22f788
log both overrlaped ranges
2009-01-16 15:47:05 +00:00
Igor Sysoev
f8fdbcaaa2
fix range start for ranges those spread in two or more slots
2009-01-16 15:44:39 +00:00
Igor Sysoev
73f9bb4d01
*) fix duplicate geo ranges
...
*) split existent range and insert a new one
2009-01-16 13:17:12 +00:00
Igor Sysoev
2d83ed000f
style fix: remove tabs
2008-12-11 10:22:25 +00:00
Igor Sysoev
9a1d46684c
$geo variable support
2008-12-11 09:46:45 +00:00
Igor Sysoev
976603a646
remove before nginx-0.1.25 compatibility code
2008-12-11 07:48:48 +00:00
Igor Sysoev
84b7651ac2
fix "delete CIDR"
2008-12-02 15:02:36 +00:00
Igor Sysoev
69b5a6ddfb
create empty radix tree for "geo $geo { }" case
2008-11-28 17:22:35 +00:00
Igor Sysoev
1c6c63332c
*) descrease geo configuration memory usage
...
*) geo delete
*) geo ranges
2008-11-25 15:59:06 +00:00
Igor Sysoev
de2f8c4ca5
use value rbtree instead of array in geo configuration
2008-11-22 20:42:51 +00:00
Igor Sysoev
2d3f3f6eb6
fix English grammar
2007-10-14 18:56:15 +00:00
Igor Sysoev
0d4b372e44
use %v for ngx_variable_value_t in ngx_sprintf(),
...
this fixes nginx on FreeBSD/sparc64
2007-08-20 09:57:19 +00:00
Igor Sysoev
845f6d553a
ignore meaningless bits in CIDR and warn about them
2007-08-10 13:13:28 +00:00
Igor Sysoev
a1df416d65
--sysconfdir=DIR
2007-07-29 18:05:45 +00:00
Igor Sysoev
7bdb720d6a
nginx-0.3.40-RELEASE import
...
*) Feature: the ngx_http_dav_module supports the MKCOL method.
*) Feature: the "create_full_put_path" directive.
*) Feature: the "$limit_rate" variable.
2006-04-19 15:30:56 +00:00