Commit graph

376 commits

Author SHA1 Message Date
Sunny
8af359ae05 Use IPNetwork supporting forbidden ip feature in config utils
This commit also make "forbidden_ip" field available in config file.
If no forbidden ip specified in command line and config file,
default to "127.0.0.0/8,::1".
2015-01-31 22:56:23 +08:00
Sunny
100ebcf064 Add IPNetwork class to support CIDR calculation
Usage:
Use IPNetwork(str|list<str>) to create an IPNetwork object.
Use operator 'in' to determine whether the specified
IP address is in the IP network or not, like:
>>> '192.168.1.1' in IPNetwork('192.168.1.0/24')
True

Both IPv4 and IPv6 address are supported.
Note: When using string to initialize the IPNetwork,
a comma seperated IP network list should be provided.

Currently, IPNetwork just support standard CIDR like:
x.x.x.x/y eg. 192.168.1.0/24
::x/y     eg. ::1/10
If pure IP address was provided,
it will be treated as implicit IP network,
like 192.168.0.0 will be treated as 192.168.0.0/16
and  192.168.1.1 will be treated as 192.168.1.1/32
This implicit translate may cause some unexpected behavior,
like user provide 192.168.2.0 and expect it will be treated as
192.168.2.0/24 but actually it will be translated to
192.168.2.0/23 because there are 9 continuous 0 from right.
In order to avoid confusion, a warning message
will be displayed when pure IP address was provided.

Other variants of CIDR are not supported yet.
2015-01-31 22:56:16 +08:00
Sunny
8783e0e9ae Move is_ip from asyncdns to common
Since implement CIDR forbidden need this function,
move it to common file seems to be a better choice.
2015-01-31 22:56:09 +08:00
clowwindy
ada97ab6d9 improve comments 2015-01-31 02:58:40 +08:00
clowwindy
1f8819f790 fix #270 2015-01-23 17:33:48 +08:00
clowwindy
6efb3d00e4 fix #264 2015-01-16 18:52:40 +08:00
clowwindy
bd22e3ef75 try every dll that matches by name in PATH 2015-01-16 16:50:18 +08:00
clowwindy
af6c6f3f23 also search lib* for library names 2015-01-14 12:59:43 +08:00
clowwindy
5c05a74727 fix a potential name conflict 2015-01-13 00:42:27 +08:00
clowwindy
53a7e4d0e4 remove print 2015-01-12 23:21:16 +08:00
clowwindy
f7316c0047 change logging level for UDP warning 2015-01-12 23:08:27 +08:00
clowwindy
4312eb9e58 add forbidden support for UDP and add tests 2015-01-12 23:02:59 +08:00
clowwindy
eb94bd1cc3 support forbidden iplist 2015-01-12 22:30:03 +08:00
clowwindy
80b8bd7014 remove M2Crypto completely 2015-01-12 14:11:33 +08:00
clowwindy
a4b0ea5b8f fix find_library 2015-01-12 14:08:21 +08:00
clowwindy
e582b2b929 rename ctypes_* and remove salsa20-ctr 2015-01-12 14:05:20 +08:00
clowwindy
3d03dbf716 extract find_library 2015-01-12 14:00:35 +08:00
fa08c
ebfd1486d8 Removing the overhead of creating a new list per event 2015-01-12 10:32:03 +08:00
fa08c
6eadfca78e Removing trailing whites 2015-01-11 15:19:31 +08:00
fa08c
3294a92a61 Search libcrypto.so in more locations
Some linux distro may store .so in some alternative locations. Now we
try harder to find them.
2015-01-10 22:26:20 +08:00
fa08c
2711002142 Merge remote-tracking branch 'upstream/master' 2015-01-10 21:27:41 +08:00
fa08c
18da3554ff Minor fix: never use except: unless you reraise 2015-01-08 08:27:28 -06:00
peter
8b2deb01d8 Set default method as bytes.
Default method as string may cause false error report.
2015-01-08 11:22:34 +08:00
fa08c
176e97bb45 Fixing some minor issues 2015-01-08 11:03:12 +08:00
clowwindy
4598e09b78 now works on OpenWRT 2015-01-07 00:25:28 +08:00
clowwindy
0bc0117cd7 update help url 2015-01-04 23:55:50 +08:00
clowwindy
bac675d7f6 2015 2015-01-03 13:24:40 +08:00
clowwindy
291adf8b85 log client address 2015-01-03 12:48:03 +08:00
v3aqb
d91f7d85d4 Update ctypes_libsodium.py 2014-12-28 08:30:29 +08:00
clowwindy
e8501da271 fix vim 2014-12-25 16:23:43 +08:00
clowwindy
99c8bbafe7 fix fastopen and add a new test 2014-12-25 16:20:15 +08:00
clowwindy
30f4f78557 fix travis 2014-12-24 18:23:35 +08:00
clowwindy
5ea8403e56 fix daemon and add fastopen tests 2014-12-22 22:42:39 +08:00
clowwindy
be1d1d5032 add SIGINT in workers 2014-12-22 17:29:58 +08:00
clowwindy
536b7d1ee6 use SIGINT instead in tests
Conflicts:
	tests/test.py
2014-12-22 17:25:39 +08:00
clowwindy
2b4c3619d6 reorder setsid and kill 2014-12-21 14:52:00 +08:00
clowwindy
dae2624b30 add setsid 2014-12-21 14:49:51 +08:00
clowwindy
35c3b0b41c refine documentation 2014-12-21 14:06:28 +08:00
clowwindy
28347b685e add unit test for daemon 2014-12-21 13:46:27 +08:00
clowwindy
134497c24f implement daemon 2014-12-21 12:47:07 +08:00
clowwindy
7274c7ad96 fix comments 2014-12-18 13:34:41 +08:00
clowwindy
706a137b3f fix typo 2014-12-18 13:29:00 +08:00
clowwindy
4b0b252953 improve comments 2014-12-18 13:23:59 +08:00
clowwindy
163992b98b small fix 2014-12-12 00:04:17 +08:00
clowwindy
676bf9617b fix key cache when just method changes 2014-12-11 23:45:39 +08:00
clowwindy
cbbc880f44 try to find the problem 2014-12-11 23:22:48 +08:00
clowwindy
810db996cd disable M2Crypto on Python 3 2014-12-11 22:54:49 +08:00
clowwindy
3e503bf677 log method in encrypt unit test 2014-12-11 22:43:46 +08:00
clowwindy
1459282ae6 only test some ciphers 2014-12-11 18:02:57 +08:00
clowwindy
4d5d6c7c85 add unit tests in encrypt 2014-12-11 17:47:12 +08:00