Compare commits

...

1513 Commits

Author SHA1 Message Date
n8fr8 e822160b00 udpate gradle depend version to 0.3.4.8-2 2018-10-11 23:10:09 -04:00
n8fr8 b0e62e58cc updated torrc defaults 2018-10-11 23:09:32 -04:00
n8fr8 43b10491a1 updated bridges 2018-10-11 23:08:38 -04:00
n8fr8 c4cf800488 update build files 2018-10-11 16:51:11 -04:00
n8fr8 0417acf570 update version string to 0.3.4.8-openssl1.0.2p-1 for 2nd release of 0.3.4.8 2018-10-11 16:50:58 -04:00
n8fr8 ff7ecbdba9 update version for gradle lib 2018-10-11 09:27:52 -04:00
n8fr8 3e8e5ace65 update armeabi-v7a binary for 0.3.4.8 2018-10-07 09:40:12 -04:00
n8fr8 0fda8f7779 update x86 binary for 0.3.4.8 2018-10-07 09:35:31 -04:00
n8fr8 6548d3630b update tor binary to 0.3.4.8 w/o dirauth module 2018-10-07 08:55:14 -04:00
n8fr8 d1ee65a795 fixes #7 disable dirauth support for tor client only mode 2018-10-07 08:53:38 -04:00
n8fr8 a2fba85a5b update tor binary to 0.3.4.8 2018-10-07 08:45:09 -04:00
n8fr8 6ef0a45050 update to 0.3.4.8 2018-10-04 11:31:32 -04:00
n8fr8 b82b6a4cb1 update tor binary to tor-0.3.4.7-rc 2018-09-30 18:34:56 -04:00
n8fr8 de522e2ec8 tor-0.3.4.7-rc 2018-09-30 18:34:33 -04:00
n8fr8 0756d058f7 set to libevent 2.0.10-stable 2018-09-30 18:33:21 -04:00
n8fr8 b98cad65d4 set to master for libevent 2018-09-30 14:31:08 -04:00
n8fr8 cd678980f9 remove amazon meek bridge 2018-09-30 14:26:41 -04:00
n8fr8 8a66040c4f updated resource string to 0.3.4.8-openssl1.0.2p 2018-09-13 06:09:05 -04:00
n8fr8 75bd78b287 update gradle archive versioning 2018-09-12 17:14:07 -04:00
n8fr8 fa1ed5505d update Makefile to add specific NDK versioning for openssl 2018-09-12 17:11:31 -04:00
n8fr8 84ab10731c update tor to 0.3.4.8 2018-09-12 17:11:25 -04:00
n8fr8 63656611dc update binaries 2018-09-12 17:09:35 -04:00
n8fr8 84d7745cde update binary constants to trigger upgrade 2018-09-05 21:35:54 -04:00
n8fr8 b0e2d4e63b update library to version 34700 2018-09-05 21:34:25 -04:00
n8fr8 e97d5a1016 update binaries for tor-0.3.4.7-rc 2018-09-05 21:26:20 -04:00
n8fr8 0ba24f8ca4 update tor to tor-0.3.4.7-rc 2018-09-05 21:07:07 -04:00
n8fr8 93663355fa update to ensure compression libs are included in binary 2018-09-05 21:06:09 -04:00
n8fr8 63723e06ef update to 0.3.3.5-rc-3 2018-05-14 12:29:12 -04:00
n8fr8 ae61770960 update loader to handle zipped entries in a zip file (like tor.so in the APK) 2018-05-14 12:28:39 -04:00
n8fr8 45ecbcb298 update gradle build to 0.3.3.5-rc-2 2018-05-14 11:35:36 -04:00
n8fr8 d2342ed7ec add split APK support to the sample 2018-05-14 11:27:01 -04:00
n8fr8 549fb14077 update native loader code 2018-05-14 11:17:14 -04:00
n8fr8 5366016c86 add armeabi-v7a optimized build 2018-05-14 11:17:06 -04:00
n8fr8 de630b45cb add simple sample app 2018-05-14 10:38:29 -04:00
n8fr8 292dcda8e0 add additional ways to load native binaries from native libs 2018-05-14 10:38:10 -04:00
n8fr8 87efd233e5 update gradle version to force refetch 0.3.3.5-rc-1 2018-05-12 00:10:41 -04:00
n8fr8 ff59b5595f updating display string to 0.3.3.5-openssl1.0.2o 2018-05-12 00:05:36 -04:00
n8fr8 9e428e1e09 update archive build version to 0.3.3.5-rc 2018-05-11 23:56:50 -04:00
n8fr8 a46fd778b5 update gradle 2018-05-11 23:55:42 -04:00
n8fr8 db82e6b889 update tor binaries 2018-05-11 23:55:31 -04:00
n8fr8 7a9cbe8fc7 update gradle to 3.1.2 2018-05-11 23:54:59 -04:00
n8fr8 d364a5493c update tor to 0.3.3.5-rc 2018-05-11 23:54:37 -04:00
n8fr8 988a87c8ef upload maven build to 0.3.2.10-dev 2018-05-09 13:03:56 -04:00
n8fr8 51c7a076a5 update makefile to copy into proper native lib location 2018-05-09 12:53:26 -04:00
n8fr8 1b1f64d376 update to use faux .so shared library method for loading tor binary 2018-05-09 12:47:25 -04:00
n8fr8 9abac285db update deploy gradle for 0.3.2.10 2018-04-21 22:14:52 -04:00
n8fr8 808f9594f5 update tor x86 to 0.3.2.10 2018-04-21 22:09:25 -04:00
n8fr8 810eafd6e5 update tor 0.3.2.10 2018-04-21 22:01:26 -04:00
n8fr8 c0bca9f762 Merge branch 'master' of https://github.com/n8fr8/tor-android 2018-04-21 21:46:17 -04:00
Nathan Freitas 9897c1208e
Merge pull request #4 from Unpublished/remove_polipo
remove polipo
2018-04-20 00:20:08 -04:00
Nathan Freitas d194eb8064
Merge pull request #3 from Unpublished/a_few_updates
A few updates
2018-04-20 00:19:57 -04:00
Unpublished 97990103aa update tor to 0.3.2.10, OpenSSL to 1.0.2o and libevent to latest 2.0.* branch 2018-04-02 18:46:45 +02:00
Unpublished 8383c1abbc remove polipo 2018-03-16 17:56:33 +01:00
Unpublished d43fbf96b9 update geoip files to Tor Browser 7.5.1 2018-03-16 10:27:14 +01:00
Unpublished 99eb75aeaf update gradle to 4.5.1
includes speed and memory usage improvements
2018-03-16 10:24:18 +01:00
Unpublished 5e0169d762 remove useless stuff and update android gradle plugin to 3.0.1
put google() on top (google recommends it that way)
2018-03-16 10:24:08 +01:00
n8fr8 93f5239bea update library build to 0.3.1.9b 2018-01-03 22:55:37 -05:00
n8fr8 57ba718e75 update gradle build to 3191 0.3.1.9b
update geoip files (fixes issue with install on some devices)
ensure tor binaries are updated to 0.3.1.9
2018-01-03 22:51:22 -05:00
n8fr8 b4cdbff06b update installer for new geoip uncompressed format 2018-01-03 22:49:40 -05:00
n8fr8 b9a30b71d0 updated binaries for 0.3.1.9 2018-01-03 22:49:06 -05:00
n8fr8 3d0e9a93a6 delete old geoip copmressed files 2018-01-03 22:30:33 -05:00
n8fr8 1ebf0a5c2c update geoip files to latest from Tor Browser 2018-01-03 22:30:18 -05:00
n8fr8 3403b02dd8 Merge branch 'igortoliveira-tor-droid-build' 2017-12-07 12:37:13 -05:00
n8fr8 13d0bddc8c update script to build for x86 and armeabi 2017-12-07 12:36:38 -05:00
n8fr8 fa5aff40cc update some strings in the script 2017-12-07 10:53:51 -05:00
Igor Oliveira 1b1c0b9537 Add android tor build script
It is used to help the developer to fetch and build the app.
Initially, three commands were add:
1. fetch: It fetches the external dependencies
2. build: Build the project in release or debug mode
2017-12-07 13:25:56 -02:00
n8fr8 d64f15533f update gradle version 2017-12-03 16:05:13 +05:30
n8fr8 3528afd114 update constant for tor to 0.3.1.9 2017-12-03 16:02:49 +05:30
n8fr8 3b766484bf update README for 0.3.1.9 2017-12-03 10:04:16 +05:30
n8fr8 fc10fb1a9e update binaries and version to tor 0.3.1.9 2017-12-01 22:39:45 +05:30
n8fr8 ae5420426d remove auto of date patches 2017-11-17 12:37:08 -05:00
n8fr8 b85e0b32f2 remove appcompat library 2017-11-17 12:35:22 -05:00
n8fr8 c2189d4a2c Merge branch 'master' of github.com:n8fr8/tor-android 2017-11-17 12:34:31 -05:00
n8fr8 f15c153bf0 update to support building of aar archives 2017-11-17 12:34:06 -05:00
n8fr8 9b8d8719b6 remove jniLibs dir 2017-11-17 12:33:45 -05:00
n8fr8 673e45d60f remove all JNI code (since VPN isn't included her) 2017-11-17 12:33:29 -05:00
n8fr8 498364c25d update tor binary assets for x86 and armeabi 2017-11-17 12:33:09 -05:00
n8fr8 ffb8dd0b55 update package id to use the word "binary" not "native" 2017-11-17 12:32:24 -05:00
Nathan Freitas cdf3180291
Update README 2017-11-17 12:21:14 -05:00
n8fr8 3d951b9dd8 update path to new assets 2017-11-17 10:59:53 -05:00
n8fr8 f8dbfacdb3 more cleanup, and update of classes for installation 2017-11-17 10:58:42 -05:00
n8fr8 17f03d1f42 rename module to tor-android-binary 2017-11-17 10:45:47 -05:00
n8fr8 7e98222e47 change gitignore to allow for assets 2017-11-17 10:44:42 -05:00
n8fr8 f9c1af9127 removing pdnsd and obfs4proxy binaries 2017-11-17 10:44:29 -05:00
n8fr8 85aaff7152 adding in binary assets for gradle dependency build 2017-11-17 10:43:56 -05:00
n8fr8 7fbd72b0c8 remove pluto/obfs4proxy from build 2017-11-17 10:42:44 -05:00
n8fr8 a27480a208 more cleanup, removal of unused items from orbotservice 2017-11-17 10:40:46 -05:00
n8fr8 ff1979643c cleanup, and update project properties 2017-11-16 13:55:17 -05:00
n8fr8 dd51960b24 update README, clean up old ant and eclipse junk 2017-11-16 13:54:05 -05:00
n8fr8 a810a5add9 more cleanup, and removal of old orbot work 2017-11-16 13:52:37 -05:00
n8fr8 91b73b1f6b remove code only used for Orbot 2017-11-16 13:41:18 -05:00
n8fr8 fce5bdede8 add autopoint to dependencies 2017-11-11 08:56:15 -05:00
Nathan Freitas 72c7e0445c
Merge pull request #97 from SpotComms/padding
Expose *ConnectionPadding
2017-11-11 08:53:21 -05:00
Nathan Freitas 8cf412ad62
Merge pull request #98 from goapunk/add-lzma-zstd-as-dependency
Add lzma and zstd
2017-11-11 08:52:22 -05:00
goapunk c1dfc29e02 Update BUILD instructions
Signed-off-by: goapunk <noobie@goapunks.net>
2017-11-10 18:43:19 +01:00
goapunk 9ca36e1bff Add lzma and zstd
Signed-off-by: goapunk <noobie@goapunks.net>
2017-11-10 18:35:08 +01:00
Tad 6e4b700803 Expose *ConnectionPadding 2017-11-03 14:18:01 -04:00
Nathan Freitas 71e3464358
Merge pull request #94 from Unpublished/fix88
remove some transproxy left overs
2017-11-01 12:22:32 -04:00
Unpublished cbffc1d6ca remove some transproxy left overs
- fix typo to actually show transproxy warning only once (fixes issue #88)
2017-11-01 16:09:25 +01:00
n8fr8 1b904125f3 update CHANGELOG 2017-11-01 09:57:40 -04:00
n8fr8 61aff8ce82 update to 15.5.1-RC-2-multi- 2017-11-01 09:52:34 -04:00
n8fr8 b2de89b2cb fix issue with select apps 2017-11-01 09:51:34 -04:00
n8fr8 5d218adc14 update changelog fo 15.5.1 2017-10-31 11:58:45 -04:00
n8fr8 2c99e9efa4 update version to 15.5.1-RC-1 (1551000*) 2017-10-31 11:51:12 -04:00
n8fr8 c53204f9c3 only refresh VPN settings if app selection changes 2017-10-31 11:11:46 -04:00
n8fr8 5b9eedba1d update VPN app manager to load async, and sort selected to top 2017-10-31 10:21:13 -04:00
n8fr8 1c7eedd4e4 add "no transproxy" warning strings bac kin 2017-10-31 10:00:50 -04:00
Nathan Freitas 19e927effa
Merge pull request #91 from ahf/simpleperf-work
Add `DEBUG` option to external C dependencies
2017-10-31 09:47:50 -04:00
Nathan Freitas 54688e2806
Merge pull request #87 from Akku05/patch-1
for issue #85
2017-10-31 09:47:24 -04:00
Nathan Freitas 14367e0add
Merge pull request #76 from dixidroid/master
fixed crash when an user tries to add the same hidden service port twice
2017-10-31 09:45:19 -04:00
n8fr8 8bbf0ba799 Merge branch 'isolateDest' of https://github.com/SpotComms/orbot into SpotComms-isolateDest 2017-10-31 09:44:08 -04:00
n8fr8 750a282e20 update to latest build tools and gradle
- add new flavordimension tag
2017-10-31 09:42:01 -04:00
Alexander Færøy d591cdb0df Don't strip binaries when doing a debug build.
This patch allows the developer to build the external binaries with
DEBUG=1 which ensures that the final binaries are not stripped from any
debug symbols.

This makes the binaries useful together with Google's simpleperf
profiler for Android.
2017-10-29 22:56:52 -04:00
Alexander Færøy 87edea9ce6 Disable Zstandard for now.
Because of bug #90 the current build process will be broken for people
who have Zstandard headers available on their host system. For people
who do not have the headers available the build system will silently
ignore the `--enable-zstd` and build Tor without support for it.

See: https://github.com/n8fr8/orbot/issues/90
2017-10-29 22:35:54 -04:00
n8fr8 eff2f765db updating this to 15.5.0-RC-1-multi-SDK16
in lite of the feature enhancements and new version of tor
2017-10-25 11:46:15 -04:00
n8fr8 aa9ed7fbe9 update changelog for v15.4.4 2017-10-25 11:44:54 -04:00
n8fr8 0323216569 update to 15.4.4-BETA-2-multi-SDK16 2017-10-25 11:44:00 -04:00
n8fr8 e1ba02a426 improve the layout! 2017-10-25 11:42:36 -04:00
n8fr8 a685bf1488 remove unsupported preferences 2017-10-25 11:42:26 -04:00
n8fr8 091037427a clean up variables and improve how tor process is launched 2017-10-25 11:41:55 -04:00
n8fr8 d24aab8b47 update to Tor 0.3.1.8-openssl1.0.2k 2017-10-25 10:54:10 -04:00
n8fr8 165e95a880 update layout to present "Apps..." option on the main screen 2017-10-25 10:53:30 -04:00
n8fr8 dc7aee1e8e update tor to 0.3.1.8 2017-10-25 10:32:30 -04:00
n8fr8 440290e9d7 show warning about removal of transproxy support
- also make app selection more streamlining
2017-10-25 00:07:11 -04:00
n8fr8 9140ba6a47 we no longer ship xtables, so don't try to install it 2017-10-25 00:06:58 -04:00
n8fr8 f09508def5 remove unused permission 2017-10-24 22:16:01 -04:00
n8fr8 e6003f670f update tor constants to 0.3.1.7-openssl1.0.2k 2017-10-20 00:21:33 -04:00
n8fr8 d86ace63da update version to 15.4.4-BETA-1
update gradle depends
2017-10-20 00:15:24 -04:00
n8fr8 90975fb18a update Makefile for tor compression options 2017-10-20 00:14:57 -04:00
n8fr8 25425a622e remove xtables and iptables (no more root support) 2017-10-17 10:07:54 -04:00
n8fr8 b0b6b68c84 tor-0.3.1.7 update 2017-10-17 09:59:18 -04:00
n8fr8 dceea11782 update version 15430000 aka 15.4.3-RC-1-multi-SDK16 2017-10-16 23:49:03 -04:00
n8fr8 b98a0ff160 simplify bridge selection screen 2017-10-16 23:48:45 -04:00
n8fr8 1e2074c818 update main activity to clean up intents 2017-10-16 23:37:15 -04:00
n8fr8 a5015dc691 update about layout to show obfs4proxy 2017-10-16 23:36:47 -04:00
n8fr8 b322e530da make sure receiver unregisters when destroyed 2017-10-16 23:36:14 -04:00
n8fr8 2bd5614210 update to latest meek amazon bridge:
https://trac.torproject.org/projects/tor/ticket/21918
2017-10-16 23:35:41 -04:00
n8fr8 01176b1d38 big refactor for multiple reasons
- implement LICENSE display in About dialog
- remove root transproxy features
- general crufty stuff cleanup
2017-10-14 12:19:17 -04:00
n8fr8 70693bfc6a update to 4.9 NDK biuld 2017-10-14 12:18:57 -04:00
n8fr8 c4867ba8d2 update Makefile to target NDK 4.9 2017-10-14 12:18:15 -04:00
n8fr8 6ca89b30ba remove old manifest 2017-10-14 12:18:01 -04:00
n8fr8 cc3c4514e8 update license for better Obfs4proxy display 2017-10-14 12:17:48 -04:00
n8fr8 632824bd5f remove RootCommands library as we don't need it now 2017-10-14 12:17:36 -04:00
n8fr8 d190f3a142 add license asset for display in the app 2017-10-14 12:17:08 -04:00
n8fr8 ebc362c4d7 add copyright notice from Obfs4 in the LICENSE file 2017-10-11 23:24:35 -04:00
Akshat Agrawal d94657d1f4 for issue #85
please add this in Build
2017-09-14 19:27:32 +05:30
Tad 18dd53d419 Expose IsolateDestAddr 2017-08-03 11:22:42 -04:00
Igor Koznin 2922e48730 fixed crash when an user tries to add the same hidden service port twice 2017-07-16 15:55:49 +03:00
n8fr8 5b255df92d update target SDK to 23 so we don't have perm downgrade issues 2017-06-09 10:19:47 -04:00
n8fr8 df29aaad8d update CHANGELOG for v15.4.2 2017-06-09 07:54:02 -04:00
n8fr8 e18a7937d2 update tor version string to 0.3.0.8-openssl1.0.2k-1 2017-06-09 07:46:28 -04:00
n8fr8 c874e70fa6 don't build jni/ndk inside of this project 2017-06-09 06:08:05 -04:00
n8fr8 b1ff4d5271 use this as the base manifest 2017-06-09 06:07:43 -04:00
n8fr8 fb7eea9560 where the full permission manifest is defined 2017-06-09 06:07:27 -04:00
n8fr8 132c00a224 add link for builds 2017-06-09 06:07:13 -04:00
n8fr8 fe491b0ec5 don't need specialized menu for this flavor 2017-06-09 04:20:14 -04:00
n8fr8 34043f9ef4 remove version from manifests 2017-06-09 04:12:51 -04:00
n8fr8 674f8ff4aa add min and full perm build flavors 2017-06-09 04:12:40 -04:00
n8fr8 67cb36ef63 new release for minimal perms SDK up to 23 2017-06-09 04:00:10 -04:00
n8fr8 78984bd344 don't show new features that require new perms on < SDK 23 2017-06-09 03:59:50 -04:00
Nathan Freitas 028f76e62e add "minimal permission" build for SDK 16 to 22 devices
- these platforms don't allow for runtime permissions requests and the new permissions we are asking for can be alarming
- we will disable the advanced hidden service features on these devices
2017-06-09 02:01:42 -04:00
Nathan Freitas ad1bcb8d5d update tor repo to 0.3.0.8 2017-06-09 01:36:58 -04:00
Nathan Freitas 2403e8c333 improve reliability of starting and stopping 2017-06-01 16:32:02 -04:00
Nathan Freitas 62fec5343c update to 15.4.1-RC-1-multi (15410000) 2017-06-01 00:32:53 -04:00
Nathan Freitas 5d966447ce update to latest gradle 2017-06-01 00:20:32 -04:00
Nathan Freitas bb8373bdd6 update tor constants 2017-06-01 00:08:17 -04:00
Nathan Freitas 837d812916 update to 0.3.0.7 2017-06-01 00:08:03 -04:00
Nathan Freitas 6d0d4a3d20 update to 15.4.0-beta-2-multi 2017-03-22 13:26:49 -04:00
Nathan Freitas 5b9a34199e update notification styling 2017-03-22 12:58:34 -04:00
Nathan Freitas 248bcc979d update tor constants value for tor 0.2.9.9 2017-03-22 12:49:18 -04:00
Nathan Freitas 7dbae837de modify notification display 2017-03-22 12:47:54 -04:00
Nathan Freitas c0d082ed78 remove bridge logic from activity (now in service) 2017-03-22 12:47:38 -04:00
Nathan Freitas 4af61b609e update logic for bridge selection 2017-03-22 12:47:05 -04:00
Nathan Freitas 301ef3948e add version display to sidebar 2017-03-22 12:46:48 -04:00
Nathan Freitas 11c6abf59d update default built in bridges 2017-03-22 12:46:14 -04:00
Nathan Freitas ea40bb4510 update gradle build settings 2017-03-22 12:46:01 -04:00
Nathan Freitas 9019ceb898 switch back to 0.2.9.9 tor 2017-03-22 12:45:42 -04:00
Nathan Freitas b8aaa2c7d9 update obfs4 bridges to match latest from tor browser 2017-03-19 23:21:49 -04:00
Nathan Freitas 1d3a99ea6c update constants for Tor 0.3.0 RC 2017-03-19 23:15:51 -04:00
Nathan Freitas 128cfe8394 update to latest gradle 2017-03-19 23:11:12 -04:00
Nathan Freitas 6496cb11d6 Update to briges thanks to David Fifield
https://lists.mayfirst.org/pipermail/guardian-dev/2017-March/005209.html
https://lists.mayfirst.org/pipermail/guardian-dev/2017-March/005211.html
2017-03-19 23:10:09 -04:00
Nathan Freitas 4d4fb82419 update to to 0.3-release 2017-03-19 07:55:35 -04:00
Nathan Freitas 7eb7a76bbe update pluto library 2017-03-06 01:17:25 -05:00
Nathan Freitas e801eaa27a update SDK target to 25 2017-03-01 23:08:48 -05:00
Nathan Freitas 673e6c8af7 improve landscape view on smaller screens 2017-03-01 23:08:31 -05:00
Nathan Freitas fc4b0940d9 update tor binary constants 2017-02-28 23:36:47 -05:00
Nathan Freitas ec2f8290f1 update target SDK to 25 2017-02-28 23:36:40 -05:00
Nathan Freitas 894b5817db add tuned landscape view 2017-02-28 23:36:24 -05:00
Nathan Freitas efde11ffc4 update maxfile for tor 0.2.9.9 2017-02-28 23:21:42 -05:00
Nathan Freitas 7bac212290 update to release-0.2.9 2017-02-28 23:01:30 -05:00
Nathan Freitas 44ab128c29 update to OpenSSL_1_0_2k 2017-02-28 23:01:11 -05:00
Nathan Freitas cb2c5fe661 Merge branch 'fix_bug_63' of https://github.com/arrase/orbot into arrase-fix_bug_63
Conflicts:
	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2017-01-14 06:45:43 -05:00
Nathan Freitas 19539620a9 cache circuits by circId 2017-01-14 06:40:25 -05:00
Nathan Freitas c9fc49a2de we want to only look up iptables once per run 2017-01-14 06:40:10 -05:00
Nathan Freitas 26b9199378 Merge branch 'hidden_services' of https://github.com/arrase/orbot into arrase-hidden_services 2017-01-13 22:19:02 -05:00
Nathan Freitas d937b9b958 Merge branch 'update-ant-build' of https://github.com/eighthave/orbot into eighthave-update-ant-build 2017-01-13 22:16:59 -05:00
Nathan Freitas a5744d7958 small chnage to only check for sys iptables once 2017-01-13 22:14:39 -05:00
Nathan Freitas 970710d03c Merge branch 'fixiptables' of https://github.com/Unpublished/orbot into Unpublished-fixiptables 2017-01-13 22:13:10 -05:00
arrase f1a8fbd6b6 isolate 2016-12-08 16:16:47 +01:00
arrase ad68947dd4 fix for bug 63 2016-12-08 16:12:29 +01:00
arrase 500075454a fix typo 2016-12-08 15:45:16 +01:00
arrase 41ebcc5050 Deal with Doze in the less painful way 2016-12-08 15:22:53 +01:00
arrase 2aa2b4c370 New feature added: HidServAuth manager and QR share 2016-12-06 23:10:36 +01:00
arrase 9961ad0b84 adds padding to the hs switch 2016-12-06 15:03:44 +01:00
arrase f3af9daa55 fix: focusable 2016-12-06 00:52:24 +01:00
arrase 4f7271b76e feature added: temporarily disable a hidden service 2016-12-06 00:27:25 +01:00
arrase 94c68579e0 fix untranslated arrays 2016-12-05 22:29:33 +01:00
arrase ba76f574a9 spanish translation 2016-12-05 22:20:47 +01:00
arrase 070d615183 center port text 2016-12-05 21:28:33 +01:00
arrase 8d5df9c9eb better cookie dialog 2016-12-05 21:14:15 +01:00
arrase 2d0437a834 return auth cookie at intent service 2016-12-04 22:12:41 +01:00
arrase 4d0fe27ea3 adds optional HiddenServiceAuthorizeClient option for each hidden service 2016-12-04 21:10:44 +01:00
arrase 54e2e5e372 fix for:
https://github.com/n8fr8/orbot/issues/63
2016-11-29 21:04:41 +01:00
arrase 07532bb04c a better isolation of my changes 2016-11-29 20:33:34 +01:00
arrase ed5e8aca9c fix 2016-11-29 19:09:10 +01:00
Juan Ezquerro LLanes 7a941edeee fix 2016-11-29 11:16:35 +01:00
Juan Ezquerro LLanes dd99f8f0a3 Merge branch 'master' into hidden_services
# Conflicts:
#	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2016-11-29 11:15:27 +01:00
Juan Ezquerro LLanes 3ba1d395ea Merge branch 'master' into hidden_services
# Conflicts:
#	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2016-11-29 11:09:49 +01:00
arrase f6f4d26645 type selection spinner 2016-11-29 01:41:41 +01:00
arrase bb5f323b71 fix string 2016-11-29 00:11:25 +01:00
arrase 8abfba5fe5 fix indent 2016-11-29 00:06:59 +01:00
arrase 155c18235a feedback 2016-11-28 23:58:55 +01:00
arrase f76f58e2bf delete files from storage 2016-11-28 23:43:43 +01:00
arrase f742b270e3 delete by id 2016-11-28 23:32:35 +01:00
arrase 07044f7748 confirm_service_deletion 2016-11-28 23:25:19 +01:00
arrase a0b3d72fa8 fab icon and color 2016-11-28 22:43:11 +01:00
arrase 0bdcab134c get data from cursor 2016-11-28 22:25:59 +01:00
arrase 7a9ad4720b non perfect but better option to start/stop 2016-11-28 22:06:09 +01:00
arrase 9ffb0b3915 bug fix 2016-11-28 01:04:32 +01:00
arrase 0a6d623cf7 bug fix 2016-11-28 00:38:26 +01:00
arrase 9e0bdcf147 bug fix 2016-11-27 23:52:35 +01:00
arrase 238a695c1b bug fix 2016-11-27 23:01:58 +01:00
arrase 799d18cbdc bug fix 2016-11-27 23:00:25 +01:00
arrase 1060c69623 intent api: restore key 2016-11-27 20:57:47 +01:00
arrase bb7ffd9692 intent api: restore key 2016-11-27 20:07:49 +01:00
arrase 5d3b171e21 refactor 2016-11-27 19:19:44 +01:00
arrase f153600dd1 insert or update 2016-11-27 19:12:16 +01:00
arrase 5f02561f9d backup restore 2016-11-27 18:50:20 +01:00
arrase 130b89d846 Write config.json 2016-11-27 17:15:15 +01:00
arrase fca54cfcdc move hidden services to files directory 2016-11-27 16:03:38 +01:00
arrase a49ac3fcc5 padding 2016-11-24 22:45:37 +01:00
arrase b04d0eb17a actionbar permission request flow 2016-11-24 22:22:04 +01:00
arrase 17efdcafa2 check empty names 2016-11-24 03:06:40 +01:00
arrase d28db41782 big refactor 2016-11-24 02:56:11 +01:00
arrase 6658101dd9 more margin 2016-11-24 02:39:41 +01:00
arrase da601d86ef layout fix 2016-11-24 02:35:00 +01:00
arrase 85de87f0a0 layout fix 2016-11-24 02:30:19 +01:00
arrase 872ec40214 restore backup dialog 2016-11-24 02:22:41 +01:00
arrase f79d2d9005 bug fix and refactor 2016-11-23 21:20:50 +01:00
arrase 0b21dfc46a bug fix 2016-11-23 02:06:38 +01:00
arrase 22c573f70a adds AppDataProvider 2016-11-23 01:37:06 +01:00
arrase 0818b0c963 isolate hidden services configuration dirs 2016-11-23 00:12:06 +01:00
arrase 53e53d6fff clean 2016-11-22 23:19:48 +01:00
arrase f030963c9e refactor 2016-11-22 22:37:34 +01:00
arrase 7600b4c58c menu entry for restore backup 2016-11-22 01:24:23 +01:00
arrase 57a7b0dbc7 remove class 2016-11-22 00:45:07 +01:00
arrase 71d24e832b bugfix 2016-11-22 00:22:22 +01:00
arrase dbc7ff3b7d flag for services created by user 2016-11-22 00:12:38 +01:00
arrase f58265ae9f fab icon 2016-11-21 22:46:37 +01:00
arrase 8c7b897cd8 isolated permission request 2016-11-21 22:43:08 +01:00
arrase 8585466c96 adds toolbar 2016-11-21 21:48:45 +01:00
arrase d1884c3349 refactor 2016-11-21 00:04:48 +01:00
arrase e8a5099518 refactor 2016-11-21 00:00:58 +01:00
arrase 0fd59bc78d restore backup from intent 2016-11-20 23:56:17 +01:00
arrase 11e663be67 feedback 2016-11-20 22:51:36 +01:00
arrase 3e6c627712 action moved 2016-11-20 22:31:12 +01:00
arrase 08fb68dcaa action moved 2016-11-20 21:11:17 +01:00
arrase d048cd6fb2 request permissions 2016-11-20 19:03:45 +01:00
arrase 8e9bc2f840 some actions 2016-11-20 04:39:34 +01:00
arrase 8494cfb633 actions dialog 2016-11-20 03:20:14 +01:00
arrase c232e1c92e switch to listview 2016-11-20 01:52:23 +01:00
arrase fa6151cc99 adds card view 2016-11-18 03:16:31 +01:00
arrase e60e82859b margin 2016-11-18 01:26:10 +01:00
arrase 4155246b88 more ps 2016-11-18 01:00:57 +01:00
arrase 5edfc344dc create zip backup from itent 2016-11-18 00:53:49 +01:00
arrase 9bb3e2a7b3 do not allow updates after creation via intent 2016-11-17 22:55:18 +01:00
arrase 356d7235b4 preference migration 2016-11-17 22:10:46 +01:00
arrase c6054bb256 @NonNull 2016-11-17 20:48:20 +01:00
arrase 67d999b831 bug fix 2016-11-17 20:45:40 +01:00
arrase 6b3fc6183e changes for new securety layer 2016-11-17 19:34:08 +01:00
Juan Ezquerro LLanes 21acd568b1 delete layout 2016-11-17 16:51:39 +01:00
Juan Ezquerro LLanes c3d7743fda save checkbox value 2016-11-17 16:33:07 +01:00
Juan Ezquerro LLanes 4fea84cc5f allow managed backups field 2016-11-17 16:21:28 +01:00
Juan Ezquerro LLanes e152dd3810 update new onions 2016-11-17 15:43:50 +01:00
Juan Ezquerro LLanes 22de2eb269 add a note for later 2016-11-17 15:06:17 +01:00
Juan Ezquerro LLanes 3b63e31c10 no longer needed 2016-11-17 14:02:14 +01:00
Juan Ezquerro LLanes 8b3a26f297 no longer needed 2016-11-17 13:45:31 +01:00
Juan Ezquerro LLanes ff47ccd340 setup config file 2016-11-17 13:42:50 +01:00
Juan Ezquerro LLanes d1c117adb4 revert 2016-11-17 12:04:44 +01:00
Juan Ezquerro LLanes 471c5ac5fb revert 2016-11-17 12:02:40 +01:00
Juan Ezquerro LLanes 3f384c060b wait for hostname 2016-11-17 11:38:23 +01:00
Juan Ezquerro LLanes e776e12492 Update UI for onion port 2016-11-17 10:14:01 +01:00
Juan Ezquerro LLanes b10387bb07 fix 2016-11-17 09:51:33 +01:00
Juan Ezquerro LLanes 1af2fcb91f a better name for that 2016-11-17 09:49:39 +01:00
Juan Ezquerro LLanes ebc736be8d option for map a local port to different onion port number 2016-11-17 09:48:27 +01:00
arrase 94a3b0b107 adds optional boolean to the intent 2016-11-17 04:17:08 +01:00
arrase 0131cf20f0 adds optional string to the intent 2016-11-17 04:09:45 +01:00
arrase 3f7435c90e Hidden Service dialog 2016-11-17 02:57:37 +01:00
arrase 135e6c4ae0 Move layout 2016-11-17 02:35:38 +01:00
arrase 26d938126f New hidden services management screen and database 2016-11-17 02:27:48 +01:00
Nathan Freitas ff61d66bcf make sure tor network is re-enabled when user tries to restart 2016-11-16 07:52:21 -05:00
Nathan Freitas d09c2b59b4 put short status display back on main screen 2016-11-16 07:52:06 -05:00
Nathan Freitas 45105572d9 if there is no status intent yet, then create one, and don't NPE 2016-11-16 07:50:40 -05:00
Nathan Freitas 84d6a767ae update for RC8 multi 2016-11-07 00:27:15 -05:00
Nathan Freitas 34079c7a15 15.2.0-RC-8-multi 2016-11-07 00:26:11 -05:00
Nathan Freitas 540db0f00b revert back to NDK toolchain 4.8 since it is more stable 2016-11-07 00:23:19 -05:00
Nathan Freitas 73e9ac820e just go back to basic arm and x86 builds
other builds and new ndk toolchain is causing crashes
2016-11-07 00:19:43 -05:00
Nathan Freitas fd92359ccd improvements to app selection UI for better layout and error handling 2016-11-07 00:19:06 -05:00
Nathan Freitas 7bbfd4eff8 tune line length here for other locales 2016-11-06 23:59:12 -05:00
Nathan Freitas e7443890c5 improve UI setup here for list to reduce NPE crashes 2016-11-06 23:58:50 -05:00
Nathan Freitas dedf213028 make sure browser intent exists before you open it
for some reason, we see a lot of random crashes here
do people really run devices without browsers on them?
2016-11-06 23:57:37 -05:00
Nathan Freitas 5c4d146f0e update changelog for RC7 2016-11-04 07:51:03 -04:00
Nathan Freitas b147d5d21e update tor binary flag for new SSL 2016-11-04 00:02:15 -04:00
Nathan Freitas eb45d61dc9 update to 15.2.0-RC-7-multi for new OpenSSL 1.0.2j 2016-11-03 22:55:03 -04:00
Nathan Freitas 7dd82aedd8 updated OpenSSL string in about UI to 1.0.2j 2016-11-03 22:54:04 -04:00
Nathan Freitas 693bc9e362 update openssl to OpenSSL_1_0_2j 2016-11-03 21:39:26 -04:00
Nathan Freitas 523b7b0eb7 update for arm-x86 joint build 15.2.0-RC-6-multi 2016-11-03 17:30:33 -04:00
Nathan Freitas 0efbb1729e update for new joint arm+x86 build release 2016-11-03 17:28:01 -04:00
Nathan Freitas 2a0145693d update changelog for RC5 2016-11-03 12:50:45 -04:00
Nathan Freitas 24dee21b96 15.2.0-RC-5 notification fixes! 2016-11-03 12:49:54 -04:00
Nathan Freitas ba212a447c make sure notification is shown immediately while starting up 2016-11-03 12:45:00 -04:00
Nathan Freitas 45f7ae23c6 expanded notifications should be on by default for SDK 16+ 2016-11-03 12:44:41 -04:00
Nathan Freitas 204b3f0441 update changelog for RC4 2016-11-03 12:24:12 -04:00
Nathan Freitas 6b2679cac1 update manifest for 15.2.0-RC-4 2016-11-03 12:23:22 -04:00
Nathan Freitas 89f3fcacf2 make sure the binaries are cleanly installed (bump version number) 2016-11-03 12:21:54 -04:00
Nathan Freitas f5f544c2d3 update to latest badvpn for new torservice package 2016-11-03 12:19:24 -04:00
Nathan Freitas f21f14bf5b make sure tun2socks is loaded properly 2016-11-03 12:18:20 -04:00
Nathan Freitas 460f365b4a make sure Tun2Socks native library gets loaded 2016-11-03 12:17:55 -04:00
Nathan Freitas 5927fb0123 update the build to target all arm types 2016-11-03 12:17:23 -04:00
Nathan Freitas 5ac21be984 use PIEFLAGS 2016-11-03 11:00:12 -04:00
Nathan Freitas 0050bfeb95 update JNI targets 2016-11-03 10:38:10 -04:00
Nathan Freitas 1ae0c71ac7 fixes github #59 for crash on app list UI 2016-11-03 10:36:39 -04:00
Nathan Freitas e9ece471b7 update gitignore to ignore binaries 2016-11-02 15:00:28 -04:00
Nathan Freitas 37cd0241e5 don't need to store this binary in the repo 2016-11-02 15:00:08 -04:00
Nathan Freitas 0d00c06450 update changelog for rc3 2016-11-02 13:48:52 -04:00
Nathan Freitas 354ce24283 update manifest to 15.2.0-RC-3 2016-11-02 13:47:41 -04:00
Nathan Freitas 41c9d2cd5d lock in app item list row height 2016-11-02 12:07:57 -04:00
Nathan Freitas 52e7ad3bf0 add RootCommands library back in for shell and root shell exec 2016-10-31 15:52:03 -04:00
Nathan Freitas af69041811 remove old superuser-commands 2016-10-31 06:54:15 -04:00
Nathan Freitas 5d52f04556 update to 15.2.0-RC-2 2016-10-29 11:42:50 -04:00
Nathan Freitas dacf2ef9f5 cleanup resources and unused drawables 2016-10-29 11:42:27 -04:00
Nathan Freitas d25b3d5de8 tweak root preferences 2016-10-29 11:33:45 -04:00
Nathan Freitas 4d66133894 remove unused files 2016-10-29 11:33:37 -04:00
Nathan Freitas ef57341c6e re-enabled root permission request and shell 2016-10-29 11:33:26 -04:00
Nathan Freitas f4638873f8 quick fixes for app UI and VPN dialog 2016-10-29 11:20:51 -04:00
Nathan Freitas af8a867bfe update changelog for 15.2.0 RC 1 2016-10-28 12:03:00 -04:00
Nathan Freitas 9077bd236d update to 15.2.0-RC-1 and SDK min of 16 2016-10-28 11:45:43 -04:00
Nathan Freitas 085ddb3745 make ndk-build work again 2016-10-24 21:58:30 -04:00
Nathan Freitas 290059dfb9 fix string path in build script 2016-10-24 21:57:07 -04:00
Nathan Freitas dec3d9530d add proguard rules to optimize orbot binary 2016-10-24 21:55:01 -04:00
Nathan Freitas 160383ba6d update for gradle 2016-10-24 21:54:54 -04:00
Nathan Freitas b4906c09fd update CHANGELOG 15.2.0-beta-2 2016-10-24 16:53:06 -04:00
Nathan Freitas 12b1198b4b update to 15.2.0-beta-2 2016-10-24 16:51:52 -04:00
Nathan Freitas 345aea9ad2 move the controls to the left sidebar; improve VPN mode more 2016-10-24 16:50:59 -04:00
Nathan Freitas c76d935cc3 improve bridge dialog display 2016-10-24 15:31:41 -04:00
Nathan Freitas ac037a9dc5 fix browser install request 2016-10-24 15:00:47 -04:00
Nathan Freitas 28f1dbf7dd make the VPN/apps mode have a better UI flow 2016-10-24 14:30:46 -04:00
Nathan Freitas c1ffdbb4e7 put browser button back in 2016-10-24 10:50:14 -04:00
Nathan Freitas 518f70d872 comment out notification actions for now 2016-10-24 10:49:47 -04:00
Nathan Freitas 0bb8e846ad update Tor version to 0.2.8.9 2016-10-24 10:40:38 -04:00
Nathan Freitas 2125db1504 make start and stop of Tor service all hanlded through executor 2016-10-21 14:53:58 -04:00
Nathan Freitas d8648a5864 remove meek-google as an option 2016-10-21 14:41:06 -04:00
Nathan Freitas 2676cd3fc6 update resource to make smaller 2016-10-21 14:39:04 -04:00
Nathan Freitas 3ee6b2a6b5 don't fail on lint for release builds 2016-10-20 10:50:19 -04:00
Nathan Freitas e3d7ca28a0 update tor 0.2.8.9 2016-10-20 10:30:22 -04:00
Nathan Freitas 126c82adc2 update changelog with tag hash 2016-10-17 11:04:54 -04:00
Nathan Freitas bade4fe66d update changelog 2016-10-13 15:36:23 -04:00
Nathan Freitas abaa3f83fc 15.2.0-beta-1 2016-10-13 15:35:23 -04:00
Nathan Freitas 61affce706 Merge pull request #55 from n8fr8/dev_gradle
Dev gradle
2016-10-13 15:33:32 -04:00
Nathan Freitas cd8b549d1a add the compiled tun2socks lib for devs who just want to work on UI 2016-10-13 15:31:59 -04:00
Nathan Freitas 3c181bc6f2 add the proguard rules 2016-10-13 15:31:53 -04:00
Nathan Freitas 9948975d4f we aren't going to show a notification light 2016-10-13 15:31:34 -04:00
Nathan Freitas 50f33c9ca2 make sure we set VPN mode properly before we launch the service 2016-10-13 15:31:12 -04:00
Nathan Freitas 9de4f54e6b using compat builder for notifications 2016-10-12 16:58:56 -04:00
Nathan Freitas 330860216a improve the code for launching the pdnsd daemon 2016-10-12 16:46:53 -04:00
Nathan Freitas da0fb101f3 multiple fixes to re-enable VPN mode and pdnsd daemon 2016-10-12 16:01:09 -04:00
Nathan Freitas ca238c6521 continued re-integration of VPN feature 2016-10-04 23:46:17 -04:00
Nathan Freitas 1614921e34 clean pdnsd binaries from libs in Makefile 2016-10-04 23:45:47 -04:00
Nathan Freitas 1db567698d continue to migrate service and VPN code 2016-09-29 12:00:57 -04:00
Nathan Freitas d5f2c063b5 remove vpn code that is now in the service module 2016-09-29 12:00:40 -04:00
Nathan Freitas 34c7cfd2e1 modify jni build inclusion 2016-09-29 12:00:26 -04:00
Nathan Freitas 268002bc75 fix build scripts for new paths 2016-09-29 12:00:09 -04:00
Hans-Christoph Steiner 1e93ef4606 improved javadoc of start process 2016-09-26 21:06:22 +02:00
Hans-Christoph Steiner 610abf5b79 fix ant builds by using frozen SDK
legacy!  This uses a copy of the Android SDK that is frozen to the last
version that works with ant builds.
2016-09-26 21:06:12 +02:00
Nathan Freitas 6333a45f69 update gitignore to handle orbotservice binary libs 2016-09-26 12:04:16 -04:00
Nathan Freitas d2cf5453e2 move jni code and VPN logic from app module to service 2016-09-26 12:03:30 -04:00
Nathan Freitas 9f61afcdef improve tor service event handling and display 2016-09-26 11:39:07 -04:00
Nathan Freitas ebc046e92d remove littleproxy reference (for now!) 2016-09-25 19:10:38 -04:00
Nathan Freitas 7c3a16f86f we don't need a separate service for the VPN 2016-09-25 19:10:01 -04:00
Nathan Freitas 7950cac801 remove dated information in the BUILD file 2016-09-25 18:53:30 -04:00
Nathan Freitas 9afbb0007f update gradle props and ignore files we don't want in repo 2016-09-25 18:51:22 -04:00
Nathan Freitas 7284a5e1fb make sure Tor start/stop work
- use Process instance instead of processID lookup
- reply on Tor's HALT command
2016-09-25 18:49:32 -04:00
Nathan Freitas 55e08b9de4 tweak homescreen layout and strings 2016-09-25 18:49:20 -04:00
Nathan Freitas d56fdb20aa renable polipo 2016-09-23 11:01:20 -04:00
Nathan Freitas 90d77ce4be modify imports 2016-09-19 16:11:44 -04:00
Nathan Freitas 1ffea580c4 udpate resource paths 2016-09-19 16:11:30 -04:00
Nathan Freitas bab79046b2 target API 14 2016-09-19 16:10:13 -04:00
Nathan Freitas aba7f8e40e update gitignores for gradle 2016-09-19 16:09:58 -04:00
Nathan Freitas 912cb74243 update tor to 0.2.8.7 2016-09-19 16:09:10 -04:00
Nathan Freitas 5a4e00a186 fix paths for new module layout 2016-09-19 16:08:31 -04:00
Nathan Freitas ecf90235af remove old binaries 2016-09-19 16:08:15 -04:00
Nathan Freitas 10f1ade6e4 update makefile and add new patch 2016-09-19 16:06:34 -04:00
Nathan Freitas b52023a502 move assets to service project 2016-06-29 10:49:18 -04:00
Nathan Freitas 549399b82c launch default activity from notification 2016-06-29 10:48:59 -04:00
Nathan Freitas 6d0fdbba10 update gitignore for gradle project 2016-06-29 10:10:14 -04:00
Nathan Freitas 56683a39b3 add pdnsd library in for vpn service DNS! 2016-06-29 10:09:47 -04:00
Nathan Freitas 29fd07ac34 remove patches from here, moved to external 2016-06-29 10:08:44 -04:00
Nathan Freitas 0f00e12cdc move patches to external since that is what it is applied to (external code) 2016-06-29 10:01:42 -04:00
Nathan Freitas 54b3349344 remove redundant code from old ant build format (not in gradle modules) 2016-06-29 09:54:03 -04:00
Nathan Freitas 18682e4b97 big check-in of major gradle refactor; now building and running!
VPN features are disabled for now
2016-06-29 00:20:20 -04:00
Unpublished 639bc3241e fix usage of system iptables 2016-06-24 00:49:34 +02:00
Nathan Freitas bdb58933b2 update translations 2016-04-01 09:23:41 -07:00
Nathan Freitas 40233543d3 Merge branch 'master' of github.com:n8fr8/orbot 2016-03-22 16:20:26 -04:00
Nathan Freitas 6e45c07c7d Merge pull request #32 from ghost/patch-1
Start meek transport whe using custom meek bridges
2016-03-22 16:20:14 -04:00
srvetus 21c5bcc7e7 Remove typo 2016-03-20 03:47:50 +00:00
srvetus 5adcbecf4c Start the meek transport for custom meek bridges 2016-03-20 03:45:11 +00:00
Nathan Freitas 8e7a8111a9 update with commit tag for v15.1.3 beta 1 2016-03-09 15:50:07 -05:00
Nathan Freitas d6eccc3138 update changelog 2016-03-09 15:35:55 -05:00
Nathan Freitas 6452075d46 15.1.3-beta 2016-03-09 14:51:25 -05:00
Nathan Freitas 9097b79a7e Move OrbotVPNService to a Manager and consolidate services
This allows for the VPN service to be set in the foreground with the TorService
and reduce the chance to be killed due to lack of memory
2016-03-09 14:43:01 -05:00
Nathan Freitas 2973eaccd8 change how we look for processes to kill. fixes tor trac #18502 2016-03-08 13:05:35 -05:00
Nathan Freitas cec82ec0de VPN code cleanup and ensure DNS is listening on all interfaces 2016-03-07 14:02:07 -05:00
Nathan Freitas 4892f93531 DNS lookup through pdnsd should loop back into Tor DNS port
While the TCP query to Google DNS before provided more robust DNS services,
it could still leak outside the VPN service based on platform version
and other circumstances. By using PDNSD as a proxy back into Tor's limited DNS
service, we ensure DNS does not leak.
2016-03-07 13:52:52 -05:00
Nathan Freitas beb3bc8a4a update changelog for 15.1.2 2016-02-24 10:01:28 -05:00
Nathan Freitas 204733a245 update to 15.1.2 2016-02-23 23:23:32 -05:00
Nathan Freitas 57855932f4 move to using meek_lite mode from obfs4client and update/improve proxying code 2016-02-23 23:21:02 -05:00
Nathan Freitas 66a5b7ad26 remove meek-client and use obfs4 meek_lite mode instead 2016-02-23 23:20:21 -05:00
Nathan Freitas 3eb70b8b9a switch back to Android-16 as target 2016-02-23 23:19:52 -05:00
Nathan Freitas 44dae6bc1d 15.1.1 PIE Android 16+ 2016-02-22 16:02:56 -05:00
Nathan Freitas f9f33a171c set this to Android 16 SDK for PIE executable
We'll use a different build for non-PIE < Android-16
2016-02-22 15:59:35 -05:00
Nathan Freitas e9d28a4445 handle NPE better for dev.gp.info #6686
in some cases the connection becomes null while you are interacting with it
2016-02-22 15:07:40 -05:00
Nathan Freitas 00f82f0913 update git submodules 2016-02-22 13:19:15 -05:00
Nathan Freitas 9a8e4dd80f update to orbot ant build version 2016-02-22 12:33:12 -05:00
Nathan Freitas 80e8c47e62 peg to last ant compat release 2016-02-22 12:09:37 -05:00
Nathan Freitas 043b151fb1 Merge branch '1984-bridges' of https://github.com/mrphs/orbot into dev_nima_1984_bridges 2016-02-22 11:05:37 -05:00
Nima Fatemi 5eb628b03a bridges dedicated to GeorgeTorwell 2016-02-09 22:16:52 +00:00
Nathan Freitas c8584f6ec9 update superuser commands library 2016-02-02 12:23:58 -05:00
Nathan Freitas bac16a57fc enable backwards compat to Android SDK 10 (Android 2.3.*) 2016-02-02 12:22:24 -05:00
Nathan Freitas e1d46c49b9 reset minSDK to 10 2016-02-02 11:35:02 -05:00
Nathan Freitas 3cc2439b5f update license to include badvpn 2016-01-29 17:05:29 -05:00
Nathan Freitas 9c82aa85d0 fix escaping of apostro 2016-01-29 14:27:14 -05:00
Nathan Freitas eba95b2941 update strings and descs from transifex
(somehow french got left out before!)
2016-01-29 14:05:13 -05:00
Nathan Freitas 8047ec67d0 update the log 2016-01-28 09:27:04 -05:00
Nathan Freitas 91225ab053 15.1.0-RC-7 2016-01-28 09:25:41 -05:00
Nathan Freitas fd45fa38f6 enable TransProxy and DNSPort by default without root
- some users run their own iptables transproxy scripts with AFWall and need Orbot to have these ports open by default. There is no risk to enable them by default, so we'll them on for now, and think about how to better make this a user option in the future.
2016-01-28 09:24:07 -05:00
Nathan Freitas b76a2504bb update for RC-6...final?! 2016-01-27 10:15:24 -05:00
Nathan Freitas a8dbdacbcb 15.1.0-RC-6 2016-01-27 10:14:03 -05:00
Nathan Freitas eea9579ea3 Merge pull request #27 from eighthave/master
make-release-build tweaks
2016-01-27 10:02:08 -05:00
Hans-Christoph Steiner 226d92ebcd make-release-build: env vars need to be first on the command line 2016-01-27 13:31:09 +01:00
Hans-Christoph Steiner 20c16aec68 ignore more files generated by the build 2016-01-27 13:31:09 +01:00
Hans-Christoph Steiner 9883a8931a faketime is only needed when building, not when cleaning
cleaning while running faketime will just slow it down or cause weird
behavior.
2016-01-27 09:43:56 +01:00
Nathan Freitas 1839b8f0b9 add-in missing "break" for Meek Google 2016-01-26 18:31:04 -05:00
Nathan Freitas eaa2dde611 explicitly indicate we are building armeabi 2016-01-26 18:29:37 -05:00
Nathan Freitas 1b76c3636e add make calls for both armeabi and x86 with clean 2016-01-26 18:21:05 -05:00
Nathan Freitas 75eb36edb6 remove lib binaries 2016-01-26 18:20:56 -05:00
Nathan Freitas 3be93a0eaf only build for x86 and armeabi 2016-01-26 18:20:45 -05:00
Nathan Freitas 2ae22ec3e4 update changelog for v15.10 RC-5 2016-01-26 03:43:30 -05:00
Nathan Freitas 33fa19f989 15.1.0-RC-5 2016-01-26 03:42:24 -05:00
Nathan Freitas 9b9bab3a75 Merge branch 'new-bridges' of https://github.com/mrphs/orbot into mrphs-fixes 2016-01-25 23:53:14 -05:00
Nathan Freitas 25150a329c Merge branch 'bug-18148' of https://github.com/mrphs/orbot into mrphs-fixes 2016-01-25 23:52:59 -05:00
Nathan Freitas da7eb961f1 small fixes to VPN service port setup to ensure proper setup 2016-01-25 23:44:44 -05:00
Nima Fatemi ec6083fcd7
add 'Mosaddegh','Azadi','MaBishomarim' & 'JonbesheSabz' to default bridges 2016-01-26 04:31:37 +00:00
Nima Fatemi 8a00ab1f02
remove extra chars from bridge line. fixes #18148 2016-01-26 04:19:44 +00:00
Nathan Freitas d58555a358 one last changelog fix... argh! 2016-01-25 22:46:21 -05:00
Nathan Freitas 1ba37133c5 fix the changelog 2016-01-25 22:45:48 -05:00
Nathan Freitas 65c3fb1b3f update CHANGELOG 2016-01-25 22:44:42 -05:00
Nathan Freitas 80491ea95b 15.1.0-RC-4 2016-01-25 22:13:12 -05:00
Nathan Freitas c235e3ed6b tweak the string about bridges a little bit 2016-01-25 22:12:31 -05:00
Nathan Freitas 2a728140b4 choose up to 2 bridges from default list randomly 2016-01-25 22:09:26 -05:00
Nathan Freitas 1dbe5eac55 make bridge allocation shuffle randomly to distribute load
inspired by this work: https://trac.torproject.org/projects/tor/ticket/18113
we don't want all users to start with the same bridges in the same order
2016-01-25 15:45:36 -05:00
Nathan Freitas ba835599f7 this should be kbps in fact 2016-01-25 15:45:29 -05:00
Nathan Freitas cf1a644c19 add support for loading default bridges from asset file 2016-01-25 12:50:03 -05:00
Nathan Freitas b3a953ba64 15.1.0-RC-3 2016-01-25 12:07:47 -05:00
Nathan Freitas 03222f2d27 update binaries 2016-01-25 11:57:28 -05:00
Nathan Freitas 4913b0ca32 better implementation of stpcpy for pre-Android 21 NDK 2016-01-25 11:57:16 -05:00
Nathan Freitas ab8709dd2e add orfox icon to replace orweb 2016-01-25 11:44:33 -05:00
Nathan Freitas 0669addd49 re-add appcompat, update to latest, move to Android 23 to build
- this is required for latest appcompat, and to address the bug
with the white-on-white spinner popup error
2016-01-25 11:28:33 -05:00
Nathan Freitas c05d8e7b43 remove appcompat, and just support support-v4 2016-01-25 10:43:34 -05:00
Nathan Freitas 0bbe5d5f51 Merge pull request #21 from eighthave/master
work towards a reproducible build
2016-01-22 19:07:28 -05:00
Hans-Christoph Steiner 735b2985f7 make-release-build: remove faketime from `ant release`
It is too problematic and there are other ways to make those final parts of
the APK reproducible.
2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 461e35dc51 make-release-build: freeze time when running ndk-build
This aides reproducibility.
2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 5c86b5cc7e make-release-build: make sure ndk-build can be found 2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 58d53ea347 make-release-build: use strip-nondeterminism to get reproducible build
strip-nondeterminism sets the timestamps in the zip based on the timestamp
of the git commit.
2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner 5ce1f5f91a make-release-build: make sure tag signers exist before verifying tags 2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner 72eab39a95 build jtorctl directly, using a symlink to point to its source code
This builds the jtorctl java with the rest of Orbot's java.  The process of
making a jar breaks when external/Makefile is run with frozen time using
faketime.  That is needed to get reproducible native bits.
2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner a6ac016a84 use symlinks to provide alternate folders for Hebrew and Indonesian
These two languages must be included twice (iw/he and id/in)

For a full discussion of why, see:
https://gitlab.com/fdroid/fdroidclient/issues/139
https://stackoverflow.com/questions/5074769/cyanogenmod-translate-a-project/8470980#8470980
https://stackoverflow.com/questions/8393771/android-not-using-finding-my-hebrew-localization
2016-01-22 23:25:54 +01:00
Nathan Freitas 5fb4e9b80e update ndk-builds to NDK 4.8 toolchain 2016-01-21 14:56:35 -05:00
Nathan Freitas 6eb0a93dd8 improvements to Locale changing in app 2016-01-20 16:52:59 -05:00
Nathan Freitas 9af00fe263 change VPN mode DNS to use Google's 8.8.8.8 2016-01-20 14:11:48 -05:00
Nathan Freitas 3c4864b843 update changelog 2016-01-16 00:10:57 -05:00
Nathan Freitas 9ed17b551c 15.1.0-RC-2 2016-01-15 23:49:59 -05:00
Nathan Freitas 6ffea9e38f add ability to check if configured SOCKS port is available
Samsung devices like to use 9050 (Since their hardware model is i9050!). Tor likes to use port 9050. This new code looks to see if port 9050 is available, and if not, change the setting to 'auto' so Tor can find another port.
2016-01-15 23:43:54 -05:00
Nathan Freitas b4ca30b811 add new feature graphic for google play 2016-01-15 23:43:40 -05:00
Nathan Freitas fd5071feab update CHANGELOG for v15.1.0-RC-1 2016-01-15 15:25:30 -05:00
Nathan Freitas f541e9ffe1 15.1.0-RC-1 2016-01-15 14:25:13 -05:00
Nathan Freitas 324036798b clean shouldn't clean assets, so we can easily builds for multiple platforms 2016-01-15 14:22:47 -05:00
Nathan Freitas 76b21714d8 update pdnsd and tun2socks to Android-16
add stpcpy function not present before Android-21
2016-01-15 12:50:38 -05:00
Nathan Freitas a0b0928561 15.1.0-BETA-2 2016-01-13 09:46:54 -05:00
Nathan Freitas 8f7165ce57 fixes for settings processing and QRCode scanning of bridges
- support new JSON array form bridges.torproject.org
- only enable TransProxy and DNSPort settings if the user enables transproxy
2016-01-12 23:57:37 -05:00
Nathan Freitas 4b31ef849a 15.1.0-BETA-1 2016-01-11 17:13:43 -05:00
Nathan Freitas 64493f73cd update gitignore 2016-01-11 17:12:42 -05:00
Nathan Freitas 39244a613a fix the ability to select per app VPN routing 2016-01-11 17:11:58 -05:00
Nathan Freitas f41d46960c Merge branch 'master' of github.com:n8fr8/orbot 2016-01-07 11:00:56 -05:00
Nathan Freitas 0081d005e6 remove Pluto Go building form this Makefile for now 2016-01-07 10:59:58 -05:00
Nathan Freitas 2288210cc6 update to OpenSSL's github mirror 2016-01-07 10:44:12 -05:00
Nathan Freitas 4af6bb7d3b Merge pull request #17 from PanosSakkos/patch-1
[Trivial] Fixed broken reference to Main Activity in  WALKTHROUGH
2016-01-07 01:41:20 -05:00
Nathan Freitas c687bc934e 15.1.0-ALPHA-3 2016-01-07 01:20:33 -05:00
Nathan Freitas dfc5101d1d update tfx config 2016-01-07 01:09:09 -05:00
Nathan Freitas 52acf68ed4 move "World" string to resource 2016-01-07 01:06:43 -05:00
Nathan Freitas eaf49da89a update store and app translations 2016-01-07 01:02:32 -05:00
Nathan Freitas 3b41365708 allow country exit node select to persist 2016-01-07 00:59:34 -05:00
Nathan Freitas b2081789f5 add initial support for easy exit country selection 2016-01-06 23:42:08 -05:00
Nathan Freitas 66f65d00fe 15.1.0-ALPHA-2 2016-01-06 16:19:36 -05:00
Nathan Freitas 3691ccae3a native binary asset building fixes
move pdnsd exec to assets
2016-01-06 16:14:08 -05:00
Nathan Freitas d839b154a1 fixes for VPN service UI to work on Android6 2016-01-06 16:13:56 -05:00
Nathan Freitas fe9119d66a update jenkins-build script 2016-01-04 02:32:12 -05:00
Nathan Freitas f36965211e add code to kill pdnsd daemon when VPN is stopped 2016-01-04 02:28:31 -05:00
Nathan Freitas f441736cd9 update OpenSSL string to show 1.0.1q 2016-01-04 01:46:55 -05:00
Nathan Freitas 4098e8edf2 update to 15.1.0-ALPHA-1 2016-01-04 01:44:36 -05:00
Nathan Freitas f1fcec3d45 add support for PDNSD DNS Daemon for VPN DNS resolution
Tor's DNS port doesn't work well with the VPN mode, so we
will use PDSND to resolve DNS over Tor using OpenDNS. This is
a hack/solution that we learned from SocksDroid.
2016-01-04 01:38:36 -05:00
Nathan Freitas 8d8fe0ceb4 updates to improve VPN support 2015-12-30 13:21:33 -05:00
Nathan Freitas 699b60db56 add linancillary for badvpn tun2socks update for DNS 2015-12-30 09:52:56 -05:00
Nathan Freitas 9b2cc52f5a update badvpn binaries 2015-12-16 11:22:30 -05:00
Nathan Freitas 6dc8cf6980 update makefile for new pluto builds 2015-12-16 11:22:21 -05:00
Nathan Freitas 02612366ca change this to "browser button" 2015-12-16 10:52:18 -05:00
Nathan Freitas 3462cbd46e small updates to icon and strings 2015-12-16 10:40:48 -05:00
Nathan Freitas bb55557b44 update installer to get PLUTO binaries from assets 2015-12-16 10:27:06 -05:00
Nathan Freitas 7d213e24d4 delete pluggable transport binaries here; build with Makefile
use the external/pluto project
2015-12-16 10:26:41 -05:00
Nathan Freitas 6cf120185f update makefile to support PLUTO builds 2015-12-16 10:26:28 -05:00
Nathan Freitas 871701e9d6 add link for new icon 2015-12-16 10:01:33 -05:00
Nathan Freitas 51205b8222 update for Orfox 2015-12-16 10:01:24 -05:00
Nathan Freitas 6fb4f0c337 update binaries 2015-12-16 10:00:28 -05:00
Nathan Freitas 317405dbb3 update external versions of Tor 0.2.7.6 and OpenSSL 1.0.1q 2015-12-16 10:00:15 -05:00
Nathan Freitas 0a5dd086cd use a browser constant here, with the new constant being Orfox 2015-12-16 10:00:03 -05:00
Nathan Freitas c54ab188b0 deleted these graphics 2015-12-16 09:59:24 -05:00
Nathan Freitas 534c2fb36d update style, icons and graphics 2015-12-16 09:59:00 -05:00
Panos Sakkos cd0bfd3a05 [Trivial] Fixed broken reference to Main Activity in WALKTHROUGH 2015-10-25 22:51:43 +01:00
Nathan Freitas 7dc30f9d18 update to 15.0.1-RC-3 with openssl 1.0.2a
also this build adds x86 back in
2015-07-14 11:04:44 -04:00
Nathan Freitas 865582ec3d move back to 1.0.2a for x86_64 support 2015-07-14 10:28:09 -04:00
Nathan Freitas 0cde639a1c fix translations for common issues 2015-07-13 23:28:44 -04:00
Nathan Freitas 2acdd29634 update localizations for strings and app description 2015-07-13 23:24:07 -04:00
Nathan Freitas 0b6796c951 update changelog 2015-07-13 23:15:02 -04:00
Nathan Freitas 30e37993bb 15.0.1-RC-2-PIE 2015-07-13 23:13:50 -04:00
Nathan Freitas 256ecc4df0 update tor version constant to 0.2.6.10 2015-07-13 23:12:10 -04:00
Nathan Freitas 6aa5ca56b5 update to tor 0.2.6.10 2015-07-13 23:11:45 -04:00
n8fr8 2459aa5151 Merge pull request #15 from aelmahmoudy/openssl_update
Update OpenSSL to v1.0.2a to fix build for x86_64 arch.
2015-07-09 17:37:01 -04:00
n8fr8 b272fcc224 Merge pull request #14 from aelmahmoudy/mipsfix
Define __MIPSEL__ to workaround OpenSSL build failure for mips arch.
2015-07-09 17:36:25 -04:00
أحمد المحمودي (Ahmed El-Mahmoudy) fd4ef77529 Update OpenSSL to v1.0.2a to fix build for x86_64 arch. 2015-07-09 17:19:24 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) d93017fd30 Define __MIPSEL__ to workaround OpenSSL build failure for mips arch. 2015-07-09 17:02:31 +02:00
Nathan Freitas f13f7c82dc update to 15.0.1-RC-1 (PIE only) 2015-07-08 13:04:13 -04:00
Nathan Freitas e00f830eca update changelog 2015-06-26 09:54:19 -04:00
Nathan Freitas dd2a144f4b update to beta 3 2015-06-26 09:53:16 -04:00
Nathan Freitas dc06eedcfd final fixes for AppsVPN mode on boot and Android 4.x support 2015-06-26 09:52:42 -04:00
Nathan Freitas f98f7b4a33 update changelog for v15.0.1 2015-06-25 10:59:23 -04:00
Nathan Freitas c56e5d635f v15.0.1 beta 2 2015-06-25 10:53:01 -04:00
Nathan Freitas 1b6126e3d0 Enable support for app selection to work with VPN mode on Lollipop+
For now we will re-use/overload the app selection transproxy UI in Settings
2015-06-25 10:48:50 -04:00
Nathan Freitas bf8113cd19 update to sdk 22 2015-06-25 10:37:59 -04:00
Nathan Freitas f558a0a67c don't try to build external folders in eclipse 2015-06-25 10:37:48 -04:00
Nathan Freitas fa427a26f2 update tun2socks binaries 2015-06-25 10:37:29 -04:00
Nathan Freitas 76e424e695 update submodule pin 2015-06-25 10:35:28 -04:00
Nathan Freitas 765bc61ded enable background starts by default only for Service intent calls 2015-06-22 12:57:59 -04:00
Nathan Freitas dc16c98ff7 update manifest for v15.0.1 beta 1 2015-06-22 12:45:39 -04:00
Nathan Freitas e11cae883e Merge branch 'the-big-start-stop-makeover' of https://github.com/eighthave/orbot into eighthave-the-big-start-stop-makeover
Conflicts:
	src/org/torproject/android/OrbotMainActivity.java
	src/org/torproject/android/service/TorService.java
2015-06-22 12:43:42 -04:00
Nathan Freitas a8384bde74 Merge branch 'eighthave-the-big-start-stop-makeover' 2015-06-22 12:39:17 -04:00
Nathan Freitas 225ad9d1ac fix handling of foreground intent starts, and set bg start off by default 2015-06-22 12:37:51 -04:00
Nathan Freitas e132a79a61 improve status request/callback interaction and status UI layout 2015-06-22 12:25:37 -04:00
Nathan Freitas 67d1652e57 update tor to 0.2.6.9 2015-06-22 11:30:56 -04:00
Hans-Christoph Steiner aa87e6712a on start, check for running tor daemon, and if TorService stopped, then start
If Orbot was killed when the tor daemon was running, the tor daemon will
still be running when Orbot starts again.  OrbotMainActivity then checks to
see if tor daemon is running while TorService is stopped.  If so, TorService
is started so that the state of everything is in sync.
2015-06-17 12:08:52 -04:00
Hans-Christoph Steiner a81c0001d6 init file path variables (tor, polipo, etc) when the app starts
These file path variables can be set at the very start, OrbotApp.onCreate()
and they will not change during the lifetime of the app, so represent them
as globally accessible static variables.  This is needed for things like
OrbotMainActivity detecting whether the tor daemon is still running, even
though TorService is not.
2015-06-17 12:06:23 -04:00
Hans-Christoph Steiner 943edf094b "Allow Background Starts" prefs also controls the old START_TOR Intent 2015-06-17 11:45:07 -04:00
Hans-Christoph Steiner adf7c09f0e remove delayed handling of Intents in OrbotMainActivity
This is a leftover bit from the old structure, it should no longer be
needed and it causes the status updates to be noticeably delayed so when
OrbotMainActivity is started after being killed, it flashes OFF then ON.
2015-06-17 11:15:31 -04:00
Hans-Christoph Steiner c9e31020e0 prevent a status request from starting TorService
If some internal bit of Orbot is requesting the status of TorService, it
should not cause it to start.  So only request status from TorService if it
is running, otherwise keep status as OFF.

the big imports change is because of the Android auto-formatter
2015-06-17 11:13:35 -04:00
Hans-Christoph Steiner e5c2e1a040 when OrbotMainActivity starts, query TorService for current status
If OrbotMainActivity gets killed while TorService is running, then when
OrbotMainActivity starts again, it needs to get the current status from
TorService to correctly represent things to the user.
2015-06-17 11:00:48 -04:00
Hans-Christoph Steiner f16394b7db include all status messages with "start" in them in the starting sequence
Before, the startup sequence showed "Orbot is starting..." for a long time,
then quickly showed the final tor percentage messages.  This adds a few
more messages to provide useful feedback.
2015-06-12 14:55:17 -04:00
Hans-Christoph Steiner ddaae1d941 drive main screen UI updated entirely from TorService status updates
Now that STATUS_STARTING is sent in TorService.onCreate(), the response
time is snappy enough that we don't need hacks in OrbotMainActivity to
show that long press happened.
2015-06-12 14:54:04 -04:00
Hans-Christoph Steiner 232098eeaf set STATUS_STARTING in TorService.onCreate(), that's where it begins
The very first place that the whole tor start sequence starts is from
TorService's onCreate(), so that is where STATUS_STARTING should be
announced from.  The open question is whether Intents besides ACTION_START
ever cause TorService to start.  In theory, TorService should already be
running when any Intent is sent besides ACTION_START.
2015-06-12 14:49:19 -04:00
Hans-Christoph Steiner 8f57b42e68 rename TorStarter to IncomingIntentRouter, it handles all Intents
TorStarter does lots of things besides starting Tor
2015-06-12 14:46:47 -04:00
Hans-Christoph Steiner ff04bde300 announce Orbot is ON once the first circuit is complete
Before, it was announcing tor was started when it had completed starting
the daemons.  But that does not guarantee that Tor is actually connected
and working.  So instead, this waits for the first circuit to be built,
then announces Tor is ON.
2015-06-12 14:24:57 -04:00
Hans-Christoph Steiner b620f828a1 include dynamic proxy config info in ACTION_STATUS replies
This includes extras in the Intents that are sent as replies to the two
different requests to start tor (ACTION_START and ACTION_START_TOR).  These
extras give all of the current SOCKS and HTTP proxy settings, so that the
app can dynamically use the correct settings.  Sometimes there are port
conflicts, so apps should dynamically adjust in order to reliably find tor.

closes #3612 https://dev.guardianproject.info/issues/3612
refs #4419 https://dev.guardianproject.info/issues/4419
refs #3690 https://dev.guardianproject.info/issues/3690
refs #3687 https://dev.guardianproject.info/issues/3687
refs #3859 https://dev.guardianproject.info/issues/3859
2015-06-11 17:02:56 -04:00
Hans-Christoph Steiner 0937c8838f use constants for setting default ports, and variables when running 2015-06-11 16:32:31 -04:00
Hans-Christoph Steiner 623084548d standardize network port constant variables
use consistent naming and types for code clarity
2015-06-11 16:31:39 -04:00
Hans-Christoph Steiner 775135d07a let the requesting app know that the user has disabled starting via Intent
If an app is using ACTION_START to start Orbot in the background, but the
user had disabled that using the allowBackgroundStarts pref, then the app
will want to know about that so it can fallback on prompting the user to
bring up Orbot itself for the user to manually start it.

refs #3117 https://dev.guardianproject.info/issues/3117
2015-06-10 18:15:29 -04:00
Hans-Christoph Steiner ac8329c7f2 create a new pref: "Allow Background Starts"
This lets the user disable the new ACTION_START Intent, in case they have
more sensitive needs.
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 77b1bdfbc5 on receiving ACTION_START, only send status reply if EXTRA_PACKAGE_NAME set
In order to receive a targeted reply, an app has to send its packageName to
Orbot as an String extra in an ACTION_START Intent.  Also, when Orbot
internally uses ACTION_START, it shouldn't receive replies.
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner f433a5e655 expose start action via a BroadcastReceiver that any app can send to
This allows any app to broadcast an Intent to Orbot in order to make Orbot
start in the background.

closes #3117 https://dev.guardianproject.info/issues/3117
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 13d29878f9 a couple tweaks to make the long press feel more responsive 2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 25a6bb63b2 force all UI status updates through mStatusUpdateHandler
The Handler is a message queue for the main thread, so it should help keep
the UI working while status updates are coming in.

* This removes the constants in TorServiceConstants because the Handler
  messages are only for OrbotMainActivity

* this uses the handy shortcut msg.obj for the status message
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 5c2d4501fa make updateStatus() more closely match the state given from TorService
This aims to make the UI more tighly in sync with the data coming from
TorService.  It is not currently perfect in the UI, but it means that the
UI will represent the status bugs in TorService.  This is important because
that status info is now broadcast to any app that wants it.  So the visible
part of Orbot should show want the apps are seeing to aid debugging.  And
status report bugs should be fixed in TorService so that everyone gets the
correctinfo.
2015-06-09 22:01:53 -04:00
Hans-Christoph Steiner 2f1d52f02d purge unused code from OrbotMainActivity
mItemOnOff no longer exists, there is no more start/stop button on the menu
and this code was trying to update menu.getItem(0), which is currently the
settings button.

onSharedPreferenceChanged() was entirely empty, and the prefs are all
handled in their own Activity
2015-06-09 22:01:53 -04:00
Hans-Christoph Steiner bf3572eb82 use the same action string for local and broadcast status
No need to have separate action strings, using the LocalBroadcastManager
enforces the local-only messaging, and Orbot does not claim the global
broadcasts in any kind of receiver.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 2f7ddc4423 purge unused OrbotLogActivity 2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 90b731cc8d strictly target local broadcasts
This sets an action for each kind of local broadcast, and uses the action
to choose how to handle it.  Before, it was a mix of the action and which
extras the Intent included.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 65d8801005 rename mMessageReceiver to mLocalBroadcastReceiver 2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 21c3bfb3c5 use "SIGNAL HUP" to request Tor re-read its config
The tor daemon supports both "SIGNAL HUP" via its control port or the UNIX
signal `kill -HUP` via the terminal as a way to trigger the tor daemon to
reload its config.  This is needed for new bridges and hidden services. It
is not necessary to restart everything to add those.

https://stem.torproject.org/faq.html#how-do-i-reload-my-torrc
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 6ac9a2cee6 use context.stopService() to shutdown TorService instead of custom message
Since running stopService() automatically triggers Service.onDestroy(),
there is a nice way to hook in and run the shutdown procedure.  This
provides an obvious point of entry as well as simplifying the shutdown
procedure.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner bfb0a80a18 rename mHandler to mStatusUpdateHandler
Hopefully this will make the code a little easier to follow...
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 4d8a9dab27 broadcast Tor state to any app that might want to know
In order for apps to follow the current state of Tor, this broadcasts the
state both locally, since global broadcasts are insecure, and globally, for
any app to receive.  The internal workings of Orbot need to use a local
broadcast, otherwise any app could trigger stop, start, etc or DoS in other
ways.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 3580cbe05d only set mCurrentStatus in sendCallbackStatus(), the one stop shop
Make sendCallbackStatus() the one thing that updates the all of the bits
related to running status.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 780abf003e rework start/stop procedure to have clear points for ON, OFF, STARTING, STOPPING
In order to send reliable information to any app using Tor, Orbot itself
needs reliable state broadcasts.  Before, there the ON/OFF/STARTING state
were being set multiple times during the process, and sometimes not even in
a useful order (i.e. STARTING ON STARTING ON ON).

This reworks the start/stop procedure into startTor() and stopTor().
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 4470771c0d rename startService() to sendIntentToService() to reflect what it does
Even though this method is a wrapper around startService(), it is really
used to send various Intents to the Service, not only starting it.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 82f82e1c10 mark TorService methods from EventHandler as overridden
This keeps me from getting confused...
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 86593df6fb rename status to STARTING and STOPPING since it also starts/stops daemons
The CONNECTING status also is starting up daemons as well as connecting to
the tor daemon.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner cf0adc27d6 on start and tor daemon not running, kill all daemons before starting again
To make sure there are not any other daemons still running when trying to
start the whole thing again, kill all daemons before starting tor afresh.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 2bc85a4a3a rework killing all daemons to continue trying after a failure
Before, it would quit the process on the first exception while killing.
This makes it keep on trying each daemon.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 73658ce3cf use Java methods for setting permissions on native executables
As of android-9, java.io.File has native methods for setting permissions,
inherited from Java 1.6.  Using these will help deal with compatibility
across devices, since some devices might not have chmod installed.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner a3d37e8b2a make prefs called directly when needed instead of requiring refresh
The code was using global variables that were refreshed from the prefs on
certain occasions.  That means that the global vars could easily get out of
sync with the actual values.  Instead, just read the prefs directly when
the values are needed, and they will always be up-to-date.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 6e13a7e369 purge dead and unused code from TorService 2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 12d92f48f5 handle logging native process Exceptions closer to the source
Instead of passing Exceptions through many layers only to log them, just
log them where they are thrown.  Keeps things neater.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner ae83f011b2 purge CMD_INIT/initialize() from TorService, an IntentService doesn't need it
when switching to an IntentService, a new Intent will always start the
Service, and onCreate() can be used to initialize the Service.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner f09379d86c create String constants for Intent actions and extras
Following the Android system naming convention, this uses constants for
the action and extra names for Intents.  This makes it much easier to track
which "log" is which, since there are "log" actions, extras, and messages.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner fd23da5237 purge troublesome half-disabled Wizard, rename menu to "Get Apps..."
When clicking on "Wizard" from the menu, then clicking back, it gets stuck
in a strange back stack purgatory, and then randomly changes the language.
So purge the wizard stuff for now, and add back the parts that are still
needed once that is all figured out.

This also simplifies the refactoring of the Intent handling.
2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner a336a294fb convert status variable to String for easy sharing in Intents
Instead of making the apps who receive the broadcasts decipher a number
scheme, send the string of the status.  Then it'll be self-documenting.
2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner 356e79a163 remove unused IntentFilter from TorService 2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner 6352bd4753 convert app description to XLIFF to make translation management easier 2015-06-09 21:48:54 -04:00
n8fr8 9a786d4aca Merge pull request #10 from eighthave/fix-translations
Fix translations
2015-06-08 21:53:30 -04:00
Hans-Christoph Steiner 96b5d90ed1 remove empty translations 2015-06-08 12:24:21 -04:00
Hans-Christoph Steiner aebf3b0760 fixed directory names for Indonesian and Hebrew
https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language

Note that Java uses several deprecated two-letter codes. The Hebrew ("he")
language code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish
("yi") as "ji". This rewriting happens even if you construct your own
Locale object, not just for instances returned by the various lookup
methods.
2015-06-05 17:44:05 -04:00
Hans-Christoph Steiner 5c7171bc87 add config for transifex-client aka tx 2015-06-05 17:37:07 -04:00
Hans-Christoph Steiner a7211999c9 rename zh to zh_CN following convention 2015-06-05 17:15:38 -04:00
Hans-Christoph Steiner fbf9932be3 rework setting locale from pref to have a lighter touch and be dynamic
This leaves the default Locale unchanged, i.e. Locale.setDefault().  This
also will immediately change the language after the user selects it in the
pref.
2015-06-05 17:09:10 -04:00
Hans-Christoph Steiner 807b51fb43 include proxy config info when returning from START_TOR Intent
The recommended way to send a START_TOR Intent is using
startActivityWithResult() so that the sender knows when Tor is actually
started.  The return includes an Intent that can also include the config
info for the proxies that Orbot runs.  Right now, this is based on the
app defaults, but ultimately, it should dynamically get the port numbers
for cases like Samsung devices where there is a port conflict.
2015-06-05 15:24:23 -04:00
Hans-Christoph Steiner d43a6cd2b2 switch language/locale preference to use Languages utility class
The Languages utility class merges the techniques from ChatSecure and
Courier.  It fetches the supported locales from the APK itself, and fetches
the native names of the languages from the system.
2015-06-05 15:19:57 -04:00
Hans-Christoph Steiner fba09263b4 update SettingsActivity to use simpler findPreferences() method 2015-06-05 15:16:08 -04:00
Hans-Christoph Steiner 237366cd27 no need to override methods with nothing 2015-06-05 15:14:40 -04:00
Hans-Christoph Steiner d85a2e87c9 remove global NumberFormat for more flexible Locale handling 2015-06-05 13:11:00 -04:00
n8fr8 541410447d Merge pull request #9 from eighthave/reboot-and-reproducible
Reboot and reproducible
2015-06-05 10:24:13 -04:00
Hans-Christoph Steiner 2372b186c6 add script to compare APKs for the reproducible process 2015-06-04 17:58:53 -04:00
Hans-Christoph Steiner cd48dd2774 ignore build products in the submodules (ignore = dirty) 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 6989f9b2b0 add standard ./make-release-build script 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 6775f86b65 add custom ant rules for automating the release process 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner e66b5a039e ignore all build products from submodules 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 2f1ad74538 put up error notification if Orbot cannot kill a process
There are a couple of different times when Orbot will be unable to kill the
running processes.  One example is when Orbot is running, then uninstalled,
then installed again.

closes #5254 https://dev.guardianproject.info/issues/5254
2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 81cf67f955 remove unused icons to save space
These are all reported by `ant debug lint` as unused.
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 7787a3f427 run ./fix-translations 2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner d55c7b7eaf ./fix-translations script to fix common problems in the strings.xml 2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 333343fd3d remove Firefox ProxyMob recommendation, ProxyMob is no longer supported
This removes the translations after the originals were removed in
0e6ba61ac0
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner e58a15ebd7 Promo Apps: choose "all apps" URL based on which app store is installed
Since most people using devices without Google Play will be in China, where
Google is generally blocked, instead direct people to f-droid.org unless
they have Google Play installed.
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 545afe7f6d Promo Apps: use Play or FDroid links, fallback to https://f-droid.org
This automatically detects whether Google Play or FDroid is installed, if
so, clicking the promo app button will take the user straight to the
install page.  If neither is installed, then the user is taken to the page
for that app on https://f-droid.org
2015-06-04 13:32:58 -04:00
Hans-Christoph Steiner 0e6ba61ac0 remove Firefox ProxyMob recommendation, ProxyMob is no longer supported 2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner cf43fa247d switch to standard NDK env var: ANDROID_NDK_HOME
ANDROID_NDK_HOME is hardcoded in gradle as the name of the env var:
https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/internal/Sdk.groovy
2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner 663cade62d ./jenkins-build script for standard Guardian Project Jenkins build 2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner 3c26f67392 update ant setup script to get all settings from their original sources
* target comes from project.properties

*
2015-06-04 13:32:25 -04:00
Nathan Freitas 77d1b82411 adding patch for iptables building on x86 2015-05-13 12:17:54 -04:00
Nathan Freitas 20bf4c7ec6 update Makefile 2015-05-13 11:55:41 -04:00
Nathan Freitas e3244a7f1e update translations 2015-05-13 11:55:34 -04:00
Nathan Freitas 8479a9940c 15.0.1-alpha-1 2015-05-12 02:27:43 -04:00
Nathan Freitas d6ff4131db update Makefile with a few tweaks 2015-05-12 02:27:07 -04:00
Nathan Freitas 2f8c130f02 update to 15.0.1-beta-1 and update openssl to 1.0.2a 2015-05-12 00:38:24 -04:00
Nathan Freitas d6bfed06a9 update for 15.0.1 2015-05-11 22:09:44 -04:00
Nathan Freitas 3a3f701441 Merge branch 'aelmahmoudy-build_system' 2015-05-11 15:46:51 -04:00
Nathan Freitas 4163fc14d7 Merge branch 'build_system' of https://github.com/aelmahmoudy/orbot into aelmahmoudy-build_system 2015-05-11 15:44:29 -04:00
Nathan Freitas fa533e9d52 fix handle intent for hidden service API request 2015-05-11 15:41:43 -04:00
أحمد المحمودي (Ahmed El-Mahmoudy) d5e937d2a0 Fix build for mips* archs.
OpenSSL's 'make depend' fails if _MIPS_SZLONG is not set
2015-04-29 22:57:13 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) 8d7c32c84b Update OpenSSL to 1.0.2a
Also, disable rc4 cipher for 64-bit archs, to avoid this link error for
tor:
external/lib/libcrypto.a(e_rc4_hmac_md5.o):e_rc4_hmac_md5.c:function rc4_hmac_md5_cipher: error: undefined reference to 'rc4_md5_enc'
2015-04-29 17:48:28 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) 81a945e632 Patch libevent to compile for 64-bit archs. 2015-04-29 15:29:28 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) ebe85e55bc Add iptables-clean prerequisite to clean target 2015-04-29 15:25:49 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) adb9a19367 Add support for variable arch builds to support mips & 64-bit archs 2015-04-29 15:25:49 +02:00
Nathan Freitas 84c6645220 fixing flag typo 2015-04-15 10:15:38 -04:00
Nathan Freitas dbe3024dfc fix PIE_FLAGS variable to allow for override
also, standardize use of STRIP command
2015-04-15 09:58:02 -04:00
Nathan Freitas 1bc427b50e handle NPE on number format instance 2015-04-13 10:25:58 -04:00
Nathan Freitas ec24428915 fix NPE crash if VPN prepare Intent is null on boot 2015-04-13 10:24:03 -04:00
Nathan Freitas ddecd0ce82 update changelog for v15 rc 3 2015-04-13 08:37:28 -04:00
Nathan Freitas b941a1c7d5 show warning about bridge limits on Intel x86/ATOM devices 2015-04-13 08:36:01 -04:00
Nathan Freitas 325ca1f809 only ARM chips can support the new Obfs4, Meek bridges
so hide the UI options that promote them, and just request
standard bridges
2015-04-12 22:56:16 -04:00
Nathan Freitas 8cbdf18733 update to v15 RC3 2015-04-11 21:20:52 -04:00
Nathan Freitas 3c6f173ede make buttons not resize weirdly with long strings 2015-04-11 21:19:42 -04:00
Nathan Freitas 421764bf33 make socksbypass local port random 2015-04-11 21:16:56 -04:00
Nathan Freitas 4ab1854848 update resource installer to handle different architecture 2015-04-11 21:16:41 -04:00
Nathan Freitas e7a7d8c7cd support variable arch builds to support x86
move asset builds to /assets folder
2015-04-11 21:16:20 -04:00
Nathan Freitas 74deb39c29 support building tun2socks for x86 2015-04-11 21:16:03 -04:00
Nathan Freitas 933b2e9b4e Small VPN and socket monitoring related fixes 2015-04-10 22:29:13 -04:00
Nathan Freitas 1feda73e3f update changelog 2015-04-09 13:16:14 -04:00
Nathan Freitas 60f19ca28f 15.0.0-RC-2 2015-04-09 13:15:31 -04:00
Nathan Freitas d6c51bcc3c Fixes for bridge setup, and root/shell interaction
- If you paste bridge addresses from Gmail, you get some strange
characters that were causing problems. This looks for that, and
other formatting related gotchas.
- This also moves all configuratino to the torrc.custom file
instead of using the control port. These changes require you to
restart anyhow, and using the torrc.custom is more reliable as it
affects the tor process on launch, and not post control port interaction.
2015-04-09 13:04:28 -04:00
Nathan Freitas c39cdcba60 improve root access check for transproxy 2015-04-09 09:14:12 -04:00
Nathan Freitas 7d8eea24b1 switch back to DNS on 10.0.0.1, update after VPN refresh 2015-04-09 09:10:14 -04:00
Nathan Freitas 690a8c3b69 Improved handling of VPN and Tun2Socks on Network Switch 2015-04-09 08:52:59 -04:00
Nathan Freitas 9974654c08 fix for setting root and transproxy preferences 2015-04-09 01:28:38 -04:00
Nathan Freitas 23a28f5a6f update changelog 2015-04-08 17:03:24 -04:00
Nathan Freitas 280f69dfa1 update to 15.0.0-RC-1 2015-04-08 17:02:16 -04:00
Nathan Freitas 776b7af679 use loopback address 2015-04-08 17:01:26 -04:00
Nathan Freitas e6fe25267f auto-restart Tor when config changes 2015-04-08 17:01:09 -04:00
Nathan Freitas 384fe1c21e fix handling of network connectivity state management 2015-04-08 16:46:40 -04:00
Nathan Freitas 02a42e425e update translated strings 2015-04-08 16:33:48 -04:00
Nathan Freitas 628c9d8d6c update tor to 0.2.6.7 2015-04-06 14:05:32 -04:00
Nathan Freitas 906ec7f3a6 v15-beta-2 small fixes for VPN 2015-04-04 00:37:47 -04:00
Nathan Freitas d6eb1dca57 fixes for network switching with VPN enabled 2015-04-04 00:36:24 -04:00
Nathan Freitas f37b935529 modifications to bridge setup strings 2015-04-03 22:37:26 -04:00
Nathan Freitas 1c26ccd694 tag to head 2015-04-03 13:16:59 -04:00
Nathan Freitas 627b04807b update CHANGELOG for v15 beta 1 2015-04-03 13:02:57 -04:00
Nathan Freitas 989d43aca7 v15.0.0 beta 1 2015-04-03 13:02:00 -04:00
Nathan Freitas 6fd6a5a859 tune first-time experience (No more wizard!) 2015-04-03 13:01:29 -04:00
Nathan Freitas b318e6bb69 update tun2socks binaries 2015-04-03 13:01:21 -04:00
Nathan Freitas cd303bd48a commit to latest dev head 2015-04-03 13:01:11 -04:00
Nathan Freitas a2e84b8ea0 fix JNI build info 2015-04-03 12:59:07 -04:00
Nathan Freitas 398ff17e19 remove browser view handlers in manifest 2015-04-03 12:28:59 -04:00
Nathan Freitas 75426bb9e2 Improve VPN service support - fix network switching handling
We now refresh the VPN and tun2socks interfaces when the network
type switches, and we do so in a way that does not cause traffic to leak.
The new interface is established before we close the old one.
2015-04-03 12:27:59 -04:00
Nathan Freitas d14dabb4f3 update tun2socks shared libraries 2015-04-03 12:27:40 -04:00
Nathan Freitas 6d15a46535 update jni build documents 2015-04-03 12:27:28 -04:00
Nathan Freitas ab8f8f12f9 update build path for tun2socks 2015-04-03 12:23:34 -04:00
Nathan Freitas 7774ca3b24 remove old embedded badvpn_dns 2015-04-03 12:22:54 -04:00
Nathan Freitas 2724551cb1 tag badvpn to latest 2015-04-03 12:22:39 -04:00
Nathan Freitas 39ce7f1b22 improved clean-up, shutdown of Tun2Socks and VPN service 2015-04-03 00:20:30 -04:00
Nathan Freitas b1d46e2291 use getbridge email instead of web, as it makes more sense
for users in censored/filtered locations to send an email than to
access *.torproject.org through their browser. Also, even if they
can connect, the browser UI is not great.
2015-04-02 23:37:43 -04:00
Nathan Freitas 9d83a5bb44 update app vpn warning 2015-04-02 23:37:35 -04:00
Nathan Freitas 26aeb67646 updating string resources / localizations 2015-04-02 23:24:23 -04:00
Nathan Freitas 7dd494932d update jsocks with reduced debug output 2015-04-02 23:17:33 -04:00
Nathan Freitas 84932594ce new helper activities for Apps and Bridge setup 2015-04-02 23:11:23 -04:00
Nathan Freitas 150488dd9c fixes for onboot logic and handling 2015-04-02 23:11:04 -04:00
Nathan Freitas 8c5b38eeea more UI clean-up, removing old wizard code 2015-03-28 00:55:28 -04:00
Nathan Freitas 7b830a0df4 remove HTTP proxy for VPN - not needed anymore! 2015-03-28 00:41:06 -04:00
Nathan Freitas 6a7c593353 a little bit of code re-org and new package for wizard 2015-03-28 00:39:58 -04:00
Nathan Freitas 1a66924c39 update ant build for new external jsocks 2015-03-28 00:23:41 -04:00
Nathan Freitas 93939285be add jsocks external modules and project 2015-03-28 00:19:01 -04:00
Nathan Freitas e30c78bd05 remove jsocks from main code and move to external/jsocks 2015-03-28 00:18:28 -04:00
Nathan Freitas 784c1c13d4 peg external to jsocks commit 2015-03-28 00:18:13 -04:00
Nathan Freitas cb7b2716e9 remove maxSDK setting 2015-03-27 23:37:06 -04:00
Nathan Freitas 73dd6302f2 update changelog for v15 alpha 5 2015-03-19 10:53:41 -04:00
Nathan Freitas b7aa69c9c0 update to 15.0.0-alpha-5 2015-03-19 10:51:34 -04:00
Nathan Freitas 2d5ee42894 calling stop() makes tun2socks crash since VPN is still enabled 2015-03-19 10:28:49 -04:00
Nathan Freitas cae2c7c157 don't add new task flag - will start on boot automatically 2015-03-19 10:28:37 -04:00
Nathan Freitas 5bd55f9152 re-add accidentally removed manifest entries! 2015-03-19 09:56:15 -04:00
Nathan Freitas 33acf24757 use LOLLIPOP constant instead of L 2015-03-19 09:14:02 -04:00
Nathan Freitas a226f13374 include res/raw in allowed git paths 2015-03-19 09:13:04 -04:00
Nathan Freitas 0bf26b296a add PT builds based on external/pluto golang build system
this will be added into the Makefile but it isn't there yet
and our build server doesn't have the golang support on it yet
2015-03-19 09:12:33 -04:00
Nathan Freitas 05f14ed420 make sure libs directory exists 2015-03-19 08:50:55 -04:00
Nathan Freitas 3286bb7701 add libs and vpn libraries (binaries for now...)
.so's can be built form external/badvpn source project, but we haven't integrated them in Makefile yet
2015-03-19 08:48:59 -04:00
Nathan Freitas 736e32e221 udpate proguard config 2015-03-18 22:00:56 -04:00
Nathan Freitas ebb5750a57 remove dependencies no longer needed 2015-03-18 22:00:44 -04:00
Nathan Freitas 5e8272dcc8 revert to old logic for opening/showing browser 2015-03-18 22:00:27 -04:00
Nathan Freitas 491822147e remove orweb dependecy for now - don't want to build in webkit yet 2015-03-18 22:00:07 -04:00
Nathan Freitas 7557ad5d71 update external dependencies, add patch for tor build 2015-03-18 21:20:39 -04:00
Nathan Freitas 84e97e6c71 update Makefile for building tor 0.2.6.4 with patch for Android 2015-03-18 21:20:20 -04:00
Nathan Freitas 3a1c603e5d remove ABS dependency (no longer used) 2015-03-18 21:20:03 -04:00
Nathan Freitas 6d05e27793 Improve Bridge and VPN support, working in tandem
You can use Bridges with VPN "App Mode" proxying
On Pre-Lollipop this uses a local loop back SOCKS server to flag outbound sockets as not for the VPN network
On Lollipop+ this uses the "disallow app" feature to set anything in the Orbot process to not be sent through the VPN
2015-03-17 13:04:20 -04:00
Nathan Freitas 3e2b8cff1e remove proxy prefs, parse bridge URLs, and format strings!
- shouldn't set proxy prefs for Orweb as it conflicts with Orbot's own pref keys
- improve parsing of incoming bridge URLs, as they may not have protocol component in URI
- format strings of up/down values better
2015-03-17 13:03:16 -04:00
Nathan Freitas 56df927fb5 remove liballium and obfsclient dependencies
We are switching to Go-based Meek and Obfs4 PT's
2015-03-17 13:02:12 -04:00
Nathan Freitas 16982ebb81 remove liballium and obfsclient (replaced by obfs4 from 'pluto') 2015-03-16 22:50:33 -04:00
Nathan Freitas b278b66b62 switch obfsclient to obfs4 proxy
includes supporting SOCKS outbound proxy for VPN mode
2015-03-09 15:53:02 -04:00
Nathan Freitas 0f0a36883d update changelog for v15 alpha work 2015-02-23 13:06:09 -05:00
Nathan Freitas 28d32bce32 v15 alpha 4 2015-02-23 13:02:08 -05:00
Nathan Freitas fb9a6c9994 support for sharing/display bridge config as QR code
this is needed for sharing of bridge data between people in the
same physical space, or by easily sharing it through chat or other
private messaging system
2015-02-23 13:00:46 -05:00
Nathan Freitas 759966aa13 remove unused activity from old wizard 2015-02-23 12:30:25 -05:00
Nathan Freitas 068cd05836 more bridge and proxy configuration clean up 2015-02-23 12:30:13 -05:00
Nathan Freitas f2490d9032 handle all exceptions in socks proxy 2015-02-23 12:29:55 -05:00
Nathan Freitas dd09c6b19a tuning boot code to work with VPN 2015-02-23 12:29:36 -05:00
Nathan Freitas b2ec768d8d more work to get bridge VPN mode to work 2015-02-23 12:29:21 -05:00
Nathan Freitas 0fc3805997 update new colors 2015-02-23 12:28:52 -05:00
Nathan Freitas 035ab8e895 add more strings for translation 2015-02-23 12:28:43 -05:00
Nathan Freitas 09fc813ce9 update base torrc 2015-02-23 12:28:31 -05:00
Nathan Freitas 2c3b47eb16 look and feel updates 2015-02-23 12:28:11 -05:00
Nathan Freitas 31053adf67 add support for scanning QR codes for bridges 2015-02-23 12:27:49 -05:00
Nathan Freitas a6245037b4 remove unneeded wizard classes 2015-02-15 01:22:38 -05:00
Nathan Freitas 70d6203fdb layout changes for a modern, cleaner (purple!) look 2015-02-15 01:22:15 -05:00
Nathan Freitas f22978e53c update pluto 2015-02-14 02:40:44 -05:00
Nathan Freitas 9c77526f22 move HTTP VPN bypass proxy to 9998 2015-02-14 02:30:14 -05:00
Nathan Freitas a1ba41ce0b add a bridge toggle button 2015-02-14 02:30:02 -05:00
Nathan Freitas ee82b5afb1 update version for alpha 2015-02-14 01:55:11 -05:00
Nathan Freitas 096eae705b implementing http server for meek-client VPN bypass 2015-02-14 01:54:56 -05:00
Nathan Freitas bff6d0f567 add support for meek PT 2015-02-14 00:44:09 -05:00
Nathan Freitas 1e5651eec3 improve VPN clean-up code 2015-02-14 00:44:02 -05:00
Nathan Freitas a2662c325d improve VPN activation 2015-02-14 00:43:36 -05:00
Nathan Freitas b1294f6d60 improve start on boot 2015-02-14 00:43:13 -05:00
Nathan Freitas 266c29701d update to latest pluto for meek-client 2015-02-14 00:42:51 -05:00
Nathan Freitas 22e75a3825 update pluto to latest 2015-02-05 10:53:55 -05:00
Nathan Freitas 431dff53a4 remove integrated pluto code 2015-02-05 10:53:21 -05:00
Nathan Freitas 70643fc29a ignore more things 2015-02-05 09:44:45 -05:00
Nathan Freitas 33a5962fe6 add pluto for PT integration 2015-02-05 09:42:52 -05:00
Nathan Freitas 5a8aa888b1 add new gitmodules for orweb and pluto support 2015-02-05 09:42:39 -05:00
Nathan Freitas 40b8f48c66 set to lib_orweb branch 2015-02-05 09:42:30 -05:00
Nathan Freitas c220ec9183 re-enable DNS settings after you start Tor 2015-02-04 22:02:32 -05:00
Nathan Freitas 44efced5d4 update build files (tmp fix for now) 2015-02-04 16:54:18 -05:00
Nathan Freitas 6546040921 v15 alpha 2 2015-02-04 16:54:14 -05:00
Nathan Freitas 50519d8a0b ensure x86_64 case of NDK is supported 2015-02-04 16:29:03 -05:00
Nathan Freitas a41367cf50 remove unneeded README 2015-02-04 16:28:56 -05:00
Nathan Freitas 9b4ef18b13 fix NPE for when mHandler is null 2015-02-04 16:28:40 -05:00
Nathan Freitas 6832363905 use IP instead of "localhost" name 2015-02-04 16:28:25 -05:00
Nathan Freitas 7f42265158 launch the internal or system browser depending upon VPN mode 2015-02-04 16:07:45 -05:00
Nathan Freitas 1852cde041 enable local DNS listen on 10.0.0.1 for VPN service
also add support for stopping VPNBuilder instance
2015-02-04 14:55:57 -05:00
Nathan Freitas ec4350ee40 update VPN to toggle button 2015-02-04 14:55:42 -05:00
Nathan Freitas 17f2a0bdac remove unused alt manifests 2015-02-04 12:37:04 -05:00
Nathan Freitas 9467d7db27 clean VPN proxy settings before startup 2015-02-04 12:36:42 -05:00
Nathan Freitas 5cb6cb930d add back in log output temporarily in sidebar 2015-02-04 12:36:24 -05:00
Nathan Freitas 8dc2748520 remove unneeded alt manifests, fix bug in main manifest 2015-02-04 11:57:07 -05:00
Nathan Freitas 08c220f88e clean up VPNBuilder setup code 2015-02-04 11:55:36 -05:00
Nathan Freitas 91a72ef5d1 add in basic debug output 2015-02-04 11:55:23 -05:00
Nathan Freitas fb3e27bdcf more clean-up of VPN service code 2015-02-02 16:21:04 -05:00
Nathan Freitas 5131c62c3e add toolbar and drawer handlers back in 2015-02-02 16:20:46 -05:00
Nathan Freitas 4c49822861 clarify vpnprotect code and add basic debug log 2015-02-02 16:20:26 -05:00
Nathan Freitas ede4128777 remove unused 2015-02-02 16:20:09 -05:00
Nathan Freitas 46aa51f4f8 make browser and VPN buttons enabed by default 2015-02-02 16:19:12 -05:00
Nathan Freitas d6d3c5dd79 return app name to Orbot 2015-02-02 16:19:05 -05:00
Nathan Freitas d6ea648665 update permissions 2015-02-02 16:18:50 -05:00
Nathan Freitas d63d10d8ae massive cleanup of merged code from Ony fork
removal/comment out of LoggerFactory log system
2015-02-02 14:01:08 -05:00
Nathan Freitas a78e458a43 Merge branch 'ony-dev' into v15-dev 2015-02-02 13:43:54 -05:00
Nathan Freitas 5c80572264 Merge branch 'master' of https://github.com/SuppSandroB/Ony into ony-dev
Conflicts:
	AndroidManifest.xml
	jni/Android.mk
	res/menu/main.xml
	src/org/torproject/android/OrbotMainActivity.java
	src/org/torproject/android/service/TorService.java
	src/org/torproject/android/ui/TipsAndTricks.java
	src/org/torproject/android/vpn/OrbotVpnService.java
	src/org/torproject/android/wizard/ConfigureTransProxy.java
	src/org/torproject/android/wizard/Permissions.java
2015-02-02 13:42:56 -05:00
Nathan Freitas 48f40b3494 update resources for new design 2015-02-02 11:26:43 -05:00
Nathan Freitas 7c303f1589 refactoring into cleaner packages 2015-02-02 11:04:32 -05:00
Nathan Freitas ee1d54826b clean up of manifest for unused functions 2015-02-01 23:36:46 -05:00
Nathan Freitas c1fe536aeb add button handle logic 2015-02-01 23:36:19 -05:00
Nathan Freitas 753e21f367 update makefile for badvpn tun2socks 2015-02-01 23:36:07 -05:00
Nathan Freitas cf50ec1433 more tweaks to new layout 2015-02-01 23:35:57 -05:00
Nathan Freitas 6a83a0d2f6 update project and layout for v15 merged browser + VPN 2015-02-01 12:49:10 -05:00
SandroB 1464901fe3 added badvpn as local folder 2015-01-25 12:08:34 +01:00
SandroB 72a017369b delete as it should not be as subproject 2015-01-25 12:06:02 +01:00
SandroB 90db557cec clone of badvpn for dns fix 2015-01-25 12:01:00 +01:00
SandroB 1472b4e35d some missing files added to git repo 2015-01-25 11:42:15 +01:00
SandroB 21b75b4c56 vpn changes 2015-01-20 15:47:24 +01:00
Nathan Freitas 09bdd8fd29 renable the network state receiver code 2014-12-03 09:36:35 -05:00
Nathan Freitas 2f899cb680 the lead developer appears! 2014-12-03 09:36:00 -05:00
Nathan Freitas 7ee0622a5e Revert "Deleted unnecessary files."
This reverts commit c013c071eb.
2014-12-01 11:04:56 -05:00
Nathan Freitas 84d7f4978b updating primary manifest for Lollipop 2014-12-01 11:04:31 -05:00
Nathan Freitas 6feb32cfa9 re-enable network receiver 2014-12-01 11:03:56 -05:00
Nathan Freitas b34d971193 update for 14.1.4 2014-11-29 15:06:18 -05:00
Nathan Freitas b7fcbdc4e8 update all the manifests! 2014-11-29 00:54:33 -05:00
Nathan Freitas 68c123749e add dummy activity 2014-11-29 00:45:29 -05:00
Nathan Freitas 917cfa1932 support SDK 16, add custom theme, make Orbot singleTop activity 2014-11-29 00:44:52 -05:00
Nathan Freitas 32119c428c ignore a few more things 2014-11-29 00:44:37 -05:00
Nathan Freitas 91f4fa0e16 cleanup landscape layout 2014-11-29 00:43:18 -05:00
Nathan Freitas ad7d92fb4a clean-up / remove un-used code 2014-11-29 00:43:01 -05:00
Nathan Freitas 2d6c26a999 show exit node info in log 2014-11-29 00:42:51 -05:00
Nathan Freitas 23bc4208d0 remove unused jar depends (from old jsocks code) 2014-11-28 23:57:03 -05:00
Nathan Freitas ec9204a5f3 clean-up of code to make service more long-lived and stable 2014-11-28 23:54:04 -05:00
Nathan Freitas 695b5c32f1 removing jsocks proxy code (for VPN not needed anymore) 2014-11-28 23:53:19 -05:00
Nathan Freitas d5823e3059 updates to layout to make it cleaner 2014-11-28 23:52:57 -05:00
Nathan Freitas da4866c648 update polipo to latest head 2014-11-26 21:32:37 -05:00
Nathan Freitas ce580b1a4b update lollipop manifest 2014-11-24 23:13:14 -05:00
Nathan Freitas 1e0f640a20 adding dummyactivity to stop task/broadcast from killing foreground service 2014-11-24 23:12:53 -05:00
Nathan Freitas 88873193c2 update changelog for 14.1.3 2014-11-24 13:23:29 -05:00
Nathan Freitas c1f3e64b6b update version specific manifests 2014-11-24 13:21:31 -05:00
Nathan Freitas 87d5ac9c44 changes to improve longevity of background service/Tor process 2014-11-24 13:11:38 -05:00
Nathan Freitas 611558218d onResume() must finish before we call some APIs 2014-11-24 13:11:14 -05:00
Nathan Freitas 406d83cb50 add layout tweaks for v21 2014-11-24 13:10:56 -05:00
Nathan Freitas cf21809052 improves in start/stop logic for background service 2014-11-17 23:28:33 -05:00
Nathan Freitas e3b9dae1c5 update changelog for 14.1.1 2014-11-17 16:49:12 -05:00
Nathan Freitas ec1c92f519 updated version for lollipop 2014-11-17 16:17:22 -05:00
Nathan Freitas e389d007c3 remove unneeded imports 2014-11-17 16:06:37 -05:00
Nathan Freitas f4e7129304 update to SDK 21 2014-11-17 16:04:08 -05:00
Nathan Freitas f994c63423 add targeted manifests 2014-11-17 15:03:23 -05:00
Nathan Freitas d70a36f64d Merge branch 'build_nonPIE'
Conflicts:
	AndroidManifest.xml
2014-11-17 14:12:13 -05:00
Nathan Freitas 16d87310a3 make sure polipo is really cleaned; add only PIE flags for polipo 2014-11-17 14:11:17 -05:00
Nathan Freitas 4df4586476 update to 14.1.1
- also add new support onboot events
2014-11-17 14:10:55 -05:00
Nathan Freitas a7f458758f version build to ensure nonPIE binaries are installed 2014-11-17 14:10:33 -05:00
Nathan Freitas f180f13d80 add support for other onboot events, including external storage mount
also version up to ensure install for PIE fix
2014-11-17 14:10:12 -05:00
Nathan Freitas dbd4efe86b set values for nonPIE build 2014-11-17 11:59:49 -05:00
Nathan Freitas ba2619804c putting torrc back in 2014-11-17 11:59:16 -05:00
Nathan Freitas 4fa49b3cc7 update to target 21 2014-11-14 12:48:50 -05:00
Nathan Freitas 9d841857df setting target to 21 to fix build 2014-11-14 12:48:31 -05:00
Nathan Freitas 4559d61f8a manifest for non-PIE build 2014-11-14 11:25:18 -05:00
Nathan Freitas c9adcfb797 update CHANGELOG for 14.1 2014-11-13 13:50:54 -05:00
Nathan Freitas 5917e63693 updates for Android L and PIE binary support 2014-11-13 13:42:14 -05:00
Nathan Freitas ff8677496e let's not build vpn support for now 2014-11-13 13:41:53 -05:00
Nathan Freitas 5f495973ea updates to appcompat v12 for Android L 2014-11-13 13:40:59 -05:00
Nathan Freitas 3ef94e009c more fixes for VPN but not quite ready yet 2014-11-13 13:40:50 -05:00
Nathan Freitas 7f50f79b0e update Makefile to support PIE arguments
make PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL="16"
2014-11-06 14:05:19 -05:00
Nathan Freitas aeb15e8396 add sl4j jar dependecies for socks proxying 2014-10-28 01:06:01 -04:00
Nathan Freitas 97ca6fbd05 set MTU back to 1500 default 2014-10-28 01:05:53 -04:00
Nathan Freitas 284a5398b4 update badvpn commit 2014-10-25 20:33:48 -04:00
Nathan Freitas 1b44dcbbe0 remove unused routes 2014-10-25 08:47:18 -04:00
Nathan Freitas 6a53ddbdcd adding in new jni build files 2014-10-25 08:47:04 -04:00
Nathan Freitas a964bef825 moves VPN service to background Service so it doesn't die
(and other important fixes)
2014-10-24 15:44:17 -04:00
Nathan Freitas cd22a68615 update to 15.0.0-ALPHA-1 2014-10-24 01:17:01 -04:00
Nathan Freitas 6b1a78fda1 update commit pegs 2014-10-24 01:15:29 -04:00
Nathan Freitas 9f311a2d89 update service config to run in same process, and not use largeheap 2014-10-24 01:15:14 -04:00
Nathan Freitas 2d98a29d82 temporarily use udpgw-client to make DNS and UDP tunneling to work 2014-10-24 01:14:54 -04:00
Nathan Freitas f9e340b465 goodbye AIDL file... no longer using bound services 2014-10-24 01:14:39 -04:00
Nathan Freitas c9bb1c2890 remove bind service and use localbroadcast instead
this should fix problems with the service being killed on unbind
2014-10-24 01:14:02 -04:00
Nathan Freitas f6ad0fff3d initial modifications for PIE support 2014-10-24 01:13:31 -04:00
Nathan Freitas 6877aaf2e1 update to gp fork of badvpn 2014-10-21 12:44:05 -04:00
Nathan Freitas e45991899a first commit of new OrbotVPN integration into Orbot 2014-10-21 12:30:13 -04:00
Nathan Freitas dbbd8292c2 Merge branch 'master' of https://github.com/freckles-the-pirate/orbot into freckles-the-pirate-master 2014-09-30 23:34:08 -04:00
n8fr8 3c4642cc82 Merge pull request #7 from SecUpwN/master
Fixed annoying typo
2014-09-25 10:47:38 -04:00
SecUpwN cdae262a2b Fixed annoying typo 2014-09-24 07:24:30 +00:00
Nathan Freitas 939df61cef update changelog 2014-09-14 21:09:54 -04:00
Nathan Freitas 2bcb1ee5fb removing binaries from source repo 2014-09-14 21:08:40 -04:00
Nathan Freitas 5af082e9fe update to 14.0.8.1 2014-09-14 16:19:20 -04:00
Nathan Freitas a64e6b164f update Orbot about dialog display to show tor version 2014-09-14 16:19:04 -04:00
Nathan Freitas 93614ddd61 update english versions strings 2014-09-14 16:15:55 -04:00
Nathan Freitas ef98429068 update tor binary constant to force on device upgrade 2014-09-14 16:11:53 -04:00
Nathan Freitas a3dc39d41b updating binaries 2014-09-14 16:10:27 -04:00
Nathan Freitas 08317a94d7 fixes for transproxy/iptables rules
- not all rules were not being cleared in flush
- per-app transproxy now still transproxies DNS for full device (not all DNS is done under the app UID)
- root shell now created only once and shared across calls
2014-09-14 16:07:18 -04:00
Nathan Freitas ee10ac0f07 update to Tor 0.2.5.7-rc 2014-09-14 16:06:47 -04:00
Nathan Freitas 826b629cad update changelog 2014-09-07 09:41:38 -04:00
Nathan Freitas b35a239e44 ensure all iptables rules are always wiped
and reapply rules settings if modifed after settings menu accessed
2014-09-07 09:34:48 -04:00
Nathan Freitas 3d67ce58bb update to 14.0.8 2014-09-06 01:03:04 -04:00
Nathan Freitas 313c92f863 add warning about restarting Orbot after settings changes 2014-09-06 01:02:38 -04:00
Nathan Freitas 8ee5e9e0fb more tuning of Tor service startup and status checking 2014-09-06 00:46:57 -04:00
Jordan 37c831975d Add drawables
.
2014-09-05 18:14:09 -07:00
Nathan Freitas 9c4c3496f1 fix for reconnecting to exiting Tor process after service restart 2014-09-03 22:45:31 -04:00
Jordan 1229da66cb Merge branch 'master' of https://git.torproject.org/orbot 2014-09-01 19:27:17 -07:00
Nathan Freitas a0b32ba068 don't manually call onDestroy, just call finish() 2014-08-29 00:16:31 -04:00
Nathan Freitas d1b08ee4e8 update to 14.0.7.3 2014-08-28 23:24:38 -04:00
Nathan Freitas b8912adbfb improve error handling of tor startup sequence
don't use executor thread pool for time critical commands
2014-08-28 23:23:55 -04:00
Nathan Freitas c98509d8e6 remove duplicate service start/bind code in onResume()
also disable startup button if service is null
2014-08-28 23:22:45 -04:00
Nathan Freitas 9879b53932 update change log 2014-08-26 23:15:27 -04:00
Nathan Freitas d2c71d7268 update to 14.0.7.2 2014-08-26 23:14:17 -04:00
Nathan Freitas 6e6546972a ensure settings are updated and binary paths are on service restart 2014-08-26 23:01:46 -04:00
Nathan Freitas af433d37ba remove unused variables/patterns 2014-08-26 22:43:58 -04:00
Nathan Freitas b76be6dee0 disable stdout log by default and enable daemon mode 2014-08-26 22:43:09 -04:00
Nathan Freitas dafd295b97 simplify process reconnect and transproxy setup
- on reconnect to service, don't require call to getInfo before STATUS_ON is set
- transproxy should always delete/flush before adding in order to make sure old rules are cleared
2014-08-26 22:41:20 -04:00
Nathan Freitas 390b89ed57 remove debug file logging for now until we can improve it 2014-08-22 11:10:47 -04:00
Nathan Freitas e53e03a727 tuning Orbot app conflict checker code 2014-08-22 11:09:11 -04:00
Nathan Freitas c2672cc95f update to 14.0.7.1 2014-08-21 12:01:58 -04:00
Nathan Freitas eaccf77116 don't call handle intents twice! 2014-08-21 10:10:14 -04:00
Nathan Freitas 24a3db8873 update to 14.0.7 2014-08-21 09:48:44 -04:00
Nathan Freitas add04f238d exit menu option should be a menu 2014-08-21 09:48:06 -04:00
Nathan Freitas 186e74b5dc add new transproxy flush pref and strings 2014-08-21 09:47:51 -04:00
Nathan Freitas c78a8225d6 add transproxy flush option to settings 2014-08-21 09:47:33 -04:00
Nathan Freitas 68495c3118 make delete iptables rules process match add for specific behavior
no more drop all output tables, etc
2014-08-21 09:47:01 -04:00
Nathan Freitas 25bc4c0a6f add new flush transproxy interface method 2014-08-21 09:46:36 -04:00
Nathan Freitas 79a32e69c8 make sure control connection is not null on rebind
- also tune app conflict checker code for Samsung Link
2014-08-21 09:46:00 -04:00
Nathan Freitas b307d510f8 make default SOCKs port auto, and THEN try to set specified port
- also remove exit IP lookup loop bad code
2014-08-21 09:45:13 -04:00
Jordan a07333dfb0 Merge branch 'master' of https://github.com/freckles-the-pirate/orbot 2014-08-14 14:38:23 -07:00
Jordan c013c071eb Deleted unnecessary files. 2014-08-14 14:35:58 -07:00
Nathan Freitas 9dee2a96e4 update changelog 2014-08-14 14:35:58 -07:00
Nathan Freitas 495e2c7de4 bumped to 14.0.6 2014-08-14 14:35:57 -07:00
Nathan Freitas 8df98f5618 update to latest jtorctl with patches for thread, error handling 2014-08-14 14:35:57 -07:00
Jordan a8b737a05c Merge branch 'app-selection' 2014-08-14 14:01:57 -07:00
Jordan f3a9cbd84c User has full control over app management. BUG: Button size will render text with incorrect line breaks on devices with small screens. BUG: interface is slow to respond, but is due to the app interfacing with shared preferences. 2014-08-14 14:01:38 -07:00
Jordan 67555d1ed4 User can "Proxy all" or "Proxy none" apps in AppManager. TODO: fix invert button. It currently just selects none. 2014-08-14 13:15:17 -07:00
Jordan c0dd584651 Merge branch 'app-selection' 2014-08-13 21:39:46 -07:00
Jordan 3f4b76a171 Merge branch 'master' of https://git.torproject.org/orbot 2014-08-13 21:31:12 -07:00
Jordan 59b333984d Add buttons to filter application selection. 2014-08-13 17:23:33 -07:00
Nathan Freitas 9cc5f98e92 don't obfuscate class names; we just need to remove unused classes 2014-08-12 02:04:36 -04:00
Nathan Freitas 3698e46105 create new thread for connecting to existing process
don't rely on executor yet, as we need it to happen fast
2014-08-12 02:04:10 -04:00
Nathan Freitas ea37b44fa3 create new thread to just for existing process
dont' rely on executor there yet
2014-08-12 02:03:43 -04:00
Nathan Freitas 3a82421b63 no need for asynctask - just grab the status directly 2014-08-12 02:03:22 -04:00
Nathan Freitas e2f4f5f1f2 don't make these final, because the user might change them 2014-08-12 02:02:48 -04:00
Nathan Freitas 7d243af276 update changelog 2014-08-11 16:22:53 -04:00
Nathan Freitas 56dfff0971 bumped to 14.0.6 2014-08-11 16:22:29 -04:00
Nathan Freitas 05dd3317f1 update to latest jtorctl with patches for thread, error handling 2014-08-11 16:05:08 -04:00
Jordan d02c5ea594 Update BUILD doc to reflect changes in build. 2014-08-11 11:00:26 -07:00
Nathan Freitas bacdf5438d update changelog 2014-08-11 11:36:22 -04:00
Nathan Freitas 73d4297d05 bump to 14.0.5.4 2014-08-11 11:35:50 -04:00
Nathan Freitas ade6172145 enable transproxy refresh feature, default off 2014-08-11 11:18:46 -04:00
Nathan Freitas 0d424797a2 make expanded notif off by default; handle exceptions better
- some devices seem to not like these new expanded/remoteviews notifications, so we are turning them off by default. This will also help with load issues on onionoo servers
2014-08-11 10:10:18 -04:00
Nathan Freitas 11d3f59543 reduce the onionoo lookup to just the required fields 2014-08-07 15:54:12 -04:00
Nathan Freitas 3e58ee9b75 multiple fixes for status check and new transproxy calls
- update to the new transproxy selective calls
- improve status resume/check code
2014-08-07 15:34:16 -04:00
Nathan Freitas 6955c44e36 selectively disable/enable transproxy rules 2014-08-07 15:33:57 -04:00
Nathan Freitas 5a9b9dc5b1 update changelog 2014-08-07 13:11:32 -04:00
Nathan Freitas f13269fae2 update to 14.0.5.3 2014-08-07 13:10:56 -04:00
Nathan Freitas 28877b12e2 new strings for app conflict checker function 2014-08-07 12:43:00 -04:00
Nathan Freitas ac6cdb70ba enable app conflict checker for samsung users 2014-08-07 12:42:49 -04:00
Nathan Freitas 1801ec179f don't stop Tor when service is destroyed() 2014-08-07 12:11:53 -04:00
Nathan Freitas 113b18900d update to latest OpenSSL 1.0.1i for important fixes 2014-08-07 11:55:42 -04:00
Nathan Freitas 888b7cddaa update version to latest OpenSSL 1.0.1i 2014-08-07 11:55:27 -04:00
Nathan Freitas c517d0fcee Notification fix and change in finding existing process
- Only build expanded notification on supported platforms
- If service is re-created() try to find existing process then, and don't wait for bind() from client
2014-08-07 11:54:31 -04:00
Nathan Freitas 387e74ec7c bump to 14.0.5.2 2014-08-05 06:20:12 -04:00
Nathan Freitas 5b014da621 update changelog 2014-08-05 06:19:59 -04:00
Nathan Freitas 03b39eae7a make sure to clean up ps process/shell 2014-08-05 06:14:27 -04:00
Nathan Freitas e3385ab137 fixes for Tor processs tracking, control port, and start/stop 2014-08-03 14:39:01 -04:00
Nathan Freitas 8481e6199f update to 14.0.5.1 2014-08-02 01:34:39 -04:00
Nathan Freitas 803620957a fixes for transparent proxy tethering 2014-08-02 01:15:01 -04:00
Nathan Freitas 0709b0e486 remove this, as torrc.custom is built at runtime 2014-08-02 01:14:43 -04:00
Nathan Freitas 754139a566 add new strings 2014-08-02 00:58:47 -04:00
Nathan Freitas 31cf9816fb Address issues related to onionoo relay/node info lookup
-Ensure streams, files are closed
-Add timeout values to socket, streams
-Change torrc CircuitStreamTimeout to 120
2014-08-02 00:57:18 -04:00
Nathan Freitas 0c239b434e update to 14.0.5 2014-07-30 05:34:25 -04:00
Nathan Freitas 3f93bcd62b update changelog 2014-07-28 21:40:45 -04:00
Nathan Freitas 668ed68c10 update to 14.0.5-RC1 2014-07-28 21:40:08 -04:00
Nathan Freitas 7ff49ff193 update Tor binary version number 2014-07-28 21:39:12 -04:00
Nathan Freitas 6626b6551c update strings, localisations 2014-07-28 21:39:02 -04:00
Nathan Freitas 543c887dc0 update to latest tor and obfsclient 2014-07-28 21:38:47 -04:00
Nathan Freitas 023ef2d4ce boot receive does not need HOME category 2014-07-19 20:40:19 -04:00
Nathan Freitas cbf4e99d32 handle CONNECTING state properly 2014-07-19 20:39:55 -04:00
Nathan Freitas 6ed7ab0d6d onBoot perm should default to true 2014-07-19 20:39:42 -04:00
Nathan Freitas 8f1b345827 update for beta 2 2014-07-17 13:57:45 -04:00
Nathan Freitas 5f52092cd9 update for 14.0.5-beta-2 2014-07-17 13:57:16 -04:00
Nathan Freitas 816d7d717a new icons for martus 2014-07-17 13:43:46 -04:00
Nathan Freitas 6574312609 new tips for app download 2014-07-17 13:43:09 -04:00
Nathan Freitas 29a06410a5 make sure start on boot works properly 2014-07-17 13:42:59 -04:00
Nathan Freitas 54a39f2046 only show notifications if we have data 2014-07-16 17:07:08 -04:00
Nathan Freitas 9d541d8aad added mobile martus to rec'd apps 2014-07-16 17:06:50 -04:00
Nathan Freitas 4d6c32a6a2 support dynamic SOCKS ip in polipo configuration 2014-07-15 16:10:24 -04:00
Nathan Freitas 1cd0dcf71c fix proguard path for new sdk 2014-07-15 16:10:13 -04:00
Nathan Freitas 8cc8886b23 update CHANGELOG 2014-07-14 13:39:38 -04:00
Nathan Freitas d439176fea update to 14.0.5-beta 2014-07-14 13:39:16 -04:00
Nathan Freitas c4cf845650 handle NPE in case service disconnects 2014-07-14 13:16:19 -04:00
Nathan Freitas 1e6ff3579b updating ant build shell permissions 2014-07-14 10:48:37 -04:00
Nathan Freitas 498f6472bf remove external storage perm (debug log written internally)
need to add ability to share internal file after
marking it global read
2014-07-14 09:20:09 -04:00
Nathan Freitas e1ec776cb8 re-arch status callbacks and improve notification 2014-07-14 09:19:30 -04:00
Nathan Freitas c7409b78c9 update commit pegs for external 2014-07-10 12:34:53 -04:00
Nathan Freitas f2f076c29c fixes for layout and notification data
be sure to only get the IP of the last hop (that is the exit)
2014-07-10 12:34:31 -04:00
Nathan Freitas a6da4bf530 small cleanup of asynctask and error handling 2014-07-10 11:23:49 -04:00
Nathan Freitas 181b92276a make the notification larger for more display room! 2014-07-10 11:23:34 -04:00
Nathan Freitas a82d2e4695 remove unnecessary jar file 2014-07-10 11:23:25 -04:00
Nathan Freitas 3bc8760beb Merge branch 'new_notification_expanded' of github.com:amoghbl1/orbot-1 into amoghbl1-new_notification_expanded 2014-07-10 11:05:59 -04:00
Nathan Freitas 41064d8548 add persistent flag 2014-07-10 11:04:46 -04:00
Nathan Freitas b4079f4c79 update transifex config 2014-07-10 11:04:36 -04:00
Nathan Freitas 8a934c9cab don't close socket, and use HALT for shutdown 2014-07-10 11:04:21 -04:00
Nathan Freitas f9b38e6379 if service is null, please start it 2014-07-10 11:04:11 -04:00
Nathan Freitas a447bbf07e update strings 2014-07-10 11:03:56 -04:00
Nathan Freitas 646bc66e51 update for 14.0.4.3 2014-06-30 15:46:24 -04:00
Nathan Freitas 522f2938c7 update to 14.0.4.3 2014-06-30 15:45:57 -04:00
Nathan Freitas 70615d669b fixes for status, service, binding and start/stop 2014-06-30 15:45:14 -04:00
Nathan Freitas fbc1a87c28 update to 14.0.5-alpha 2014-06-27 13:03:21 -04:00
Nathan Freitas bfa1d56208 remove diag/test menu 2014-06-27 13:03:06 -04:00
Nathan Freitas 10ceafad3b ensure status is not set to CONNECTING incorrectly 2014-06-27 13:02:55 -04:00
Nathan Freitas 7f8e9b80be remove test/diag option 2014-06-27 13:02:41 -04:00
Nathan Freitas e13d228dfc fix bug with wrong apps being transproxied (typo!) 2014-06-27 13:02:21 -04:00
Nathan Freitas 312c6da2c7 apps should only show those with internet permission 2014-06-27 13:01:48 -04:00
Nathan Freitas d56c87eaf5 update to 14.0.4.2 2014-06-24 10:11:30 -04:00
Nathan Freitas 0e95ddaeac update translations from transifex 2014-06-24 10:11:12 -04:00
Nathan Freitas bb0b7e8fe2 unbind the service when the activity is destroyed
we don't want leaky services
2014-06-24 10:06:26 -04:00
Nathan Freitas 247e2ed86d don't kill Tor process and make sure service is sticky 2014-06-24 10:06:11 -04:00
amoghbl1 367002bf3d matcher null pointer fix 2014-06-20 02:20:13 +05:30
amoghbl1 ff8bf0bddf moved ip lookup into asynctask and also added some extra checking before the external ip is updated 2014-06-20 02:15:13 +05:30
amoghbl1 43eac85644 fixed merge conflicts 2014-06-20 02:01:17 +05:30
Nathan Freitas 8b6cff0dc0 update CHANGELOG entries 2014-06-19 10:31:18 -04:00
Nathan Freitas 7ec6de72e6 update to 14.0.4.1 2014-06-19 10:30:17 -04:00
Nathan Freitas 298a01e519 make sure transproxy is renabled when network returns 2014-06-19 10:30:02 -04:00
amoghbl1 133922f7b4 updated the expanded notification ui, calls for getting exit ip implemented, exit ip added temporarily in the title of the notification till the final ui is ready. Regex to match ip address on getting response from the exit node written. 2014-06-18 06:02:23 +05:30
Nathan Freitas 2eb79a5185 fulfilles the wishes of #12413 by support --default-torrc and -f 2014-06-17 16:32:49 -04:00
Nathan Freitas b6715b4d3c fixes #12411 and #12412 enables DNS and transport by default
with new Orbot settings to enable user to easily change/disable
2014-06-17 15:42:54 -04:00
Nathan Freitas fc608d364f update to 14.0.4 2014-06-14 05:56:46 -04:00
Nathan Freitas 01299768e3 improve ability to do a full clean stop of all services 2014-06-13 13:51:51 -04:00
Nathan Freitas af51290aa9 add support for updating Polipo config 2014-06-13 13:51:28 -04:00
Nathan Freitas 156ed574e8 clean up unbind process and service shutdown 2014-06-13 13:50:55 -04:00
Nathan Freitas 8a59cfb6d2 use canonical paths to ensure shell commands are correct
also cleanup torrc updating
2014-06-13 13:00:42 -04:00
Nathan Freitas f3d21eec4f improve resource installer ability to update torrc 2014-06-13 12:59:36 -04:00
Nathan Freitas c0f7d754dd use one prefs instance 2014-06-13 12:59:02 -04:00
Nathan Freitas 2ce9ea92f1 make default config files have ports off by default (0) 2014-06-13 12:58:39 -04:00
Nathan Freitas 9025fc52f4 update to 14.0.3.1 2014-06-11 22:04:56 -04:00
Nathan Freitas dee0d19fe7 improve logic for updating torrc files (not so often) 2014-06-11 22:04:41 -04:00
Nathan Freitas 44648f16c3 clean up bind/unbind and handleIntent wizard logic 2014-06-11 22:04:15 -04:00
Nathan Freitas 917ec8d7a0 update torrc and torrcdiag when you need to 2014-06-11 22:03:57 -04:00
Nathan Freitas f91a35bbac update tor binary constants to force upgrade 2014-06-11 22:03:30 -04:00
Nathan Freitas 65eb7ad249 fix torrc defaults - add back in avoiddiskwrites 2014-06-11 22:02:32 -04:00
Nathan Freitas c04fc9599c update to 14.0.3 2014-06-11 20:25:05 -04:00
Nathan Freitas 42e069800a don't stop tor when service onStartCommand() is called again 2014-06-11 20:24:32 -04:00
Nathan Freitas fc6392932f ensure diag/test mode stop's Tor on activity exit 2014-06-11 20:24:21 -04:00
Nathan Freitas 328c6af2c6 tune bind/create service logic 2014-06-11 20:24:08 -04:00
Nathan Freitas 4716696515 make transport settings dynamic (remove from torrc) 2014-06-11 20:23:38 -04:00
Nathan Freitas 2fe57e84ad pegging tor to 0.2.4.22 2014-06-11 19:33:56 -04:00
Nathan Freitas 00b535e7dd updated to 14.0.2.1 2014-06-11 11:27:26 -04:00
Nathan Freitas c2be4ac15b ensure polipo conf is updated; default to 9051 for ctrl port 2014-06-11 11:26:30 -04:00
Nathan Freitas 6ab9a7bff1 reduce memory usage of polipo 2014-06-11 11:26:10 -04:00
Nathan Freitas b26b9d4739 update to 14.0.2 2014-06-11 08:57:01 -04:00
Nathan Freitas aa8ff95e29 ensure readers are closed; ensure socks settings are applied 2014-06-11 08:08:11 -04:00
Nathan Freitas b4fa943fe9 improve process id finding using android 'toolbox' 2014-06-11 07:51:22 -04:00
Nathan Freitas 2d6a7b35c0 renable large heap request 2014-06-11 07:50:33 -04:00
Nathan Freitas d7f3f1989d more fixes for UI disconnect issue
ensure service and status updates occur on new layout updates
2014-06-11 07:07:48 -04:00
Nathan Freitas 7e76162b88 bumping to 14.0.1 2014-06-09 18:48:54 -04:00
Nathan Freitas af51a98535 allow support for adding custom lines to torrc 2014-06-09 18:47:48 -04:00
Nathan Freitas 22938c9ed9 multiple fixes for tor start including "auto" control port
also try to kill hung tor process
2014-06-09 18:35:08 -04:00
Nathan Freitas 022436515d ensure torrc values are overwritten 2014-06-09 18:34:40 -04:00
Nathan Freitas 81bd61764c updating to 14.0.0 build 100! 2014-06-07 23:10:17 -04:00
Nathan Freitas 98ea6d5093 update changelog 2014-06-06 21:50:49 -04:00
Nathan Freitas 5776a870ce update to 14.0.0-RC3 2014-06-06 21:50:00 -04:00
Nathan Freitas bf6a1da3fa update state when service connects 2014-06-06 21:49:21 -04:00
Nathan Freitas 451cfed0ac keep SOCKS port as default 9050 (instead of 'auto') 2014-06-06 17:01:18 -04:00
Nathan Freitas 53637209ae updated changelog 2014-06-06 15:15:59 -04:00
Nathan Freitas f94e27acc6 updated to 14.0.0-RC-1 2014-06-06 15:11:25 -04:00
Nathan Freitas bedeb71cf2 more fixes for hidden service configuration
now multiple ports are properly configured
and notification will display correctly
2014-06-06 15:05:06 -04:00
Nathan Freitas 051cce472c don't allow the tor control port socket to timeout 2014-06-06 14:40:11 -04:00
Nathan Freitas f4baf4d6bb updated to 2.0.21-stable 2014-06-06 14:21:55 -04:00
Nathan Freitas 120da6bfe2 more wizard flow fixes 2014-06-06 14:19:06 -04:00
Nathan Freitas 816a6b2be0 updating to 1.1.1 2014-06-06 12:26:18 -04:00
Nathan Freitas 24773c302d update to OpenSSL 1.0.1h 2014-06-06 12:22:22 -04:00
Michael Rogers 8b5bb041d1 Makefile patch for Orbot
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-06-06 12:07:22 -04:00
Nathan Freitas ccaec1ebd3 update 14.0.0-BETA-2 2014-06-06 09:59:48 -04:00
Nathan Freitas da3c95575a fixes for tor setConf/control port
fixes hidden service support
manages socks port conflicts
2014-06-06 09:59:10 -04:00
Nathan Freitas 93451865f8 remove unnecessary line 2014-06-06 09:59:03 -04:00
Nathan Freitas 707bca4daf amek sure wizard only is shown once on start (not twice!) 2014-06-06 08:56:32 -04:00
Nathan Freitas 0fddd80305 fix for missing libs folder 2014-06-05 15:03:25 -04:00
Nathan Freitas 7abea23429 removing binaries from repo 2014-06-05 12:21:22 -04:00
Nathan Freitas 70d779256b updated changelog 2014-06-05 12:20:54 -04:00
Nathan Freitas 2650fda101 update to 14.0.0-BETA-1 2014-06-05 11:14:17 -04:00
Nathan Freitas 476dc1a036 update binaries for 0.2.4.22 Tor 2014-06-05 11:12:02 -04:00
Nathan Freitas b6116b5d5a switch to 0.2.4.22 version of Tor for release 2014-06-05 11:11:39 -04:00
Nathan Freitas 148e7eb4bf remove deletion of polipo folder 2014-06-05 11:08:06 -04:00
Nathan Freitas 352c23b702 updated binaries for OpenSSL 1.0.1h 2014-06-05 10:59:13 -04:00
Nathan Freitas 7622d2cb2f update constant for 1.0.1h and latest openssl vuln
http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html
2014-06-05 10:58:36 -04:00
Nathan Freitas d3924396e3 fix bridge append value from qrcode scan 2014-06-04 23:52:37 -04:00
Nathan Freitas d6f5720f27 remove synchronized - not needed, and causing blocking 2014-06-04 23:52:28 -04:00
Nathan Freitas f52c22aa0d Merge branch 'amoghbl1-issue_3014_wizard_workflow' 2014-06-04 23:24:43 -04:00
Nathan Freitas f6750e135a sometimes text can be null 2014-06-04 23:24:21 -04:00
Nathan Freitas fd47e70f44 fix control port connections with socket timeouts 2014-06-04 23:24:11 -04:00
Nathan Freitas 36a6349b67 status should update whether there is msg or not 2014-05-30 11:26:48 -04:00
Nathan Freitas 63b43047ed Merge branch 'issue_3014_wizard_workflow' of https://github.com/amoghbl1/orbot-1 into amoghbl1-issue_3014_wizard_workflow 2014-05-30 10:40:53 -04:00
Nathan Freitas 25f6499f6b Merge branch 'master' of github.com:n8fr8/orbot 2014-05-30 10:37:14 -04:00
Nathan Freitas e2e0d2659b Merge branch 'hans_feature_desc' 2014-05-30 10:36:58 -04:00
Nathan Freitas c1f9296164 new work on binding and service starting 2014-05-30 10:36:03 -04:00
Nathan Freitas e2e00ccc6a removed largeheap value 2014-05-30 10:35:41 -04:00
Hans-Christoph Steiner 13ef14340d add app description to manifest to support p2p distribution
This allows other methods of distributing APKs to also include the
description text, like the FDroid local repo swapping.
2014-05-28 20:33:41 -04:00
Amogh Pradeep 758633c9e6 Merge branch 'master' of https://github.com/n8fr8/orbot into new_notification_expanded 2014-05-29 05:02:08 +05:30
Amogh Pradeep 99dfdd711d added styles to build the custom notification, minor tweaks to old code 2014-05-29 04:56:06 +05:30
Amogh Pradeep a787fdf8cd notification layout for the expanded notification, still in testing. Also includes integration of remote view for the big layout 2014-05-29 04:27:07 +05:30
n8fr8 c1110309d2 Merge pull request #1 from amoghbl1/issue_2374_story_maker
Issue 2374 story maker
2014-05-26 13:00:58 -04:00
Amogh Pradeep 4759d9f143 implemented button click function for the story maker button, also url added in strings, change to liking at review 2014-05-24 03:15:33 +05:30
Amogh Pradeep 53e82b1769 general cleanup, removed log.d's 2014-05-24 02:57:22 +05:30
Amogh Pradeep 6488e6a699 cleaned Permissions workflow, implemented override for back button 2014-05-24 02:55:36 +05:30
Amogh Pradeep 935fa91199 cleaned LotsaText workflow, implemented override for back button 2014-05-24 02:43:28 +05:30
Amogh Pradeep f29a49439e cleaned ConfigureTransProxy workflow, implemented override for back button 2014-05-24 02:38:19 +05:30
Amogh Pradeep ea384f95f6 cleaned ChooseLocaleWizardActivity workflow, implemented override for back button and added toast warning message string 2014-05-24 02:31:57 +05:30
Amogh Pradeep ffcfce742b cleaned TipsAndTricks workflow 2014-05-24 02:01:36 +05:30
Amogh Pradeep 255623a1dd added the story maker button to the tips wizard page, also added tip string to the strings file. 2014-05-23 02:45:57 +05:30
Amogh Pradeep 23c689c8a1 added icon for story maker button to be added to the hints and tips page 2014-05-23 02:38:33 +05:30
Nathan Freitas cfc8a995a0 updated to 14.0.0-ALPHA-4 2014-05-08 09:56:08 -04:00
Nathan Freitas 278997de38 simple notification of bridge settings via URL 2014-05-08 09:54:48 -04:00
Nathan Freitas 17934e6b33 initial support for setting bridge through URL 2014-05-08 09:52:11 -04:00
Nathan Freitas 96c0a54768 add large heap and remote process settings back in 2014-05-07 23:50:40 -04:00
Nathan Freitas 726cf0c6c9 work to stabilize Tor background service
auto-restart tor binary process if killed by Android OS
print out debug info related to memory mgmt requests
move bind/start code to async task
2014-05-07 23:49:54 -04:00
Nathan Freitas 11c31fae84 update the changelog 2014-05-05 00:09:14 -04:00
Nathan Freitas 583c758a71 updated to 14.0.0-ALPHA-3 2014-05-05 00:01:46 -04:00
Nathan Freitas 90848b00d6 reduce memory usage of app and make single process 2014-05-05 00:01:07 -04:00
Nathan Freitas ba90f73828 cleanup of notification and process kill code 2014-05-05 00:00:50 -04:00
Nathan Freitas 76ec147c7a add some more externalized strings 2014-05-05 00:00:14 -04:00
Nathan Freitas e80c3bf162 check if installed apps are enabled 2014-05-05 00:00:01 -04:00
Nathan Freitas 60a822a218 updated to 14.0.0-ALPHA-2b 2014-05-04 00:40:34 -04:00
Nathan Freitas 69614fb649 updated Tor version to 0.2.5.4-alpha
heartbleed blacklists for non-updated tor nodes
2014-05-04 00:38:29 -04:00
Nathan Freitas 53673dae75 fix bridge/PT enable code based on bridge types 2014-05-04 00:35:14 -04:00
Nathan Freitas 9096f8c7b8 update 14.0.0-ALPHA-2a for some testers (samsung) 2014-05-02 14:59:18 -04:00
Nathan Freitas 42d8ca1377 for some devices, the process-id is listed first 2014-05-02 14:58:47 -04:00
Nathan Freitas fd5128170a make sure the unbind intent is not null 2014-05-02 14:58:36 -04:00
Nathan Freitas b8140191ef improvement for network state checking code 2014-05-02 10:10:09 -04:00
Nathan Freitas 648b10c235 updated changelog for v14 2014-05-02 01:18:22 -04:00
Nathan Freitas ea919c55b7 add the basic proguard support 2014-05-02 00:40:57 -04:00
Nathan Freitas 147b57af42 remove unused preference 2014-05-02 00:40:19 -04:00
Nathan Freitas 0dc50cc492 add log max size feature 2014-05-02 00:39:59 -04:00
Nathan Freitas b9f14b318b ensure setConft on control port works consistently 2014-05-02 00:39:37 -04:00
Nathan Freitas b056e7f6cd remove debug waiter 2014-05-01 21:37:36 -04:00
Nathan Freitas b2d4bb3507 updated to v14-alpha-2 2014-05-01 21:37:01 -04:00
Nathan Freitas cbbc5e45e1 improve how we start/stop Tor, Polipo
to find process id, do ps of all, then filter (most compat)
use async service for Tor start/stop instead of threads
2014-05-01 21:36:03 -04:00
Nathan Freitas b31c11f3cb updated icons with dark background 2014-05-01 16:15:25 -04:00
Nathan Freitas 2b6ff4e64c update manifest for v14-alpha-1 2014-04-25 12:45:34 -04:00
Nathan Freitas 05b6553cba add binary stripping to makefile 2014-04-25 12:45:11 -04:00
Nathan Freitas 21c1cadcca update binaries and torrc for obfs/PT work 2014-04-25 12:44:37 -04:00
Nathan Freitas 144460beed fixes for preference handling in multi process context 2014-04-25 12:44:21 -04:00
Nathan Freitas 38700f9c9c updated to 0.2.5.3 for scramblesuit/obfs support 2014-04-25 12:43:59 -04:00
Nathan Freitas d3865c0e78 fix settings handling and add more debug output
also make SOCKS a runtime config
2014-04-25 12:43:30 -04:00
Nathan Freitas d5293340d5 clean up wizard context use 2014-04-25 12:42:31 -04:00
Nathan Freitas 0178d3e4de add new binaries and configs for polipo and others 2014-04-24 23:44:29 -04:00
Nathan Freitas 40546c9ee5 change from privoxy to polipo for http proxy 2014-04-24 23:43:33 -04:00
Nathan Freitas a4d8669cc2 fix variable name to obfsclient 2014-04-24 12:35:52 -04:00
Nathan Freitas 2f7a9dd052 update to new obfsclient repo 2014-04-24 12:30:39 -04:00
Nathan Freitas 000cf579b9 update jtorctrl jar 2014-04-24 12:30:31 -04:00
Nathan Freitas f485015f83 install obfsclient binary 2014-04-24 12:30:23 -04:00
Nathan Freitas d003826c98 update binaries 2014-04-24 12:30:08 -04:00
Nathan Freitas 4d3754bbb2 remove obfsproxy, update obfsclient 2014-04-24 12:29:49 -04:00
Nathan Freitas 7af85b5cc3 small updates to Makefile for NDK 2014-04-24 12:29:41 -04:00
Yawning Angel 2c2d094601 Integrate obfsclient/liballium into the build process
* Compiler/toolchain version changed to 4.8 for C++11
 * Build and package obfsclient/liballium

NB: Currently obfsclient is build with debugging information which
results in a binary that is rather large, strongly consider stripping.

Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:46:52 -04:00
Yawning Angel 43c259accc Update the obfsclient submodule to include Android fixes
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:46:09 -04:00
Yawning Angel a6af8784ad liballium/obfsclient should be sourced from tp.o repos
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:45:54 -04:00
Nathan Freitas c906f7ed55 13.0.7 is stable enough for a release 2014-04-18 12:03:39 -04:00
Nathan Freitas 2e0639b256 back to BETA: 13.0.7-BETA-1 2014-04-18 06:28:20 -04:00
Nathan Freitas 1295f5cd24 don't kill Tor anymore; just reconnect to running instance! 2014-04-18 06:25:35 -04:00
Nathan Freitas 16f3a53529 enable diagnostics and menu option 2014-04-18 06:22:37 -04:00
Nathan Freitas 4aa3cd6ea2 moved diagnotics to menu option (not launcher) 2014-04-18 06:22:10 -04:00
Nathan Freitas b6e7a02fb4 cleaned up graphics/colors 2014-04-18 06:21:47 -04:00
Nathan Freitas a2c8e919f2 13.0.6-RC-4a 2014-04-17 13:40:33 -04:00
Nathan Freitas b870dd3c7d limit log length for diag share 2014-04-17 13:39:49 -04:00
Nathan Freitas edd3195ec8 only show app warning if debug is on 2014-04-17 13:39:40 -04:00
Nathan Freitas 78e7af4372 check if needed ports are available
dont' reapply transproxy on network reconnect
2014-04-17 11:34:47 -04:00
Nathan Freitas 2628565b45 fix issues with per-app filtering and ipv6 2014-04-17 11:34:31 -04:00
Nathan Freitas 557dabd143 updated to 13.0.6-RC-4 2014-04-17 10:17:20 -04:00
Nathan Freitas 5551c59e50 fixes to ensure service does not block 2014-04-17 10:16:56 -04:00
Nathan Freitas ae906d00ac use 127.0.0.1 and not localhost 2014-04-17 10:16:49 -04:00
Nathan Freitas 1ea5281f82 improve diagnostics apps 2014-04-17 10:16:25 -04:00
Nathan Freitas 2996fb2078 ensure ipv6 packets are dropped and shell cmds exit 2014-04-17 10:16:03 -04:00
Nathan Freitas 71de5c602a fix menu to now show share 2014-04-17 10:15:26 -04:00
Nathan Freitas 4c0d7ada8f check for evil samsung proxy app that blocks 9050 2014-04-17 10:15:15 -04:00
Nathan Freitas 37eddfcbd2 add torrcdiag file to installer 2014-04-17 10:14:57 -04:00
Nathan Freitas eab54f7af9 small fixes for service (NPE handling) and resource installer 2014-04-16 16:22:09 -04:00
Nathan Freitas e1ea8dbd07 updated binaries 2014-04-16 16:22:01 -04:00
Nathan Freitas e70c8aca87 add new diagnostics activity for problem childs 2014-04-16 16:21:42 -04:00
Nathan Freitas 1e8ae2a68d updated changelog for 13.0.6-RC-3 2014-04-15 23:15:45 -04:00
Nathan Freitas 89fc2e6d5c updated to 13.0.6-RC-3 2014-04-15 22:59:01 -04:00
Nathan Freitas b9eeb3711b ensure Service has foreground priority so it is not killed
(and improve onBind() calls to reset state if it is killed)
2014-04-15 22:31:24 -04:00
Nathan Freitas 3824bc56e5 improving control port connection code
adding additional logging for problems with Samsungs
2014-04-15 00:47:59 -04:00
Nathan Freitas fa6c1015d8 bump version to 13.0.6-RC-2 2014-04-15 00:26:24 -04:00
Nathan Freitas cc020f54b6 small tweaks to Tor binary startup code 2014-04-15 00:25:28 -04:00
Nathan Freitas 16799ef0c6 add automapresolve to ensure .onion address are handled 2014-04-15 00:25:06 -04:00
Nathan Freitas 06d5a6fc09 improve process lookup code 2014-04-15 00:24:55 -04:00
Nathan Freitas cd8b7e45db connect to "localhost" instead of 127.0.0.1 2014-04-15 00:24:17 -04:00
Nathan Freitas 4673f04f8b update UI on rebind of service 2014-04-15 00:24:01 -04:00
Nathan Freitas c68ce2ce1e fixes for transproxy to fix DNS leaks in some cases
latest RC was leaking DNS due to updates iptables/xtables binary
and need for new iptables rules format
2014-04-15 00:22:52 -04:00
Nathan Freitas 915ff8a7f3 updated to 13.0.6-RC-1 2014-04-09 22:54:36 -04:00
Nathan Freitas 3413b341fc fixes for getting process id of Tor process 2014-04-09 22:53:08 -04:00
Nathan Freitas e9d0feade0 updates resources and tx config for tagalog 2014-04-09 11:44:21 -04:00
Nathan Freitas 10938edff0 update string resources from transifex 2014-04-09 11:39:20 -04:00
Nathan Freitas 5326d2b1de updated string values for components 2014-04-09 11:31:49 -04:00
Nathan Freitas 8d73be655e bump to 13.0.6-BETA-8 2014-04-09 09:13:23 -04:00
Nathan Freitas af95098ae8 remove "persistant" flag, as its only for system apps 2014-04-09 09:12:32 -04:00
Nathan Freitas 831a52a7e9 improved logging and exit code reporting for transproxy 2014-04-09 09:12:00 -04:00
Nathan Freitas f8532715c0 fix Service init/bind logic
also remove updates for background drawing to save memory
2014-04-09 09:11:38 -04:00
Nathan Freitas 8445f2e55d ensure appmgr doesn't fail on loading apps
also don't load icons to improve memory usage
2014-04-09 09:10:56 -04:00
Nathan Freitas 227253de76 updates to optimize resource memory usage 2014-04-09 09:10:23 -04:00
Nathan Freitas ed76f8b53b update to 13.0.6-BETA-7 2014-04-08 16:10:10 -04:00
Nathan Freitas 60a79a2ae0 more updates to install clean-up process 2014-04-08 16:09:04 -04:00
Nathan Freitas f885059b94 fix problem with UI rotation and screen update 2014-04-08 15:46:10 -04:00
Nathan Freitas efb9a8c965 update to 13.0.6-BETA-6 2014-04-08 15:34:03 -04:00
Nathan Freitas bf8a92cb7a use AbsolutePath instead of Canonical; fix kill code 2014-04-08 15:33:05 -04:00
Nathan Freitas e1b1ca072e add constants for folder names 2014-04-08 15:31:15 -04:00
Nathan Freitas e8116f4542 ensure existing files are deleted before upgrade 2014-04-08 15:31:02 -04:00
Nathan Freitas 25f4ac8617 adding new small icon 2014-04-08 12:19:44 -04:00
Nathan Freitas 981123f5fe update to 13.0.6-BETA-5 2014-04-08 11:38:24 -04:00
Nathan Freitas b6a9b48e77 ensure existing binaries are removed before install
problems may be caused by soft links or old bins
2014-04-08 11:37:45 -04:00
Nathan Freitas ef14ac5c3e fix large icon incorrect display in alert dialogs 2014-04-08 11:37:18 -04:00
Nathan Freitas bab67b7c13 small fixes for the wizard with new UI 2014-04-08 11:36:59 -04:00
Nathan Freitas 3d1f3912ea updates for icons, backgrounds and improved drawing
code to solve issues related to outofmemory
2014-04-08 10:46:52 -04:00
Nathan Freitas 9d1311c342 updated to dark icon 2014-04-08 10:46:11 -04:00
Nathan Freitas b32992067b update to BETA-4 for Permission changes 2014-04-08 01:54:35 -04:00
Nathan Freitas c9bf8d2585 fix Shell calls so that we close() shell when done 2014-04-08 01:12:56 -04:00
Nathan Freitas e78486a41f update to support specific permissions for Service
this is an attempted fix for Samsung S3/Note3 issues
2014-04-08 01:12:35 -04:00
Nathan Freitas 7990644ecd update version to 13.0.6-BETA-3 2014-04-07 23:37:33 -04:00
Nathan Freitas 917ea6e09f fix for mikeperry transproxy leak bug find
https://lists.torproject.org/pipermail/tor-talk/2014-March/032503.html
2014-04-07 23:36:10 -04:00
Nathan Freitas fc0554f9ff fix for binary version upgrade support 2014-04-07 23:35:58 -04:00
Nathan Freitas 4ed6ea1e9c updated pre-built binaries 2014-04-07 22:43:09 -04:00
Nathan Freitas 7229c52f9c updated to openssl 1.0.1g 2014-04-07 22:42:59 -04:00
Nathan Freitas 6bce7d579d fix ant build script and target 2014-04-07 12:17:23 -04:00
Nathan Freitas e5b70ba4ab improve shell command, root and permissions handling 2014-04-07 11:10:31 -04:00
Nathan Freitas b734c6c232 add new library for superuser/shell commands 2014-04-07 11:10:19 -04:00
Nathan Freitas dda56335f0 updated to 13.0.6-BETA-1 2014-04-04 10:53:04 -04:00
Nathan Freitas 298f73c843 update Tor version code 2014-04-04 10:50:22 -04:00
Nathan Freitas 75d3ecb2ec update language wizard display to be more clear 2014-04-04 10:46:28 -04:00
Nathan Freitas fe44c29164 add binaries (for non NDK developers) 2014-04-04 10:27:36 -04:00
Nathan Freitas 05bf5b7b42 add/update translations from transifex 2014-04-04 10:27:26 -04:00
Nathan Freitas 344e914a53 add transifex tx config 2014-04-04 10:27:09 -04:00
Nathan Freitas 8140b32714 a little bit of cleanup of new binary installs 2014-04-04 10:19:23 -04:00
Nathan Freitas a309cece79 update changelog for 13.0.6 2014-04-03 23:28:42 -04:00
Nathan Freitas e25dc08fe5 fixes the menus for appcompat library 2014-04-03 23:23:20 -04:00
Nathan Freitas cc8d3e1eab update to return to binaries as ZIPd res/raw
stop using the libs/armeabi hack method
2014-04-03 23:01:39 -04:00
Nathan Freitas b59bd1a156 remove binary apps/libs 2014-04-03 22:24:18 -04:00
Nathan Freitas 445f63f0e2 updates ant build for new actionbarcompat 2014-04-03 22:22:32 -04:00
Nathan Freitas 765a3bfec4 updated graphic 2014-04-03 21:56:06 -04:00
Nathan Freitas 8c20759bed removed ABS depdency in favor of AppCompat 2014-04-03 21:54:26 -04:00
Daniel Martí d0d78809f5 Signed-off-by: Nathan Freitas <nathan@freitas.net> 2014-03-27 13:47:16 -04:00
Daniel Martí 75a0d34e28 Signed-off-by: Nathan Freitas <nathan@freitas.net> 2014-03-27 13:46:34 -04:00
Nathan Freitas e5fdf28aa6 updated binaries from new build script 2014-03-26 11:54:28 -04:00
Daniel Martí 57ef1c3f61 Fix building of openssl on newer systems
Forcing CC when running make works around this problem.

Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-03-26 11:47:01 -04:00
Nathan Freitas b5a043a6a0 updated Makefile to not build libevent TESTS 2014-03-26 11:33:58 -04:00
Nathan Freitas dab37b576e setting to 4.6 for compat 2014-03-24 14:45:13 -04:00
Nathan Freitas 1a346cf25e updated makefile 2014-03-24 14:34:20 -04:00
Nathan Freitas 02c389cf28 updated obfsclient external 2014-03-24 14:20:36 -04:00
Nathan Freitas 06b46f1a35 updated to only build tor binary and not tests, etc 2014-03-24 14:18:23 -04:00
Nathan Freitas d311f71ebf 13.0.6 minor UI updates, Tor version update 2014-03-03 10:38:32 -05:00
Nathan Freitas a24eacd57a add hi-res icon for the web 2014-03-03 10:38:11 -05:00
Nathan Freitas f322f6b2c8 add new graphics and icons 2014-03-03 10:37:58 -05:00
Nathan Freitas 806fe40985 update external commit tags 2014-03-03 10:37:45 -05:00
Nathan Freitas 27d5945add remove redundant iptables rules for transproxy 2014-03-03 10:37:35 -05:00
Nathan Freitas 4e1357bcca add new background graphics state change to main UI 2014-03-03 10:37:20 -05:00
Nathan Freitas 714af31a20 updated icon and main graphics 2014-03-03 10:37:01 -05:00
Nathan Freitas dc58c40b27 updated binaries built from "make -C external" 2014-03-03 10:36:44 -05:00
Nathan Freitas ce5ef9572c updating change log 2014-02-22 19:28:57 -05:00
Nathan Freitas 03667e2c91 update version to 13.0.5 2014-02-22 19:20:15 -05:00
Nathan Freitas d605b45488 add obfsclient build but don't include binary yet 2014-02-22 19:19:50 -05:00
Nathan Freitas 0aa4294a1e add new obfsclient module 2014-02-22 19:17:26 -05:00
Nathan Freitas c1cb30d1bb remove issue with service launching via explicit intent 2014-02-22 19:16:55 -05:00
Nathan Freitas 87411bea85 fix code for finding existing processes 2014-02-22 19:16:47 -05:00
Nathan Freitas 16c5426ea0 adding new bg images for next release 2014-02-22 19:16:20 -05:00
Nathan Freitas c3327d7ae8 13.0.4a fix for Tor link setup 2014-01-15 00:34:32 -05:00
Nathan Freitas 3b9d6c8eaa make sure Tor path link is cleanly setup and chmod'd 2014-01-15 00:33:51 -05:00
Nathan Freitas e55f724b00 bump to 13.0.4 2014-01-15 00:01:10 -05:00
Nathan Freitas cac2a28d50 updated TorBinaryInstaller now just handles resources 2014-01-14 23:58:54 -05:00
Nathan Freitas f538930b7c fix xtables installation and permission setting
more fixes for running from sdcard
2014-01-14 23:57:20 -05:00
Nathan Freitas 43625f835b bump to 13.0.3 2014-01-13 21:49:00 -05:00
Nathan Freitas c5959637af solves problem with binaries being stored on external SDcard 2014-01-13 21:48:28 -05:00
Nathan Freitas 649ca401e7 enable compiliation for all android not just armv7 2014-01-12 22:15:50 -05:00
Nathan Freitas 591161f1b8 updated to 13.0.2 2014-01-12 22:15:40 -05:00
Nathan Freitas 635e307182 cleanup imports 2014-01-12 22:15:21 -05:00
Nathan Freitas db53c191f1 updated binary versions in strings 2014-01-12 22:15:12 -05:00
Nathan Freitas 62a5da616f updated tor binary that works with armv5 and v7 2014-01-12 22:14:53 -05:00
Nathan Freitas 69271262cd updated torrc without automap settings (not needed) 2014-01-12 22:14:42 -05:00
Nathan Freitas 92d19e3402 ensures binary permissions are set 2014-01-12 22:14:30 -05:00
Nathan Freitas 14fab242af bump to 13.0.1 2014-01-09 22:01:28 -05:00
Nathan Freitas 39699e69c6 add new icons showing different status 2014-01-09 22:01:02 -05:00
Nathan Freitas d3c11bed4b add geoip v6 file and support in TorService 2014-01-09 21:32:07 -05:00
Nathan Freitas e24ae6cb07 update Makefile - try building with older toolchain 2014-01-09 21:15:23 -05:00
Nathan Freitas a60c614e6e change jtorctl path to github updated version 2014-01-09 21:14:49 -05:00
Nathan Freitas 8c4f09e2f5 new binaries built with update Makefile 2014-01-09 21:14:16 -05:00
Nathan Freitas 852792962e unregister receive and check for alternate library path 2014-01-09 21:14:01 -05:00
Nathan Freitas 1fa568d04c peg to new repo and head with fix for empty element bug 2014-01-09 21:12:57 -05:00
Nathan Freitas 8b8e51bb1b remove double entry for jtorctrl 2014-01-09 15:32:43 -05:00
Nathan Freitas cf5e4454eb fixes #2848 newnym might call a null conn in service 2014-01-09 15:29:51 -05:00
Nathan Freitas 069a9bf377 fixes #2847 use class name to start service 2014-01-09 15:28:53 -05:00
Nathan Freitas 2735a59151 update to 13.0.0; release candidate 1 2014-01-06 22:30:36 -05:00
Nathan Freitas 096144b4bc adding in binaries for UI/Android devs without NDK
All binaries can be built from source using Makefile in /external
2014-01-06 22:29:29 -05:00
Nathan Freitas f69c1aa445 updated jtorctrl build 2014-01-06 22:28:35 -05:00
Nathan Freitas 0b024c9efa Merge branch 'master' of https://github.com/eighthave/orbot into hans_build_patches
Conflicts:
	external/Makefile
2014-01-02 13:49:33 -05:00
Nathan Freitas d54cf74e3c bump to 13.0.0-alpha-1 2013-12-29 22:01:31 -05:00
Nathan Freitas 276e6c347d remove old external openssl-static path 2013-12-29 06:17:05 -05:00
Nathan Freitas e0a7fbb450 check for both link and original path in process lookup 2013-12-28 09:52:36 -05:00
Nathan Freitas b48bbc1487 updated AUTHORS for amoghbl1 2013-12-28 09:39:59 -05:00
Nathan Freitas e9396b7cc2 use new bundled xtables binary appropriately 2013-12-28 09:21:25 -05:00
Nathan Freitas ca28aded12 add patches for iptables/xtables building on Android 2013-12-28 09:21:13 -05:00
Nathan Freitas 76b15ddf58 adding new iptables/xtables build from source 2013-12-28 09:10:05 -05:00
Nathan Freitas 8b65332bbb clean up of error notifications 2013-12-28 02:18:00 -05:00
Nathan Freitas 8722db9f2d put threading of settings reload into TorService 2013-12-28 01:07:54 -05:00
Nathan Freitas d2006b219f remove static openssl android and replace with real openssl 2013-12-28 00:44:45 -05:00
Nathan Freitas 0e6bb4292d add new openssl 2013-12-28 00:44:16 -05:00
Nathan Freitas c4d8c97321 stop button for notification bar 2013-12-28 00:44:09 -05:00
Nathan Freitas c80c5d49df improvements on notification code 2013-12-28 00:43:51 -05:00
Nathan Freitas 5891feee9a service should be unbound when activity is destroyed
also some other cleanup of unused code
2013-12-28 00:43:36 -05:00
Nathan Freitas 867ff53b8b remove simple server source bundle 2013-12-27 21:44:55 -05:00
Nathan Freitas 3069fb5af4 run Tor from link to keep compatibility with OrbotHelper class
some apps use our OrbotHelper.java class and are expecting the
Tor binary process to be at /data/data/org.torproject.android/app_bin/tor
so we link that path to the lib/libtor.so path
2013-12-27 21:43:55 -05:00
Nathan Freitas 17f7d46e5c update menu, strings, icons for ChatSecure (from Gibberbot) 2013-12-27 21:43:33 -05:00
Nathan Freitas 198974a053 update to build openssl latest 2013-12-27 16:41:54 -05:00
Nathan Freitas 468076e3af set to 1.0.1e release 2013-12-27 15:58:29 -05:00
Nathan Freitas 8666b1b4df updating tor to 0.2.4.20 2013-12-27 15:29:03 -05:00
Nathan Freitas 95461da386 adding back in jtorctrl jar file 2013-12-27 15:28:39 -05:00
Nathan Freitas f3cbb6ed88 updating SDK and removing share intents 2013-12-27 15:28:28 -05:00
Nathan Freitas 6e795961f7 updating to Android 18 / 4.4 2013-12-27 15:28:15 -05:00
Nathan Freitas 420dd1e966 adding geoip ipv4 db back in for now 2013-12-27 15:27:54 -05:00
Nathan Freitas 1739473a1d more updates for moving binaries to libs/armeabi 2013-12-27 15:27:20 -05:00
Nathan Freitas 5870a674d8 update for 0.2.4.20 constant 2013-12-27 15:27:09 -05:00
Nathan Freitas 6a125a9dee more removal of share service from core Orbot
moving to a separate app
2013-12-27 13:34:16 -05:00
Nathan Freitas a0de73667f change "network conn" preference to be more clear 2013-12-27 13:25:03 -05:00
Nathan Freitas c58f009e84 remove simple jar from project (moving sharing to sep app) 2013-12-27 13:24:46 -05:00
Nathan Freitas 528642149d remove "ShareService" from projet (moving to separate app) 2013-12-27 13:24:25 -05:00
Nathan Freitas a8ca927610 remove simple file sharing server from build process 2013-12-27 13:24:15 -05:00
Nathan Freitas fbd4fdc857 updated to android-18 2013-12-27 12:43:12 -05:00
Nathan Freitas 6b0b0fa069 more changes for executing binaries from libs/jni folder 2013-12-27 12:30:20 -05:00
Nathan Freitas d40016b54a move minimum device support to API 9 or 2.3 2013-12-27 12:30:09 -05:00
Nathan Freitas d6d989af09 updated jar for jtor control 2013-12-27 12:29:59 -05:00
Nathan Freitas 4d6e0cca96 update makefile for new install process
update tags for libevent and tor
2013-12-27 11:14:11 -05:00
Nathan Freitas d236708e41 removing binaries from repo
binaries will now be stored in /libs/armeabi as psuedo shared libraries (actually executables)
android handles unpacking of shared libraries and makes them executable for user automatically
geoip will be available as an add-on download to reduce size of default app
2013-12-27 11:12:43 -05:00
Hans-Christoph Steiner ca8197fa5b update native build to include Android NDK build flags
This updates external/Makefile to be more integrated into the Android NDK,
by using the same variable names and including build flags from the NDK.
2013-12-05 19:28:54 -05:00
Hans-Christoph Steiner 2d34745b87 include note about git submodules in BUILD instructions 2013-12-05 18:49:23 -05:00
Hans-Christoph Steiner ddd62f29ae remove spaces and tabs where 'make' complains about them
spaces and tabs can have meaning in a Makefile, so stray ones can cause
troubles.  emacs makefile-mode warns about potentially troublesome errant
whitespace.
2013-12-05 18:38:11 -05:00
Nathan Freitas f4e73e9cd7 updating version to 12.0.5 2013-08-23 16:59:12 -04:00
Nathan Freitas abe1788648 another shared prefs fix 2013-08-23 16:46:48 -04:00
Nathan Freitas e632b3b04f fixes for sharing preferences across processes 2013-08-23 16:44:15 -04:00
Nathan Freitas 9a10cdda9d updated orbot glow icon 2013-08-23 13:03:59 -04:00
Nathan Freitas a9b41a8266 make orbot another background process 2013-08-23 12:56:18 -04:00
Nathan Freitas 8f44c516e1 make sure binaries and config files are updated 2013-08-23 12:56:04 -04:00
Nathan Freitas e84ee7101d added GUI support for flinging to a newnym identity 2013-08-23 12:47:31 -04:00
Nathan Freitas f12e556997 added support for NEWNYM signalling 2013-08-23 12:47:15 -04:00
Nathan Freitas 9dacb5be73 updated transproxy iptables rules to ensure clear/flush 2013-08-23 12:46:54 -04:00
Nathan Freitas 965dab26a9 updated to 12.0.4 2013-08-20 13:37:57 -04:00
Nathan Freitas 4407257e1c adding raw design resources 2013-08-20 13:26:39 -04:00
Nathan Freitas 5930964362 new green/tor on mode 2013-08-20 13:26:19 -04:00
Nathan Freitas cea338dab2 add new Root utility for checking if root is possible 2013-08-20 13:26:04 -04:00
Nathan Freitas 82fcea0dab fixes for superuser and iptables check code 2013-08-20 13:25:42 -04:00
Nathan Freitas 9d6f3c836b removed unneeded old iptables binaries 2013-08-20 13:25:23 -04:00
Nathan Freitas 38e2f49c9f 12.0.3 0.2.4.16-rc 2013-08-19 11:26:17 -04:00
Nathan Freitas 1bc97c6cc6 change default "disable network" pref to true 2013-08-19 11:24:43 -04:00
Nathan Freitas a97432c6e7 update manifest to 12.0.2 2013-08-19 11:20:38 -04:00
Nathan Freitas fb49463e10 update to latest tor 0.2.4.16-rc 2013-08-19 11:20:32 -04:00
Nathan Freitas 5bcb607391 update the readme copyright 2013-08-19 11:18:11 -04:00
Nathan Freitas 3d387af744 add our new icon source CC license link 2013-08-19 11:17:46 -04:00
Nathan Freitas eb1c6b0829 make the "check" button a bit smarter 2013-08-19 11:17:20 -04:00
Nathan Freitas 9a2a9897de updates to graphics, layouts and strings 2013-08-19 11:17:11 -04:00
Nathan Freitas 2cfd6af6c5 update torctrl jar 2013-08-19 09:35:24 -04:00
Nathan Freitas 79e6eecb5f update tor to tor-0.2.4.16-rc 2013-08-19 09:35:13 -04:00
Nathan Freitas 0a3cc50ce4 add resources for airplane mode/network disable 2013-08-19 09:34:27 -04:00
Nathan Freitas 2c278f3d52 fix for notifications and debug option for "airplane mode" 2013-08-19 09:34:03 -04:00
Nathan Freitas cdd75f31af disable share/send feature for this release 2013-08-19 09:33:55 -04:00
Nathan Freitas cfb047314a remove unneeded view and share intents 2013-08-19 09:33:44 -04:00
Nathan Freitas adc57ae291 removed android Debug code 2013-07-22 15:39:16 -04:00
Nathan Freitas d407f32166 update Tor binary version number to ensure upgrade 2013-07-22 15:20:47 -04:00
Nathan Freitas 5b574078c7 updated classpath for latest eclipse 2013-07-22 15:18:26 -04:00
Nathan Freitas bebb143fb9 make Orbot just one process 2013-07-22 15:18:15 -04:00
Nathan Freitas 21d1023ada fixes for prefs/settings management 2013-07-22 15:18:02 -04:00
n8fr8 303ceb416a updates for building 2013-07-22 13:57:10 -04:00
n8fr8 edd855f5ad new builds of binaries 2013-07-22 13:56:48 -04:00
n8fr8 42b111a216 updating commit peg for ndk8 fix 2013-07-22 13:39:40 -04:00
n8fr8 179ef6e04d updated git submodules to public https paths 2013-07-17 22:46:31 -04:00
n8fr8 1bf7bb0d5e updating version 2013-07-17 22:41:38 -04:00
n8fr8 74fed91fd2 updated jtorctrl built library 2013-07-17 22:38:49 -04:00
n8fr8 515b8ce695 added new strings resources 2013-07-17 22:38:12 -04:00
n8fr8 bbf8d8a03b updating string resources from transifex 2013-07-17 22:37:56 -04:00
n8fr8 273e190faa updating built binaries 2013-07-17 22:37:48 -04:00
n8fr8 4f9a502826 updated Tor repo 2013-07-17 22:37:25 -04:00
n8fr8 86d8c16587 updates for new UI and file sharing 2013-07-17 22:16:25 -04:00
n8fr8 8aaa8cbfb8 updated process to singletop; rev'd version 2013-04-03 15:49:07 -04:00
n8fr8 700121d4c1 add simple external module to ignore path 2013-04-03 15:48:44 -04:00
n8fr8 2ab32fcccd new preference value updates 2013-04-03 15:48:16 -04:00
n8fr8 b6e2507580 UI and flow updates 2013-04-03 15:47:55 -04:00
n8fr8 442216fd2e share service via http hidden service 2013-04-03 15:47:40 -04:00
n8fr8 667fa647c7 updated for settings return value 2013-04-03 15:46:50 -04:00
n8fr8 3ea016ba20 updates for reading preference settings 2013-04-03 15:46:03 -04:00
n8fr8 c5627f4f9a cleaned up notification support and added Share service 2013-02-12 14:29:41 +07:00
n8fr8 25a895a608 updated tor binary version number 2013-02-12 14:29:30 +07:00
n8fr8 c4810d485d added new method for remote server interface for Share service 2013-02-12 14:29:02 +07:00
n8fr8 1576775f02 closed reader stream 2013-02-12 14:28:29 +07:00
n8fr8 83319c1e56 added message for when internet is down 2013-02-12 14:28:07 +07:00
n8fr8 63b31cdb97 updated to android 17 target 2013-02-12 14:27:56 +07:00
n8fr8 eb3f95c31a updated params for tuning, including largeHeap=true 2013-02-12 14:27:31 +07:00
n8fr8 21c27972d9 support landscape layout and new Share intent
- when device is landscape, the log will show on the main screen
- Orbot v12 includes a new simple share service for HS based file sharing
2013-02-12 14:26:38 +07:00
n8fr8 7df2acd59c cleanup of imports and unclosed streams 2013-02-12 14:26:12 +07:00
n8fr8 ba9b95a1cb new landscape layout for tablets with log view 2013-02-12 14:07:39 +07:00
n8fr8 2b9007e663 updated to latest libevent and tor repos 2013-02-12 14:07:14 +07:00
n8fr8 fe591d6f3c updated to latest jar libs 2013-02-12 14:07:02 +07:00
n8fr8 225cd328a6 tuning of torrc to try to resolve bugs
some users cannot connect to localhost tor control port
2013-02-12 14:05:52 +07:00
n8fr8 aaa2ed56de updated built binary to 0.2.4.10-alpha 2013-02-12 14:05:39 +07:00
n8fr8 216a41d896 adding new HS/onion based file sharing service 2013-02-12 14:05:20 +07:00
n8fr8 1748cb49e2 added missing path to libevent include 2013-02-12 13:44:09 +07:00
n8fr8 fb0a0fad34 updated to 0.2.3.25 2013-02-07 15:24:13 +07:00
n8fr8 8023d16ce8 updated locale handling to stop flashing 2013-02-07 15:24:01 +07:00
n8fr8 e2bbe4cae6 proper spelling of Farsi 2012-11-07 01:31:54 +05:30
n8fr8 2d9e6c04b6 v11 stable update 2012-11-07 01:30:16 +05:30
n8fr8 db49a5996d updating tor binary version in constants to force upgrade 2012-10-26 09:49:19 +05:30
n8fr8 9daaec2f84 tor 0.2.3.23-RC binary included in resources 2012-10-26 09:40:31 +05:30
n8fr8 3ba263873b small tweaks to en strings 2012-10-25 23:43:16 +05:30
n8fr8 c4604f348a updated to latest localization from transifex 2012-10-25 23:18:40 +05:30
n8fr8 b4d815f2cb rewrote transproxy rules to use user-defined Orbot chain 2012-10-25 15:29:55 +05:30
n8fr8 0e5b24e6d9 removed static call to TorService logging 2012-10-25 15:29:47 +05:30
n8fr8 d64cdde3a6 small change to transproxy test 2012-10-25 15:29:00 +05:30
n8fr8 4edb1cc992 updated notification icon to new onion 2012-10-25 15:28:45 +05:30
n8fr8 0af2b712ce removed getInfo for traffic totals; moved to callback 2012-10-25 15:27:59 +05:30
n8fr8 219242cef7 updated target version 2012-10-25 15:27:38 +05:30
n8fr8 ff38bf4e5c added screenSize config change support 2012-10-25 15:19:01 +05:30
n8fr8 29573d1c0f moved init to oncreate to try and stop flashing 2012-10-25 15:15:11 +05:30
n8fr8 bc9a466189 added new onion notification icon 2012-10-25 15:14:51 +05:30
n8fr8 3c4e2dd046 moved to 0.2.3.23-RC tor binary 2012-10-25 15:14:36 +05:30
n8fr8 8b8b9fabb6 slight button resize to stop text cutoff 2012-10-22 20:50:10 +05:30
n8fr8 85d065f40c 0.2.4.4-alpha-1.0.11-RC4 2012-10-22 17:52:49 +05:30
n8fr8 0b1ec12643 0.2.4.4-alpha-1.0.11-RC4 2012-10-22 17:52:30 +05:30
n8fr8 7dcdb4c42d updated tor binary to 0.2.4.4-alpha 2012-10-22 17:52:16 +05:30
n8fr8 24f2876291 updated manifest for v11 RC4 2012-10-22 17:44:09 +05:30
n8fr8 8cb47d7ccf updated changelog 2012-10-22 17:43:56 +05:30
n8fr8 187b8e2643 updated wizard to always show recommended apps 2012-10-22 17:43:34 +05:30
n8fr8 7581f10f0f added Google Play to tips page 2012-10-22 17:18:00 +05:30
n8fr8 2b3164ef6c fixed double adding of iptables rules, and proper clearing 2012-10-22 13:43:13 +05:30
n8fr8 b90483f65b remove anti-alias call for older devices 2012-10-22 13:43:01 +05:30
n8fr8 4791e4e93f updates to "tips" wizard page for orbot-enabled apps 2012-10-22 02:03:26 +05:30
n8fr8 993e2a0c18 display % complete status messages on main screen 2012-10-21 23:43:52 +05:30
n8fr8 7617c6bdb4 small updates for new ABS lib 2012-10-21 15:41:28 +05:30
n8fr8 f0d4b8a847 updated version and release code 2012-10-21 15:35:32 +05:30
n8fr8 77ebef409a removed unneeded versioned menu resources 2012-10-21 15:33:37 +05:30
n8fr8 c47713cfb3 shortened up/down indicator labels 2012-10-21 15:33:22 +05:30
n8fr8 411b56abd1 moved up/down counters back to main screen 2012-10-21 15:32:54 +05:30
n8fr8 50de0bb788 removed unused method from binary installer 2012-10-21 15:32:40 +05:30
n8fr8 46bf5dd6be minor updates for ActionBarSherlock support 2012-10-21 15:32:04 +05:30
n8fr8 15ce48cf10 1.0.11 RC2 release 2012-10-04 11:47:32 +05:30
n8fr8 7f1ef4eab6 cleaning up git 2012-10-04 11:29:58 +05:30
n8fr8 46bdcf0995 adding obfuscation config 2012-10-04 11:29:42 +05:30
n8fr8 3ff65d2eed collection of submitted patches 2012-10-04 11:28:47 +05:30
n8fr8 6e45cab8ee allows UDP packets to localhost for DNS 2012-10-04 11:27:17 +05:30
n8fr8 db128fbc2a updated display for setting data transfer UI 2012-10-04 11:27:09 +05:30
n8fr8 a593423e3a fixes log layout for narrow screens 2012-10-04 11:26:12 +05:30
n8fr8 433f1cdeb9 updated change log for v11 RC1 2012-10-01 13:21:57 +05:30
n8fr8 9de420e124 fixes for transproxy rule adding/deleting 2012-10-01 13:46:08 +05:30
n8fr8 5363355d42 updated jar binary for development 2012-10-01 12:36:51 +05:30
n8fr8 153ad598be updated binaries for development 2012-10-01 12:36:33 +05:30
n8fr8 ebfa7f3e1f updated layout for new log drawer 2012-10-01 12:36:15 +05:30
n8fr8 abebfd565e user interface updates - "log" drawer with up/down stats 2012-10-01 12:35:48 +05:30
n8fr8 331daa07b4 updates for transproxy iptables detection on JB 2012-10-01 12:35:31 +05:30
n8fr8 29e2452aea updated to ndk 8b/gcc 4.6 toolchain 2012-10-01 01:18:06 +05:30
Sathyanarayanan Gunasekaran 855892e136 Centre the text in the wizard 2012-10-01 00:20:45 +05:30
n8fr8 d1e299250a adds UDP reject for transproxy; thx to patrickbx
From a81741afe06ac2309b4306dedbd5a0ebf755b7e1 Mon Sep 17 00:00:00 2001
From: patch <patrickbx@gmail.com>
2012-10-01 00:18:22 +05:30
n8fr8 971c04e9f2 removing unintended debugger statement :( 2012-10-01 00:08:47 +05:30
Sathyanarayanan Gunasekaran dbdadf2115 Add DisableNetwork support
DisableNetwork tells tor to drop the current circuits and stop
building new ones. A BroadcastReciever is triggered when there
are changes in the network connection which toggles DisableNetwork.
2012-09-30 23:58:22 +05:30
n8fr8 efc6d95314 fixing transproxy to set/clear on rule by rule basis 2012-09-30 23:57:59 +05:30
n8fr8 1d8efbfca4 layout clean-up on datastats display 2012-09-30 23:57:46 +05:30
n8fr8 9ccedc2e63 reverting to earlier version 2012-09-30 22:02:41 +05:30
n8fr8 7e91c8eecb reverting to last known working version 2012-09-30 21:59:29 +05:30
n8fr8 7eae8d5ddb adding raw binaries and updating manifest 2012-09-30 21:17:44 +05:30
n8fr8 e8c3fdc1ed add total display to data transfer UI 2012-09-30 18:37:37 +05:30
n8fr8 eceede30f9 Merge branch 'datastats' 2012-09-30 18:14:54 +05:30
n8fr8 bcb162b154 typo update for iptables 2012-09-30 18:14:44 +05:30
n8fr8 bfcebdaba2 small updates for datastats merge 2012-09-30 18:14:25 +05:30
Sathyanarayanan Gunasekaran 5b6e83c6f6 Total Bandwidth prep code 2012-09-30 18:03:01 +05:30
Sathyanarayanan Gunasekaran 92fbd45f4e Adding neccessary prep code for Total BW 2012-09-30 18:01:56 +05:30
Sathyanarayanan Gunasekaran d54e72e094 ENABLE_DEBUG_TOGGLE update, proper AIDL implementation
Data stats are now shown irrespective of
whether ENABLE_DEBUG_TOGGLE is toggled or not.
ITorServiceCallback.aidl has been updated to
include a new method updateBandwidth(long ,long)
to hook the data passed from the service into
the GUI.
2012-09-30 18:01:56 +05:30
Sathyanarayanan Gunasekaran 841d83b3b4 Bugfixes + improved formatting 2012-09-30 18:01:20 +05:30
Sathyanarayanan Gunasekaran e114be51d0 Improved Formatting
Now shows the data with upto 2 decimal places.
If under 2Mb, shows "xxx.xKb", else shows "xxx.xxMb"
2012-09-30 18:00:06 +05:30
Sathyanarayanan Gunasekaran a2981152a7 Traffic is shown in the main UI 2012-09-30 18:00:06 +05:30
Sathyanarayanan Gunasekaran f181f26d4e Data stats - ARRRRRRRR not working 2012-09-30 17:58:10 +05:30
patch 26464765a9 Modified iptables rules for transproxying. UDP is now blocked. Also removed some redundant rules and reordered others. I reordered by the idea that its generally easier to specifically allow traffic before your reject it.
Signed-off-by: n8fr8 <nathan@freitas.net>
2012-07-24 13:17:40 -04:00
patch c2f3f77053 Modified iptables rules for transproxying. UDP is now blocked. Also removed some redundant rules and reordered others. I reordered by the idea that its generally easier to specifically allow traffic before your reject it.
Signed-off-by: n8fr8 <nathan@freitas.net>
2012-07-24 13:16:43 -04:00
n8fr8 eb2f1c22df updated icon and versionin (alpha 1.0.10) 2012-07-24 13:08:58 -04:00
n8fr8 747fd8c46a updated notification resources 2012-07-24 13:08:18 -04:00
n8fr8 ba972402df update graphics 2012-07-24 12:58:40 -04:00
n8fr8 a80d029fef updated method for building privoxy from src 2012-07-06 14:53:29 -04:00
n8fr8 a8fab5e851 removed privoxy source 2012-07-06 14:53:01 -04:00
n8fr8 8d27d15039 updated changelog 2012-06-29 12:04:38 -04:00
n8fr8 318beaabcd re-added startService() call as some devices/OS need it 2012-06-29 12:04:26 -04:00
n8fr8 85963c44e8 additional notification icon cleanup 2012-06-29 12:04:11 -04:00
n8fr8 080fd5e249 made transproxy app list alphabetical 2012-06-29 11:41:36 -04:00
n8fr8 ea7154f2c8 small cleanup to main layout and notify icons 2012-06-29 11:41:13 -04:00
n8fr8 7ab5fae522 updated manifest version 2012-06-28 22:54:07 -04:00
n8fr8 c6b6cd3d66 fixed relay resolv.conf DNS error #2069 in tor trac 2012-06-28 22:50:18 -04:00
n8fr8 2d4ebe27ee fixed check for tor binary and install process 2012-06-28 22:02:09 -04:00
n8fr8 3de5d66440 attempted to address leaking bound service 2012-06-28 17:01:35 -04:00
n8fr8 eb2b7531c9 cleaned up background view, removed unused thread 2012-06-28 17:01:24 -04:00
n8fr8 ecf3c79b72 transproxy app manager reset to show all apps
attempted to 'detect' if an app had internet permissions
but that was not working
2012-06-28 17:00:41 -04:00
n8fr8 6d654db37a updated strings, removing unneeded values & layouts 2012-06-28 17:00:14 -04:00
n8fr8 2a4805db1b updated changelog for v9 2012-06-28 01:21:45 -04:00
n8fr8 fea2a586e8 tweaked layout for smaller screens 2012-06-28 00:46:54 -04:00
n8fr8 2f4bef1c53 updated binary versions for auto-upgrade 2012-06-28 00:46:44 -04:00
n8fr8 e74ac90edf fixed obfsproxy android patch build error 2012-06-28 00:28:48 -04:00
n8fr8 f614a46f8f removed privoxy clean target 2012-06-27 23:54:40 -04:00
n8fr8 d775c57618 fixed cleanup for privoxy build 2012-06-27 23:53:04 -04:00
n8fr8 73545f9c47 updated config files for privoxy 2012-06-27 23:52:24 -04:00
n8fr8 d2ff57ec9e removed lpthread library flag 2012-06-27 23:51:37 -04:00
n8fr8 fad61a85fd more privoxy 3.0.12 files 2012-06-27 23:43:38 -04:00
n8fr8 3313e38ac9 privoxy 3.0.12 clean checkin 2012-06-27 23:42:39 -04:00
n8fr8 f5183d8128 updated privoxy to 3.0.19-stable 2012-06-27 23:17:49 -04:00
n8fr8 6620e144a1 updated strings; made notify on/off option work again 2012-06-27 22:44:33 -04:00
n8fr8 5c5bfba88e updated code for privoxy cleanup 2012-06-27 22:23:00 -04:00
n8fr8 5f3b47cdb3 udpated version to RC3 2012-06-27 21:44:57 -04:00
n8fr8 97a0709eb3 added background view; fixed long click; 2012-06-27 21:40:19 -04:00
n8fr8 fe14d484fa removed unneeded landscape custom layout 2012-06-27 21:32:37 -04:00
n8fr8 265bd29a6c updated layout for larger screens 2012-06-20 23:46:06 -04:00
n8fr8 0bde42a44d deleted config log 2012-06-19 22:11:54 -04:00
n8fr8 ad0601abb1 removed obfsproxy binary 2012-06-19 20:47:38 -04:00
n8fr8 f3228e5909 updated version 2012-06-19 20:46:02 -04:00
n8fr8 4ae52261cf updated impl of torified apps logic 2012-06-19 20:45:25 -04:00
n8fr8 9ff5c22598 improved wizard flow on non-root devices 2012-06-19 20:45:04 -04:00
n8fr8 2655088ae6 removed gcc ssp hardening
ssp_noshared not currently available in Android NDK
2012-06-19 20:44:06 -04:00
n8fr8 006c9502e0 updated privoxy files 2012-06-05 12:05:39 -04:00
n8fr8 849096c310 fixed posix thread option for Privoxy 2012-06-05 12:04:56 -04:00
n8fr8 81efd93305 udpated manifest version 2012-05-09 23:08:37 -04:00
n8fr8 842f84e788 added docs folder and readme's 2012-05-09 23:08:00 -04:00
n8fr8 da061f40e3 project file cleanup 2012-05-09 23:07:40 -04:00
n8fr8 daf89658dc clarified english strings for hidden srv and proxying 2012-05-09 23:07:09 -04:00
n8fr8 bf044b9390 moved Tor data directory to app_data from cache 2012-05-09 23:06:46 -04:00
n8fr8 aba382c581 fixing libevent broken ssl building 2012-05-09 00:43:33 -04:00
n8fr8 ad4060f2a0 added dep on openssl-static by libevent for some platforms 2012-05-09 00:11:59 -04:00
n8fr8 b0bb72abfb clean out all jars from libs 2012-05-07 22:07:44 -04:00
n8fr8 c1bcc96472 adding in clean of old tor res raw binary 2012-05-07 20:40:17 -04:00
n8fr8 0604eb2ba0 updated makefile to fix issues resources
- moved jtorctrl.jar to jtorctl.jar for consistency with
source library
- make assets now zips up tor binary and renames to .mp3
extension to handle issues with older Android devices
breaking when trying to decompress a large file. By
naming mp3, there is no attempt to decompress.
2012-05-06 22:47:34 -04:00
514 changed files with 208686 additions and 217047 deletions

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="libs/jtorctrl.jar"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

68
.gitignore vendored Normal file
View File

@ -0,0 +1,68 @@
# auto-generated files from Android builds
build.xml
ant.properties
default.properties
proguard.cfg
proguard-project.txt
#
releases
docs
doc
.directory
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# subdirs for generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Android Studio
*.iml
.idea/
.gradle/
build/
#tfx
.transifexrc
/external/appcompat/bin/
/external/appcompat/gen/
/external/bin/
/external/include/
/external/*-build-stamp
/external/lib/
/external/privoxy/
/external/test.c
/external/test.h.gch
/external/translation/
bin
gen
native
libs/jtorctl.jar
local.properties
builds
external/patches/*
obj
app/src/main/jniLibs/
app/src/main/libs/
orbotservice/src/main/libs/
orbotservice/src/main/jniLibs/

30
.gitmodules vendored
View File

@ -1,18 +1,20 @@
[submodule "external/openssl-static"]
path = external/openssl-static
url = git://github.com/guardianproject/android-external-openssl-ndk-static.git
[submodule "external/tor"]
path = external/tor
url = git://git.torproject.org/git/tor.git
url = https://git.torproject.org/git/tor.git
ignore = dirty
[submodule "external/libevent"]
path = external/libevent
url = git://github.com/libevent/libevent.git
[submodule "external/jtorctrl"]
path = external/jtorctrl
url = git://git.torproject.org/git/jtorctl
[submodule "external/jtorctl"]
path = external/jtorctl
url = git://git.torproject.org/git/jtorctl
[submodule "external/obfsproxy"]
path = external/obfsproxy
url = git://git.torproject.org/obfsproxy.git
url = https://github.com/libevent/libevent.git
ignore = dirty
[submodule "external/openssl"]
path = external/openssl
url = https://github.com/openssl/openssl.git
ignore = dirty
[submodule "external/zstd"]
path = external/zstd
url = https://github.com/facebook/zstd.git
ignore = dirty
[submodule "external/xz"]
path = external/xz
url = https://git.tukaani.org/xz.git
ignore = dirty

View File

@ -5,6 +5,16 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
@ -30,10 +40,40 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<filteredResources>
<filter>
<id>1451443416388</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-external</arguments>
</matcher>
</filter>
<filter>
<id>1451443416398</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-jni</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -1 +0,0 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -1 +0,0 @@
Window

View File

@ -36,3 +36,9 @@ in TorTransProxy for handling the "transproxy all" mode of operation. Before
certain system processes were leaking traffic, and this was also detected
by his excellent auditing.
Amogh Pradeep <amoghbl1@gmail.com> submitted a patch to address an issue
with the ongoing data transfer notification dying now and then, and is
working on improving the notification display in general
We found a nice new power button vector set here under the CC license:
http://vector4free.com/vector/free-vector-power-buttons/

View File

@ -1,76 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.torproject.android"
android:versionName="0.2.3.15-alpha-1.0.8-RC1"
android:versionCode="37"
android:installLocation="auto"
>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15"/>
<application android:name=".OrbotApp" android:icon="@drawable/icon"
android:label="@string/app_name"
android:configChanges="locale|orientation"
android:debuggable="true">
<activity android:name=".Orbot">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="bridge" />
<data android:scheme="bridge+obfs" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="org.torproject.android.REQUEST_HS_PORT" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="org.torproject.android.START_TOR" />
</intent-filter>
</activity>
<activity android:name=".wizard.LotsaText"/>
<activity android:name=".wizard.Permissions"/>
<activity android:name=".wizard.TipsAndTricks"/>
<activity android:name=".wizard.ConfigureTransProxy"/>
<activity android:name=".wizard.ChooseLocaleWizardActivity"/>
<activity android:name=".settings.SettingsPreferences" android:label="@string/app_name"/>
<activity android:name=".settings.AppManager" android:label="@string/app_name"/>
<service android:enabled="true"
android:name=".service.TorService"
android:exported="false"
>
<intent-filter>
<action android:name="org.torproject.android.service.ITorService" />
<action android:name="org.torproject.android.service.TOR_SERVICE" />
</intent-filter>
</service>
<receiver android:name=".OnBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
</manifest>

70
BUILD
View File

@ -1,5 +1,6 @@
This document explains how to properly build an Android package of Orbot from source.
This document explains how to properly build an Android package of Orbot from
source.
Orbot includes, in the external directory, git repo submodules of:
- Tor
@ -7,71 +8,38 @@ Orbot includes, in the external directory, git repo submodules of:
- LibEvent
- JTorControl: The Tor Control Library for Java
The Orbot repo also includes the Privoxy source code of a recent stable release.
Please install the following prerequisites (instructions for each follows):
ant: http://ant.apache.org/
Android Native Dev Kit or NDK (for C/C++ code): http://developer.android.com/sdk/ndk/index.html
Android Software Dev Kit or SDK (for Java code): http://developer.android.com/sdk/index.html
Android Native Dev Kit or NDK (for C/C++ code):
http://developer.android.com/sdk/ndk/index.html
Android Software Dev Kit or SDK (for Java code):
http://developer.android.com/sdk/index.html
AutoMake and AutoConf tool
sudo apt-get install autotools-dev
sudo apt-get install automake
sudo apt-get install autogen autoconf libtool gettext-base autopoint
You will need to run the 'android' command in the SDK to install the necessary Android platform supports (ICS 4.x or android-15)
You will need to run the 'android' command in the SDK to install the necessary
Android platform supports (ICS 4.x or android-15)
To begin building, from the Orbot root directory, you first need to build all external C/native dependencies:
Be sure that you have all of the git submodules up-to-date:
export NDK_BASE={PATH TO YOUR NDK INSTALL}
make -C external
./tor-droid-make.sh fetch
At this point, you'll have Tor and Privoxy binaries that can be run on an Android handset.
You can verify the ARM binary was properly built using the following command:
To begin building, from the Orbot root directory, it builds all submodules and
the project.
file res/raw/tor
file res/raw/privoxy
You should see something like:
src/or/tor: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
This isn't enough though and we'll now sew up the binary into a small package
that will handle basic Tor controlling features.
android update project --name Orbot --target android-15 --path .
#Now you need to split and copy the tor binary into res/raw. We split it into < 1M chunks
#because some Android devices don't like resources larger than 1M.
#split --bytes=1m $DROID_ROOT/external/tor/tor/src/or/tor res/raw/tor
./tor-droid-make.sh build
Now build the Android app
ant release
(gradle / android studio instructions here)
This will produce an unsigned Tor package in ./bin/Orbot-unsigned.apk!
This will produce an unsigned Tor package APK.
To produce a usable package, you'll need to sign the .apk. The basics on
signing can be found on the Android developer site:
http://developer.android.com/guide/publishing/app-signing.html
The three steps are quite simple. First, you'll generate a key. Secondly,
you'll sign the application. Thirdly, you'll verify the the apk.
Generating a signing key:
keytool -genkey -v -keystore my-release-key.keystore \
-alias orbots_key -keyalg RSA -validity 10000
Sign the apk:
jarsigner -verbose -keystore my-release-key.keystore \
bin/Orbot-unsigned.apk orbots_key
Verify the signature for the apk:
jarsigner -verify bin/Orbot-unsigned.apk
mv bin/Orbot-unsigned.apk bin/Orbot-signed-alpha.apk
You can also GPG sign the apk and generate an .asc:
gpg -ab Orbot-signed-alpha.apk
Now you should have a fully signed and production ready alpha release of Orbot!
Give bin/Orbot-signed-alpha.apk an install and send us bug reports!

150
CHANGELOG
View File

@ -1,150 +0,0 @@
NOTE: Specific #s below correspond to Trac tickets logged and maintained at https://trac.torproject.org/projects/tor/
1.0.8 (includes 1.0.7.3 and 1.0.7.2)
- new external/Makefile and git submodules
- fixed tor control port cookie file path lookup related to #5305
- updated strings
- adding in manual locale selection
- added obfsproxy binary to res/raw and binary installation process
- added new preferences to support obfsproxy bridge configuration
- upgraded tor binary to 0.2.3.11-alpha
1.0.7
- reduced data folder size by making geoip file only installed on demand
- added options for turning of persistent notification
- enabled access to localhost ports for SOCKS, HTTP, etc even when transproxy is on
- improved handling of tor and privoxy binary upgrades
- updated openssl to 1.0.0f to address recent SSLv3 threat
- check for root mode uses "which su" command and does not look for Superuser.apk
- changed tor binary res/raw storage mechanism to use the "mp3" file ext trick
1.0.6.1
- small fixes to wizard UI
- fixed "exit" problem, after running wizard
1.0.6
- updated tablet layout graphic sizing
- stopped Orweb from being transparent proxied (not needed)
- updated to Tor 0.2.3.7-alpha binary
- geoip database now included for exit/entrace node control
- stopped iptables rule purging if transproxy is not enabled (conflicted with DroidWall and others)
1.0.5.3
- added auto-tor of wireless and usb tethering
- integrated new setup wizard
- moved large tor binary into split multiple 1M segments to fix for devices with 1M resource limit
1.0.5.1/.2
- small updates to layout of main screen to fit smaller screens
- fixed preference setting of EntryNode torrc value
1.0.5
- added exit node and "StrictExitNode" preference
- fixed tor binary installation issue related to max resource size and compression
- updated "start on boot" code to test for proper launch event
- updated to Tor 0.2.2.25-alpha binary
- moved back to single notification bar id to avoid double entries
- cleaned up progress dialog and alert handling to avoid leaky windows
- Merged __sporkbomb's patch for how transproxy all works; now does "everything but Tor"
- Added new toolbar notifications and alerts for displaying notifications and Tor messages
- Removed unused Socks client code from android.net package
- Updated wizard to show link to Gibberbot (formerly OTRchat) chat app
- Bundled iptables 1.4.7 for ARM instead of relying on installed version
- Fixed various issues related to iptables, transproxying for CyanogenMod7/Android 2.3.*
- Changed how settings changed are processed through the control port (batched instead of one by one)
- Stopped app by app flushing of iptables rules, in favor of complete flush of 'nat' and 'filter' type
- removed useless log screen (logs can be viewed/retrieved using 'alogcat' 3rd party app)
1.0.4
- Added Russian, Persian, Arabic and other .po translations (see res/values-* folders)
- Fixed incorrect try to clear iptables rules for non-root devices
- Fixed bug that stopped wizard helper from showing first time
- Added new green notification icon when Tor is connected
- Fixed app selector layout in settings
- Moved minSDK to 4 (Android 1.6); discontinued 1.5 support
- Fixed log screen touch disable tor bug
- Debugged issues around network status change causing FC/crash
- Added "Start on Boot" option
1.0.3
- Fixed spanish language issues with settings screen
- Cleaned up logging, and moved most of it to debug output only
- Small changes to iptables, transproxy settings to handle iptables 1.3 and 1.4 variations
- Added compile time variable/flag for turning on/off detailed control port output to Android stdout
- Hidden services now support through option in settings
- removed double apostrophes from value/strings.xml files
1.0.2
- Added "check" yes/no dialog prompt
- Debugged iptables/transprox settings on Android 1.6 and 2.2
- Added proxy settings help screen and fixed processSettings() NPE
1.0.1
- Found and fixed major bug in per-app trans proxying; list of apps was being cached and iptables rules were not properly updated as the user changed the selection in the list
1.0.0 - 2010-08-10
- Added "Proxy Settings" help screen
- Handle potential null pointers on process settings where service not yet active
0.0.9x - 2010-08-03
- Revised Orbot install wizard
- Integrated Tor 0.2.2.14 and iptables 4.x binary
- Fixed "got root" detection method
- Fixed Per App Torification handling so it updates on exit from Settings screen
0.0.8x - 2010-07-15
- Updated Settings & App configuration screens
- Changed progress dialog display
- Significant application re-arch
- Fixed force stop crash on install
- Integrated Tor 0.2.2.13-alpha-dev binary
- Fixed su shell cmd error handling & root perms issue
- #1570: Added new setup wizard on install to clarify root / non-root capabilities
- #1716: Per-app traffic routing prefs not persisted
- #1509: Help window is too big for the screen on android 1.6
- #1513: Orbot can't be told to exit <-- added 'Exit' menu option
- #1530: Capture sh cmd stout for debugging errors <-- updated debug log screen
- #1531: Don't loop ad infinitum in Orbot fails <-- only retries 3 times now
- #1272: Orbot should store Tor files in the cache
- #1273: Info should mention anonymity problems with ProxySurf
0.0.5x
- #1388: Error parsing PID from output of "ps"
- #1277, #1278: Enabling bridges issues
- #1279: Misleading message when initialization is finished
- #1292: Tor version in About screen is wrong
0.0.3x - 2010-03-15
- Added Start/Stop menu item for non-touch activation
- Improved parsing and validation of settings screen
- UI now compatible with landscape mode (#1276)
- Added relay support for static/publicly accessible IP devices
0.0.3a - 2010-02-07
- Integrated iptables support for transparent proxying of outbound port
80 and DNS
- Privoxy is now used as HTTP Proxy server (cross-compiled to ARM)
- New UI layout and graphics
- Android settings screen for generated torrc file
- Improved performance and error handling
0.0.2a - 2009-11-30
- Update user interface layout and graphics
- Modified service launch, shutdown and handling
- Improved event handler on Tor Control port callbacks
- Added Help page
0.0.2 - 2009-11-27
- Major improvement to the user interface including relative layout for
different screens
- New graphics resources
- Implemented Tor Control Port using official Java library
- Added 'clear' button to the log screen
- Added 'save' and editable textbox for the settings screen
- Moved screen navigation to a pop-up menu
0.0.1-alpha - 2009-10-21
- First code release
- Major Features: Tor binary application is fully operational, UI:
Start/Stop Tor, View Message Log, View Settings (torrc)

View File

@ -1,45 +0,0 @@
GSoC Plan
=========
A tl;dr version
---------------
I will be improving the Orbot UI/UX, and adding several features such as data statistics and also
implementing the TorCheck API. I plan on extending the ORLib library and also creating an ORLib enabled
app as a sort of primer for other third party apps to follow
The full version
----------------
Orbot UI/UX
===========
At the moment, the Orbot UI/UX is clustered and not very intuitive. I plan on improving the existing
elements of the UI and also add a variety of new features such as
* A new Set up Wizard ( which checks for iptables )
* Changes to the preferences ( should be made to follow the Android guidelines)
Orbot Core app work
===================
At the moment, Orbot displays a successful connection without actually checking the connection. This is a
pressing issue, because the user is not notified if the set-up has failed, unless he/she manually checks
the torcheck web service. This should be made automatic by making using of the TorCheck API. Also, Orbot
should be configured to show more information about the data being transmitted such as -
* Amount of data transferred
* Quality of the connection
* Number of circuits connected
ORLib
=====
Currently, ORLib is very minimal at the moment, both in term of features and support/documentation. ORLib
is very critical to the use of Orbot as it provides transparent proxying on non-rooted devices ( A major
chunk of android phones are un-rooted). I intend to -
* Improve the existing library by adding additional features
* Check for existing of Orbot
* Check status of connection to Tor
* Provide option to start Orbot via intent
* Request hidden service by port, and get return hidden service .onion address
* Create an ORLib enabled “Twitter, Status.net or other micro blogging Client” A sort of primer for
third-party apps
* Improve the documentation

40
INSTALL
View File

@ -1,40 +0,0 @@
Orbot: Android Onion Routing Robot
***********************************************
Android is a freely licensed open-source application developed for the
Android platform. It acts as a front-end to the Tor binary application,
and also provides an HTTP Proxy for connecting web browsers and other
HTTP client applications into the Tor SOCKS interface.
*** PreReqs ***
You need the Android Developer SDK to compile and build the APK file:
http://developer.android.com/
The project files including in this distribution are meant to be used
with Eclipse: http://eclipse.org/
*** How to use ***
Currently, Orbot will work with any application that supports using
an HTTP or SOCKS Proxy. Once you start Tor using Orbot, you can then
point your application to HTTP port 8118 or SOCKS port 9050 on localhost
IP 127.0.0.1.
If you have root access, and a version of Android with iptables that
supports the netfilter owner module, then Orbot can setup transparent
proxying for any application.
Finally, Firefox on Android is available, and we have released an
add-on named ProxyMob for configuring SOCKS proxy settings for use
with the local Tor socks proxy.
** A Few Notes **
To ensure you are connected to the Tor network, you should browse to
https://check.torproject.org/
The first time you activate Orbot, it may take a while to connect to
Tor. Check the message log to ensure you are "100% Bootstrapped".
***********************************************
/* Copyright (c) 2009,2010,2011, Nathan Freitas, The Guardian Project
* http://guardianproject.info/ */

64
LICENSE
View File

@ -41,6 +41,41 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*****
===============================================================================
Orbot includes the Obfs4 pluggable transport:
https://gitweb.torproject.org/pluggable-transports/obfs4.git
Copyright (c) 2014, Yawning Angel <yawning at torproject dot org>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
===============================================================================
*****
*****
Orbot contains a binary distribution of Privoxy (http://www.privoxy.org/)
Copyright © 2001-2010 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
@ -158,3 +193,32 @@ is explicitely stated in the header of every file.
The GPL also contains some obligations. If you distribute netfilter/iptables code
in binary form, you have to offer the source code, too.
===============================================================================
===============================================================================
Orbot also includes BadVPN tun2socks: https://github.com/ambrop72/badvpn
Copyright (c) 2009, Ambroz Bizjak <ambrop7@gmail.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the author nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
===============================================================================

View File

@ -1 +0,0 @@
Information on configuration/building of Obfsproxy comming soon

33
README
View File

@ -1,15 +1,28 @@
Orbot: Android Onion Routing Robot
Tor Android
***********************************************
Orbot is a freely licensed open-source application developed for the
Android platform. It acts as a front-end to the Tor binary application,
and also provides an HTTP Proxy for connecting web browsers and other
HTTP client applications into the Tor SOCKS interface.
This is a project forked from Orbot for building the tor binary for Android
How to Build
***********************************************
Orbot is a component of the Guardian Project, an effort to develop
a secure, anonymous smartphone for use by human rights activists, journalists
and others around the world. Learn more: http://guardianproject.info/
Please see: https://raw.githubusercontent.com/n8fr8/tor-android/master/BUILD
How to Use via Gradle
***********************************************
Add the repository your list as shown:
repositories {
maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
}
and then add the dependency, setting it to the latest version (or any version) we have made available, as a release:
dependencies {
compile 'org.torproject:tor-android-binary:0.3.1.9'
}
***********************************************
Tor protects your privacy on the internet by hiding the connection
@ -21,7 +34,3 @@ Tor Frequently Asked Questions:
https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ
https://www.torproject.org/faq.html.en
***********************************************
/* Copyright (c) 2009-2010, Nathan Freitas, The Guardian Project
* http://guardianproject.info/ */

View File

@ -1,90 +0,0 @@
.
└── org
└── torproject
└── android
├── AppManager.java
//this is what helps us track the app-by-app torification
//and gets the app name, icon, etc for display - we have some problems here
//in normalizing the icon on the list label
//some of this code came originally from DroidWall project (yay open source)
├── boot
│ └── OnbootBroadcastReceiver.java
//i think this is a dup now and should be removed
├── HiddenServiceManager.java
//empty! but at some point i thought it would be good to aggregate HS functions here
├── OnBootReceiver.java
//this is the class registered in AndroidManifest.xml to handle Onboot events
//to start Orbot/Tor when the device boots if the user has elected to do so - what kind of permissions does this require?
// <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
// BTW, this shows up as a fairly unintrusive type perm request now in Android / in older versions (1.6 and earlier)
// it was reported "as read / monitor phone state" and paranoid Tor-types didn't like the idea of it
// in 1.6+ it has a much better UX in terms of having a more granular permisions around boot since it is a very
// common request - ah , that's awesome, i think i remember seeing sth of this sorts when i was going through the guardianproject mailing list. iirc this is something ioerror wanted
├── Orbot.java
//our wonderful main activity!
├── ProcessSettingsAsyncTask.java
//this was just added in 1.0.5.x, but it was meant to help stop the UI blocking while processing settings and prefs
//it uses the AsyncTask feature of Android, which seems to work pretty well
//for this type of non-time critical function you just want to happen in the background at some point soon-ish
├── SettingsPreferences.java
// Settings activity that loads the res/xml/preferences.xml resource up
// has some custom event handlng, onActivityResult callback result code's as well
// basically meant to tell Orbot activity if critical settings have been modified and whether
// those new settings should be applied (like iptables/transproxy changes)
├── TorConstants.java
// globals! well, constants! but yeah, just a place to put values we use a lot
├── TorifiedApp.java
// object to store a single app's metadata for display in UI and for transproxy process
├── Utils.java
// random methods that can be useful, a.k.a. another place to put stuff
├── WizardActivity.java
// our original attempt at wizard activity that didn't get far
└── WizardHelper.java
// the helper class that manages the dialog based wizard
├── service //okay the Service subpackage!
│ ├── Api.java
//this is more code taken from DroidWall, that needs to be cleaned up and paired down to just what we need it for
//this is related to 1.0.5.x changes with how we bundle and install our C binaries (tor, privoxy and iptables)
│ ├── ITorService.aidl
// the android remote interface definition file;
// this is the remote interface which the Orbot activity gets a reference to
// and that in the TorService is instantiated as the "binder"
│ ├── ITorServiceCallback.aidl
// this is the callback interface that the Orbot activity instantiates, and passes
// to the ITorService; reverse of ITorService in a sense
│ ├── TorBinaryInstaller.java
// this handles installation of binaries; uses Api.java; // tied into Wizard as well
│ ├── TorServiceConstants.java
// reusable constants for just the Service package
│ ├── TorService.java
// the main might powerful service class; Orbot and TorService are the front and backends of this whole app
// should run as a remote service, but the manifest doesn't seem to indicate that at the moment
│ ├── TorServiceUtils.java
//utility methods for the service; specificaly check for root and tools for finding processID of background binaries
│ └── TorTransProxy.java
// all the code for iptables transproxying management

View File

@ -1,46 +0,0 @@
<!-- Proguard Properties -->
<property name="obfuscate.dir" value="obf" />
<property name="obfuscate.absolute.dir" location="${obfuscate.dir}" />
<property name="android-jar-preobfuscate" value="${obfuscate.absolute.dir}/original.jar" />
<property name="android-jar-postobfuscate" value="${obfuscate.absolute.dir}/postobf.jar" />
<property name="out.dex.input.absolute.dir" value="${android-jar-postobfuscate}" />
<!-- replaces the post-compile step from ant_rules_r3 -->
<target name="-post-compile" depends="-dex-obfuscate,-dex-no-obfuscate">
</target>
<target name="-dex-no-obfuscate" unless="build.mode.release">
<mkdir dir="${obfuscate.absolute.dir}" />
<jar basedir="${out.dir}/classes" destfile="${android-jar-postobfuscate}" />
</target>
<!-- Converts this project's .class files into .dex files -->
<target name="-dex-obfuscate" if="build.mode.release">
<property name="proguard-jar" value="${proguard.dir}/proguard.jar" />
<property name="proguard-conf.dir" value="" />
<property name="proguard-conf.absolute.dir" location="${proguard-conf.dir}" />
<property name="proguard-conf" value="${proguard-conf.absolute.dir}/procfg.txt" />
<path id="fullclasspath">
<path refid="android.target.classpath"/>
<pathelement path="${external.libs.dir}"/>
</path>
<property name="libraryjarpath" refid="fullclasspath"/>
<!-- Add Proguard Task -->
<taskdef resource="proguard/ant/task.properties" classpath="${proguard-jar}" />
<mkdir dir="${obfuscate.absolute.dir}" />
<delete file="${android-jar-preobfuscate}"/>
<delete file="${android-jar-postobfuscate}"/>
<jar basedir="${out.classes.dir}" destfile="${android-jar-preobfuscate}" />
<proguard>
@${proguard-conf}
-injars ${android-jar-preobfuscate}
-outjars ${android-jar-postobfuscate}
-libraryjars ${libraryjarpath}
-dump ${obfuscate.absolute.dir}/dump.txt
-printseeds ${obfuscate.absolute.dir}/seeds.txt
-printusage ${obfuscate.absolute.dir}/usage.txt
-printmapping ${obfuscate.absolute.dir}/mapping.txt
</proguard>
</target>

View File

@ -1,3 +0,0 @@
Manifest-Version: 1.0
Sealed: true

17
build.gradle Normal file
View File

@ -0,0 +1,17 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}

View File

@ -1,83 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="Orbot" default="help">
<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked into
Version Control Systems. -->
<property file="local.properties" />
<!-- The ant.properties file can be created by you. It is only edited by the
'android' tool to add properties to it.
This is the place to change some Ant specific build properties.
Here are some properties you may want to change/update:
source.dir
The name of the source directory. Default is 'src'.
out.dir
The name of the output directory. Default is 'bin'.
For other overridable properties, look at the beginning of the rules
files in the SDK, at tools/ant/build.xml
Properties related to the SDK location or the project target should
be updated using the 'android' tool with the 'update' action.
This file is an integral part of the build system for your
application and should be checked into Version Control Systems.
-->
<property file="ant.properties" />
<!-- The project.properties file is created and updated by the 'android'
tool, as well as ADT.
This contains project specific properties such as project target, and library
dependencies. Lower level build properties are stored in ant.properties
(or in .classpath for Eclipse projects).
This file is an integral part of the build system for your
application and should be checked into Version Control Systems. -->
<loadproperties srcFile="project.properties" />
<!-- quick check on sdk.dir -->
<fail
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
unless="sdk.dir"
/>
<!--
Import per project custom build rules if present at the root of the project.
This is the place to put custom intermediary targets such as:
-pre-build
-pre-compile
-post-compile (This is typically used for code obfuscation.
Compiled code location: ${out.classes.absolute.dir}
If this is not done in place, override ${out.dex.input.absolute.dir})
-post-package
-post-build
-pre-clean
-->
<import file="custom_rules.xml" optional="true" />
<!-- Import the actual build file.
To customize existing targets, there are two options:
- Customize only one target:
- copy/paste the target into this file, *before* the
<import> task.
- customize it to your needs.
- Customize the whole content of build.xml
- copy/paste the content of the rules files (minus the top node)
into this file, replacing the <import> task.
- customize to your needs.
***********************
****** IMPORTANT ******
***********************
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
in order to avoid having your file be overridden by tools such as "android update project"
-->
<!-- version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
</project>

380
external/Makefile vendored
View File

@ -5,116 +5,245 @@
# on Debian or Ubuntu
### these modify the calling shell
# point pkg-config to the .pc files generated from these builds
export PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig
# workaround for cross-compiling bug in autoconf
export ac_cv_func_malloc_0_nonnull=yes
export ac_cv_func_setpgrp_void=yes
CWD = $(shell pwd)
PROJECT_ROOT = $(CWD)/..
EXTERNAL_ROOT = $(CWD)
EXTERNAL_ROOT := $(shell pwd)
# Android NDK setup:
NDK_BASE ?= /usr/local/android-ndk
NDK_PLATFORM_LEVEL ?= 8
NDK_SYSROOT=$(NDK_BASE)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-arm
NDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'`
NDK_TOOLCHAIN=$(NDK_BASE)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(NDK_UNAME)-x86
DEBUG ?= 0
# to use the real HOST tag, you need the latest libtool files:
# http://stackoverflow.com/questions/4594736/configure-does-not-recognize-androideabi
#HOST := arm-none-linux-gnueabi
HOST := arm-linux-androideabi
# No-op command.
NOOP = true
# install root for built files
DESTDIR = $(EXTERNAL_ROOT)
# TODO try adding the Android-style /data/app.name here
prefix =
LOCAL := $(DESTDIR)$(prefix)
# Android now has 64-bit and 32-bit versions of the NDK for GNU/Linux. We
# assume that the build platform uses the appropriate version, otherwise the
# user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN.
CPU := $(shell uname -m)
ifeq ($(CPU),x86_64)
NDK_PROCESSOR=x86_64
else
NDK_PROCESSOR=x86
endif
export PATH := ${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin
# Android NDK setup
ANDROID_NDK_HOME ?= /opt/android-ndk
ANDROID_NDK ?= $(ANDROID_NDK_HOME)
NDK_PLATFORM_LEVEL ?= 16
NDK_TOOLCHAIN_VERSION=4.9
APP_ABI ?= armeabi
NDK_ABI ?= $(APP_ABI)
CC := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-gcc --sysroot=$(NDK_SYSROOT)
CXX := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-g++
CPP := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-cpp
LD := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ld
AR := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ar
RANLIB := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ranlib
STRIP := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-strip \
--strip-unneeded -R .note -R .comment
# PIEFLAGS for SDK 16/Android L must be set to -fPIE -pie, but can override for earlier targets
PIEFLAGS ?= -fPIE -pie
CFLAGS = -DANDROID -I$(LOCAL)/include -I$(NDK_SYSROOT)/usr/include
LDFLAGS = -L$(LOCAL)/lib -L$(NDK_SYSROOT)/usr/lib
ifneq ($(filter arm%, $(APP_ABI)),)
NDK_ABI := arm
endif
ifneq ($(filter arm64%, $(APP_ABI)),)
NDK_ABI := arm64
endif
# build as small as possible, mostly useful for static binaries
CFLAGS += -fdata-sections -ffunction-sections -Os
LDFLAGS += -Wl,--gc-sections
NDK_SYSROOT=$(ANDROID_NDK_HOME)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-$(NDK_ABI)
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
ifneq ($(filter mips%, $(NDK_ABI)),)
HOST := $(NDK_ABI)el-linux-android
endif
ifneq ($(filter arm64, $(NDK_ABI)),)
HOST := aarch64-linux-android
endif
ifneq ($(filter arm, $(NDK_ABI)),)
HOST := arm-linux-androideabi
endif
ifneq ($(filter x86, $(NDK_ABI)),)
HOST := i686-linux-android
endif
ifneq ($(filter x86_64, $(NDK_ABI)),)
HOST := x86_64-linux-android
endif
NDK_TOOLCHAIN := $(HOST)-$(NDK_TOOLCHAIN_VERSION)
ifneq ($(filter x86%, $(NDK_ABI)),)
NDK_TOOLCHAIN := $(NDK_ABI)-$(NDK_TOOLCHAIN_VERSION)
endif
NDK_TOOLCHAIN_BASE=$(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/prebuilt/$(NDK_UNAME)-$(NDK_PROCESSOR)
# include Android's build flags
TARGET_ARCH_ABI = $(APP_ABI)
#include $(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
CC := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-gcc --sysroot=$(NDK_SYSROOT)
CXX := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-g++ --sysroot=$(NDK_SYSROOT)
CPP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-cpp --sysroot=$(NDK_SYSROOT)
LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld
AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar
RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib
ifeq ($(DEBUG), 1)
STRIP := $(NOOP)
else
STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-unneeded -R .note -R .comment --strip-debug
endif
CFLAGS = -DANDROID $(TARGET_CFLAGS) $(PIEFLAGS)
LDFLAGS = -llog $(TARGET_LDFLAGS) $(PIEFLAGS)
# change 'release' to 'debug' for unoptimized debug builds
ifeq ($(APP_ABI),armeabi-v7a)
CFLAGS += $(TARGET_arm_release_CFLAGS)
endif
ifeq ($(APP_ABI),armeabi)
CFLAGS += $(TARGET_thumb_release_CFLAGS)
endif
.PHONY = clean showsetup \
assets assets-clean \
openssl-static openssl-static-clean \
libevent libevent-clean \
lzma lzma-clean \
zstd zstd-clean \
tor tor-clean
all: assets
#------------------------------------------------------------------------------#
# openssl-static
# openssl
openssl-static/obj/local/armeabi/libcrypto.a:
cd openssl-static && \
ndk-build
# Disable rc4 cipher for 64-bit archs, to avoid this link error for tor:
# external/lib/libcrypto.a(e_rc4_hmac_md5.o):e_rc4_hmac_md5.c:function rc4_hmac_md5_cipher: error: undefined reference to 'rc4_md5_enc'
OPENSSL_CONF_FLAG=
ifneq ($(findstring 64, $(NDK_ABI)),)
OPENSSL_CONF_FLAG+=no-rc4
endif
openssl-static/obj/local/armeabi/libssl.a:
cp config.sub openssl-static
cp config.guess openssl-static
cd openssl-static && \
ndk-build
# OpenSSL's 'make depend' fails if _MIPS_SZLONG is not set:
ifneq ($(filter mips%, $(NDK_ABI)),)
ifneq ($(findstring 64, $(NDK_ABI)),)
OPENSSL_CONF_FLAG+=-D_MIPS_SZLONG=64
else
OPENSSL_CONF_FLAG+=-D_MIPS_SZLONG=32 -D__MIPSEL__
endif
endif
lib/libcrypto.a:
cd openssl && \
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
openssl-static-build-stamp: openssl-static/obj/local/armeabi/libcrypto.a openssl-static/obj/local/armeabi/libssl.a
touch openssl-static-build-stamp
lib/libssl.a:
cp config.sub openssl
cp config.guess openssl
cd openssl && \
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
openssl-static: openssl-static-build-stamp
openssl-build-stamp: lib/libcrypto.a lib/libssl.a
touch openssl-build-stamp
openssl: openssl-build-stamp
test -d lib || mkdir lib
test -d include || mkdir include
cp openssl-static/obj/local/armeabi/libcrypto.a lib
cp openssl-static/obj/local/armeabi/libssl.a lib
cp -R openssl-static/include/openssl include
test -d include/openssl || mkdir include/openssl
cp openssl/libcrypto.a lib/libcrypto.a
cp openssl/libssl.a lib/libssl.a
cp openssl/include/openssl/* include/openssl
openssl-static-clean:
-cd openssl-static && \
ndk-build clean
-rm openssl-static-build-stamp
openssl-clean:
-rm openssl-build-stamp
-rm lib/libcrypto.a
-rm lib/libssl.a
-cd openssl-static && \
-cd openssl && \
git clean -fdx
#------------------------------------------------------------------------------#
# libevent
libevent/Makefile:
sed -i 's@\(SUBDIRS = . include\) sample test@\1@' libevent/Makefile.am
cp libevent-patch-1 libevent
-cd libevent && \
patch -N -p1 --reject-file=- < libevent-patch-1
##sed -i 's@\(AC_OUTPUT(Makefile include/Makefile\) test/Makefile sample/Makefile)@\1)@' libevent/configure.in
cd libevent && ./autogen.sh
cp config.sub libevent
cp config.guess libevent
cd libevent && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
./configure \
--host=$(HOST) \
--disable-shared
libevent-build-stamp: libevent/Makefile
$(MAKE) -C libevent
$(MAKE) -C libevent ./include/event2/event-config.h all-am
touch libevent-build-stamp
libevent: libevent-build-stamp
libevent: openssl libevent-build-stamp
test -d lib || mkdir lib
test -d include || mkdir include
cp libevent/.libs/libevent.a lib
cp -R libevent/include/* include
cp -R libevent/include/event2 include
libevent-clean:
-rm -f include/*.h
-rm -f include/event2
-rm -f lib/libevent.a
-rm -f libevent-build-stamp
-cd libevent && \
git clean -fdx
#------------------------------------------------------------------------------#
# lzma
xz/Makefile:
cd xz && ./autogen.sh
cp config.sub xz
cp config.guess xz
cd xz && \
CC="$(CC)" CXX="$(CXX)" PKG_CONFIG_PATH="$(EXTERNAL_ROOT)/lib/pkgconfig" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS) -std=c99" LDFLAGS="$(LDFLAGS)" \
./configure --host=$(HOST) --disable-shared --enable-static --disable-doc --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-lzma-links --disable-scripts --prefix=$(EXTERNAL_ROOT)
lzma: lzma-build-stamp
$(MAKE) -C xz install
lzma-build-stamp: xz/Makefile
touch lzma-build-stamp
lzma-clean:
-rm -rf include/lzma
-rm -f include/lzma.h
-rm -f lib/liblzma.a
-rm -f lib/liblzma.la
-rm -f lzma-build-stamp
-cd xz && \
git clean -fdx
#------------------------------------------------------------------------------#
# zstd
zstd: zstd-build-stamp
$(MAKE) -C zstd/lib CC="$(CC)" CXX="$(CXX)" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" PREFIX="$(EXTERNAL_ROOT)" libzstd.a-mt
$(MAKE) -C zstd/lib CC="$(CC)" CXX="$(CXX)" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" PREFIX="$(EXTERNAL_ROOT)" libzstd.pc
test -d lib || mkdir lib
test -d lib/pkgconfig || mkdir lib/pkgconfig
test -d include || mkdir include
cp zstd/lib/libzstd.a lib
cp zstd/lib/libzstd.pc lib/pkgconfig
cp zstd/lib/zstd.h include
cp zstd/lib/common/zstd_errors.h include
cp zstd/lib/deprecated/zbuff.h include
cp zstd/lib/dictBuilder/zdict.h include
zstd-build-stamp:
touch zstd-build-stamp
zstd-clean:
-rm -f include/zstd.h include/zstd_errors.h include/zbuff.h include/zdict.h
-rm -f lib/libzstd.a
-rm -f lib/pkgconfig/libzstd.pc
-rm -f zstd-build-stamp
-cd zstd && \
git clean -fdx
#------------------------------------------------------------------------------#
# tor
@ -126,19 +255,20 @@ tor/Makefile: tor/configure
cp config.sub tor
cp config.guess tor
cd tor && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) PKG_CONFIG_PATH="$(EXTERNAL_ROOT)/lib/pkgconfig" CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
LIBS="-L$(EXTERNAL_ROOT)/lib" CFLAGS="-I$(EXTERNAL_ROOT)/include -I$(EXTERNAL_ROOT)/include/event2" \
./configure \
--host=$(HOST) \
--prefix=$(NDK_TOOLCHAIN) \
--disable-asciidoc \
--with-libevent-dir=$(EXTERNAL_ROOT) --enable-static-libevent \
--with-openssl-dir=$(EXTERNAL_ROOT) --enable-static-openssl
--enable-static-libevent --with-libevent-dir=$(EXTERNAL_ROOT) \
--enable-static-openssl --with-openssl-dir=$(EXTERNAL_ROOT) \
--disable-linker-hardening --disable-gcc-hardening --disable-tool-name-check --disable-systemd --disable-module-dirauth
tor-build-stamp: tor/Makefile
$(MAKE) -C tor
$(MAKE) -C tor all-am
touch tor-build-stamp
tor: libevent openssl-static tor-build-stamp
tor: lzma zstd libevent openssl tor-build-stamp
test -d bin || mkdir bin
cp tor/src/or/tor bin
@ -147,106 +277,38 @@ tor-clean:
-rm -f tor-build-stamp
-cd tor && \
git clean -fdx
-cd tor && \
git reset HEAD --hard
#------------------------------------------------------------------------------#
# obfsproxy
#create and clean assets: FYI - tor is stored as a ZIP file with an so extension
#in the libs directly, so it is handled like a shared library for local installation
obfsproxy/Makefile:
cp obfsproxy_android_no_hardening.patch obfsproxy
cd obfsproxy && \
patch -N -p1 --reject-file=- < obfsproxy_android_no_hardening.patch
cd obfsproxy && \
./autogen.sh
cp config.sub obfsproxy
cp config.guess obfsproxy
cd obfsproxy && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
libevent_LIBS="-L$(EXTERNAL_ROOT)/lib -levent" libevent_CFLAGS="-I$(EXTERNAL_ROOT)/include" \
libcrypto_LIBS="-L$(EXTERNAL_ROOT)/lib -lcrypto" libcrypto_CFLAGS="-I$(EXTERNAL_ROOT)/include" \
./configure \
--host=$(HOST) \
--prefix=$(NDK_TOOLCHAIN) \
obfsproxy-build-stamp: obfsproxy/Makefile
$(MAKE) -C obfsproxy
touch obfsproxy-build-stamp
obfsproxy: openssl-static libevent obfsproxy-build-stamp
test -d bin || mkdir bin
cp obfsproxy/obfsproxy bin
obfsproxy-clean:
-rm -f bin/obfsproxy
-rm -f obfsproxy-build-stamp
-cd obfsproxy && \
git clean -fdx
#------------------------------------------------------------------------------#
# privoxy
privoxy/Makefile:
cd privoxy && \
autoheader
cd privoxy && \
autoconf
cp config.sub privoxy
cp config.guess privoxy
cd privoxy && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
./configure \
--host=arm-linux-eabi --disable-pthread
privoxy-build-stamp: privoxy/Makefile
$(MAKE) -C privoxy
touch privoxy-build-stamp
privoxy: privoxy-build-stamp
test -d bin || mkdir bin
cp privoxy/privoxy bin
privoxy-clean:
$(MAKE) -C privoxy clean
-rm -f bin/privoxy
-rm -f privoxy-build-stamp
-rm -f privoxy/config.status
-rm -f privoxy/config.log
-rm -f privoxy/Makefile
#------------------------------------------------------------------------------#
# JTorControl library
jtorctrl:
test -d jtorctl/bin || mkdir jtorctl/bin
cd jtorctl && \
javac net/freehaven/tor/control/TorControlConnection.java -d bin
cd jtorctl/bin && \
jar cvf jtorctrl.jar *
cp jtorctl/bin/jtorctrl.jar bin
jtorctrl-clean:
-rm bin/jtorctrl.jar
#------------------------------------------------------------------------------#
# cleanup, cleanup, put the toys away
assets: tor privoxy jtorctrl obfsproxy
install -d ../res/raw
install -d ../libs
install bin/tor ../res/raw
install bin/privoxy ../res/raw
install bin/obfsproxy ../res/raw
install bin/jtorctrl.jar ../libs
assets: tor
install -d ../tor-android-binary/src/main/libs/$(APP_ABI)
-$(STRIP) bin/tor
-zip ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so bin/tor
assets-clean:
-rm ../res/raw/tor
-rm ../res/raw/privoxy
-rm ../libs/jtorctrl.jar
-rm ../res/raw/obfsproxy
-rm ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so
#------------------------------------------------------------------------------#
# cleanup, cleanup, put the toys away
clean: openssl-static-clean libevent-clean tor-clean privoxy-clean jtorctrl-clean assets-clean
##clean: openssl-clean libevent-clean tor-clean polipo-clean assets-clean
clean: openssl-clean libevent-clean lzma-clean zstd-clean tor-clean
#------------------------------------------------------------------------------#
# debugging stuff
showsetup:
@echo "NDK_TOOLCHAIN_VERSION: $(NDK_TOOLCHAIN_VERSION)"
@echo "NDK_TOOLCHAIN: $(NDK_TOOLCHAIN)"
@echo "NDK_PLATFORM_LEVEL: $(NDK_PLATFORM_LEVEL)"
@echo "NDK_SYSROOT: $(NDK_SYSROOT)"
@echo "APP_ABI: $(APP_ABI)"
@echo "HOST: $(HOST)"
@echo "CC: $(CC)"
@echo "LD: $(LD)"
@echo "CFLAGS: $(CFLAGS)"
@echo "LDFLAGS: $(LDFLAGS)"

0
external/config.guess vendored Executable file → Normal file
View File

0
external/config.sub vendored Executable file → Normal file
View File

1
external/jtorctl vendored

@ -1 +0,0 @@
Subproject commit d818f4381e164273aadfcbff131da8e1a2cbc1f8

2
external/libevent vendored

@ -1 +1 @@
Subproject commit 6f2337dd0e3ec6aec54a4694f1b59e0262623d8e
Subproject commit 90ae4c5013032158bafad41279823d90eec4d206

29
external/libevent-patch-1 vendored Normal file
View File

@ -0,0 +1,29 @@
For some reason arc4random_addrandom isn't present in 64-bit android archs. !
diff --git a/configure.ac b/configure.ac
index d42edd8..c511be7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -290,7 +290,7 @@ AC_HEADER_TIME
dnl Checks for library functions.
AC_CHECK_FUNCS([gettimeofday vasprintf fcntl clock_gettime strtok_r strsep])
-AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
+AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf arc4random_addrandom issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
AC_CHECK_FUNCS([umask])
AC_CACHE_CHECK(
diff --git a/evutil_rand.c b/evutil_rand.c
index 284341c..97161e4 100644
--- a/evutil_rand.c
+++ b/evutil_rand.c
@@ -174,7 +174,9 @@ evutil_secure_rng_get_bytes(void *buf, size_t n)
void
evutil_secure_rng_add_bytes(const char *buf, size_t n)
{
+#ifdef _EVENT_HAVE_ARC4RANDOM_ADDRANDOM
arc4random_addrandom((unsigned char*)buf,
n>(size_t)INT_MAX ? INT_MAX : (int)n);
+#endif
}

1
external/obfsproxy vendored

@ -1 +0,0 @@
Subproject commit 94ebc4c3edf1e3e5f313444e59981ac557578df5

View File

@ -1,19 +0,0 @@
commit d42eec7683ce9d47fc846e511e815ec1b2950c27
Author: n8fr8 <nathan@freitas.net>
Date: Fri May 4 17:32:51 2012 -0400
remove hardening for android
diff --git a/configure.ac b/configure.ac
index facd3c6..ad405ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ AC_CHECK_HEADERS([sys/types.h])
AC_CHECK_HEADERS([netinet/in.h])
### Compiler Hardening ###
-AX_ENABLE_HARDENING
+##AX_ENABLE_HARDENING
### Libraries ###

1
external/openssl vendored Submodule

@ -0,0 +1 @@
Subproject commit e71ebf275da66dfd601c92e0e80a35114c32f6f8

@ -1 +0,0 @@
Subproject commit 85061d07ccc04ee40f9cc66cbac86d53196d1f3f

View File

@ -1,116 +0,0 @@
Authors of Privoxy v2.9.x and 3.x
===========================================================================
Current Privoxy Team:
Fabian Keil, lead developer
David Schmidt, developer
Hal Burgiss
Mark Miller
Gerry Murphy
Lee Rian
Roland Rosenfeld
Jörg Strohmayer
Former Privoxy Team Members:
Johny Agotnes
Rodrigo Barbosa
Moritz Barsnick
Ian Cummings
Brian Dessent
Jon Foster
Karsten Hopp
Alexander Lazic
Daniel Leite
Gábor Lipták
Adam Lock
Guy Laroche
Justin McMurtry
Andreas Oesterhelt
Haroon Rafique
Georg Sauthoff
Thomas Steudten
Rodney Stromlund
Sviatoslav Sviridov
Sarantis Paskalis
Stefan Waldherr
Thanks to the many people who have tested Privoxy, reported bugs, provided
patches, made suggestions or contributed in some way. These include (in
alphabetical order):
Ken Arromdee
Devin Bayer
Gergely Bor
Reiner Buehl
Andrew J. Caines
Clifford Caoile
Frédéric Crozat
Michael T. Davis
Mattes Dolak
Matthias Drochner
Peter E.
Florian Effenberger
Markus Elfring
Dean Gaudet
Stephen Gildea
Daniel Griscom
Felix Gröbert
Aaron Hamid
Darel Henman
Magnus Holmgren
Eric M. Hopper
Ralf Horstmann
Stefan Huehner
Peter Hyman
Derek Jennings
Petr Kadlec
David Laight
Bert van Leeuwen
Don Libes
Paul Lieverse
Toby Lyward
Wil Mahan
Jindrich Makovicka
David Mediavilla
Raphael Moll
Amuro Namie
Adam Piggott
Dan Price
Roberto Ragusa
Félix Rauch
Maynard Riley
Chung-chieh Shan
Spinor S.
Bart Schelstraete
Oliver Stoeneberg
Peter Thoenen
Martin Thomas
Bobby G. Vinyard
Jochen Voss
Glenn Washburn
Song Weijia
Jörg Weinmann
Darren Wiebe
Anduin Withers
Oliver Yeoh
Jamie Zawinski
Privoxy is based in part on code originally developed by Junkbusters Corp. and
Anonymous Coders.
Privoxy heavily relies on Philip Hazel's PCRE.
The code to filter compressed content makes use of zlib which is written by
Jean-loup Gailly and Mark Adler.
On systems that lack snprintf(), Privoxy is using a version written by Mark
Martinec. On systems that lack strptime(), Privoxy is using the one from the
GNU C Library written by Ulrich Drepper.
If we've missed you off this list, please let us know!
Privoxy team. http://www.privoxy.org/
<ijbswa-developers@lists.sourceforge.net>

View File

@ -1,717 +0,0 @@
--------------------------------------------------------------------
ChangeLog for Privoxy
--------------------------------------------------------------------
*** Version 3.0.12 (UNRELEASED) ***
- The socket-timeout option now also works on platforms whose
select() implementation modifies the timeout structure.
Previously the timeout was triggered even if the connection
didn't stall. Reported by cyberpatrol.
- The Connection: keep-alive code properly deals with files
larger than 2GB. Previously the connection was closed too
early.
- The content length for files above 2GB is logged correctly.
- The user-manual directive on the show-status page links to
the documentation location specified with the directive,
not to the Privoxy website.
- When running in daemon mode, Privoxy doesn't log anything
to the console unless there are errors before the logfile
has been opened.
- The show-status page prints warnings about invalid directives
on the same line as the directives themselves.
- Fixed several justified (but harmless) compiler warnings,
mostly on 64 bit platforms.
- The mingw32 version explicitly requests the default charset
to prevent display problems with some fonts available on more
recent Windows versions. Patch by Burberry.
- The mingw32 version uses the Privoxy icon in the alt-tab
windows. Patch by Burberry.
- The timestamp and the thread id is omitted in the "Fatal error"
message box on mingw32.
- Fixed two related mingw32-only buffer overflows. Triggering
them required control over the configuration file, therefore
this isn't seen as a security issue.
- In verbose mode, or if the new option --show-skipped-tests
is used, Privoxy-Regression-Test logs skipped tests and the
skip reason.
*** Version 3.0.11 ***
- On most platforms, outgoing connections can be kept alive and
reused if the server supports it. Whether or not this improves
things depends on the connection.
- When dropping privileges, membership in supplementary groups
is given up as well. Not doing that can lead to Privoxy running
with more rights than necessary and violates the principle of
least privilege. Users of the --user option are advised to update.
Thanks to Matthias Drochner for reporting the problem,
providing the initial patch and testing the final version.
- Passing invalid users or groups with the --user option
didn't lead to program exit. Regression introduced in 3.0.7.
- The match all section has been moved from default.action
to a new file called match-all.action. As a result the
default.action no longer needs to be touched by the user
and can be safely overwritten by updates.
- The standard.action file has been removed. Its content
is now part of the default.action file.
- In some situations the logged content length was slightly too low.
- Crunched requests are logged with their own log level.
If you used "debug 1" in the past, you'll probably want
to additionally enable "debug 1024", otherwise only passed
requests will be logged. If you only care about crunched
requests, simply replace "debug 1" with "debug 1024".
- The crunch reason has been moved to the beginning of the
crunch message. For HTTP URLs, the protocol is logged as well.
- Log messages are shortened by printing the thread id on its
own (as opposed to putting it inside the string "Privoxy()").
- The config option socket-timeout has been added to control
the time Privoxy waits for data to arrive on a socket.
- Support for remote toggling is controlled by the configure
option --disable-toggle only. In previous versions it also
depended on the action editor and thus configuring with the
--disable-editor option would disable remote toggling support
as well.
- Requests with invalid HTTP versions are rejected.
- The template symbol @date@ can be used to include a date(1)-like
time string. Initial patch submitted by Endre Szabo.
- Responses from shoutcast servers are accepted again.
Problem reported and fix suggested by Stefan.
- The hide-forwarded-for-headers action has been replaced with
the change-x-forwarded-for{} action which can also be used to
add X-Forwarded-For headers. The latter functionality already
existed in Privoxy versions prior to 3.0.7 but has been removed
as it was often used unintentionally (by not using the
hide-forwarded-for-headers action).
- A "clear log" view option was added to the mingw32 version
to clear out all of the lines in the Privoxy log window.
Based on a patch submitted by T Ford.
- The mingw32 version uses "critical sections" now, which prevents
log message corruption under load. As a side effect, the
"no thread-safe PRNG" warning could be removed as well.
- The mingw32 version's task bar icon is crossed out and
the color changed to gray if Privoxy is toggled off.
*** Version 3.0.10 ***
- Ordinary configuration file changes no longer cause program
termination on OS/2 if the name of the logfile hasn't been
changed as well. This regression probably crept in with the
logging improvements in 3.0.7. Reported by Maynard.
- The img-reorder filter is less likely to mess up JavaScript code in
img tags. Problem and solution reported by Glenn Washburn in #2014552.
- The source tar ball now includes Privoxy-Log-Parser,
a syntax-highlighter for Privoxy logs. For fancy screenshots see:
http://www.fabiankeil.de/sourcecode/privoxy-log-parser/
Documentation is available through perldoc(1).
*** Version 3.0.9 Beta ***
- Added SOCKS5 support (with address resolution done by
the SOCKS5 server). Patch provided by Eric M. Hopper.
- The "blocked" CGI pages include a block reason that was
provided as argument to the last-applying block action.
- If enable-edit-actions is disabled (the default since 3.0.7 beta)
the show-status page hides the edit buttons and explains why.
Previously the user would get the "this feature has been disabled"
message after using the edit button.
- Forbidden CONNECT requests are treated like blocks by default.
The now-pointless treat-forbidden-connects-like-blocks action
has been removed.
- Not enabling limit-connect now allows CONNECT requests to all ports.
In previous versions it would only allow CONNECT requests to port 443.
Use +limit-connect{443} if you think you need the old default behaviour.
- The CGI editor gets turned off after three edit requests with invalid
file modification timestamps. This makes life harder for attackers
who can leverage browser bugs to send fake Referers and intend to
brute-force edit URLs.
- Action settings for multiple patterns in the same section are
shared in memory. As a result these sections take up less space
(and are loaded slightly faster). Problem reported by Franz Schwartau.
- Linear white space in HTTP headers will be normalized to single
spaces before parsing the header's content, headers split across
multiple lines get merged first. This should prevent problems like:
* letting the session-cookies-only action slip
some Cookies through unmodified,
* only suppressing the first line of a header,
thus creating an invalid one, and
* to incorrectly block headers with valid timestamps
that weren't properly recognized.
Headers that could trigger these problems are unlikely to appear
in "normal" web traffic, but could be intentionally generated to
fool some of Privoxy's header parsers.
- Host information is gathered outside the main thread so it's less
likely to delay other incoming connections if the host is misconfigured.
- New config option "hostname" to use a hostname other than
the one returned by the operating system. Useful to speed-up responses
for CGI requests on misconfigured systems. Requested by Max Khon.
- The CGI editor supports the "disable all filters of this type"
directives "-client-header-filter", "-server-header-filter",
"-client-header-tagger" and "-server-header-tagger".
- Fixed false-positives with the link-by-url filter and URLs that
contain the pattern "/jump/".
- The less-download-windows filter no longer messes
"Content-Type: application/x-shockwave-flash" headers up.
- In the show-url-info page's "Final results" section active and
inactive actions are listed separately. Patch provided by Lee.
- The GNUmakefile supports the DESTDIR variable. Patch for
the install target submitted by Radoslaw Zielinski.
- Embedding the content of configuration files in the show-status
page is significantly faster now. For a largish action file (1 MB)
a speedup of about 2450 times has been measured. This is mostly
interesting if you are using large action files or regularly use
Privoxy-Regression-Test while running Privoxy through Valgrind,
for stock configuration files it doesn't really matter.
- If zlib support is unavailable and there are content
filters active but the prevent-compression action is disabled,
the show-url-info page includes a warning that compression
might prevent filtering.
- The show-url-info page provides an OpenSearch Description that
allows to access the page through browser search plugins.
- Custom client-header filters that rewrite the request line
incorrectly no longer cause Privoxy to crash. Reported by din_a4.
- The obsolete kill-popups action has been removed as the
PCRS-based popup filters can do the same and are slightly
less unreliable.
- The inspect-jpegs action has been removed.
- The send-wafer and send-vanilla-wafer actions have been removed.
They weren't particular useful and their behaviour could be emulated
with add-header anyway.
- Privoxy-Regression-Test has been significantly improved.
- Most sections in the default.action file contain tests for
Privoxy-Regression-Test to verify that they are working as intended.
- Parts of Privoxy have been refactored to increase maintainability.
- Building with zlib (if available) is done by default.
*** Version 3.0.8 ***
- Fixed a small memory leak when listen-address only specifies the port.
- The source tar balls now include Privoxy-Regression-Test which
(upon other things) can be used to automatically detect some
packaging problems. Packagers are welcome to give it a try.
- Reverted a change in 3.0.7 that caused path patterns to be checked
even if the host pattern match already failed. While this doesn't
noticeable affect the performance, it makes it less likely to run
out of stack space with overly-complex path patterns the user might
have added.
- Updated the msn, yahoo and google filters to work as advertised again.
- The warning message shown by the show-status CGI page is easier to
understand. Previously it wasn't clear that the error message
is shown below the invalid directive. (Reported by Lee)
- When regenerating Content-Disposition headers the more common
spelling is used for the name. Previously it was written without caps.
- Less confusing log message if the content type isn't overwritten
because force-text-type wasn't used but the old type doesn't look
like content that would be filtered normally.
- Better log messages if the user tries to execute filters that
don't exist.
- Treat the non-standard Request-Range headers like standard range
headers and suppress them if content filtering is enabled.
- Prevent the log messages for CONNECT requests to unacceptable
ports from printing the limit-connect argument as [null] if
limit-connect hasn't been explicitly enabled.
- Don't disable the mingw32 log window if the logfile directive
isn't used. While it was an intentional change in 3.0.7 at least
one user perceived it as a regression and the same effect can
be achieved by disabling all debug directives.
- Fixed two minor problems related to the win32 build process: a css
file was not being in the installer and the trustfile comment in the
config.txt referenced a nonexisting file
- Minor documentation fixes.
*** Version 3.0.7 Beta ***
- Added zlib support to filter content with gzip and deflate
encoding. (Patch provided by Wil Mahan)
- Dedicated filters and actions are used for header filtering.
"filter-client-headers" and "filter-client-headers" are no longer
supported, use server-header-filter{} and client-header-filter{}
instead.
- Tags can be used to change actions based on HTTP headers.
- New server-header filter: less-download-windows.
- New client-header taggers: css-requests, image-requests,
client-ip-address, http-method, allow-post, complete-url,
user-agent and privoxy-control.
- New server-header taggers: content-type and privoxy-control.
- The forward-override{} action allows to change the forwarding
settings through the action files, for example based on client
headers like the User-Agent, or the request origin.
- Socks errors are no longer handled by the CGI page for
DNS resolution failures.
- CGI pages use favicons to signal whether they are error
or control pages. This is useful if you rely heavily on
browser tabs.
- The show-url-info CGI page shows the forwarding settings.
- "Crunch!" log messages (used when Privoxy answers requests
by itself) now also contain the reason.
- Allow to rewrite the request destination behind the client's back.
- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
- Fixes possible deadlocks and crashes on OpenBSD.
Patch provided by Ralf Horstmann.
- The CGI action editor allows to edit actionfiles with previously
forbidden characters like dots.
- New trust entries are saved with a comment that contains the
trusted referring URL (Suggested by Daniel Griscom).
- Filter descriptions are HTML encoded automatically.
- New config option "split-large-forms" to work
around a browser bug that caused IE6 and IE7 to ignore
the Submit button on the edit-actions-for-url CGI page.
- New config option "allow-cgi-request-crunching" to allow
requests for Privoxy's CGI pages to be blocked, redirected
or (un)trusted like ordinary requests.
- Empty filter files no longer interrupt the filtering process
prematurely and are correctly listed on the show-status CGI page.
- New config option "accept-intercepted-requests" to combine
Privoxy with any packet filter to build an intercepting proxy
for HTTP/1.1 requests (and for HTTP/1.0 requests with Host header set).
- fast-redirects{} catch redirects to https URLs as well.
- redirect{s@foo@bar@} can be used to redirect to a rewritten
version of the original URL.
- Trap unsupported gopher proxy requests.
- Fixed a bug in the User Manual delivery on Windows
(mingw32 only). Images now show up correctly and HTML
pages are no longer padded with garbage data.
- Fixed several minor memory leaks, most of them discovered with Valgrind.
- Only unlink the pidfile if it's actually used.
- Retries after connection problems with forced requests
aren't blocked again.
- On Unix SIGABRT causes a core dump as expected and is no
longer treated as normal shutdown signal.
- The "access denied" CGI page is more descriptive and
allows retries to circumvent the referrer check.
- Updated PCRS to handle unexpected PCRE errors properly.
Fixed crashes that could occur if Privoxy was build
with external PCRE versions newer than Privoxy's internal
one. (Reported by Chung-chieh Shan)
- Fixed crashes with null bytes in PCRS replacement strings
(Patch provided by Felix Gröbert).
- Fixed crashes with header time randomization on mingw32.
- The CGI style sheet is no longer delivered if the referring
page isn't a Privoxy CGI page. This prevents a JavaScript-based
Privoxy detection "attack". Note that detecting Privoxy is
still possible through other ways and Privoxy was never intended
to be invisible anyway.
- Added support for AmigaOS 4, fixed build for AmigaOS 3.x.
- The show-url-info CGI page displays a warning if Privoxy
is currently toggled off.
- The show-status CGI page suppresses the edit button
for action files if Privoxy has no write access.
- Most CGI error pages react properly to HEAD requests.
- Requests with RFC 3253 HTTP methods (used by Subversion)
are accepted. (Patch provided by Petr Kadlec)
- New config option "templdir" to change the location
of the CGI templates to make sure customized templates
aren't "updated".
- Better handling of "HTTP/1.1 100 Continue" responses.
- The background of the PNG pattern is transparent.
- Fixed XML syntax errors caused by banners-by-size and banners-by-url.
- Fixed crashes and possible action file corruptions
when lines containing hashes are written through the CGI editor.
- Supports dynamic filters which can contain variables.
- Supports tags to change the actions based on client or server headers.
- Incorrect actions are logged before program termination.
- The "actionsfile" syntax in the configuration file is consistent
with the rest of the configuration options and requires the
whole file name. This is an incompatible change, if you use
an old configuration file you might have to append ".action"
to your "actionsfile" directives.
- With the configuration file option "enforce-blocks" the
"go there anyway" mechanism can be disabled without recompiling
Privoxy.
- More precise error messages in case of incorrect acl syntax.
- Logs a warning if filtering is enabled but impossible due
to lack of zlib support or use of the prevent-compression action.
- Less noisy handling of Cookie:" and "Connection:" headers.
- Improved error messages in case of connection problems.
- Fix a command-line-parsing bug that was introduced before 3.0.5
beta and caused Privoxy to treat the last argument as configuration
file if no configuration file was specified.
- Treat unknown command line options as fatal errors instead
of silently ignoring them.
- Use string functions with length checks more often.
- Don't log CONNECT requests twice.
- Allow to log the source address for ACL-related connection drops.
- Don't ignore applying filters if the server didn't
specify a Content-Type. Bug reported by Amuro Namie.
- Rejected CONNECT requests are logged with log level info
(enabled by default) and the reason for the block.
- New command line option "--pre-chroot-nslookup hostname" to
intialize the resolver library before chroot'ing. On some systems this
reduces the number of files that must be copied into the chroot tree.
(Patch provided by Stephen Gildea)
- Fix a long-standing memory corruption bug that could cause
Privoxy to overwrite a single byte in memory it didn't explicitly
allocate (but that probably was allocated anyway due to bucket size).
- Send template-based CGI pages as HTTP/1.1 unless the client
asked for HTTP/1.0.
- Let the first line in connection established responses
end in \r\n as required by RFC1945. Reported by Bert van Leeuwen.
- If no log file has been specified, disable logging instead of logging
to stderr.
- Don't block stderr when in daemon mode.
- Ignore missing zero-chunks when filtering chunk-encoded content.
Earlier Privoxy versions would buffer and then forward the content
unmodified which caused some browsers to simply show empty pages.
- Fix double free in cgi_edit_actions_list(). Reported by Venustech AD-LAB.
- The code to add X-Forwarded-For headers when the hide-forwarded-for-headers
action isn't being used has been removed.
- Fixed trustfile feature which previously didn't work without FEATURE_TOGGLE.
Reported by Lee.
- Minor code clean-ups, filter and action file updates.
(Some of them reported by Davide Alberani, Markus Elfring,
Stefan Huehner and Adam Piggott)
*** Version 3.0.6 ***
- New content filters: no-ping, google, msn, yahoo and blogspot.
- New header filters: x-httpd-php-to-html, html-to-xml, xml-to-html
and hide-tor-exit-notation.
- The special header "X-Filter: No" now disables header filtering as well.
- Improved the filters img-reorder, js-annoyances, webbugs,
banners-by-size, banners-by-link and ie-exploits to make them
less likely to break anything.
- Removed outdated URL patterns in default.action and added new ones.
- Added redirection from http://p.p/user-manual to http://p.p/user-manual/
- Changed webinterface default values for hide-user-agent, hide-referrer
and set-image-blocker.
*** Version 3.0.5 Beta ***
- Windows version can be installed/started as a service.
- Windows icon stays blue when Privoxy is idle, green when busy.
- Integrated Fabian Keil's extensive patch. See:
http://www.fabiankeil.de/sourcecode/privoxy/. Includes the
following new or significantly improved actions (among many
other improvements):
content-type-overwrite{}
crunch-client-header{string}
crunch-if-none-match
crunch-server-header{string}
fast-redirects{check-decoded-url}
filter-client-headers
filter-server-headers
force-text-mode
handle-as-empty-document
hide-accept-language{}
hide-content-disposition{}
hide-if-modified-since
hide-referrer{conditional-block}
overwrite-last-modified{}
redirect{URL}
treat-forbidden-connects-like-blocks
- Standard-compliant clients are prevented from displaying cached
copies of Privoxy's error messages after the cause of the problem
has gone.
- Improved DNS error handling.
- Multiple filter files can now be specified in config.
- Added jpeg filtering to defend against MS jpeg vulnerability MS04-028
with the new inspect-jpegs action.
- Removed the "arbitrary" 1000 filter limit - addresses tracker #911950
- Thanks to Jindrich Makovicka for a race condition fix for the log
file. The race condition remains for non-pthread implementations.
Reference patch #1175720. Various other logging enhancements.
- A pile of assorted bug fixes, memory leaks, enhancements, etc.
- Moved Actions file reporting mechanism to SF tracker.
- Two new options for config: enable-remote-http-toggle and
forwarded-connect-retries.
- Trap unsupported FTP requests.
- Let text/xml be filtered.
- Numerous updates to default.action
- Increase the compiled in limit of trusted referrers from 64 to 512
(for trustfile users).
*** Version 3.0.3 ***
- Fixed yet another two memory leaks. Process growth seems stopped now.
- Further tightened security against malicious toggle-off links.
- Excluded text/plain MIME types from filtering. This fixes a
couple of client-crashing, download corruption and
Privoxy performance issues, whose root cause lies in
web servers labelling content of unknown type as text/plain.
- Assorted fixes for POSIX compliance, signal handling, graceful
termination, compiler warnings, OSX support, Win32 systray,
error logging, hostname wildcards, correct detection of NetBSD.
- Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs
including the notorious "blank page" problem.
- Various filter improvements; most notably the unsolicited-popups
filter became less destructive
- Major revamp of the actions file
*** Version 3.0.2 ***
- Fixed two memory leaks, one serious
- Fixed bug in pcrs which could cause crashes with user-defined filters
- Fixed bug in domain name matching
- Assorted small fixes (Win32 menu, CGI URL editor, ..)
- Added basic support for the OPTIONS and TRACE http methods
- Added workaround for Bug in Mac OSX that made Privoxy crash occasionally
- Refined the default action file through >400 items of user feedback
- Filter changes:
- Assorted refinements, optimizations and fixes in the js-annoyances,
img-reorder, banners-by-size, banners-by-link, webbugs, refresh-tags,
html-annoyances, content-cookies and fun filters
- Replaced filter "popups" by choice between two modes:
- "unsolicited-popups" tries to catch only the unsolicited ones
- "all-popups" tries to kill them all (as before)
- New filter "tiny-textforms" Help those tiny or hard-wrap textareas.
- New filter "jumping-windows" that prevents windows from resizing
and moving themselves
- New filter "demoronizer" which fixes MS's abuse of std charsets
(common cases anyway).
- Replaced "nimda" with more general "ie-exploits" filter in which
all filters for exploits shall be collected
- Improved cookie logging
- Rewrote make install target. Added uninstall and install-strip
targets.
- Fixed a potential (application-level, NOT OS-level!) security
problem involving remote toggling and action file manipulation
by mailicious websites.
- Added ability to chroot (thanks to Sviatoslav Sviridov)
- Added more action aliases for prehistoric action names
- Add Slackware support to Makefile.
*** Version 3.0 ***
- Fixed Windows startmenu items, log window and tray icon menus.
- Added warning for bogus install target
- Added quicktime-kioskmode filter and improved frameset-borders
- Updated default.action based on latest feedback
- New PDF doc build process
- Add a user contrib module to cvs:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/
*** Version 2.9.18 ***
- Added workaround for IE bug that broke CGI interface
- Bugfix: String actions now reliably editable through CGI interface
- Three filters fixed (again!)
- Assorted small fixes and doc enhancements
*** Version 2.9.16 ***
- Major revamp of default.action to get rid of years of cruft.
- Same for default.filter
- Re-design and major improvements to the CGI editor interface.
- Address spurious 'out of memory' error due to incorrect file permissions.
- Impose buffer limits while reading client and server headers.
- Better memory and CPU optimization.
- Add Conectiva Linux package.
- user-manual directive added to config for help links from within CGI
editor.
- Multiple actions files can now be specified in config.
- Actions files are changed to: default.action, standard.action, and
user.action. user.action is for personal/local configuration.
- The usual many small and miscellaneous bug and security fixes.
*** Version 2.9.14 Beta ***
- Fix Solaris compile problem (gateway.h and filters.h)
- Makefile fixes for Solaris, FreeBSD (?)
- Fix build failure where certain features were disabled.
- 'blocked-compact' template is removed. Various CGI improvements,
including an adaptive 'blocked' template.
- Various tweaks for actions file to get ready for stable 3.0
- Included a 'Bookmarklet' and PHP scripts for reporting actions file
problems via web interface at privoxy.org. Accessed via internal CGIs.
- Include cgi-style.css for templates.
- #include mechansim for common text in templates
- Various other minor fixes.
*** Version 2.9.13 Beta ***
- *NEWS*: The project has been renamed to Privoxy! The new name is
reflected throughout (file locations, etc).
- ijb.action is now default.action. re_filterfile is now
default.filter.
- http://i.j.b/ is now http://p.p/
- The 'logo' option for replacing ad iamges is removed now. 'Pattern'
(checkerboard) is now the default.
- RPM spec file make over.
*** Version 2.9.12 Beta ***
- **READ**: The default listening PORT is NOW 8118!!! Changed from
8000 due to conflict with NAS (Network Audio Server, whatever that
is.)
- More CGI actions editor fixes and improvements.
- Win32 command line fix ups.
- re_filterfile now has modular sections that can be activated on a
per site basis. Some new goodies there too.
- +filter now takes arguments to match FILTER sections in re_filterfile
for even more flexibility.
- Added a new image blocker option: +image-blocker{pattern}, which
displays a checkerboard patthern and scales better than the logo.
- PNG images will be used in place of GIF for JB built-in images
if configured with --enable-no-gif.
- Clean up compiler warnings (mostly).
- Improved handling of failed DNS lookups & diagnostics for failed bind
to listen socket
- Made --no-daemon mode log to tty instead of logfile.
- Various spec file and init script cleanups and improvements (Redhat and
SuSE).
- CGI Editor works on OS/2 now.
- Fix restart failure where sockets were in TIME_WAIT.
- Fixes for actions cgi editor, make sure we have right file.
- A --pidfile command line option now, in addition to --help,
--version, --no-daemon, --user and configfile. --no-daemon replaces
the former -d option and _DEBUG define. --user will drop privileges
to the specified user.
- Signal handling cleanups (*nix).
- CGI actions editor improvements and fixes.
- Error handling improvements, especially out of memory.
- Default re_filterfile fix that caused spurious IJB logos
(instead of 'blank').
- configure.in threading fixes for Solaris.
- Various other minor fixes.
*** Version 2.9.11 Beta Changes ***
- Add "session" cookie concept where cookies exist for the life
of that browser session only (ie never goes to disk).
- Checks for correct header length.
- Fix user:pass@host.domain.com auth bug.
- Better signal handling on *nix.
- Fix CFLAGS hard-coded in configure.in
- Fix threading bug re: gethostbyname() that caused random
URLs to fail in some cases.
*** Version 2.9.11 Alpha Changes ***
- A web-based editor for the actions file is included (go to http://i.j.b/).
- Web-based toggle IJB on/off support.
- Cookie handling has changed - the new +no-cookies-keep feature is now the
default.
- actionsfile is renamed to ijb.action.
- junkbstr.txt is now config.txt on Win32.
- Support for running IJB as a UNIX daemon process has improved.
- Unix daemon now returns error code on failed start.
- Timestamps in logfile and jarfile now.
- Fix for the Netscape bug reintroduced in 2.9.9.
- make should now abort if gmake (GNU make) not present.
- Many other minor bugfixes
- Start a ChangeLog :)
*** Version 2.9.3 pre-Alpha Changes ***
- Amiga support (completely untested by me - I don't have an Amiga)
- "tinygif 3" support (redirects blocked images to a specified URL, so
the browser doesn't have to load and cache many copies of the same
image).
- one case where there were both local and global "referrer" variables
(yuck!) clarified by renaming the local one to "refer".
- Fixed some places where close() was used instead of close_socket().
Thanks to Jörg Strohmayer (joergs at users.sourceforge.net) for these.
- Temporary hack to get FORCE_LOAD to work with IE. I just lowercased the
FORCE_LOAD_PREFIX. Needs fixing properly.
- Most URLs hardcoded into Junkbuster were changed to go through a script
e.g. http://ijbswa.sourceforge.net/redirect.php?v=2.9.3&to=faq
The only other URLs left are the GNU GPL:
http://www.fsf.org/copyleft/gpl.html
and the home page:
http://ijbswa.sourceforge.net/
... and various URLs which will be intercepted by Junkbuster anyway.
TODO: Still need to do something with the URLs in Junkbuster Corp's
copyright/trademark notice on the bottom of the show-proxy-args page.
- PCRE or GNU Regex is now a #define option.
*** Version 2.9.2 pre-Alpha Changes ***
- Andreas applied the latest version of the FORCE patch.
*** Version 2.9.1 pre-Alpha Changes ***
- in parsers.c, fixed two #ifdef FORCE to #ifdef FORCE_LOAD
(BTW: I think FORCE is precise enough, since loading remote
data is the whole purpose of a proxy..)
- Set the FORCE_PREFIX (back) to 'IJB-FORCE-LOAD-'. While 'noijb.'
is more elegant and looks like a hostname in the URL, it doesn't
make clear to the inexperienced user that the proxy is bypassed. It
also has a higher name collision risk.
- Filled in the function header templates for my functions in
parsers.c (again). They obviously got lost in our current
patch war ;-)
- Cut the credit for the §-referrer-option from the config file,
that Stefan had placed there.
- Improved the re_filterfile
*** Version 2.9.0 pre-Alpha Changes ***
- Now use PCRE, not GNU REGEX. I have not yet had chance to check the
syntax of the block/image/cookie file to ensure that they match what
is expected - however they seem to work.
- Replaced "configure" script with one generated by "autoconf". Also
use a header "config.h" (was ijbconfig.h in my previous release) for
the #defines. "config.h" is now generated with "autoheader" from
"acconfig.h" and "configure.in". (Note that to install you do not
need autoconf or autoheader - just run "./configure".)
To see command-line options, run "./configure --help".
This is my first ever autoconf script, so it has some rough edges
(how PCRE is handled is the roughest).
- Error logging code replaced with new module errlog.c, based on the
one from JunkbusterMT (but with the threading code removed).
- Most of Rodney's 0.21 and 0.21A patches applied. (Marked *). I did not
apply all of these, since I had already independently done conditional
popup file, conditional image file, and integration of popup code.
- ACL, Jar and trust files conditionally compiled.
- New source file headers.
- Various cosmetic changes. (But I have not consistently ordered the
config files - I think that's worthwhile, but it's 1am and I want to
get this released!)
- RCS tags on .h files.
- RCS tags are const char[] rather than const char *. (Saves 4 bytes
per tag ;-)
- VC++ project files renamed to vc_junkbuster.*.
- show-proxy-args now shows status of all conditionals, not just REGEX
- Various functions moved around. Most notably all the system-specific
sockets code which was spread between jcc.c, bind.c, and connect.c,
has been moved to "jbsockets.c". The non-system-specific code from
connect.c and socks4.c has been movet to "gateway.c". Also, the
config file loader and the global variables it writes to have been
moved to "loadcfg.c". (Maybe this should go into loaders.c?)
And candidate for the "worst filename ever" award is "miscutil.c",
which contains, well, miscellaneous utility functions like zalloc.
(Suggestions for a better name for this file are welcome!)
- Loaders now use a common function to read a line and skip comments,
and this function also stores the proxy_args.
- Added ./junkbuster --help (Not for Win32 GUI)
- Added ./junkbuster --version (Not for Win32 GUI)
- Win32 resources are now all marked as "U.S. English", rather than
being a mix of "U.S. English", "U.K. English" and "Irish English".
- Version number changes to 2.9.0
----------------------------------------------------------------------
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
Privoxy team. http://www.privoxy.org/
Based on the Internet Junkbuster originally written
by and Copyright (C) 1997 Anonymous Coders and
Junkbusters Corporation. http://www.junkbusters.com/
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General
Public License as published by the Free Software
Foundation; either version 2 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public
License for more details.
The GNU General Public License should be included with
this file. If not, you can view it at
http://www.gnu.org/copyleft/gpl.html
or write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,173 +0,0 @@
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/INSTALL,v $
*
* Purpose : INSTALL file to help with installing from source.
*
* Copyright : Written by and Copyright (C) 2001-2009 the
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA
*
*********************************************************************/
-------------------------------------------------------------------------------
To build Privoxy from source, autoconf, GNU make (gmake), and, of course, a C
compiler like gcc are required.
When building from a source tarball, first unpack the source:
tar xzvf privoxy-3.0.12-stable-src.tar.gz
cd privoxy-3.0.12-stable
For retrieving the current CVS sources, you'll need a CVS client installed.
Note that sources from CVS are typically development quality, and may not be
stable, or well tested. To download CVS source, check the Sourceforge
documentation, which might give commands like:
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
cd current
This will create a directory named current/, which will contain the source
tree.
You can also check out any Privoxy "branch", just exchange the current name
with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs tree).
It is also strongly recommended to not run Privoxy as root. You should
configure/install/run Privoxy as an unprivileged user, preferably by creating a
"privoxy" user and group just for this purpose. See your local documentation
for the correct command line to do add new users and groups (something like
adduser, but the command syntax may vary from platform to platform).
/etc/passwd might then look like:
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
And then /etc/group, like:
privoxy:*:7777:
Some binary packages may do this for you.
Then, to build from either unpacked tarball or CVS source:
autoheader
autoconf
./configure # (--help to see options)
make # (the make from GNU, sometimes called gmake)
su # Possibly required
make -n install # (to see where all the files will go)
make -s install # (to really install, -s to silence output)
Using GNU make, you can have the first four steps automatically done for you by
just typing:
make
in the freshly downloaded or unpacked source directory.
To build an executable with security enhanced features so that users cannot
easily bypass the proxy (e.g. "Go There Anyway"), or alter their own
configurations, configure like this:
./configure --disable-toggle --disable-editor --disable-force
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
be disabled through the configuration file.
WARNING: If installing as root, the install will fail unless a non-root user or
group is specified, or a privoxy user and group already exist on the system. If
a non-root user is specified, and no group, then the installation will try to
also use a group of the same name as "user". If a group is specified (and no
user), then the support files will be installed as writable by that group, and
owned by the user running the installation.
configure accepts --with-user and --with-group options for setting user and
group ownership of the configuration files (which need to be writable by the
daemon). The specified user must already exist. When starting Privoxy, it must
be run as this same user to insure write access to configuration and log files!
Alternately, you can specify user and group on the make command line, but be
sure both already exist:
make -s install USER=privoxy GROUP=privoxy
The default installation path for make install is /usr/local. This may of
course be customized with the various ./configure path options. If you are
doing an install to anywhere besides /usr/local, be sure to set the appropriate
paths with the correct configure options (./configure --help). Non-privileged
users must of course have write access permissions to wherever the target
installation is going.
If you do install to /usr/local, the install will use sysconfdir=$prefix/etc/
privoxy by default. All other destinations, and the direct usage of
--sysconfdir flag behave like normal, i.e. will not add the extra privoxy
directory. This is for a safer install, as there may already exist another
program that uses a file with the "config" name, and thus makes /usr/local/etc
cleaner.
If installing to /usr/local, the documentation will go by default to $prefix/
share/doc. But if this directory doesn't exist, it will then try $prefix/doc
and install there before creating a new $prefix/share/doc just for Privoxy.
Again, if the installs goes to /usr/local, the localstatedir (ie: var/) will
default to /var instead of $prefix/var so the logs will go to /var/log/privoxy
/, and the pid file will be created in /var/run/privoxy.pid.
make install will attempt to set the correct values in config (main
configuration file). You should check this to make sure all values are correct.
If appropriate, an init script will be installed, but it is up to the user to
determine how and where to start Privoxy. The init script should be checked for
correct paths and values, if anything other than a default install is done.
If install finds previous versions of local configuration files, most of these
will not be overwritten, and the new ones will be installed with a "new"
extension. default.action and default.filter will be overwritten. You will then
need to manually update the other installed configuration files as needed. The
default template files will be overwritten. If you have customized, local
templates, these should be stored safely in a separate directory and defined in
config by the "templdir" directive. It is of course wise to always back-up any
important configuration files "just in case". If a previous version of Privoxy
is already running, you will have to restart it manually.
For more detailed instructions on how to build Redhat RPMs, Windows
self-extracting installers, building on platforms with special requirements
etc, please consult the developer manual.
The simplest command line to start Privoxy is $path/privoxy --user=privoxy
$path/etc/privoxy/config. See privoxy --usage, or the man page, for other
options, and configuration.

View File

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -1,108 +0,0 @@
# $Id: Makefile,v 1.11 2006/07/18 14:48:45 david__schmidt Exp $
#
# Written by and Copyright (C) 2001 the SourceForge
# Privoxy team. http://www.privoxy.org/
#
# Based on the Internet Junkbuster originally written
# by and Copyright (C) 1997 Anonymous Coders and
# Junkbusters Corporation. http://www.junkbusters.com
#
# This program is free software; you can redistribute it
# and/or modify it under the terms of the GNU General
# Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will
# be useful, but WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# The GNU General Public License should be included with
# this file. If not, you can view it at
# http://www.gnu.org/copyleft/gpl.html
# or write to the Free Software Foundation, Inc., 59
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# $Log: Makefile,v $
# Revision 1.11 2006/07/18 14:48:45 david__schmidt
# Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
# with what was really the latest development (the v_3_0_branch branch)
#
# Revision 1.5.2.2 2002/10/25 02:44:23 hal9
# Port of make install, etc from main trunk. Needs testing! Add Slackware
# support, and other related changes. Update related docs.
#
# Revision 1.5.2.1 2002/08/05 17:46:13 oes
# Change make to gmake to fix auto-build on Solaris
#
# Revision 1.5 2002/04/11 12:51:34 oes
# Bugfix
#
# Revision 1.4 2002/04/09 16:38:10 oes
# Added option to run the whole build process
#
# Revision 1.3 2002/03/26 22:29:54 swa
# we have a new homepage!
#
# Revision 1.2 2002/03/24 13:25:42 swa
# name change related issues
#
# Revision 1.1 2001/12/01 11:24:29 jongfoster
# Will display a warning if non-GNU make is used
#
#
#############################################################################
GNU_MAKE_CMD = gmake
MAKE_CMD = make
error:
@if [ -f GNUmakefile ]; then \
echo "***"; \
echo "*** You are not using the GNU version of Make - maybe it's called gmake"; \
echo "*** or it's in a different PATH? Please read INSTALL." ; \
echo "***"; \
exit 1; \
elif test -n "$(HOST_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
echo "***"; \
echo "*** You are not using GNU Make on Solaris, please make sure you do" ; \
echo "*** and re-run 'make' "; \
echo "***"; \
exit 1 ; \
elif test -n "$(MACHINE_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
echo "***"; \
echo "*** You are not using GNU Make on FreeBSD, please make sure you do" ; \
echo "*** and re-run 'make' "; \
echo "***"; \
exit 1 ; \
else \
echo "***"; \
echo "*** To build this program, you must run"; \
echo "*** autoheader && autoconf && ./configure and then run GNU make."; \
echo "***"; \
echo -n "*** Shall I do this for you now? (y/n) "; \
read answer; \
if [ "$$answer" = "y" ]; then \
autoheader && autoconf && ./configure || exit 1; \
if $(GNU_MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
$(GNU_MAKE_CMD) ;\
elif $(MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
$(MAKE_CMD) ;\
else \
echo "Neither 'make' nor 'gmake' are GNU compatible!" ; \
echo "Please read INSTALL." ; \
exit 1 ; \
fi ;\
fi; \
fi
.PHONY: error
#############################################################################
## Local Variables:
## tab-width: 3
## end:

View File

@ -1,280 +0,0 @@
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/README,v $
*
* Purpose : README file to give a short intro.
*
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA
*
*********************************************************************/
This README is included with Privoxy 3.0.12. See http://www.privoxy.org/ for
more information. The current code maturity level is "stable".
-------------------------------------------------------------------------------
Privoxy is a non-caching web proxy with advanced filtering capabilities for
enhancing privacy, modifying web page data and HTTP headers, controlling
access, and removing ads and other obnoxious Internet junk. Privoxy has a
flexible configuration and can be customized to suit individual needs and
tastes. It has application for both stand-alone systems and multi-user
networks.
Privoxy is Free Software and licensed under the GPL2.
Privoxy is an associated project of Software in the Public Interest (SPI).
Donations are welcome.
-------------------------------------------------------------------------------
1. IMPORTANT CHANGES
March 2009, Privoxy 3.0.12 is released.
This is primarily a bug fix release. See the "ChangeLog", and the "What's New"
section and the "Upgrader's Notes" in the User Manual for details.
February 2009, Privoxy 3.0.11 is released.
As usual there are changes that effect the configuration. See the "ChangeLog",
and the "What's New" section and the "Upgrader's Notes" in the User Manual for
details and specifics.
This is a stable release, and marks a departure for Privoxy development.
Previously, odd numbered releases were considered beta versions and were only
released at the end of the development cycle when the code was already believed
to be stable. Usually it was, so the stable release contained pretty much the
same code, but got a higher version number. In the future we intend to release
several snapshots between stable releases. There will probably still be about
two stable releases per year, but hopefully about six snapshots instead of the
two betas we have now. The intentions is to make testing without CVS access
easier.
-------------------------------------------------------------------------------
2. INSTALL
See the INSTALL file in this directory, for installing from raw source, and the
User Manual, for all other installation types.
-------------------------------------------------------------------------------
3. RUN
privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER
[.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file]
See the man page or User Manual for an explanation of each option, and other
configuration and usage issues.
If no config_file is specified on the command line, Privoxy will look for a
file named 'config' in the current directory (except Win32 which will look for
'config.txt'). If no config_file is found, Privoxy will fail to start.
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
Or Debian and Ubuntu: /etc/init.d/privoxy start
-------------------------------------------------------------------------------
4. CONFIGURATION
See: 'config', 'default.action', 'user.action', 'default.filter', and
'user.filter'. 'user.action' and 'user.filter' are for personal and local
configuration preferences. These are all well commented. Most of the magic is
in '*.action' files. 'user.action' should be used for any actions
customizations. On Unix-like systems, these files are typically installed in /
etc/privoxy. On Windows, then wherever the executable itself is installed.
There are many significant changes and advances from earlier versions. The User
Manual has an explanation of all configuration options, and examples: http://
www.privoxy.org/user-manual/.
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
you specify in the config file under 'listen-address'. DEFAULT is
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
try it with FTP or other protocols for the simple reason it does not work.
The actions list can be configured via the web interface accessed via http://
p.p/, as well other options.
-------------------------------------------------------------------------------
5. DOCUMENTATION
There should be documentation in the 'doc' subdirectory. In particular, see the
User Manual there, the FAQ, and those interested in Privoxy development, should
look at developer-manual.
The source and configuration files are all well commented. The main
configuration files are: 'config', 'default.action', and 'default.filter'.
Included documentation may vary according to platform and packager. All
documentation is posted on http://www.privoxy.org, in case you don't have it,
or can't find it.
-------------------------------------------------------------------------------
6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS
We value your feedback. In fact, we rely on it to improve Privoxy and its
configuration. However, please note the following hints, so we can provide you
with the best support:
-------------------------------------------------------------------------------
6.1. Get Support
For casual users, our support forum at SourceForge is probably best suited:
http://sourceforge.net/tracker/?group_id=11118&atid=211118
All users are of course welcome to discuss their issues on the users mailing
list, where the developers also hang around.
Please don't sent private support requests to individual Privoxy developers,
either use the mailing lists or the support trackers.
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a delay
of several days and if you use a subject that doesn't clearly mention Privoxy
or one of its features, your message may be accidentally discarded as spam.
If you aren't subscribed, you should therefore spend a few seconds to come up
with a proper subject. Additionally you should make it clear that you want to
get CC'd. Otherwise some responses will be directed to the mailing list only,
and you won't see them.
-------------------------------------------------------------------------------
6.2. Reporting Problems
"Problems" for our purposes, come in two forms:
* Configuration issues, such as ads that slip through, or sites that don't
function properly due to one Privoxy "action" or another being turned "on".
* "Bugs" in the programming code that makes up Privoxy, such as that might
cause a crash.
-------------------------------------------------------------------------------
6.2.1. Reporting Ads or Other Configuration Problems
Please send feedback on ads that slipped through, innocent images that were
blocked, sites that don't work properly, and other configuration related
problem of default.action file, to http://sourceforge.net/tracker/?group_id=
11118&atid=460288, the Actions File Tracker.
New, improved default.action files may occasionally be made available based on
your feedback. These will be announced on the ijbswa-announce list and
available from our the files section of our project page.
-------------------------------------------------------------------------------
6.2.2. Reporting Bugs
Please report all bugs through our bug tracker: http://sourceforge.net/tracker
/?group_id=11118&atid=111118.
Before doing so, please make sure that the bug has not already been submitted
and observe the additional hints at the top of the submit form. If already
submitted, please feel free to add any info to the original report that might
help to solve the issue.
Please try to verify that it is a Privoxy bug, and not a browser or site bug or
documented behaviour that just happens to be different than what you expected.
If unsure, try toggling off Privoxy, and see if the problem persists.
If you are using your own custom configuration, please try the stock configs to
see if the problem is configuration related. If you're having problems with a
feature that is disabled by default, please ask around on the mailing list if
others can reproduce the problem.
If you aren't using the latest Privoxy version, the bug may have been found and
fixed in the meantime. We would appreciate if you could take the time to
upgrade to the latest version (or even the latest CVS snapshot) and verify that
your bug still exists.
Please be sure to provide the following information:
* The exact Privoxy version you are using (if you got the source from CVS,
please also provide the source code revisions as shown in http://
config.privoxy.org/show-version).
* The operating system and versions you run Privoxy on, (e.g. Windows XP
SP2), if you are using a Unix flavor, sending the output of "uname -a"
should do, in case of GNU/Linux, please also name the distribution.
* The name, platform, and version of the browser you were using (e.g.
Internet Explorer v5.5 for Mac).
* The URL where the problem occurred, or some way for us to duplicate the
problem (e.g. http://somesite.example.com/?somethingelse=123).
* Whether your version of Privoxy is one supplied by the Privoxy developers
via SourceForge, or if you got your copy somewhere else.
* Whether you are using Privoxy in tandem with another proxy such as Tor. If
so, please temporary disable the other proxy to see if the symptoms change.
* Whether you are using a personal firewall product. If so, does Privoxy work
without it?
* Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each action
taken).
You don't have to tell us your actual name when filing a problem report, but
please use a nickname so we can differentiate between your messages and the
ones entered by other "anonymous" users that may respond to your request if
they have the same problem or already found a solution.
Please also check the status of your request a few days after submitting it, as
we may request additional information. If you use a SF id, you should
automatically get a mail when someone responds to your request.
The appendix of the Privoxy User Manual also has helpful information on
understanding actions, and action debugging.
-------------------------------------------------------------------------------
6.3. Request New Features
You are welcome to submit ideas on new features or other proposals for
improvement through our feature request tracker at http://sourceforge.net/
tracker/?atid=361118&group_id=11118.
-------------------------------------------------------------------------------
6.4. Other
For any other issues, feel free to use the mailing lists. Technically
interested users and people who wish to contribute to the project are also
welcome on the developers list! You can find an overview of all Privoxy-related
mailing lists, including list archives, at: http://sourceforge.net/mail/?
group_id=11118.

View File

@ -1,495 +0,0 @@
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
@TOP@
/*
* Version number - Major (X._._)
*/
#undef VERSION_MAJOR
/*
* Version number - Minor (_.X._)
*/
#undef VERSION_MINOR
/*
* Version number - Point (_._.X)
*/
#undef VERSION_POINT
/*
* Version number, as a string
*/
#undef VERSION
/*
* Status of the code: "alpha", "beta" or "stable".
*/
#undef CODE_STATUS
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRE
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRS
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#undef FEATURE_ACL
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#undef FEATURE_CGI_EDIT_ACTIONS
/*
* Allows the use of jar files to capture cookies.
*/
#undef FEATURE_COOKIE_JAR
/*
* Locally redirect remote script-redirect URLs
*/
#undef FEATURE_FAST_REDIRECTS
/*
* Bypass filtering for 1 page only
*/
#undef FEATURE_FORCE_LOAD
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#undef FEATURE_IMAGE_BLOCKING
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
#undef FEATURE_IMAGE_DETECT_MSIE
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
#undef FEATURE_KILL_POPUPS
/*
* Use PNG instead of GIF for built-in images
*/
#undef FEATURE_NO_GIFS
/*
* Allow to shutdown Privoxy through the webinterface.
*/
#undef FEATURE_GRACEFUL_TERMINATION
/*
* Allow PCRE syntax in host patterns.
*/
#undef FEATURE_EXTENDED_HOST_PATTERNS
/*
* Keep outgoing connections alive if possible.
*/
#undef FEATURE_CONNECTION_KEEP_ALIVE
/*
* Use POSIX threads instead of native threads.
*/
#undef FEATURE_PTHREAD
/*
* Enables statistics function.
*/
#undef FEATURE_STATISTICS
/*
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#undef FEATURE_TOGGLE
/*
* Allows the use of trust files.
*/
#undef FEATURE_TRUST
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
#undef _REENTRANT
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
#undef __EXTENSIONS__
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#undef __MT__
/* If the (nonstandard and thread-safe) function gethostbyname_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
/* Defined if you have gmtime_r and localtime_r with a signature
* of (struct time *, struct tm *)
*/
#undef HAVE_GMTIME_R
#undef HAVE_LOCALTIME_R
/* Define to 'int' if <sys/socket.h> doesn't have it.
*/
#undef socklen_t
/* Define if pcre.h must be included as <pcre/pcre.h>
*/
#undef PCRE_H_IN_SUBDIR
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
*/
#undef PCREPOSIX_H_IN_SUBDIR
@BOTTOM@
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
#ifndef __STDC__
#define __STDC__ 1
#endif /* ndef __STDC__ */
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
/*
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
* symbol unix; it defines __unix__ and sometimes not even that:
*/
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
#define unix 1
#endif
/*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make
* the error messages understandable, by bailing out now.
*/
#ifdef _MSC_VER
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
#endif /* def _MSC_VER */
#endif /* CONFIG_H_INCLUDED */

View File

@ -1,306 +0,0 @@
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/actionlist.h,v $
*
* Purpose : Master list of supported actions.
* Not really a header, since it generates code.
* This is included (3 times!) from actions.c
* Each time, the following macros are defined to
* suitable values beforehand:
* DEFINE_ACTION_MULTI()
* DEFINE_ACTION_STRING()
* DEFINE_ACTION_BOOL()
* DEFINE_ACTION_ALIAS
*
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: actionlist.h,v $
* Revision 1.36 2008/09/20 10:04:33 fabiankeil
* Remove hide-forwarded-for-headers action which has
* been obsoleted by change-x-forwarded-for{block}.
*
* Revision 1.35 2008/09/19 15:43:54 fabiankeil
* Fix sorting.
*
* Revision 1.34 2008/09/19 15:26:28 fabiankeil
* Add change-x-forwarded-for{} action to block or add
* X-Forwarded-For headers. Mostly based on code removed
* before 3.0.7.
*
* Revision 1.33 2008/03/29 12:13:45 fabiankeil
* Remove send-wafer and send-vanilla-wafer actions.
*
* Revision 1.32 2008/03/28 15:13:42 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.31 2008/03/27 18:27:20 fabiankeil
* Remove kill-popups action.
*
* Revision 1.30 2008/03/04 18:30:34 fabiankeil
* Remove the treat-forbidden-connects-like-blocks action. We now
* use the "blocked" page for forbidden CONNECT requests by default.
*
* Revision 1.29 2008/03/01 14:00:43 fabiankeil
* Let the block action take the reason for the block
* as argument and show it on the "blocked" page.
*
* Revision 1.28 2007/12/11 21:08:29 fabiankeil
* Let the CGI editor suggest a forward-override
* parameter whose syntax is actually valid.
*
* Revision 1.27 2007/11/10 15:04:08 fabiankeil
* Tell the CGI editor about +hide-referrer{conditional-forge}.
*
* Revision 1.26 2007/06/01 16:54:28 fabiankeil
* Add forward-override{} to change the forwarding settings through
* action sections. This is mainly interesting to forward different
* clients differently (for example based on User-Agent or request
* origin).
*
* Revision 1.25 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.24 2007/03/20 15:16:34 fabiankeil
* Use dedicated header filter actions instead of abusing "filter".
* Replace "filter-client-headers" and "filter-client-headers"
* with "server-header-filter" and "client-header-filter".
*
* Revision 1.23 2006/10/09 10:26:18 fabiankeil
* Changed the path in set-image-blocker's redirection default to
* "send-banner?type=pattern" instead of "show-banner?type=pattern"
* which isn't caught by Privoxy. Fixes BR 1573468.
*
* Changed hide-user-agent's default value to "Privoxy VERSION".
*
* Changed hide-referrer's default fake value to "http://www.privoxy.org/".
* A static referrer is obviously fake anyway, so we might as well
* advertise ourselves.
*
* Revision 1.22 2006/09/01 17:14:18 hal9
* Re-ordered the actions list so that they display in the actions editor in
* alphabetical order. Some of the new actions were "out of order".
*
* Revision 1.21 2006/08/14 08:25:19 fabiankeil
* Split filter-headers{} into filter-client-headers{}
* and filter-server-headers{}.
* Added parse_header_time() to share some code.
* Replaced timegm() with mktime().
*
* Revision 1.20 2006/08/03 02:46:41 david__schmidt
* Incorporate Fabian Keil's patch work: http://www.fabiankeil.de/sourcecode/privoxy/
*
* Revision 1.19 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.17.2.3 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.17.2.2 2002/09/25 15:25:25 oes
* Added more aliases for prehistoric action names
*
* Revision 1.17.2.1 2002/08/02 12:50:47 oes
* Consistency with docs: Change default name for action from hide-referer to hide-referrer
*
* Revision 1.17 2002/05/14 21:25:55 oes
* Renamed prevent-(setting/reading)-cookies to crunch-(incoming/outgoing)-cookies
*
* Revision 1.16 2002/04/24 02:15:18 oes
* Renamed actions as discussed, Aliased old action names to new ones.
*
* Revision 1.15 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.14 2002/03/24 16:32:08 jongfoster
* Removing logo option
*
* Revision 1.13 2002/03/24 15:23:33 jongfoster
* Name changes
*
* Revision 1.12 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.11 2002/03/12 01:42:49 oes
* Introduced modular filters
*
* Revision 1.10 2002/03/08 18:19:14 jongfoster
* Adding +image-blocker{pattern} option to edit interface
*
* Revision 1.9 2001/11/22 21:58:41 jongfoster
* Adding action +no-cookies-keep
*
* Revision 1.8 2001/10/10 16:42:52 oes
* Fixed a bug, Added +limit-connect string action
*
* Revision 1.7 2001/10/07 15:33:59 oes
* Introduced a +no-compression action
* Introduced a +downgrade action
*
* Revision 1.6 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
* Revision 1.5 2001/07/18 12:27:03 oes
* Changed deanimate-gifs to string action
*
* Revision 1.4 2001/07/13 13:52:12 oes
* - Formatting
* - Introduced new action ACTION_DEANIMATE
*
* Revision 1.3 2001/06/07 23:03:56 jongfoster
* Added standard comment at top of file.
*
*
*********************************************************************/
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
#error Please define lots of macros before including "actionlist.h".
#endif /* !defined(all the DEFINE_ACTION_xxx macros) */
#ifndef DEFINE_CGI_PARAM_RADIO
#define DEFINE_CGI_PARAM_RADIO(name, bit, index, value, is_default)
#define DEFINE_CGI_PARAM_CUSTOM(name, bit, index, default_val)
#define DEFINE_CGI_PARAM_NO_RADIO(name, bit, index, default_val)
#endif /* ndef DEFINE_CGI_PARAM_RADIO */
DEFINE_ACTION_MULTI ("add-header", ACTION_MULTI_ADD_HEADER)
DEFINE_ACTION_STRING ("block", ACTION_BLOCK, ACTION_STRING_BLOCK)
DEFINE_CGI_PARAM_NO_RADIO("block", ACTION_BLOCK, ACTION_STRING_BLOCK, "No reason specified.")
DEFINE_ACTION_STRING ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR)
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "block", 0)
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "add", 1)
DEFINE_ACTION_MULTI ("client-header-filter", ACTION_MULTI_CLIENT_HEADER_FILTER)
DEFINE_ACTION_MULTI ("client-header-tagger", ACTION_MULTI_CLIENT_HEADER_TAGGER)
DEFINE_ACTION_STRING ("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE)
DEFINE_CGI_PARAM_NO_RADIO("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE, "text/html")
DEFINE_ACTION_STRING ("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER)
DEFINE_CGI_PARAM_NO_RADIO("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER, "X-Whatever:")
DEFINE_ACTION_BOOL ("crunch-if-none-match", ACTION_CRUNCH_IF_NONE_MATCH)
DEFINE_ACTION_BOOL ("crunch-incoming-cookies", ACTION_NO_COOKIE_SET)
DEFINE_ACTION_BOOL ("crunch-outgoing-cookies", ACTION_NO_COOKIE_READ)
DEFINE_ACTION_STRING ("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER)
DEFINE_CGI_PARAM_NO_RADIO("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER, "X-Whatever:")
DEFINE_ACTION_STRING ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE)
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "first", 0)
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
DEFINE_CGI_PARAM_CUSTOM ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE, "forward .")
DEFINE_ACTION_BOOL ("handle-as-empty-document", ACTION_HANDLE_AS_EMPTY_DOCUMENT)
DEFINE_ACTION_BOOL ("handle-as-image", ACTION_IMAGE)
DEFINE_ACTION_STRING ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE)
DEFINE_CGI_PARAM_RADIO ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "block", 0)
DEFINE_CGI_PARAM_CUSTOM ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "de-de")
DEFINE_ACTION_STRING ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION)
DEFINE_CGI_PARAM_RADIO ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "block", 0)
DEFINE_CGI_PARAM_CUSTOM ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "attachment; filename=WHATEVER.txt")
DEFINE_ACTION_STRING ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM)
DEFINE_CGI_PARAM_RADIO ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "block", 1)
DEFINE_CGI_PARAM_CUSTOM ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "spam_me_senseless@sittingduck.xyz")
DEFINE_ACTION_STRING ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE)
DEFINE_CGI_PARAM_RADIO ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "block", 0)
DEFINE_CGI_PARAM_CUSTOM ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "-1")
DEFINE_ACTION_STRING ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-forge", 3)
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-block", 2)
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "forge", 1)
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "block", 0)
DEFINE_CGI_PARAM_CUSTOM ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "http://www.privoxy.org/")
DEFINE_ACTION_STRING ("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT)
DEFINE_CGI_PARAM_NO_RADIO("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT, "Privoxy " VERSION)
DEFINE_ACTION_STRING ("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT)
DEFINE_CGI_PARAM_NO_RADIO("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT, "443")
DEFINE_ACTION_STRING ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED)
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "block", 0)
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "reset-to-request-time", 1)
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "randomize", 2)
DEFINE_ACTION_BOOL ("prevent-compression", ACTION_NO_COMPRESSION)
DEFINE_ACTION_STRING ("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT)
DEFINE_CGI_PARAM_NO_RADIO("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT, "http://localhost/")
DEFINE_ACTION_MULTI ("server-header-filter", ACTION_MULTI_SERVER_HEADER_FILTER)
DEFINE_ACTION_MULTI ("server-header-tagger", ACTION_MULTI_SERVER_HEADER_TAGGER)
DEFINE_ACTION_BOOL ("session-cookies-only", ACTION_NO_COOKIE_KEEP)
DEFINE_ACTION_STRING ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "pattern", 1)
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "blank", 0)
DEFINE_CGI_PARAM_CUSTOM ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, CGI_PREFIX "send-banner?type=pattern")
#if DEFINE_ACTION_ALIAS
/*
* Alternative spellings
*/
DEFINE_ACTION_STRING ("hide-referer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
DEFINE_ACTION_BOOL ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP)
/*
* Pre-3.0.7 (pseudo) compatibility
*/
DEFINE_ACTION_MULTI ("filter-client-headers", ACTION_MULTI_CLIENT_HEADER_FILTER)
DEFINE_ACTION_MULTI ("filter-server-headers", ACTION_MULTI_SERVER_HEADER_FILTER)
/*
* Pre-3.0 compatibility
*/
DEFINE_ACTION_BOOL ("no-cookie-read", ACTION_NO_COOKIE_READ)
DEFINE_ACTION_BOOL ("no-cookie-set", ACTION_NO_COOKIE_SET)
DEFINE_ACTION_BOOL ("prevent-reading-cookies", ACTION_NO_COOKIE_READ)
DEFINE_ACTION_BOOL ("prevent-setting-cookies", ACTION_NO_COOKIE_SET)
DEFINE_ACTION_BOOL ("downgrade", ACTION_DOWNGRADE)
DEFINE_ACTION_STRING ("hide-from", ACTION_HIDE_FROM, ACTION_STRING_FROM)
DEFINE_ACTION_BOOL ("image", ACTION_IMAGE)
DEFINE_ACTION_STRING ("image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
DEFINE_ACTION_BOOL ("no-compression", ACTION_NO_COMPRESSION)
DEFINE_ACTION_BOOL ("no-cookies-keep", ACTION_NO_COOKIE_KEEP)
DEFINE_ACTION_BOOL ("no-cookies-read", ACTION_NO_COOKIE_READ)
DEFINE_ACTION_BOOL ("no-cookies-set", ACTION_NO_COOKIE_SET)
#endif /* if DEFINE_ACTION_ALIAS */
#undef DEFINE_ACTION_MULTI
#undef DEFINE_ACTION_STRING
#undef DEFINE_ACTION_BOOL
#undef DEFINE_ACTION_ALIAS
#undef DEFINE_CGI_PARAM_CUSTOM
#undef DEFINE_CGI_PARAM_RADIO
#undef DEFINE_CGI_PARAM_NO_RADIO

File diff suppressed because it is too large Load Diff

View File

@ -1,187 +0,0 @@
#ifndef ACTIONS_H_INCLUDED
#define ACTIONS_H_INCLUDED
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $
*
* Purpose : Declares functions to work with actions files
* Functions declared include: FIXME
*
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: actions.h,v $
* Revision 1.18 2008/03/30 14:52:00 fabiankeil
* Rename load_actions_file() and load_re_filterfile()
* as they load multiple files "now".
*
* Revision 1.17 2008/01/28 20:17:40 fabiankeil
* - Mark some parameters as immutable.
* - Hide update_action_bits_for_all_tags() while it's unused.
*
* Revision 1.16 2007/04/17 18:21:45 fabiankeil
* Split update_action_bits() into
* update_action_bits_for_all_tags()
* and update_action_bits_for_tag().
*
* Revision 1.15 2007/04/15 16:39:20 fabiankeil
* Introduce tags as alternative way to specify which
* actions apply to a request. At the moment tags can be
* created based on client and server headers.
*
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.12 2002/05/06 07:56:50 oes
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.11 2002/04/30 11:14:52 oes
* Made csp the first parameter in *action_to_html
*
* Revision 1.10 2002/04/26 12:53:33 oes
* - actions_to_html signature change
* - current_action_to_text: renamed to current_action_to_html
* and signature change
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.7 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.6 2001/10/23 21:30:30 jongfoster
* Adding error-checking to selected functions.
*
* Revision 1.5 2001/10/14 21:58:22 jongfoster
* Adding support for the CGI-based editor:
* - Exported get_actions()
* - Added new function free_alias_list()
* - Added support for {{settings}} and {{description}} blocks
* in the actions file. They are currently ignored.
* - Added restriction to only one {{alias}} block which must appear
* first in the file, to simplify the editor's rewriting rules.
* - Note that load_actions_file() is no longer used by the CGI-based
* editor, but some of the other routines in this file are.
*
* Revision 1.4 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
* Revision 1.3 2001/09/14 00:17:32 jongfoster
* Tidying up memory allocation. New function init_action().
*
* Revision 1.2 2001/07/29 19:01:11 jongfoster
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
* Added forward declarations for needed structures.
*
* Revision 1.1 2001/05/31 21:16:46 jongfoster
* Moved functions to process the action list into this new file.
*
*
*********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
struct action_spec;
struct current_action_spec;
struct client_state;
/* This structure is used to hold user-defined aliases */
struct action_alias
{
const char * name;
struct action_spec action[1];
struct action_alias * next;
};
extern jb_err get_actions (char *line,
struct action_alias * alias_list,
struct action_spec *cur_action);
extern void free_alias_list(struct action_alias *alias_list);
extern void init_action(struct action_spec *dest);
extern void free_action(struct action_spec *src);
extern jb_err merge_actions (struct action_spec *dest,
const struct action_spec *src);
#if 0
extern int update_action_bits_for_all_tags(struct client_state *csp);
#endif
extern int update_action_bits_for_tag(struct client_state *csp, const char *tag);
extern jb_err copy_action (struct action_spec *dest,
const struct action_spec *src);
extern char * actions_to_text (const struct action_spec *action);
extern char * actions_to_html (const struct client_state *csp,
const struct action_spec *action);
extern void init_current_action (struct current_action_spec *dest);
extern void free_current_action (struct current_action_spec *src);
extern jb_err merge_current_action (struct current_action_spec *dest,
const struct action_spec *src);
extern char * current_action_to_html(const struct client_state *csp,
const struct current_action_spec *action);
extern jb_err get_action_token(char **line, char **name, char **value);
extern void unload_actions_file(void *file_data);
extern int load_action_files(struct client_state *csp);
#ifdef FEATURE_GRACEFUL_TERMINATION
void unload_current_actions_file(void);
#endif
/* Revision control strings from this header and associated .c file */
extern const char actions_rcs[];
extern const char actions_h_rcs[];
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* ndef ACTIONS_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

View File

@ -1,341 +0,0 @@
const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/amiga.c,v $
*
* Purpose : Amiga-specific declarations.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: amiga.c,v $
* Revision 1.12 2007/01/07 07:40:52 joergs
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
*
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/25 19:32:15 joergs
* Name in version string changed from junkbuster to Privoxy.
*
* Revision 1.7 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.6 2002/03/09 20:03:52 jongfoster
* - Making various functions return int rather than size_t.
* (Undoing a recent change). Since size_t is unsigned on
* Windows, functions like read_socket that return -1 on
* error cannot return a size_t.
*
* THIS WAS A MAJOR BUG - it caused frequent, unpredictable
* crashes, and also frequently caused JB to jump to 100%
* CPU and stay there. (Because it thought it had just
* read ((unsigned)-1) == 4Gb of data...)
*
* - The signature of write_socket has changed, it now simply
* returns success=0/failure=nonzero.
*
* - Trying to get rid of a few warnings --with-debug on
* Windows, I've introduced a new type "jb_socket". This is
* used for the socket file descriptors. On Windows, this
* is SOCKET (a typedef for unsigned). Everywhere else, it's
* an int. The error value can't be -1 any more, so it's
* now JB_INVALID_SOCKET (which is -1 on UNIX, and in
* Windows it maps to the #define INVALID_SOCKET.)
*
* - The signature of bind_port has changed.
*
* Revision 1.5 2002/03/03 09:18:03 joergs
* Made jumbjuster work on AmigaOS again.
*
* Revision 1.4 2001/10/07 15:35:13 oes
* Replaced 6 boolean members of csp with one bitmap (csp->flags)
*
* Revision 1.3 2001/09/12 22:54:51 joergs
* Stacksize of main thread increased.
*
* Revision 1.2 2001/05/23 00:13:58 joergs
* AmigaOS support fixed.
*
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
#include "config.h"
#ifdef AMIGA
#include <stdio.h>
#include <signal.h>
#include "project.h"
const char amiga_h_rcs[] = AMIGA_H_VERSION;
static char *ver USED = "$VER: Privoxy " __AMIGAVERSION__ " (" __AMIGADATE__ ")";
#ifdef __amigaos4__
static char *stack USED = "$STACK: 524288";
#else
unsigned long __stack = 100*1024;
#endif
struct Task *main_task = NULL;
int childs = 0;
void serve(struct client_state *csp);
SAVEDS ULONG server_thread(void)
{
struct client_state *local_csp;
struct UserData UserData;
struct Task *me=FindTask(NULL);
#ifdef __amigaos4__
struct Library *SocketBase;
#endif
Wait(SIGF_SINGLE);
local_csp=(struct client_state *)(me->tc_UserData);
me->tc_UserData=&UserData;
SocketBase=(APTR)OpenLibrary("bsdsocket.library",3);
if (SocketBase)
#ifdef __amigaos4__
{
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
}
if (ISocket)
#endif
{
SetErrnoPtr(&(UserData.eno),sizeof(int));
local_csp->cfd=ObtainSocket(local_csp->cfd, AF_INET, SOCK_STREAM, 0);
if(JB_INVALID_SOCKET!=local_csp->cfd)
{
Signal(main_task,SIGF_SINGLE);
serve((struct client_state *) local_csp);
} else {
local_csp->flags &= ~CSP_FLAG_ACTIVE;
Signal(main_task,SIGF_SINGLE);
}
#ifdef __amigaos4__
DropInterface((struct Interface *)ISocket);
#endif
CloseLibrary(SocketBase);
} else {
#ifdef __amigaos4__
CloseLibrary(SocketBase);
#endif
local_csp->flags &= ~CSP_FLAG_ACTIVE;
Signal(main_task,SIGF_SINGLE);
}
childs--;
return 0;
}
static BPTR olddir;
void amiga_exit(void)
{
#ifdef __amigaos4__
if (ISocket)
#else
if (SocketBase)
#endif
{
#ifdef __amigaos4__
struct Library *SocketBase = ISocket->Data.LibBase;
DropInterface((struct Interface *)ISocket);
#endif
CloseLibrary(SocketBase);
}
CurrentDir(olddir);
}
#ifndef __amigaos4__
static struct SignalSemaphore memsem;
static struct SignalSemaphore *memsemptr = NULL;
#endif
static struct UserData GlobalUserData;
void InitAmiga(void)
{
#ifdef __amigaos4__
struct Library *SocketBase;
#endif
main_task = FindTask(NULL);
main_task->tc_UserData = &GlobalUserData;
if (((struct Library *)SysBase)->lib_Version < 39)
{
exit(RETURN_FAIL);
}
signal(SIGINT,SIG_IGN);
SocketBase = (APTR)OpenLibrary("bsdsocket.library",3);
#ifdef __amigaos4__
if (SocketBase)
{
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
}
if (!ISocket)
#else
if (!SocketBase)
#endif
{
#ifdef __amigaos4__
CloseLibrary(SocketBase);
#endif
fprintf(stderr, "Can't open bsdsocket.library V3+\n");
exit(RETURN_ERROR);
}
SetErrnoPtr(&(GlobalUserData.eno),sizeof(int));
#ifndef __amigaos4__
InitSemaphore(&memsem);
memsemptr = &memsem;
#endif
olddir=CurrentDir(GetProgramDir());
atexit(amiga_exit);
}
#ifndef __amigaos4__
#ifdef __GNUC__
#ifdef libnix
/* multithreadingsafe libnix replacements */
static void *memPool=NULL;
void *malloc (size_t s)
{
ULONG *mem;
LONG size = s;
if (size<=0)
{
return NULL;
}
if (!memPool)
{
if (!(memPool=CreatePool(MEMF_ANY,32*1024,8*1024)))
{
return NULL;
}
}
size += sizeof(ULONG) + MEM_BLOCKMASK;
size &= ~MEM_BLOCKMASK;
if (memsemptr)
{
ObtainSemaphore(memsemptr);
}
if ((mem=AllocPooled(memPool,size)))
{
*mem++=size;
}
if (memsemptr)
{
ReleaseSemaphore(memsemptr);
}
return mem;
}
void free (void *m)
{
ULONG *mem = m;
if(mem && memPool)
{
ULONG size=*--mem;
if (memsemptr)
{
ObtainSemaphore(memsemptr);
}
FreePooled(memPool,mem,size);
if (memsemptr)
{
ReleaseSemaphore(memsemptr);
}
}
}
void *realloc (void *old, size_t ns)
{
void *new;
LONG osize, *o = old;
LONG nsize = ns;
if (!old)
{
return malloc(nsize);
}
osize = (*(o-1)) - sizeof(ULONG);
if (nsize <= osize)
{
return old;
}
if ((new = malloc(nsize)))
{
ULONG *n = new;
osize >>= 2;
while(osize--)
{
*n++ = *o++;
}
free(old);
}
return new;
}
void __memCleanUp (void)
{
if (memsemptr)
{
ObtainSemaphore(memsemptr);
}
if (memPool)
{
DeletePool(memPool);
}
if (memsemptr)
{
ReleaseSemaphore(memsemptr);
}
}
#define ADD2LIST(a,b,c) asm(".stabs \"_" #b "\"," #c ",0,0,_" #a )
#define ADD2EXIT(a,pri) ADD2LIST(a,__EXIT_LIST__,22); \
asm(".stabs \"___EXIT_LIST__\",20,0,0," #pri "+128")
ADD2EXIT(__memCleanUp,-50);
#elif !defined(ixemul)
#error No libnix and no ixemul!?
#endif /* libnix */
#else
#error Only GCC is supported, multithreading safe malloc/free required.
#endif /* __GNUC__ */
#endif /* !__amigaos4__ */
#endif /* def AMIGA */

View File

@ -1,176 +0,0 @@
#ifdef AMIGA
#ifndef AMIGA_H_INCLUDED
#define AMIGA_H_INCLUDED
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.12 2007/01/07 07:40:52 joergs Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
*
* Purpose : Amiga-specific declarations.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: amiga.h,v $
* Revision 1.12 2007/01/07 07:40:52 joergs
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
*
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.9 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.8 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.7 2002/03/03 09:18:03 joergs
* Made jumbjuster work on AmigaOS again.
*
* Revision 1.6 2001/10/13 12:46:08 joergs
* Added #undef EINTR to avoid warnings
*
* Revision 1.5 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.4 2001/05/29 20:05:06 joergs
* Fixed exit() macro not exiting if called before InitAmiga()
* (junkbuster --help and --version).
*
* Revision 1.3 2001/05/25 21:53:27 jongfoster
* Fixing indentation
*
* Revision 1.2 2001/05/23 00:13:58 joergs
* AmigaOS support fixed.
*
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
#define _KERNEL
#include <sys/socket.h>
#undef _KERNEL
#define __NOLIBBASE__
#define __NOGLOBALIFACE__
#include <proto/socket.h>
#undef __NOLIBBASE__
#undef __NOGLOBALIFACE__
#define __CONSTLIBBASEDECL__ const
#include <proto/exec.h>
#include <exec/tasks.h>
#include <proto/dos.h>
#include <dos/dostags.h>
struct UserData
{
#ifdef __amigaos4__
struct SocketIFace *si;
#else
struct Library *sb;
#endif
int eno;
};
#ifdef __amigaos4__
#define ISocket (((struct UserData *)(FindTask(NULL)->tc_UserData))->si)
#undef errno
#else
#define SocketBase ((struct Library *)(((struct UserData *)(FindTask(NULL)->tc_UserData))->sb))
#endif
#define errno (((struct UserData *)(FindTask(NULL)->tc_UserData))->eno)
#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,NULL)
#define inet_ntoa(x) Inet_NtoA(x.s_addr)
extern int childs;
extern struct Task *main_task;
void InitAmiga(void);
void amiga_exit(void);
void __memCleanUp(void);
SAVEDS ULONG server_thread(void);
#ifdef __amigaos4__
#define exit(x) \
{ \
if(main_task) \
{ \
if(main_task == FindTask(NULL)) \
{ \
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
} \
else \
{ \
if (ISocket) \
{ \
struct Library *sb = ISocket->Data.LibBase; \
DropInterface((struct Interface *)ISocket); \
CloseLibrary(sb); \
} \
childs--; \
RemTask(NULL); \
} \
} \
else \
{ \
exit(x); \
} \
}
#else
#define exit(x) \
{ \
if(main_task) \
{ \
if(main_task == FindTask(NULL)) \
{ \
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
} \
else \
{ \
CloseLibrary(SocketBase); \
childs--; \
RemTask(NULL); \
} \
} \
else \
{ \
exit(x); \
} \
}
#undef HAVE_RANDOM
#define h_errno 0
#define HAVE_TIMEGM
#define timegm(tm) mktime(tm)
#endif /* __amigaos4__ */
#undef EINTR
#define EINTR 0
#endif /* ndef AMIGA_H_INCLUDED */
#endif /* def AMIGA */

File diff suppressed because it is too large Load Diff

View File

@ -1,75 +0,0 @@
# This file was generated by Autom4te Sun Nov 6 20:57:04 UTC 2011.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'configure.in'
],
{
'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_pattern_forbid' => 1,
'AC_INIT' => 1,
'AC_CANONICAL_TARGET' => 1,
'_AM_COND_IF' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_SUBST' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_FC_SRCEXT' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_PATH_GUILE' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'LT_SUPPORTED_TAG' => 1,
'm4_sinclude' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_NLS' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'_m4_warn' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
'AM_PROG_CXX_C_O' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'_AM_COND_ENDIF' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AM_SILENT_RULES' => 1,
'AM_PROG_MOC' => 1,
'AC_CONFIG_FILES' => 1,
'LT_INIT' => 1,
'include' => 1,
'AM_GNU_GETTEXT' => 1,
'AM_PROG_AR' => 1,
'AC_LIBSOURCE' => 1,
'AC_CANONICAL_BUILD' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_FC_FREEFORM' => 1,
'AH_OUTPUT' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_CC_C_O' => 1,
'sinclude' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_XGETTEXT_OPTION' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AM_POT_TOOLS' => 1,
'm4_include' => 1,
'_AM_COND_ELSE' => 1,
'AC_SUBST_TRACE' => 1
}
], 'Autom4te::Request' )
);

View File

@ -1,726 +0,0 @@
m4trace:configure.in:570: -1- AC_INIT([jcc.c])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:570: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:570: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:570: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:570: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:570: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:570: -1- AC_SUBST([SHELL])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.in:570: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.in:570: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.in:570: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:570: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.in:570: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.in:570: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.in:570: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.in:570: -1- m4_pattern_allow([^prefix$])
m4trace:configure.in:570: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.in:570: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.in:570: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.in:570: -1- m4_pattern_allow([^bindir$])
m4trace:configure.in:570: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.in:570: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.in:570: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.in:570: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.in:570: -1- m4_pattern_allow([^datadir$])
m4trace:configure.in:570: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.in:570: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.in:570: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.in:570: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^includedir$])
m4trace:configure.in:570: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.in:570: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^docdir$])
m4trace:configure.in:570: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.in:570: -1- m4_pattern_allow([^infodir$])
m4trace:configure.in:570: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.in:570: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.in:570: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.in:570: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.in:570: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.in:570: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^psdir$])
m4trace:configure.in:570: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.in:570: -1- m4_pattern_allow([^libdir$])
m4trace:configure.in:570: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.in:570: -1- m4_pattern_allow([^localedir$])
m4trace:configure.in:570: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.in:570: -1- m4_pattern_allow([^mandir$])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.in:570: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.in:570: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.in:570: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.in:570: -1- AC_SUBST([DEFS])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.in:570: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.in:570: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.in:570: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.in:570: -1- AC_SUBST([LIBS])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:570: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:570: -1- AC_SUBST([build_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.in:570: -1- AC_SUBST([host_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.in:570: -1- AC_SUBST([target_alias])
m4trace:configure.in:570: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.in:570: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.in:583: -1- AC_CONFIG_HEADERS([config.h])
m4trace:configure.in:584: -1- AC_CANONICAL_HOST
m4trace:configure.in:584: -1- AC_CANONICAL_BUILD
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.in:584: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.in:584: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build])
m4trace:configure.in:584: -1- m4_pattern_allow([^build$])
m4trace:configure.in:584: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.in:584: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.in:584: -1- AC_SUBST([build_os])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.in:584: -1- m4_pattern_allow([^build_os$])
m4trace:configure.in:584: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host])
m4trace:configure.in:584: -1- m4_pattern_allow([^host$])
m4trace:configure.in:584: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.in:584: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.in:584: -1- AC_SUBST([host_os])
m4trace:configure.in:584: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.in:584: -1- m4_pattern_allow([^host_os$])
m4trace:configure.in:626: -1- AC_SUBST([VERSION_MAJOR])
m4trace:configure.in:626: -1- AC_SUBST_TRACE([VERSION_MAJOR])
m4trace:configure.in:626: -1- m4_pattern_allow([^VERSION_MAJOR$])
m4trace:configure.in:627: -1- AC_SUBST([VERSION_MINOR])
m4trace:configure.in:627: -1- AC_SUBST_TRACE([VERSION_MINOR])
m4trace:configure.in:627: -1- m4_pattern_allow([^VERSION_MINOR$])
m4trace:configure.in:628: -1- AC_SUBST([VERSION_POINT])
m4trace:configure.in:628: -1- AC_SUBST_TRACE([VERSION_POINT])
m4trace:configure.in:628: -1- m4_pattern_allow([^VERSION_POINT$])
m4trace:configure.in:629: -1- AC_SUBST([CODE_STATUS])
m4trace:configure.in:629: -1- AC_SUBST_TRACE([CODE_STATUS])
m4trace:configure.in:629: -1- m4_pattern_allow([^CODE_STATUS$])
m4trace:configure.in:632: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MAJOR])
m4trace:configure.in:632: -1- m4_pattern_allow([^VERSION_MAJOR$])
m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([VERSION_MINOR])
m4trace:configure.in:633: -1- m4_pattern_allow([^VERSION_MINOR$])
m4trace:configure.in:634: -1- AC_DEFINE_TRACE_LITERAL([VERSION_POINT])
m4trace:configure.in:634: -1- m4_pattern_allow([^VERSION_POINT$])
m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:635: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([CODE_STATUS])
m4trace:configure.in:636: -1- m4_pattern_allow([^CODE_STATUS$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([LIBS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:647: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:647: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:647: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:647: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.in:647: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.in:647: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.in:647: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.in:647: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:647: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.in:647: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.in:648: -1- AC_SUBST([CPP])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:648: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:648: -1- AC_SUBST([CPP])
m4trace:configure.in:648: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:648: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:649: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.in:649: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:649: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.in:649: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.in:650: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.in:650: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.in:650: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.in:651: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:651: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.in:651: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.in:652: -1- AC_SUBST([AWK])
m4trace:configure.in:652: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.in:652: -1- m4_pattern_allow([^AWK$])
m4trace:configure.in:654: -1- AC_SUBST([GDB])
m4trace:configure.in:654: -1- AC_SUBST_TRACE([GDB])
m4trace:configure.in:654: -1- m4_pattern_allow([^GDB$])
m4trace:configure.in:655: -1- AC_SUBST([BGROUPS])
m4trace:configure.in:655: -1- AC_SUBST_TRACE([BGROUPS])
m4trace:configure.in:655: -1- m4_pattern_allow([^BGROUPS$])
m4trace:configure.in:656: -1- AC_SUBST([ID])
m4trace:configure.in:656: -1- AC_SUBST_TRACE([ID])
m4trace:configure.in:656: -1- m4_pattern_allow([^ID$])
m4trace:configure.in:657: -1- AC_SUBST([ID])
m4trace:configure.in:657: -1- AC_SUBST_TRACE([ID])
m4trace:configure.in:657: -1- m4_pattern_allow([^ID$])
m4trace:configure.in:658: -1- AC_SUBST([BGROUPS])
m4trace:configure.in:658: -1- AC_SUBST_TRACE([BGROUPS])
m4trace:configure.in:658: -1- m4_pattern_allow([^BGROUPS$])
m4trace:configure.in:734: -1- AC_SUBST([USER])
m4trace:configure.in:734: -1- AC_SUBST_TRACE([USER])
m4trace:configure.in:734: -1- m4_pattern_allow([^USER$])
m4trace:configure.in:771: -1- AC_SUBST([GROUP])
m4trace:configure.in:771: -1- AC_SUBST_TRACE([GROUP])
m4trace:configure.in:771: -1- m4_pattern_allow([^GROUP$])
m4trace:configure.in:799: -1- _m4_warn([obsolete], [The macro `AC_MINGW32' is obsolete.
You should run autoupdate.], [../../lib/autoconf/specific.m4:345: AC_MINGW32 is expanded from...
configure.in:799: the top level])
m4trace:configure.in:799: -1- AC_CANONICAL_HOST
m4trace:configure.in:800: -1- _m4_warn([obsolete], [The macro `AC_CYGWIN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/specific.m4:317: AC_CYGWIN is expanded from...
configure.in:800: the top level])
m4trace:configure.in:800: -1- AC_CANONICAL_HOST
m4trace:configure.in:849: -1- AC_SUBST([WIN_ONLY])
m4trace:configure.in:849: -1- AC_SUBST_TRACE([WIN_ONLY])
m4trace:configure.in:849: -1- m4_pattern_allow([^WIN_ONLY$])
m4trace:configure.in:853: -1- AC_SUBST([WDUMP])
m4trace:configure.in:853: -1- AC_SUBST_TRACE([WDUMP])
m4trace:configure.in:853: -1- m4_pattern_allow([^WDUMP$])
m4trace:configure.in:861: -1- AC_SUBST([DB2HTML])
m4trace:configure.in:861: -1- AC_SUBST_TRACE([DB2HTML])
m4trace:configure.in:861: -1- m4_pattern_allow([^DB2HTML$])
m4trace:configure.in:864: -1- AC_SUBST([WDUMP])
m4trace:configure.in:864: -1- AC_SUBST_TRACE([WDUMP])
m4trace:configure.in:864: -1- m4_pattern_allow([^WDUMP$])
m4trace:configure.in:865: -1- AC_SUBST([DB2HTML])
m4trace:configure.in:865: -1- AC_SUBST_TRACE([DB2HTML])
m4trace:configure.in:865: -1- m4_pattern_allow([^DB2HTML$])
m4trace:configure.in:868: -1- AC_SUBST([RPMBIN])
m4trace:configure.in:868: -1- AC_SUBST_TRACE([RPMBIN])
m4trace:configure.in:868: -1- m4_pattern_allow([^RPMBIN$])
m4trace:configure.in:875: -1- AC_SUBST([RPM_BASE])
m4trace:configure.in:875: -1- AC_SUBST_TRACE([RPM_BASE])
m4trace:configure.in:875: -1- m4_pattern_allow([^RPM_BASE$])
m4trace:configure.in:878: -1- AC_SUBST([JADEBIN])
m4trace:configure.in:878: -1- AC_SUBST_TRACE([JADEBIN])
m4trace:configure.in:878: -1- m4_pattern_allow([^JADEBIN$])
m4trace:configure.in:879: -1- AC_SUBST([JADEBIN])
m4trace:configure.in:879: -1- AC_SUBST_TRACE([JADEBIN])
m4trace:configure.in:879: -1- m4_pattern_allow([^JADEBIN$])
m4trace:configure.in:882: -1- AC_SUBST([MAN2HTML])
m4trace:configure.in:882: -1- AC_SUBST_TRACE([MAN2HTML])
m4trace:configure.in:882: -1- m4_pattern_allow([^MAN2HTML$])
m4trace:configure.in:883: -1- AC_SUBST([MAN2HTML])
m4trace:configure.in:883: -1- AC_SUBST_TRACE([MAN2HTML])
m4trace:configure.in:883: -1- m4_pattern_allow([^MAN2HTML$])
m4trace:configure.in:890: -1- AC_SUBST([DOC_STATUS])
m4trace:configure.in:890: -1- AC_SUBST_TRACE([DOC_STATUS])
m4trace:configure.in:890: -1- m4_pattern_allow([^DOC_STATUS$])
m4trace:configure.in:932: -1- AC_SUBST([JADECAT])
m4trace:configure.in:932: -1- AC_SUBST_TRACE([JADECAT])
m4trace:configure.in:932: -1- m4_pattern_allow([^JADECAT$])
m4trace:configure.in:933: -1- AC_SUBST([DKPREFIX])
m4trace:configure.in:933: -1- AC_SUBST_TRACE([DKPREFIX])
m4trace:configure.in:933: -1- m4_pattern_allow([^DKPREFIX$])
m4trace:configure.in:951: -1- AC_SUBST([GREP])
m4trace:configure.in:951: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.in:951: -1- m4_pattern_allow([^GREP$])
m4trace:configure.in:951: -1- AC_SUBST([EGREP])
m4trace:configure.in:951: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.in:951: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.in:951: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:951: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:951: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
@%:@undef HAVE_MEMORY_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.in:951: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.in:966: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_PTHREAD])
m4trace:configure.in:966: -1- m4_pattern_allow([^FEATURE_PTHREAD$])
m4trace:configure.in:973: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from...
configure.in:973: the top level])
m4trace:configure.in:989: -1- AC_SUBST([PTHREAD_ONLY])
m4trace:configure.in:989: -1- AC_SUBST_TRACE([PTHREAD_ONLY])
m4trace:configure.in:989: -1- m4_pattern_allow([^PTHREAD_ONLY$])
m4trace:configure.in:997: -1- AH_OUTPUT([HAVE_LIBNSL], [/* Define to 1 if you have the `nsl\' library (-lnsl). */
@%:@undef HAVE_LIBNSL])
m4trace:configure.in:997: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNSL])
m4trace:configure.in:997: -1- m4_pattern_allow([^HAVE_LIBNSL$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_8_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_8_ARGS$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_7_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_7_ARGS$])
m4trace:configure.in:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:999: the top level])
m4trace:configure.in:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYADDR_R_5_ARGS])
m4trace:configure.in:999: -1- m4_pattern_allow([^HAVE_GETHOSTBYADDR_R_5_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_6_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_6_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_5_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_5_ARGS$])
m4trace:configure.in:1043: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from...
../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1043: the top level])
m4trace:configure.in:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME_R_3_ARGS])
m4trace:configure.in:1043: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME_R_3_ARGS$])
m4trace:configure.in:1086: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1086: the top level])
m4trace:configure.in:1086: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GMTIME_R])
m4trace:configure.in:1086: -1- m4_pattern_allow([^HAVE_GMTIME_R$])
m4trace:configure.in:1104: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2615: AC_TRY_COMPILE is expanded from...
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
../../lib/autoconf/functions.m4:60: AC_CHECK_FUNC is expanded from...
configure.in:1104: the top level])
m4trace:configure.in:1104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALTIME_R])
m4trace:configure.in:1104: -1- m4_pattern_allow([^HAVE_LOCALTIME_R$])
m4trace:configure.in:1136: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
m4trace:configure.in:1136: -1- m4_pattern_allow([^__EXTENSIONS__$])
m4trace:configure.in:1149: -1- AC_SUBST([SOCKET_LIB])
m4trace:configure.in:1149: -1- AC_SUBST_TRACE([SOCKET_LIB])
m4trace:configure.in:1149: -1- m4_pattern_allow([^SOCKET_LIB$])
m4trace:configure.in:1158: -2- AC_DEFINE_TRACE_LITERAL([socklen_t])
m4trace:configure.in:1158: -2- m4_pattern_allow([^socklen_t$])
m4trace:configure.in:1158: -2- AH_OUTPUT([socklen_t], [/* Define to \'int\' if <sys/socket.h> doesn\'t have it. */
@%:@undef socklen_t])
m4trace:configure.in:1171: -1- AC_SUBST([SOCKET_LIB])
m4trace:configure.in:1171: -1- AC_SUBST_TRACE([SOCKET_LIB])
m4trace:configure.in:1171: -1- m4_pattern_allow([^SOCKET_LIB$])
m4trace:configure.in:1202: -1- AC_SUBST([AMIGAOS_ONLY])
m4trace:configure.in:1202: -1- AC_SUBST_TRACE([AMIGAOS_ONLY])
m4trace:configure.in:1202: -1- m4_pattern_allow([^AMIGAOS_ONLY$])
m4trace:configure.in:1210: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:1210: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:1210: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_DIRENT_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_SYS_NDIR_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
*/
@%:@undef HAVE_SYS_DIR_H])
m4trace:configure.in:1211: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
@%:@undef HAVE_NDIR_H])
m4trace:configure.in:1212: -1- AC_DEFINE_TRACE_LITERAL([const])
m4trace:configure.in:1212: -1- m4_pattern_allow([^const$])
m4trace:configure.in:1212: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
@%:@undef const])
m4trace:configure.in:1213: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:1213: -1- m4_pattern_allow([^size_t$])
m4trace:configure.in:1213: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
@%:@undef size_t])
m4trace:configure.in:1214: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:1214: -1- m4_pattern_allow([^pid_t$])
m4trace:configure.in:1214: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
@%:@undef pid_t])
m4trace:configure.in:1215: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
m4trace:configure.in:1215: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
m4trace:configure.in:1215: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
@%:@undef TIME_WITH_SYS_TIME])
m4trace:configure.in:1216: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:1216: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
m4trace:configure.in:1216: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
@%:@undef TM_IN_SYS_TIME])
m4trace:configure.in:1217: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
m4trace:configure.in:1217: -1- m4_pattern_allow([^SIZEOF_INT$])
m4trace:configure.in:1217: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
@%:@undef SIZEOF_INT])
m4trace:configure.in:1218: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
m4trace:configure.in:1218: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
m4trace:configure.in:1218: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
@%:@undef SIZEOF_CHAR_P])
m4trace:configure.in:1219: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
m4trace:configure.in:1219: -1- m4_pattern_allow([^SIZEOF_LONG$])
m4trace:configure.in:1219: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
@%:@undef SIZEOF_LONG])
m4trace:configure.in:1220: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
m4trace:configure.in:1220: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
m4trace:configure.in:1220: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
@%:@undef SIZEOF_LONG_LONG])
m4trace:configure.in:1221: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SIZE_T])
m4trace:configure.in:1221: -1- m4_pattern_allow([^SIZEOF_SIZE_T$])
m4trace:configure.in:1221: -1- AH_OUTPUT([SIZEOF_SIZE_T], [/* The size of `size_t\', as computed by sizeof. */
@%:@undef SIZEOF_SIZE_T])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_OS_H], [/* Define to 1 if you have the <OS.h> header file. */
@%:@undef HAVE_OS_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
@%:@undef HAVE_ARPA_INET_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
@%:@undef HAVE_ERRNO_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
@%:@undef HAVE_FCNTL_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
@%:@undef HAVE_LIMITS_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
@%:@undef HAVE_LOCALE_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
@%:@undef HAVE_NETDB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
@%:@undef HAVE_NETINET_IN_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
@%:@undef HAVE_STDDEF_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the <sys/ioctl.h> header file. */
@%:@undef HAVE_SYS_IOCTL_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
@%:@undef HAVE_SYS_SOCKET_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
@%:@undef HAVE_SYS_TIME_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_TIMEB_H], [/* Define to 1 if you have the <sys/timeb.h> header file. */
@%:@undef HAVE_SYS_TIMEB_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
@%:@undef HAVE_SYS_WAIT_H])
m4trace:configure.in:1226: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
@%:@undef HAVE_BCOPY])
m4trace:configure.in:1232: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
@%:@undef HAVE_MEMMOVE])
m4trace:configure.in:1236: -1- AC_DEFINE_TRACE_LITERAL([SETPGRP_VOID])
m4trace:configure.in:1236: -1- m4_pattern_allow([^SETPGRP_VOID$])
m4trace:configure.in:1236: -1- AH_OUTPUT([SETPGRP_VOID], [/* Define to 1 if the `setpgrp\' function takes no argument. */
@%:@undef SETPGRP_VOID])
m4trace:configure.in:1237: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
You should run autoupdate.], [../../lib/autoconf/types.m4:738: AC_TYPE_SIGNAL is expanded from...
configure.in:1237: the top level])
m4trace:configure.in:1237: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:1237: -1- m4_pattern_allow([^RETSIGTYPE$])
m4trace:configure.in:1237: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
@%:@undef RETSIGTYPE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ACCESS], [/* Define to 1 if you have the `access\' function. */
@%:@undef HAVE_ACCESS])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_ATEXIT], [/* Define to 1 if you have the `atexit\' function. */
@%:@undef HAVE_ATEXIT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
@%:@undef HAVE_GETCWD])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR], [/* Define to 1 if you have the `gethostbyaddr\' function. */
@%:@undef HAVE_GETHOSTBYADDR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYADDR_R], [/* Define to 1 if you have the `gethostbyaddr_r\' function. */
@%:@undef HAVE_GETHOSTBYADDR_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
@%:@undef HAVE_GETHOSTBYNAME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME_R], [/* Define to 1 if you have the `gethostbyname_r\' function. */
@%:@undef HAVE_GETHOSTBYNAME_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
@%:@undef HAVE_GETTIMEOFDAY])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_INET_NTOA], [/* Define to 1 if you have the `inet_ntoa\' function. */
@%:@undef HAVE_INET_NTOA])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_LOCALTIME_R], [/* Define to 1 if you have the `localtime_r\' function. */
@%:@undef HAVE_LOCALTIME_R])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMCHR], [/* Define to 1 if you have the `memchr\' function. */
@%:@undef HAVE_MEMCHR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
@%:@undef HAVE_MEMMOVE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
@%:@undef HAVE_MEMSET])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_POLL], [/* Define to 1 if you have the `poll\' function. */
@%:@undef HAVE_POLL])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
@%:@undef HAVE_PUTENV])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_RANDOM], [/* Define to 1 if you have the `random\' function. */
@%:@undef HAVE_RANDOM])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
@%:@undef HAVE_REGCOMP])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
@%:@undef HAVE_SELECT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
@%:@undef HAVE_SETLOCALE])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
@%:@undef HAVE_SNPRINTF])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
@%:@undef HAVE_SOCKET])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
@%:@undef HAVE_STRCHR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
@%:@undef HAVE_STRDUP])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
@%:@undef HAVE_STRERROR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
@%:@undef HAVE_STRFTIME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCAT], [/* Define to 1 if you have the `strlcat\' function. */
@%:@undef HAVE_STRLCAT])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */
@%:@undef HAVE_STRLCPY])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRPTIME], [/* Define to 1 if you have the `strptime\' function. */
@%:@undef HAVE_STRPTIME])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
@%:@undef HAVE_STRSTR])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
@%:@undef HAVE_STRTOUL])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TIMEGM], [/* Define to 1 if you have the `timegm\' function. */
@%:@undef HAVE_TIMEGM])
m4trace:configure.in:1240: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
@%:@undef HAVE_TZSET])
m4trace:configure.in:1249: -1- AC_DEFINE_TRACE_LITERAL([PCRE_H_IN_SUBDIR])
m4trace:configure.in:1249: -1- m4_pattern_allow([^PCRE_H_IN_SUBDIR$])
m4trace:configure.in:1259: -1- AC_DEFINE_TRACE_LITERAL([PCREPOSIX_H_IN_SUBDIR])
m4trace:configure.in:1259: -1- m4_pattern_allow([^PCREPOSIX_H_IN_SUBDIR$])
m4trace:configure.in:1284: -1- AC_DEFINE_TRACE_LITERAL([__MT__])
m4trace:configure.in:1284: -1- m4_pattern_allow([^__MT__$])
m4trace:configure.in:1294: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
m4trace:configure.in:1294: -2- m4_pattern_allow([^FEATURE_TOGGLE$])
m4trace:configure.in:1290: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TOGGLE])
m4trace:configure.in:1290: -1- m4_pattern_allow([^FEATURE_TOGGLE$])
m4trace:configure.in:1300: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
m4trace:configure.in:1300: -2- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
m4trace:configure.in:1296: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FORCE_LOAD])
m4trace:configure.in:1296: -1- m4_pattern_allow([^FEATURE_FORCE_LOAD$])
m4trace:configure.in:1306: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
m4trace:configure.in:1306: -2- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
m4trace:configure.in:1302: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_FAST_REDIRECTS])
m4trace:configure.in:1302: -1- m4_pattern_allow([^FEATURE_FAST_REDIRECTS$])
m4trace:configure.in:1312: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
m4trace:configure.in:1312: -2- m4_pattern_allow([^FEATURE_STATISTICS$])
m4trace:configure.in:1308: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_STATISTICS])
m4trace:configure.in:1308: -1- m4_pattern_allow([^FEATURE_STATISTICS$])
m4trace:configure.in:1314: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_DETECT_MSIE])
m4trace:configure.in:1314: -1- m4_pattern_allow([^FEATURE_IMAGE_DETECT_MSIE$])
m4trace:configure.in:1327: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
m4trace:configure.in:1327: -2- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
m4trace:configure.in:1321: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_IMAGE_BLOCKING])
m4trace:configure.in:1321: -1- m4_pattern_allow([^FEATURE_IMAGE_BLOCKING$])
m4trace:configure.in:1335: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
m4trace:configure.in:1335: -2- m4_pattern_allow([^FEATURE_ACL$])
m4trace:configure.in:1329: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ACL])
m4trace:configure.in:1329: -1- m4_pattern_allow([^FEATURE_ACL$])
m4trace:configure.in:1342: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
m4trace:configure.in:1342: -2- m4_pattern_allow([^FEATURE_TRUST$])
m4trace:configure.in:1337: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_TRUST])
m4trace:configure.in:1337: -1- m4_pattern_allow([^FEATURE_TRUST$])
m4trace:configure.in:1350: -2- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
m4trace:configure.in:1350: -2- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
m4trace:configure.in:1344: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CGI_EDIT_ACTIONS])
m4trace:configure.in:1344: -1- m4_pattern_allow([^FEATURE_CGI_EDIT_ACTIONS$])
m4trace:configure.in:1352: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_NO_GIFS])
m4trace:configure.in:1352: -1- m4_pattern_allow([^FEATURE_NO_GIFS$])
m4trace:configure.in:1359: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_GRACEFUL_TERMINATION])
m4trace:configure.in:1359: -1- m4_pattern_allow([^FEATURE_GRACEFUL_TERMINATION$])
m4trace:configure.in:1365: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_EXTENDED_HOST_PATTERNS])
m4trace:configure.in:1365: -1- m4_pattern_allow([^FEATURE_EXTENDED_HOST_PATTERNS$])
m4trace:configure.in:1400: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_ZLIB])
m4trace:configure.in:1400: -1- m4_pattern_allow([^FEATURE_ZLIB$])
m4trace:configure.in:1400: -1- AH_OUTPUT([FEATURE_ZLIB], [/* Define to 1 to use compression through the zlib library. */
@%:@undef FEATURE_ZLIB])
m4trace:configure.in:1422: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRE])
m4trace:configure.in:1422: -1- m4_pattern_allow([^STATIC_PCRE$])
m4trace:configure.in:1428: -1- AC_DEFINE_TRACE_LITERAL([FEATURE_CONNECTION_KEEP_ALIVE])
m4trace:configure.in:1428: -1- m4_pattern_allow([^FEATURE_CONNECTION_KEEP_ALIVE$])
m4trace:configure.in:1445: -1- AC_DEFINE_TRACE_LITERAL([STATIC_PCRS])
m4trace:configure.in:1445: -1- m4_pattern_allow([^STATIC_PCRS$])
m4trace:configure.in:1449: -1- AC_SUBST([STATIC_PCRE_ONLY])
m4trace:configure.in:1449: -1- AC_SUBST_TRACE([STATIC_PCRE_ONLY])
m4trace:configure.in:1449: -1- m4_pattern_allow([^STATIC_PCRE_ONLY$])
m4trace:configure.in:1450: -1- AC_SUBST([STATIC_PCRS_ONLY])
m4trace:configure.in:1450: -1- AC_SUBST_TRACE([STATIC_PCRS_ONLY])
m4trace:configure.in:1450: -1- m4_pattern_allow([^STATIC_PCRS_ONLY$])
m4trace:configure.in:1459: -1- AC_SUBST([SPECIAL_CFLAGS])
m4trace:configure.in:1459: -1- AC_SUBST_TRACE([SPECIAL_CFLAGS])
m4trace:configure.in:1459: -1- m4_pattern_allow([^SPECIAL_CFLAGS$])
m4trace:configure.in:1461: -1- AC_SUBST([PTHREAD_LIB])
m4trace:configure.in:1461: -1- AC_SUBST_TRACE([PTHREAD_LIB])
m4trace:configure.in:1461: -1- m4_pattern_allow([^PTHREAD_LIB$])
m4trace:configure.in:1463: -1- AC_CONFIG_FILES([GNUmakefile doc/source/ldp.dsl])
m4trace:configure.in:1463: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.in:1463: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:1463: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:1463: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:1463: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:1463: -1- AC_SUBST_TRACE([INSTALL])

2987
external/privoxy/cgi.c vendored

File diff suppressed because it is too large Load Diff

289
external/privoxy/cgi.h vendored
View File

@ -1,289 +0,0 @@
#ifndef CGI_H_INCLUDED
#define CGI_H_INCLUDED
#define CGI_H_VERSION "$Id: cgi.h,v 1.35 2008/05/21 15:24:37 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
*
* Purpose : Declares functions to intercept request, generate
* html or gif answers, and to compose HTTP resonses.
*
* Functions declared include:
*
*
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: cgi.h,v $
* Revision 1.35 2008/05/21 15:24:37 fabiankeil
* Mark csp as immutable for a bunch of functions.
*
* Revision 1.34 2008/04/17 14:40:48 fabiankeil
* Provide get_http_time() with the buffer size so it doesn't
* have to blindly assume that the buffer is big enough.
*
* Revision 1.33 2007/01/28 13:41:17 fabiankeil
* - Add HEAD support to finish_http_response.
* - Add error favicon to internal HTML error messages.
*
* Revision 1.32 2006/12/17 17:53:39 fabiankeil
* Suppress the toggle link if remote toggling is disabled.
*
* Revision 1.31 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.29.2.2 2004/02/17 13:30:23 oes
* Moved cgi_error_disabled() from cgiedit.c to
* cgi.c to re-enable build with --disable-editor.
* Fixes Bug #892744. Thanks to Matthew Fischer
* for spotting.
*
* Revision 1.29.2.1 2003/12/17 16:33:28 oes
* Added prototype of new function cgi_redirect
*
* Revision 1.29 2002/05/19 11:33:21 jongfoster
* If a CGI error was not handled, and propogated back to
* dispatch_known_cgi(), then it was assumed to be "out of memory".
* This gave a very misleading error message.
*
* Now other errors will cause a simple message giving the error
* number and asking the user to report a bug.
*
* Bug report:
* http://sourceforge.net/tracker/index.php?func=detail
* &aid=557905&group_id=11118&atid=111118
*
* Revision 1.28 2002/04/26 12:54:03 oes
* New function add_help_link
*
* Revision 1.27 2002/04/24 02:16:51 oes
* Moved get_char_param, get_string_param and get_number_param here from cgiedit.c
*
* Revision 1.26 2002/04/10 13:38:35 oes
* load_template signature changed
*
* Revision 1.25 2002/04/08 20:50:25 swa
* fixed JB spelling
*
* Revision 1.24 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.23 2002/03/24 16:18:15 jongfoster
* Removing old logo
*
* Revision 1.22 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.21 2002/03/07 03:48:38 oes
* - Changed built-in images from GIF to PNG
* (with regard to Unisys patent issue)
* - Added a 4x4 pattern PNG which is less intrusive
* than the logo but also clearly marks the deleted banners
*
* Revision 1.20 2002/03/04 17:53:22 oes
* Fixed compiled warning
*
* Revision 1.19 2002/01/21 00:33:52 jongfoster
* Adding map_block_keep() to save a few bytes in the edit-actions-list HTML.
*
* Revision 1.18 2001/11/16 00:46:31 jongfoster
* Fixing compiler warnings
*
* Revision 1.17 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle Junkbuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.16 2001/09/16 17:08:54 jongfoster
* Moving simple CGI functions from cgi.c to new file cgisimple.c
*
* Revision 1.15 2001/09/16 15:02:35 jongfoster
* Adding i.j.b/robots.txt.
* Inlining add_stats() since it's only ever called from one place.
*
* Revision 1.14 2001/09/16 11:38:02 jongfoster
* Splitting fill_template() into 2 functions:
* template_load() loads the file
* template_fill() performs the PCRS regexps.
* This is because the CGI edit interface has a "table row"
* template which is used many times in the page - this
* change means it's only loaded from disk once.
*
* Revision 1.13 2001/09/16 11:00:10 jongfoster
* New function alloc_http_response, for symmetry with free_http_response
*
* Revision 1.12 2001/09/13 23:31:25 jongfoster
* Moving image data to cgi.c rather than cgi.h.
*
* Revision 1.11 2001/08/05 16:06:20 jongfoster
* Modifiying "struct map" so that there are now separate header and
* "map_entry" structures. This means that functions which modify a
* map no longer need to return a pointer to the modified map.
* Also, it no longer reverses the order of the entries (which may be
* important with some advanced template substitutions).
*
* Revision 1.10 2001/08/01 21:19:22 jongfoster
* Moving file version information to a separate CGI page.
*
* Revision 1.9 2001/08/01 00:17:54 jongfoster
* Adding prototype for map_conditional
*
* Revision 1.8 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.7 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.6 2001/06/29 21:45:41 oes
* Indentation, CRLF->LF, Tab-> Space
*
* Revision 1.5 2001/06/29 13:22:44 oes
* - Cleaned up
* - Added new functions: default_exports(), make_menu(),
* error_response() etc, ranamed others and changed
* param and return types.
* - Removed HTTP/HTML snipplets
* - Removed logentry from cancelled commit
*
* Revision 1.4 2001/06/09 10:50:58 jongfoster
* Changing "show URL info" handler to new style.
* Adding "extern" to some function prototypes.
*
* Revision 1.3 2001/06/03 19:12:16 oes
* introduced new cgi handling
*
* No revisions before 1.3
*
**********************************************************************/
#include "project.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Main dispatch function
*/
extern struct http_response *dispatch_cgi(struct client_state *csp);
/* Not exactly a CGI */
extern struct http_response * error_response(struct client_state *csp,
const char *templatename,
int err);
/*
* CGI support functions
*/
extern struct http_response * alloc_http_response(void);
extern void free_http_response(struct http_response *rsp);
extern struct http_response *finish_http_response(const struct client_state *csp,
struct http_response *rsp);
extern struct map * default_exports(const struct client_state *csp, const char *caller);
extern jb_err map_block_killer (struct map *exports, const char *name);
extern jb_err map_block_keep (struct map *exports, const char *name);
extern jb_err map_conditional (struct map *exports, const char *name, int choose_first);
extern jb_err template_load(const struct client_state *csp, char ** template_ptr,
const char *templatename, int recursive);
extern jb_err template_fill(char ** template_ptr, const struct map *exports);
extern jb_err template_fill_for_cgi(const struct client_state *csp,
const char *templatename,
struct map *exports,
struct http_response *rsp);
extern void cgi_init_error_messages(void);
extern struct http_response *cgi_error_memory(void);
extern jb_err cgi_redirect (struct http_response * rsp, const char *target);
extern jb_err cgi_error_no_template(const struct client_state *csp,
struct http_response *rsp,
const char *template_name);
extern jb_err cgi_error_bad_param(const struct client_state *csp,
struct http_response *rsp);
extern jb_err cgi_error_disabled(const struct client_state *csp,
struct http_response *rsp);
extern jb_err cgi_error_unknown(const struct client_state *csp,
struct http_response *rsp,
jb_err error_to_report);
extern jb_err get_number_param(struct client_state *csp,
const struct map *parameters,
char *name,
unsigned *pvalue);
extern jb_err get_string_param(const struct map *parameters,
const char *param_name,
const char **pparam);
extern char get_char_param(const struct map *parameters,
const char *param_name);
/*
* Text generators
*/
extern void get_http_time(int time_offset, char *buf, size_t buffer_size);
extern char *add_help_link(const char *item, struct configuration_spec *config);
extern char *make_menu(const char *self, const unsigned feature_flags);
extern char *dump_map(const struct map *the_map);
/*
* Ad replacement images
*/
extern const char image_pattern_data[];
extern const size_t image_pattern_length;
extern const char image_blank_data[];
extern const size_t image_blank_length;
/* Revision control strings from this header and associated .c file */
extern const char cgi_rcs[];
extern const char cgi_h_rcs[];
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* ndef CGI_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

File diff suppressed because it is too large Load Diff

View File

@ -1,175 +0,0 @@
#ifndef CGIEDIT_H_INCLUDED
#define CGIEDIT_H_INCLUDED
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.10 2008/08/31 15:59:03 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
*
* Purpose : CGI-based actionsfile editor.
*
* Functions declared include:
*
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: cgiedit.h,v $
* Revision 1.10 2008/08/31 15:59:03 fabiankeil
* There's no reason to let remote toggling support depend
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
*
* Revision 1.9 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.7.2.2 2004/02/17 13:30:23 oes
* Moved cgi_error_disabled() from cgiedit.c to
* cgi.c to re-enable build with --disable-editor.
* Fixes Bug #892744. Thanks to Matthew Fischer
* for spotting.
*
* Revision 1.7.2.1 2002/11/28 18:15:17 oes
* Added cgi_error_disabled
*
* Revision 1.7 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.6 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.5 2002/01/22 23:24:48 jongfoster
* Adding edit-actions-section-swap
*
* Revision 1.4 2001/11/13 00:28:51 jongfoster
* Adding new CGIs for use by non-JavaScript browsers:
* edit-actions-url-form
* edit-actions-add-url-form
* edit-actions-remove-url-form
*
* Revision 1.3 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.2 2001/10/14 22:12:49 jongfoster
* New version of CGI-based actionsfile editor.
* Major changes, including:
* - Completely new file parser and file output routines
* - edit-actions CGI renamed edit-actions-for-url
* - All CGIs now need a filename parameter, except for...
* - New CGI edit-actions which doesn't need a filename,
* to allow you to start the editor up.
* - edit-actions-submit now works, and now automatically
* redirects you back to the main edit-actions-list handler.
*
* Revision 1.1 2001/09/16 15:47:37 jongfoster
* First version of CGI-based edit interface. This is very much a
* work-in-progress, and you can't actually use it to edit anything
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
* to have any effect.
*
*
**********************************************************************/
#include "project.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
* CGI functions
*/
#ifdef FEATURE_CGI_EDIT_ACTIONS
extern jb_err cgi_edit_actions (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_for_url(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_list (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_submit (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_url (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_url_form(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_add_url(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_add_url_form(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_remove_url (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_remove_url_form(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_section_remove(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_section_add (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_edit_actions_section_swap (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
#endif /* def FEATURE_CGI_EDIT_ACTIONS */
#ifdef FEATURE_TOGGLE
extern jb_err cgi_toggle(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
#endif /* def FEATURE_TOGGLE */
/* Revision control strings from this header and associated .c file */
extern const char cgiedit_rcs[];
extern const char cgiedit_h_rcs[];
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* ndef CGI_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

File diff suppressed because it is too large Load Diff

View File

@ -1,185 +0,0 @@
#ifndef CGISIMPLE_H_INCLUDED
#define CGISIMPLE_H_INCLUDED
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.16 2008/05/26 17:30:55 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
*
* Purpose : Declares functions to intercept request, generate
* html or gif answers, and to compose HTTP resonses.
*
* Functions declared include:
*
*
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: cgisimple.h,v $
* Revision 1.16 2008/05/26 17:30:55 fabiankeil
* Provide an OpenSearch Description to access the
* show-url-info page through "search engine plugins".
*
* Revision 1.15 2007/01/23 15:51:17 fabiankeil
* Add favicon delivery functions.
*
* Revision 1.14 2006/09/06 18:45:03 fabiankeil
* Incorporate modified version of Roland Rosenfeld's patch to
* optionally access the user-manual via Privoxy. Closes patch 679075.
*
* Formatting changed to Privoxy style, added call to
* cgi_error_no_template if the requested file doesn't
* exist and modified check whether or not Privoxy itself
* should serve the manual. Should work cross-platform now.
*
* Revision 1.13 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.11 2002/04/05 15:50:53 oes
* added send-stylesheet CGI
*
* Revision 1.10 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.9 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.8 2002/03/16 23:54:06 jongfoster
* Adding graceful termination feature, to help look for memory leaks.
* If you enable this (which, by design, has to be done by hand
* editing config.h) and then go to http://i.j.b/die, then the program
* will exit cleanly after the *next* request. It should free all the
* memory that was used.
*
* Revision 1.7 2002/03/08 16:43:59 oes
* Renamed cgi_transparent_png to cgi_transparent_image
*
* Revision 1.6 2002/03/07 03:48:59 oes
* - Changed built-in images from GIF to PNG
* (with regard to Unisys patent issue)
*
* Revision 1.5 2002/01/22 23:26:03 jongfoster
* Adding cgi_transparent_gif() for http://i.j.b/t
*
* Revision 1.4 2001/10/23 21:48:19 jongfoster
* Cleaning up error handling in CGI functions - they now send back
* a HTML error page and should never cause a FATAL error. (Fixes one
* potential source of "denial of service" attacks).
*
* CGI actions file editor that works and is actually useful.
*
* Ability to toggle JunkBuster remotely using a CGI call.
*
* You can turn off both the above features in the main configuration
* file, e.g. if you are running a multi-user proxy.
*
* Revision 1.3 2001/10/14 22:00:32 jongfoster
* Adding support for a 404 error when an invalid CGI page is requested.
*
* Revision 1.2 2001/10/02 15:31:20 oes
* Introduced show-request cgi
*
* Revision 1.1 2001/09/16 17:08:54 jongfoster
* Moving simple CGI functions from cgi.c to new file cgisimple.c
*
*
**********************************************************************/
#include "project.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
* CGI functions
*/
extern jb_err cgi_default (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_error_404 (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_robots_txt (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_banner (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_show_status (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_show_url_info(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_show_version (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_show_request (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_transparent_image (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_error_favicon (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_default_favicon (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_stylesheet(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_url_info_osd(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
extern jb_err cgi_send_user_manual(struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
#ifdef FEATURE_GRACEFUL_TERMINATION
extern jb_err cgi_die (struct client_state *csp,
struct http_response *rsp,
const struct map *parameters);
#endif
/* Revision control strings from this header and associated .c file */
extern const char cgisimple_rcs[];
extern const char cgisimple_h_rcs[];
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* ndef CGISIMPLE_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

1530
external/privoxy/config vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,744 +0,0 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/*
* Version number - Major (X._._)
*/
#define VERSION_MAJOR 3
/*
* Version number - Minor (_.X._)
*/
#define VERSION_MINOR 0
/*
* Version number - Point (_._.X)
*/
#define VERSION_POINT 12
/*
* Version number, as a string
*/
#define VERSION "3.0.12"
/*
* Status of the code: "alpha", "beta" or "stable".
*/
#define CODE_STATUS "stable"
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRE 1
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRS 1
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#define FEATURE_ACL 1
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#define FEATURE_CGI_EDIT_ACTIONS 1
/*
* Allows the use of jar files to capture cookies.
*/
/* #undef FEATURE_COOKIE_JAR */
/*
* Locally redirect remote script-redirect URLs
*/
#define FEATURE_FAST_REDIRECTS 1
/*
* Bypass filtering for 1 page only
*/
#define FEATURE_FORCE_LOAD 1
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#define FEATURE_IMAGE_BLOCKING 1
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
/* #undef FEATURE_IMAGE_DETECT_MSIE */
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
/* #undef FEATURE_KILL_POPUPS */
/*
* Use PNG instead of GIF for built-in images
*/
/* #undef FEATURE_NO_GIFS */
/*
* Allow to shutdown Privoxy through the webinterface.
*/
/* #undef FEATURE_GRACEFUL_TERMINATION */
/*
* Allow PCRE syntax in host patterns.
*/
/* #undef FEATURE_EXTENDED_HOST_PATTERNS */
/*
* Keep outgoing connections alive if possible.
*/
/* #undef FEATURE_CONNECTION_KEEP_ALIVE */
/*
* Use POSIX threads instead of native threads.
*/
/* #undef FEATURE_PTHREAD */
/*
* Enables statistics function.
*/
#define FEATURE_STATISTICS 1
/*
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#define FEATURE_TOGGLE 1
/*
* Allows the use of trust files.
*/
#define FEATURE_TRUST 1
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
/* #undef _REENTRANT */
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
/* #undef __EXTENSIONS__ */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#define __MT__ 1
/* If the (nonstandard and thread-safe) function gethostbyname_r
* is available, select which signature to use
*/
#define HAVE_GETHOSTBYNAME_R_6_ARGS 1
/* #undef HAVE_GETHOSTBYNAME_R_5_ARGS */
/* #undef HAVE_GETHOSTBYNAME_R_3_ARGS */
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
* is available, select which signature to use
*/
/* #undef HAVE_GETHOSTBYADDR_R_8_ARGS */
/* #undef HAVE_GETHOSTBYADDR_R_7_ARGS */
/* #undef HAVE_GETHOSTBYADDR_R_5_ARGS */
/* Defined if you have gmtime_r and localtime_r with a signature
* of (struct time *, struct tm *)
*/
#define HAVE_GMTIME_R 1
#define HAVE_LOCALTIME_R 1
/* Define to 'int' if <sys/socket.h> doesn't have it.
*/
/* #undef socklen_t */
/* Define if pcre.h must be included as <pcre/pcre.h>
*/
/* #undef PCRE_H_IN_SUBDIR */
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
*/
/* #undef PCREPOSIX_H_IN_SUBDIR */
/* Define to 1 to use compression through the zlib library. */
#define FEATURE_ZLIB 1
/* Define to 1 if you have the `access' function. */
#define HAVE_ACCESS 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `atexit' function. */
#define HAVE_ATEXIT 1
/* Define to 1 if you have the `bcopy' function. */
#define HAVE_BCOPY 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
/* Define to 1 if you have the `gethostbyaddr' function. */
#define HAVE_GETHOSTBYADDR 1
/* Define to 1 if you have the `gethostbyaddr_r' function. */
/* #undef HAVE_GETHOSTBYADDR_R */
/* Define to 1 if you have the `gethostbyname' function. */
#define HAVE_GETHOSTBYNAME 1
/* Define to 1 if you have the `gethostbyname_r' function. */
#define HAVE_GETHOSTBYNAME_R 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the `inet_ntoa' function. */
#define HAVE_INET_NTOA 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `nsl' library (-lnsl). */
/* #undef HAVE_LIBNSL */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* Define to 1 if you have the `memchr' function. */
#define HAVE_MEMCHR 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <OS.h> header file. */
/* #undef HAVE_OS_H */
/* Define to 1 if you have the `poll' function. */
#define HAVE_POLL 1
/* Define to 1 if you have the `putenv' function. */
#define HAVE_PUTENV 1
/* Define to 1 if you have the `random' function. */
/* #undef HAVE_RANDOM */
/* Define to 1 if you have the `regcomp' function. */
#define HAVE_REGCOMP 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
/* Define to 1 if you have the `socket' function. */
#define HAVE_SOCKET 1
/* Define to 1 if you have the <stddef.h> header file. */
#define HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strlcat' function. */
#define HAVE_STRLCAT 1
/* Define to 1 if you have the `strlcpy' function. */
#define HAVE_STRLCPY 1
/* Define to 1 if you have the `strptime' function. */
#define HAVE_STRPTIME 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/timeb.h> header file. */
#define HAVE_SYS_TIMEB_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/wait.h> header file. */
#define HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the `timegm' function. */
/* #undef HAVE_TIMEGM */
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to 1 if the `setpgrp' function takes no argument. */
#define SETPGRP_VOID 1
/* The size of `char *', as computed by sizeof. */
#define SIZEOF_CHAR_P 4
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef pid_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to 'int' if <sys/socket.h> doesn't have it. */
/* #undef socklen_t */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
#ifndef __STDC__
#define __STDC__ 1
#endif /* ndef __STDC__ */
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
/*
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
* symbol unix; it defines __unix__ and sometimes not even that:
*/
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
#define unix 1
#endif
/*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make
* the error messages understandable, by bailing out now.
*/
#ifdef _MSC_VER
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
#endif /* def _MSC_VER */
#endif /* CONFIG_H_INCLUDED */

View File

@ -1,743 +0,0 @@
/* config.h.in. Generated from configure.in by autoheader. */
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: acconfig.h,v $
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
* Connection keep-alive support is ready for testing,
* allow enabling it through the configure script.
*
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
* Oh well, rename the --enable-pcre-host-patterns option to
* --enable-extended-host-patterns as it's not really PCRE syntax.
*
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
* Use PCRE syntax in host patterns when configured
* with --enable-pcre-host-patterns.
*
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
*
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
* Cosmetics
*
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
* Another shot at Bug #707467
*
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
*
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
* are located in a pcre/ subdir to the include path.
*
* Revision 1.27 2002/04/25 19:13:57 morcego
* Removed RPM release number declaration on configure.in
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
* targets (will produce an error, explaining who to do it, if no value
* if provided).
*
* Revision 1.26 2002/04/11 11:00:21 oes
* Applied Moritz' fix for socklen_t on Solaris
*
* Revision 1.25 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.24 2002/04/04 00:36:36 gliptak
* always use pcre for matching
*
* Revision 1.23 2002/04/03 22:28:03 gliptak
* Removed references to gnu_regex
*
* Revision 1.22 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.21 2002/03/24 14:31:08 swa
* remove more crappy files. set RPM
* release version correctly.
*
* Revision 1.20 2002/03/24 13:46:44 swa
* name change related issue.
*
* Revision 1.19 2002/03/24 13:25:42 swa
* name change related issues
*
* Revision 1.18 2002/03/08 16:40:28 oes
* Added FEATURE_NO_GIFS
*
* Revision 1.17 2002/03/04 17:52:44 oes
* Deleted PID_FILE_PATH
*
* Revision 1.16 2002/01/10 12:36:18 oes
* Moved HAVE_*_R to acconfig.h, where they belong.
*
* Revision 1.15 2001/12/30 14:07:31 steudten
* - Add signal handling (unix)
* - Add SIGHUP handler (unix)
* - Add creation of pidfile (unix)
* - Add action 'top' in rc file (RH)
* - Add entry 'SIGNALS' to manpage
* - Add exit message to logfile (unix)
*
* Revision 1.14 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.13 2001/10/07 15:30:41 oes
* Removed FEATURE_DENY_GZIP
*
* Revision 1.12 2001/09/13 19:56:37 jongfoster
* Reverting to revision 1.10 - previous checking was majorly broken.
*
* Revision 1.10 2001/07/30 22:08:36 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.9 2001/07/29 19:08:52 jongfoster
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
* Also added protection against using a MinGW32 or CygWin version of
* config.h from within MS Visual C++
*
* Revision 1.8 2001/07/29 17:09:17 jongfoster
* Major changes to build system in order to fix these bugs:
* - pthreads under Linux was broken - changed -lpthread to -pthread
* - Compiling in MinGW32 mode under CygWin now correctly detects
* which shared libraries are available
* - Solaris support (?) (Not tested under Solaris yet)
*
* Revision 1.7 2001/07/25 22:53:59 jongfoster
* Will #error if pthreads is enabled under BeOs
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/*
* Version number - Major (X._._)
*/
#undef VERSION_MAJOR
/*
* Version number - Minor (_.X._)
*/
#undef VERSION_MINOR
/*
* Version number - Point (_._.X)
*/
#undef VERSION_POINT
/*
* Version number, as a string
*/
#undef VERSION
/*
* Status of the code: "alpha", "beta" or "stable".
*/
#undef CODE_STATUS
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRE
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#undef STATIC_PCRS
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#undef FEATURE_ACL
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#undef FEATURE_CGI_EDIT_ACTIONS
/*
* Allows the use of jar files to capture cookies.
*/
#undef FEATURE_COOKIE_JAR
/*
* Locally redirect remote script-redirect URLs
*/
#undef FEATURE_FAST_REDIRECTS
/*
* Bypass filtering for 1 page only
*/
#undef FEATURE_FORCE_LOAD
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#undef FEATURE_IMAGE_BLOCKING
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
#undef FEATURE_IMAGE_DETECT_MSIE
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
#undef FEATURE_KILL_POPUPS
/*
* Use PNG instead of GIF for built-in images
*/
#undef FEATURE_NO_GIFS
/*
* Allow to shutdown Privoxy through the webinterface.
*/
#undef FEATURE_GRACEFUL_TERMINATION
/*
* Allow PCRE syntax in host patterns.
*/
#undef FEATURE_EXTENDED_HOST_PATTERNS
/*
* Keep outgoing connections alive if possible.
*/
#undef FEATURE_CONNECTION_KEEP_ALIVE
/*
* Use POSIX threads instead of native threads.
*/
#undef FEATURE_PTHREAD
/*
* Enables statistics function.
*/
#undef FEATURE_STATISTICS
/*
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#undef FEATURE_TOGGLE
/*
* Allows the use of trust files.
*/
#undef FEATURE_TRUST
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
#undef _REENTRANT
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
#undef __EXTENSIONS__
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#undef __MT__
/* If the (nonstandard and thread-safe) function gethostbyname_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
* is available, select which signature to use
*/
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
/* Defined if you have gmtime_r and localtime_r with a signature
* of (struct time *, struct tm *)
*/
#undef HAVE_GMTIME_R
#undef HAVE_LOCALTIME_R
/* Define to 'int' if <sys/socket.h> doesn't have it.
*/
#undef socklen_t
/* Define if pcre.h must be included as <pcre/pcre.h>
*/
#undef PCRE_H_IN_SUBDIR
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
*/
#undef PCREPOSIX_H_IN_SUBDIR
/* Define to 1 to use compression through the zlib library. */
#undef FEATURE_ZLIB
/* Define to 1 if you have the `access' function. */
#undef HAVE_ACCESS
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the `atexit' function. */
#undef HAVE_ATEXIT
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyaddr' function. */
#undef HAVE_GETHOSTBYADDR
/* Define to 1 if you have the `gethostbyaddr_r' function. */
#undef HAVE_GETHOSTBYADDR_R
/* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `gethostbyname_r' function. */
#undef HAVE_GETHOSTBYNAME_R
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `inet_ntoa' function. */
#undef HAVE_INET_NTOA
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the `localtime_r' function. */
#undef HAVE_LOCALTIME_R
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <OS.h> header file. */
#undef HAVE_OS_H
/* Define to 1 if you have the `poll' function. */
#undef HAVE_POLL
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
/* Define to 1 if you have the `regcomp' function. */
#undef HAVE_REGCOMP
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strlcat' function. */
#undef HAVE_STRLCAT
/* Define to 1 if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
/* Define to 1 if you have the `strptime' function. */
#undef HAVE_STRPTIME
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
/* Define to 1 if you have the `timegm' function. */
#undef HAVE_TIMEGM
/* Define to 1 if you have the `tzset' function. */
#undef HAVE_TZSET
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to 1 if the `setpgrp' function takes no argument. */
#undef SETPGRP_VOID
/* The size of `char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
/* The size of `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to 'int' if <sys/socket.h> doesn't have it. */
#undef socklen_t
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
#ifndef __STDC__
#define __STDC__ 1
#endif /* ndef __STDC__ */
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
/*
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
* symbol unix; it defines __unix__ and sometimes not even that:
*/
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
#define unix 1
#endif
/*
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
* under VC++, and it usually gives many wierd error messages. Let's make
* the error messages understandable, by bailing out now.
*/
#ifdef _MSC_VER
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
#endif /* def _MSC_VER */
#endif /* CONFIG_H_INCLUDED */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,80 +0,0 @@
#ifndef CYGWIN_H_INCLUDED
#define CYGWIN_H_INCLUDED
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.6 2006/07/18 14:48:45 david__schmidt Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
*
* Purpose : The windows.h file seems to be a *tad* different, so I
* will bridge the gaps here. Perhaps I should convert the
* latest SDK too? Shudder, I think not.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: cygwin.h,v $
* Revision 1.6 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.4 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.3 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.2 2001/07/29 18:43:08 jongfoster
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
* ANSI C rules.
*
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/* Conditionally include this whole file. */
#ifdef __MINGW32__
/* Hmmm, seems to be overlooked. */
#define _RICHEDIT_VER 0x0300
/*
* Named slightly different ... but not in Cygwin v1.3.1 ...
*
* #define LVITEM LV_ITEM
* #define LVCOLUMN LV_COLUMN
*/
#endif /* def __MINGW32__ */
#endif /* ndef CYGWIN_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

View File

@ -1,554 +0,0 @@
const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $
*
* Purpose : Declares functions to manipulate binary images on the
* fly. High-level functions include:
* - Deanimation of GIF images
*
* Functions declared include: gif_deanimate, buf_free,
* buf_copy, buf_getbyte, gif_skip_data_block
* and gif_extract_image
*
* Copyright : Written by and Copyright (C) 2001 - 2004, 2006 by the
* SourceForge Privoxy team. http://www.privoxy.org/
*
* Based on the GIF file format specification (see
* http://tronche.com/computer-graphics/gif/gif89a.html)
* and ideas from the Image::DeAnim Perl module by
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: deanimate.c,v $
* Revision 1.19 2008/05/21 15:29:35 fabiankeil
* Fix gcc43 warnings.
*
* Revision 1.18 2008/03/28 15:13:38 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.17 2007/08/05 13:42:22 fabiankeil
* #1763173 from Stefan Huehner: declare some more functions static.
*
* Revision 1.16 2007/07/14 08:01:58 fabiankeil
* s@failiure@failure@
*
* Revision 1.15 2007/01/03 14:39:19 fabiankeil
* Fix a gcc43 warning and mark the binbuffer
* as immutable for buf_getbyte().
*
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.12.2.1 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.12 2002/05/12 21:36:29 jongfoster
* Correcting function comments
*
* Revision 1.11 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.10 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.9 2002/03/13 00:27:04 jongfoster
* Killing warnings
*
* Revision 1.8 2002/03/09 19:42:47 jongfoster
* Fixing more warnings
*
* Revision 1.7 2002/03/08 17:46:04 jongfoster
* Fixing int/size_t warnings
*
* Revision 1.6 2002/03/07 03:46:17 oes
* Fixed compiler warnings
*
* Revision 1.5 2001/09/10 10:16:06 oes
* Silenced compiler warnings
*
* Revision 1.4 2001/07/18 12:28:49 oes
* - Added feature for extracting the first frame
* to gif_deanimate
* - Separated image buffer extension into buf_extend
* - Extended gif deanimation to GIF87a (untested!)
* - Cosmetics
*
* Revision 1.3 2001/07/15 13:57:50 jongfoster
* Adding #includes string.h and miscutil.h
*
* Revision 1.2 2001/07/13 13:46:20 oes
* Introduced GIF deanimation feature
*
*
**********************************************************************/
#include "config.h"
#include <string.h>
#include <fcntl.h>
#include "errlog.h"
#include "project.h"
#include "deanimate.h"
#include "miscutil.h"
const char deanimate_h_rcs[] = DEANIMATE_H_VERSION;
/*********************************************************************
*
* Function : buf_free
*
* Description : Safely frees a struct binbuffer
*
* Parameters :
* 1 : buf = Pointer to the binbuffer to be freed
*
* Returns : N/A
*
*********************************************************************/
void buf_free(struct binbuffer *buf)
{
if (buf == NULL) return;
if (buf->buffer != NULL)
{
free(buf->buffer);
}
free(buf);
}
/*********************************************************************
*
* Function : buf_extend
*
* Description : Ensure that a given binbuffer can hold a given amount
* of bytes, by reallocating its buffer if necessary.
* Allocate new mem in chunks of 1024 bytes, so we don't
* have to realloc() too often.
*
* Parameters :
* 1 : buf = Pointer to the binbuffer
* 2 : length = Desired minimum size
*
*
* Returns : 0 on success, 1 on failure.
*
*********************************************************************/
static int buf_extend(struct binbuffer *buf, size_t length)
{
char *newbuf;
if (buf->offset + length > buf->size)
{
buf->size = ((buf->size + length + (size_t)1023) & ~(size_t)1023);
newbuf = (char *)realloc(buf->buffer, buf->size);
if (newbuf == NULL)
{
freez(buf->buffer);
return 1;
}
else
{
buf->buffer = newbuf;
return 0;
}
}
return 0;
}
/*********************************************************************
*
* Function : buf_copy
*
* Description : Safely copies a given amount of bytes from one
* struct binbuffer to another, advancing the
* offsets appropriately.
*
* Parameters :
* 1 : src = Pointer to the source binbuffer
* 2 : dst = Pointer to the destination binbuffer
* 3 : length = Number of bytes to be copied
*
* Returns : 0 on success, 1 on failure.
*
*********************************************************************/
static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
{
/*
* Sanity check: Can't copy more data than we have
*/
if (src->offset + length > src->size)
{
return 1;
}
/*
* Ensure that dst can hold the new data
*/
if (buf_extend(dst, length))
{
return 1;
}
/*
* Now that it's safe, memcpy() the desired amount of
* data from src to dst and adjust the offsets
*/
memcpy(dst->buffer + dst->offset, src->buffer + src->offset, length);
src->offset += length;
dst->offset += length;
return 0;
}
/*********************************************************************
*
* Function : buf_getbyte
*
* Description : Safely gets a byte from a given binbuffer at a
* given offset
*
* Parameters :
* 1 : src = Pointer to the source binbuffer
* 2 : offset = Offset to the desired byte
*
* Returns : The byte on success, or 0 on failure
*
*********************************************************************/
static unsigned char buf_getbyte(const struct binbuffer *src, size_t offset)
{
if (src->offset + offset < src->size)
{
return (unsigned char)*(src->buffer + src->offset + offset);
}
else
{
return '\0';
}
}
/*********************************************************************
*
* Function : gif_skip_data_block
*
* Description : Safely advances the offset of a given struct binbuffer
* that contains a GIF image and whose offset is
* positioned at the start of a data block, behind
* that block.
*
* Parameters :
* 1 : buf = Pointer to the binbuffer
*
* Returns : 0 on success, or 1 on failure
*
*********************************************************************/
static int gif_skip_data_block(struct binbuffer *buf)
{
unsigned char c;
/*
* Data blocks are sequences of chunks, which are headed
* by a one-byte length field, with the last chunk having
* zero length.
*/
while((c = buf_getbyte(buf, 0)) != '\0')
{
buf->offset += (size_t)c + 1;
if (buf->offset >= buf->size - 1)
{
return 1;
}
}
buf->offset++;
return 0;
}
/*********************************************************************
*
* Function : gif_extract_image
*
* Description : Safely extracts an image data block from a given
* struct binbuffer that contains a GIF image and whose
* offset is positioned at the start of a data block
* into a given destination binbuffer.
*
* Parameters :
* 1 : src = Pointer to the source binbuffer
* 2 : dst = Pointer to the destination binbuffer
*
* Returns : 0 on success, or 1 on failure
*
*********************************************************************/
static int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
{
unsigned char c;
/*
* Remember the colormap flag and copy the image head
*/
c = buf_getbyte(src, 9);
if (buf_copy(src, dst, 10))
{
return 1;
}
/*
* If the image has a local colormap, copy it.
*/
if (c & 0x80)
{
int map_length = 3 * (1 << ((c & 0x07) + 1));
if (map_length <= 0)
{
log_error(LOG_LEVEL_DEANIMATE,
"colormap length = %d (%c)?", map_length, c);
return 1;
}
if (buf_copy(src, dst, (size_t)map_length))
{
return 1;
}
}
if (buf_copy(src, dst, 1)) return 1;
/*
* Copy the image chunk by chunk.
*/
while((c = buf_getbyte(src, 0)) != '\0')
{
if (buf_copy(src, dst, 1 + (size_t) c)) return 1;
}
if (buf_copy(src, dst, 1)) return 1;
/*
* Trim and rewind the dst buffer
*/
if (NULL == (dst->buffer = (char *)realloc(dst->buffer, dst->offset))) return 1;
dst->size = dst->offset;
dst->offset = 0;
return(0);
}
/*********************************************************************
*
* Function : gif_deanimate
*
* Description : Deanimate a given GIF image, i.e. given a GIF with
* an (optional) image block and an arbitrary number
* of image extension blocks, produce an output GIF with
* only one image block that contains the last image
* (extenstion) block of the original.
* Also strip Comments, Application extenstions, etc.
*
* Parameters :
* 1 : src = Pointer to the source binbuffer
* 2 : dst = Pointer to the destination binbuffer
* 3 : get_first_image = Flag: If set, get the first image
* If unset (default), get the last
*
* Returns : 0 on success, or 1 on failure
*
*********************************************************************/
int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image)
{
unsigned char c;
struct binbuffer *image;
if (NULL == src || NULL == dst)
{
return 1;
}
c = buf_getbyte(src, 10);
/*
* Check & copy GIF header
*/
if (strncmp(src->buffer, "GIF89a", 6) && strncmp(src->buffer, "GIF87a", 6))
{
return 1;
}
else
{
if (buf_copy(src, dst, 13))
{
return 1;
}
}
/*
* Look for global colormap and copy if found.
*/
if(c & 0x80)
{
int map_length = 3 * (1 << ((c & 0x07) + 1));
if (map_length <= 0)
{
log_error(LOG_LEVEL_DEANIMATE,
"colormap length = %d (%c)?", map_length, c);
return 1;
}
if (buf_copy(src, dst, (size_t)map_length))
{
return 1;
}
}
/*
* Reserve a buffer for the current image block
*/
if (NULL == (image = (struct binbuffer *)zalloc(sizeof(*image))))
{
return 1;
}
/*
* Parse the GIF block by block and copy the relevant
* parts to dst
*/
while(src->offset < src->size)
{
switch(buf_getbyte(src, 0))
{
/*
* End-of-GIF Marker: Append current image and return
*/
case 0x3b:
goto write;
/*
* Image block: Extract to current image buffer.
*/
case 0x2c:
image->offset = 0;
if (gif_extract_image(src, image)) goto failed;
if (get_first_image) goto write;
continue;
/*
* Extension block: Look at next byte and decide
*/
case 0x21:
switch (buf_getbyte(src, 1))
{
/*
* Image extension: Copy extension header and image
* to the current image buffer
*/
case 0xf9:
image->offset = 0;
if (buf_copy(src, image, 8) || buf_getbyte(src, 0) != 0x2c) goto failed;
if (gif_extract_image(src, image)) goto failed;
if (get_first_image) goto write;
continue;
/*
* Application extension: Skip
*/
case 0xff:
if ((src->offset += 14) >= src->size || gif_skip_data_block(src)) goto failed;
continue;
/*
* Comment extension: Skip
*/
case 0xfe:
if ((src->offset += 2) >= src->size || gif_skip_data_block(src)) goto failed;
continue;
/*
* Plain text extension: Skip
*/
case 0x01:
if ((src->offset += 15) >= src->size || gif_skip_data_block(src)) goto failed;
continue;
/*
* Ooops, what type of extension is that?
*/
default:
goto failed;
}
/*
* Ooops, what type of block is that?
*/
default:
goto failed;
}
} /* -END- while src */
/*
* Either we got here by goto, or because the GIF is
* bogus and EOF was reached before an end-of-gif marker
* was found.
*/
failed:
buf_free(image);
return 1;
/*
* Append the current image to dst and return
*/
write:
if (buf_copy(image, dst, image->size)) goto failed;
if (buf_extend(dst, 1)) goto failed;
*(dst->buffer + dst->offset++) = 0x3b;
buf_free(image);
return 0;
}
/*
Local Variables:
tab-width: 3
end:
*/

View File

@ -1,126 +0,0 @@
#ifndef DEANIMATE_H_INCLUDED
#define DEANIMATE_H_INCLUDED
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.12 2008/03/28 15:13:39 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
*
* Purpose : Declares functions to manipulate binary images on the
* fly. High-level functions include:
* - Deanimation of GIF images
*
* Functions declared include: gif_deanimate and buf_free.
*
*
* Copyright : Written by and Copyright (C) 2001 - 2004 by the the
* SourceForge Privoxy team. http://www.privoxy.org/
*
* Based on ideas from the Image::DeAnim Perl module by
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: deanimate.h,v $
* Revision 1.12 2008/03/28 15:13:39 fabiankeil
* Remove inspect-jpegs action.
*
* Revision 1.11 2007/01/12 15:41:00 fabiankeil
* Remove some white space at EOL.
*
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
* with what was really the latest development (the v_3_0_branch branch)
*
* Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt
* Add the ability to check jpeg images for invalid
* lengths of comment blocks. Defensive strategy
* against the exploit:
* Microsoft Security Bulletin MS04-028
* Buffer Overrun in JPEG Processing (GDI+) Could
* Allow Code Execution (833987)
* Enabled with +inspect-jpegs in actions files.
*
* Revision 1.8 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.7 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.6 2002/03/08 17:46:04 jongfoster
* Fixing int/size_t warnings
*
* Revision 1.5 2002/03/07 03:46:17 oes
* Fixed compiler warnings
*
* Revision 1.4 2001/07/29 18:50:04 jongfoster
* Fixing "extern C" block, and renaming #define _DEANIMATE_H
*
* Revision 1.3 2001/07/18 12:29:05 oes
* Updated prototype for gif_deanimate
*
* Revision 1.2 2001/07/13 13:46:20 oes
* Introduced GIF deanimation feature
*
*
*********************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
/*
* A struct that holds a buffer, a read/write offset,
* and the buffer's capacity.
*/
struct binbuffer
{
char *buffer;
size_t offset;
size_t size;
};
/*
* Function prototypes
*/
extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image);
extern void buf_free(struct binbuffer *buf);
/*
* Revision control strings from this header and associated .c file
*/
extern const char deanimate_rcs[];
extern const char deanimate_h_rcs[];
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* ndef DEANIMATE_H_INCLUDED */
/*
Local Variables:
tab-width: 3
end:
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,560 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- $Id: gpl.html,v 1.4 2002/04/08 20:39:43 swa Exp $
See copyright details at end of file
After changing this file, please run it through "HTML Tidy"
(from http://www.w3.org/People/Raggett/tidy/)
It should have no warnings or errors.
-->
<html>
<head>
<title>The GNU General Public License</title>
<meta name="description" content=
"GNU General Public License, as used by Junkbuster">
<meta name="keywords" content="">
<style type="text/css">
<!--
h2 { text-align: Center; font-family: arial, helvetica, sans-serif }
p.sans { font-family: arial, helvetica, sans-serif }
b.dot { color: #FF0000 }
-->
</style>
</head>
<body bgcolor="#f8f8f0" link="#000078" alink="#ff0022" vlink=
"#787878">
<p class="sans"><a href="http://www.privoxy.org/">
Website</a> <b class="dot">&middot;</b> <a href="ijbman.html">
Manual</a> <b class="dot">&middot;</b> <a href="ijbfaq.html">
FAQ</a> <b class="dot">&middot;</b> <b>GPL</b></p>
<h1 align="center"><a name="top_of_page">Internet J<small>UNK<i
style="color: #FF0000">BUSTER</i></small> License</a></h1>
<h1>This document is out of date</h1>
<p><b>Development of Junkbuster is ongoing and this document is
no longer current. However, it may provide some assistance. If
you have problems, please use the <a href=
"http://groups.yahoo.com/group/junkbuster-users/">Yahoo Groups
mailing list</a> (which includes an archive of mail), the
SourceForge.net <a href=
"http://sourceforge.net/projects/ijbswa/">project page</a>, or
see the project's <a href="http://www.privoxy.org/">home
page</a>. Please also bear in mind that versions 2.9.x of
Junkbuster are development releases, and are not production
quality.</b></p>
<h3 align="center">The GNU General Public License</h3>
<p class="sans"><a name="notus"><b>We did not write the GPL:
the <a href="http://www.fsf.org/fsf/fsf.html">Free Software
Foundation</a> did</b></a></p>
<h3><img border="0" width="14" height="14" src="fb.gif" alt=
"*">&nbsp; The GPL allows copying and changing of copyrighted
documents</h3>
<p><a name="fsf">The Free Software Foundation</a> <a href=
"http://www.fsf.org/fsf/fsf.html">(FSF)</a> is a non-profit
institution that designed the GNU General Public License (GPL)
to promote the publication of free software. The GPL is used by
thousands of programmers who want to give others the right to
copy and modify the source code of their programs. Millions of
people benefit from this.</p>
<p><a name="junkbuster">We use the GPL</a> to allow everyone to
use, copy and modify the Internet Junkbuster as they wish. <a
name="separate">Companies can use it for commercial
purposes,</a> but they are not permitted to use it in products
that they claim as their property.</p>
<p><a name="text">The GPL</a> can also be used on documents
written in human languages. This documentation for the Internet
Junkbuster is also under the GPL. This means that you do not
have to break copyright laws in order to print a page or email
a screen of the text to someone, for example.</p>
<p><a name="rest">The</a> remainder of this page is the text of
the GPL. As legal documents go it's relatively clear, but
unfortunately it's fairly long because it has to cover a lot of
details. The HTML formatting is ours, and should not be
misinterpreted as changing the license in any way.</p>
<p align="center"><a href="#top_of_page"><img border="0" width=
"250" height="15" src="top.gif" alt=
"--- Back to Top of Page ---"></a></p>
<h2><a name="v2">Version 2, June 1991</a></h2>
<blockquote>
<a name="crn">Copyright 1989, 1991</a><br>
<a name="address">Free Software Foundation, Inc.</a><br>
675 Mass Ave.<br>
Cambridge, MA 02139<br>
USA
</blockquote>
<a name="changing">Everyone</a>
<p>is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.</p>
<h3><a name="pream"><img border="0" width="14" height="14" src=
"fb.gif" alt="*"></a>&nbsp; Preamble</h3>
<p>The licenses for most software are designed to take away
your freedom to share and change it. By contrast, the GNU
General Public License is intended to guarantee your freedom to
share and change free software--to make sure the software is
free for all its users. This General Public License applies to
most of the Free Software Foundation's software and to any
other program whose authors commit to using it. (Some other
Free Software Foundation software is covered by the GNU Library
General Public License instead.) You can apply it to your
programs, too.</p>
<p><a name="freedom">When we speak of free software,</a> we are
referring to freedom, not price. Our General Public Licenses
are designed to make sure that you have the freedom to
distribute copies of free software (and charge for this service
if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these
things.</p>
<p><a name="forbid">To protect your rights,</a> we need to make
restrictions that forbid anyone to deny you these rights or to
ask you to surrender the rights. These restrictions translate
to certain responsibilities for you if you distribute copies of
the software, or if you modify it.</p>
<p><a name="allrights">For example,</a> if you distribute
copies of such a program, whether gratis or for a fee, you must
give the recipients all the rights that you have. You must make
sure that they, too, receive or can get the source code. And
you must show them these terms so they know their rights.</p>
<p><a name="steps">We protect your rights with two steps:</a>
(1) copyright the software, and (2) offer you this license
which gives you legal permission to copy, distribute and/or
modify the software.</p>
<p><a name="protection">Also,</a> for each author's protection
and ours, we want to make certain that everyone understands
that there is no warranty for this free software. If the
software is modified by someone else and passed on, we want its
recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the
original authors' reputations.</p>
<p><a name="threat">Finally,</a> any free program is threatened
constantly by software patents. We wish to avoid the danger
that redistributors of a free program will individually obtain
patent licenses, in effect making the program proprietary. To
prevent this, we have made it clear that any patent must be
licensed for everyone's free use or not licensed at all.</p>
<p><a name="terms">The precise terms and conditions</a> for
copying, distribution and modification follow.</p>
<h3><a name="tnc"><img border="0" width="14" height="14" src=
"fb.gif" alt="*"></a>&nbsp; GNU General Public License: Terms
and Conditions for Copying, Distribution and Modification</h3>
<p><a name="applies">O.</a> This License applies to any program
or other work which contains a notice placed by the copyright
holder saying it may be distributed under the terms of this
General Public License. The "Program", below, refers to any
such program or work, and a "work based on the Program" means
either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of
it, either verbatim or with modifications and/or translated
into another language. (Hereinafter, translation is included
without limitation in the term "modification".) Each licensee
is addressed as "you".</p>
<p><a name="scope">Activities</a> other than copying,
distribution and modification are not covered by this License;
they are outside its scope. The act of running the Program is
not restricted, and the output from the Program is covered only
if its contents constitute a work based on the Program
(independent of having been made by running the Program).</p>
<p><a name="depends">Whether that is true depends on what the
Program does.</a><br>
</p>
<ol type="1">
<li>
<a name="verbatim">You may copy</a> and distribute verbatim
copies of the Program's source code as you receive it, in
any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright
notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of
any warranty; and give any other recipients of the Program
a copy of this License along with the Program.
<p><a name="fee">You may charge a fee</a> for the physical
act of transferring a copy, and you may at your option
offer warranty protection in exchange for a fee.</p>
</li>
<li>
<a name="modify">You may modify</a> your copy or copies of
the Program or any portion of it, thus forming a work based
on the Program, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that
you also meet all of these conditions:<br>
<ol type="a">
<li><a name="notices">You must cause</a> the modified
files to carry prominent notices stating that you changed
the files and the date of any change.</li>
<li><a name="nocharge">You must</a> cause any work that
you distribute or publish, that in whole or in part
contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all
third parties under the terms of this License.</li>
<li><a name="interactive">If the modified program</a>
normally reads commands interactively when run, you must
cause it, when started running for such interactive use
in the most ordinary way, to print or display an
announcement including an appropriate copyright notice
and a notice that there is no warranty (or else, saying
that you provide a warranty) and that users may
redistribute the program under these conditions, and
telling the user how to view a copy of this License.
(Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based
on the Program is not required to print an
announcement.)</li>
</ol>
<p><a name="sections">These requirements</a> apply to the
modified work as a whole. If identifiable sections of that
work are not derived from the Program, and can be
reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply
to those sections when you distribute them as separate
works. But when you distribute the same sections as part of
a whole which is a work based on the Program, the
distribution of the whole must be on the terms of this
License, whose permissions for other licensees extend to
the entire whole, and thus to each and every part
regardless of who wrote it.</p>
<p><a name="intent">Thus,</a> it is not the intent of this
section to claim rights or contest your rights to work
written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or
collective works based on the Program.</p>
<p><a name="aggregation">In addition,</a> mere aggregation
of another work not based on the Program with the Program
(or with a work based on the Program) on a volume of a
storage or distribution medium does not bring the other
work under the scope of this License.</p>
</li>
<li>
<a name="exeutable">You may copy</a> and distribute the
Program (or a work based on it, under Section 2) in object
code or executable form under the terms of Sections 1 and 2
above provided that you also do one of the following:<br>
<ol type="a">
<li><a name="medium">Accompany it</a> with the complete
corresponding machine-readable source code, which must be
distributed under the terms of Sections 1 and 2 above on
a medium customarily used for software interchange;
or,</li>
<li><a name="written">Accompany it with a written
offer,</a> valid for at least three years, to give any
third party, for a charge no more than your cost of
physically performing source distribution, a complete
machine-readable copy of the corresponding source code,
to be distributed under the terms of Sections 1 and 2
above on a medium customarily used for software
interchange; or,</li>
<li><a name="distrib">Accompany it</a> with the
information you received as to the offer to distribute
corresponding source code. (This alternative is allowed
only for noncommercial distribution and only if you
received the program in object code or executable form
with such an offer, in accord with Subsection b
above.)</li>
</ol>
<p><a name="preferred">The source code</a> for a work means
the preferred form of the work for making modifications to
it. For an executable work, complete source code means all
the source code for all modules it contains, plus any
associated interface definition files, plus the scripts
used to control compilation and installation of the
executable. However, as a special exception, the source
code distributed need not include anything that is normally
distributed (in either source or binary form) with the
major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that
component itself accompanies the executable.</p>
<p><a name="access">If distribution of executable or object
code is made</a> by offering access to copy from a
designated place, then offering equivalent access to copy
the source code from the same place counts as distribution
of the source code, even though third parties are not
compelled to copy the source along with the object
code.</p>
</li>
<li><a name="otherwise">You may not copy,</a> modify,
sublicense, or distribute the Program except as expressly
provided under this License. Any attempt otherwise to copy,
modify, sublicense or distribute the Program is void, and
will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from
you under this License will not have their licenses
terminated so long as such parties remain in full
compliance.</li>
<li><a name="voluntary">You are not required</a> to accept
this License, since you have not signed it. However, nothing
else grants you permission to modify or distribute the
Program or its derivative works. These actions are prohibited
by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on
the Program), you indicate your acceptance of this License to
do so, and all its terms and conditions for copying,
distributing or modifying the Program or works based on
it.</li>
<li><a name="redistrib">Each time you redistribute</a> the
Program (or any work based on the Program), the recipient
automatically receives a license from the original licensor
to copy, distribute or modify the Program subject to these
terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights
granted herein. You are not responsible for enforcing
compliance by third parties to this License.</li>
<li>
<a name="patent">If, as a consequence of a court
judgment</a> or allegation of patent infringement or for
any other reason (not limited to patent issues), conditions
are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License,
they do not excuse you from the conditions of this License.
If you cannot distribute so as to satisfy simultaneously
your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute
the Program at all. For example, if a patent license would
not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through
you, then the only way you could satisfy both it and this
License would be to refrain entirely from distribution of
the Program.
<p><a name="invalid">If any portion</a> of this section is
held invalid or unenforceable under any particular
circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in
other circumstances.</p>
<p><a name="induce">It is not the purpose</a> of this
section to induce you to infringe any patents or other
property right claims or to contest validity of any such
claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which
is implemented by public license practices. Many people
have made generous contributions to the wide range of
software distributed through that system in reliance on
consistent application of that system; it is up to the
author/donor to decide if he or she is willing to
distribute software through any other system and a licensee
cannot impose that choice.</p>
<p><a name="clarify">This section</a> is intended to make
thoroughly clear what is believed to be a consequence of
the rest of this License.</p>
</li>
<li><a name="geog">If the distribution</a> and/or use of the
Program is restricted in certain countries either by patents
or by copyrighted interfaces, the original copyright holder
who places the Program under this License may add an explicit
geographical distribution limitation excluding those
countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License
incorporates the limitation as if written in the body of this
License.</li>
<li><a name="revise">The Free Software Foundation</a> may
publish revised and/or new versions of the General Public
License from time to time. Such new versions will be similar
in spirit to the present version, but may differ in detail to
address new problems or concerns. Each version is given a
distinguishing version number. If the Program specifies a
version number of this License which applies to it and "any
later version", you have the option of following the terms
and conditions either of that version or of any later version
published by the Free Software Foundation. If the Program
does not specify a version number of this License, you may
choose any version ever published by the Free Software
Foundation.</li>
<li>
<a name="permission">If you wish to incorporate parts</a>
of the Program into other free programs whose distribution
conditions are different, write to the author to ask for
permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation;
we sometimes make exceptions for this. Our decision will be
guided by the two goals of preserving the free status of
all derivatives of our free software and of promoting the
sharing and reuse of software generally.
<p><a name="nowarr">NO WARRANTY</a></p>
</li>
<li><a name="foc">BECAUSE THE PROGRAM IS LICENSED FREE OF
CHARGE,</a> THERE IS NO WARRANTY FOR THE PROGRAM, TO THE
EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING, REPAIR OR CORRECTION.</li>
<li><a name="liable">IN NO EVENT UNLESS REQUIRED</a> BY
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</li>
</ol>
<p>END OF TERMS AND CONDITIONS<br>
<br>
</p>
<h3><a name="append"><img border="0" width="14" height="14"
src="fb.gif" alt="*"></a>&nbsp; Appendix: How to Apply These
Terms to Your New Programs</h3>
<p>If you develop a new program, and you want it to be of the
greatest possible use to the public, the best way to achieve
this is to make it free software which everyone can
redistribute and change under these terms.</p>
<p><a name="attach">To do so,</a> attach the following notices
to the program. It is safest to attach them to the start of
each source file to most effectively convey the exclusion of
warranty; and each file should have at least the "copyright"
line and a pointer to where the full notice is found.</p>
<blockquote>
&lt;one line to give the program's name and a brief idea of
what it does.&gt; Copyright (C) 19yy &lt;name of author&gt;
<p><a name="free">This program is free software;</a> you can
redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your
option) any later version.</p>
<p><a name="merchant">This program</a> is distributed in the
hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.</p>
<p><a name="ifnot">You should</a> have received a copy of the
GNU General Public License along with this program; if not,
write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA.</p>
</blockquote>
<p><a name="contact">Also add</a> information on how to contact
you by electronic and paper mail.</p>
<p><a name="short">If the program is interactive,</a> make it
output a short notice like this when it starts in an
interactive mode:</p>
<blockquote>
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome to
redistribute it under certain conditions; type `show c' for
details.
</blockquote>
<p><a name="hypo">The hypothetical</a> commands `show w' and
`show c' should show the appropriate parts of the General
Public License. Of course, the commands you use may be called
something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.</p>
<p><a name="disclaimer">You should also get your employer</a>
(if you work as a programmer) or your school, if any, to sign a
"copyright disclaimer" for the program, if necessary. Here is a
sample; alter the names:</p>
<blockquote>
Yoyodyne, Inc., hereby disclaims all copyright interest in
the program `Gnomovision' (which makes passes at compilers)
written by James Hacker. &lt;signature of Ty Coon&gt;, 1
April 1989<br>
Ty Coon, President of Vice
</blockquote>
<p><a name="library">This General Public License</a> does not
permit incorporating your program into proprietary programs. If
your program is a subroutine library, you may consider it more
useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library
General Public License instead of this License.</p>
<p align="center"><a href="#top_of_page"><img border="0" width=
"250" height="15" src="top.gif" alt=
"--- Back to Top of Page ---"></a></p>
<p class="sans"><a href="http://www.privoxy.org/">
Website</a> <b class="dot">&middot;</b> <a href="ijbman.html">
Manual</a> <b class="dot">&middot;</b> <a href="ijbfaq.html">
FAQ</a> <b class="dot">&middot;</b> <b>GPL</b></p>
<p class="sans"><small><small><a href="gpl.html#text">
Copyright</a> &copy; 1996-8 <a href=
"http://www.junkbusters.com/">Junkbusters</a> <a href=
"http://www.junkbusters.com/ht/en/legal.html#marks">&reg;</a>
Corporation. <a href="gpl.html#text">Copyright</a> &copy; 2001
<a href="http://sourceforge.net/projects/ijbswa/">Jon
Foster</a>. Copying and distribution permitted under the <a
href="gpl.html">GNU</a> General Public License. The text of the
GNU GPL itself is copyrighted by the FSF, and may be copied but
not modified.</small></small></p>
<p><small><code><a href=
"http://sourceforge.net/projects/ijbswa/">
http://sourceforge.net/projects/ijbswa/</a></code></small></p>
</body>
</html>

View File

@ -1,488 +0,0 @@
.\" Copyright (c) 2001-2003 Andreas S. Oesterhelt <oes@oesterhelt.org>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
.\" MA 02111, USA.
.\"
.TH PCRS 3 "2 December 2003" "pcrs-0.0.3"
.SH NAME
pcrs - Perl-compatible regular substitution.
.SH SYNOPSIS
.br
.B "#include <pcrs.h>"
.PP
.br
.BI "pcrs_job *pcrs_compile(const char *" pattern ","
.ti +5n
.BI "const char *" substitute ", const char *" options ,
.ti +5n
.BI "int *" errptr );
.PP
.br
.BI "pcrs_job *pcrs_compile_command(const char *" command ,
.ti +5n
.BI "int *" errptr );
.PP
.br
.BI "int pcrs_execute(pcrs_job *" job ", char *" subject ,
.ti +5n
.BI "int " subject_length ", char **" result ,
.ti +5n
.BI "int *" result_length );
.PP
.br
.BI "int pcrs_execute_list (pcrs_job *" joblist ", char *" subject ,
.ti +5n
.BI "int " subject_length ", char **" result ,
.ti +5n
.BI "int *" result_length );
.PP
.br
.BI "pcrs_job *pcrs_free_job(pcrs_job *" job );
.PP
.br
.BI "void pcrs_free_joblist(pcrs_job *" joblist );
.PP
.br
.BI "char *pcrs_strerror(int " err );
.PP
.br
.SH DESCRIPTION
The
.SM PCRS
library is a supplement to the
.SB PCRE(3)
library that implements
.RB "regular expression based substitution, like provided by " Perl(1) "'s 's'"
operator. It uses the same syntax and semantics as Perl 5, with just a few
differences (see below).
In a first step, the information on a substitution, i.e. the pattern, the
substitute and the options are compiled from Perl syntax to an internal form
.RB "called " pcrs_job " by using either the " pcrs_compile() " or "
.BR pcrs_compile_command() " functions."
Once the job is compiled, it can be used on subjects, which are arbitrary
memory areas containing string or binary data, by calling
.BR pcrs_execute() ". Jobs can be chained to joblists and whole"
.RB "joblists can be applied to a subject using " pcrs_execute_list() .
There are also convenience functions for freeing the jobs and for errno-to-string
.RB "conversion, namely " pcrs_free_job() ", " pcrs_free_joblist() " and "
.BR pcrs_strerror() .
.SH COMPILING JOBS
.RB "The function " pcrs_compile() " is called to compile a " pcrs_job
.RI "from a " pattern ", " substitute " and " options " string."
.RB "The resulting " "pcrs_job" " structure is dynamically allocated and it"
.RB "is the caller's responsibility to call " "pcrs_free_job()" " when it's no longer needed."
.BR "pcrs_compile_command()" " is a convenience wrapper function that parses a Perl"
.IR "command" " of the form"
.BI "s/" "pattern" "/" "substitute" "/[" "options" "]"
.RB "into its components and then calls " "pcrs_compile()" ". As in Perl, you"
.RB "are not bound to the '" "/" "' character: Whatever"
.RB "follows the '" "s" "' will be used as the delimiter. Patterns or substitutes"
that contain the delimiter need to quote it:
\fBs/th\\/is/th\\/at/\fR
.RB "will replace " "th/is" " by " "th/at" " and can be written more simply as"
.BR "s|th/is|th/at|" "."
.IR "pattern" ", " "substitute" ", " "options" " and " "command" " must be"
.RI "zero-terminated C strings. " "substitute" " and " "options" " may be"
.BR "NULL" ", in which case they are treated like the empty string."
.SS "Return value and diagnostics"
On success, both functions return a pointer to the compiled job.
.RB "On failure, " "NULL"
.RI "is returned. In that case, the pcrs error code is written to *" "err" "."
.SS Patterns
.RI "For the syntax of the " "pattern" ", see the "
.BR "PCRE(3)" " manual page."
.SS Substitutes
.RI "The " "substitute" " uses"
.RB "Perl syntax as documented in the " "perlre(1)" " manual page, with"
some exceptions:
Most notably and evidently, since
.SM PCRS
is not Perl, variable interpolation or Perl command substitution won't work.
Special variables that do get interpolated, are:
.TP
.B "$1, $2, ..., $n"
Like in Perl, these variables refer to what the nth capturing subpattern
in the pattern matched.
.TP
.B "$& and $0"
.RB "refer to the whole match. Note that " "$0" " is deprecated in recent"
Perl versions and now refers to the program name.
.TP
.B "$+"
refers to what the last capturing subpattern matched.
.TP
.BR "$` and $'" " (backtick and tick)"
.RI "refer to the areas of the " "subject" " before and after the match, respectively."
.RB "Note that, like in Perl, the " "unmodified" " subject is used, even"
if a global substitution previously matched.
.PP
Perl4-style references to subpattern matches of the form
\fB\\1, \\2, ...\fR
.RB "which only exist in Perl5 for backwards compatibility, are " "not"
supported.
Also, since the substitute is a double-quoted string in Perl, you
might expect all Perl syntax for special characters to apply. In fact,
only the following are supported:
.TP
\fB\\n\fR
newline (0x0a)
.TP
\fB\\r\fR
carriage return (0x0d)
.TP
\fB\\t\fR
horizontal tab (0x09)
.TP
\fB\\f\fR
form feed (0x0c)
.TP
\fB\\b\fR
backspace (0x08)
.TP
\fB\\a\fR
alarm, bell (0x07)
.TP
\fB\\e\fR
escape (0x1b)
.TP
\fB\\0\fR
binary zero (0x00)
.SS "Options"
.RB "The options " "gmisx" " are supported. " "e" " is not, since it would"
.RB "require a Perl interpreter and neither is " o ", because the pattern
is explicitly compiled, anyway. Additionally,
.SM PCRS
.RB "honors the options " "U" " and " "T" "."
Where
.SM PCRE
.RB "options are mentioned below, refer to " PCRE(3) " for the subtle differences"
to Perl behaviour.
.TP
.B g
.RB "Replace " all " instances of"
.IR pattern " in " subject ,
not just the first one.
.TP
.B i
.RI "Match the " pattern " without respect to case. This translates to"
.SM PCRE_CASELESS.
.TP
.B m
.RI "Treat the " subject " as consisting of multiple lines, i.e."
.RB ' ^ "' matches immediately after, and '" $ "' immediately before each newline."
Translates to
.SM PCRE_MULTILINE.
.TP
.B s
.RI "Treat the " subject " as consisting of one single line, i.e."
.RB "let the scope of the '" . "' metacharacter include newlines."
Translates to
.SM PCRE_DOTALL.
.TP
.B x
.RI "Allow extended regular expression syntax in the " pattern ","
.RB "enabling whitespace and comments in complex patterns."
Translates to
.SM PCRE_EXTENDED.
.TP
.B U
.RB "Switch the default behaviour of the '" * "' and '" + "' quantifiers"
.RB "to ungreedy. Note that appending a '" ? "' switches back to greedy(!)."
.RB "The explicit in-pattern switches " (?U) " and " (?-U) " remain unaffected."
Translates to
.SM PCRE_UNGREEDY.
.TP
.B T
.RI "Consider the " substitute " trivial, i.e. do not interpret any references"
or special character escape sequences in the substitute. Handy for large
user-supplied substitutes, which would otherwise have to be examined and properly
quoted.
.PP
Unsupported options are silently ignored.
.SH EXECUTING JOBS
.RI "Calling " pcrs_execute() " produces a modified copy of the " subject ", in which"
.RB "the first (or all, if the '" g "' option was given when compiling the job)"
.RI "occurance(s) of the job's " pattern " in the " subject " is replaced by the job's"
.IR substitute .
.RI "The first " subject_length " bytes following " subject " are processed, so"
.RI "a " subject_length " that exceeds the actual " subject " is dangerous."
.RI "Note that for zero-terminated C strings, you should set " subject_length " to"
.BI strlen( subject ) \fR,
so that the dollar metacharacter matches at the end of the string, not after
the string-terminating null byte. For convenience, an extra null byte is
appended to the result so it can again be used as a string.
.RI "The " subject " itself is left untouched, and the " *result " is dynamically"
.RB "allocated, so it is the caller's responsibility to " free() " it when it's"
no longer needed.
.RI "The result's length (excluding the extra null byte) is written to " *result_length "."
.RB "If the job matched, the " PCRS_SUCCESS " flag in"
.IB job ->flags
is set.
.SS String subjects
If your
.SS Return value and diagnostics
.RB "On success, " pcrs_execute() " returns the number of substitutions that"
were made, which is limited to 0 or 1 for non-global searches.
.RI "On failure, a negative error code is returned and " result " is set"
.RB "to " NULL .
.SH FREEING JOBS
.RB "It is not sufficient to call " free() " on a " pcrs_job ", because it "
contains pointers to other dynamically allocated structures.
.RB "Use " pcrs_free_job() " instead. It is safe to pass " NULL " pointers "
.RB "(or pointers to invalid " pcrs_job "s that contain " NULL " pointers"
.RB "to dependant structures) to " pcrs_free_job() "."
.SS Return value
.RB "The value of the job's " next " pointer."
.SH CHAINING JOBS
.SM PCRS
.RB "supports to some extent the chaining of multiple " pcrs_job " structures by"
.RB "means of their " next " member."
Chaining the jobs is up to you, but once you have built a linked list of jobs,
.RI "you can execute a whole " joblist " on a given subject by"
.RB "a single call to " pcrs_execute_list() ", which will sequentially traverse"
.RB "the linked list until it reaches a " NULL " pointer, and call " pcrs_execute()
.RI "for each job it encounters, feeding the " result " and " result_length " of each"
.RI "call into the next as the " subject " and " subject_length ". As in the single"
.RI "job case, the original " subject " remains untouched, but all interim " result "s"
.RB "are of course " free() "d. The return value is the accumulated number of matches"
.RI "for all jobs in the " joblist "."
.RI "Note that while this is handy, it reduces the diagnostic value of " err ", since "
you won't know which job failed.
.RI "In analogy, you can free all jobs in a given " joblist " by calling"
.BR pcrs_free_joblist() .
.SH QUOTING
The quote character is (surprise!) '\fB\\\fR'. It quotes the delimiter in a
.IR command ", the"
.RB ' $ "' in a"
.IR substitute ", and, of course, itself. Note that the"
.RB ' $ "' doesn't need to be quoted if it isn't followed by " [0-9+'`&] "."
.RI "For quoting in the " pattern ", please refer to"
.BR PCRE(3) .
.SH DIAGNOSTICS
.RB "When " compiling " a job either via the " pcrs_compile() " or " pcrs_compile_command()
.RB "functions, you know that something went wrong when you are returned a " NULL " pointer."
.RI "In that case, or in the event of non-fatal warnings, the integer pointed to by " err
contains a nonzero error code, which is either a passed-through
.SM PCRE
error code or one generated by
.SM PCRS.
Under normal circumstances, it can take the following values:
.TP
.B PCRE_ERROR_NOMEMORY
While compiling the pattern,
.SM PCRE
ran out of memory.
.TP
.B PCRS_ERR_NOMEM
While compiling the job,
.SM PCRS
ran out of memory.
.TP
.B PCRS_ERR_CMDSYNTAX
.BR pcrs_compile_command() " didn't find four tokens while parsing the"
.IR command .
.TP
.B PCRS_ERR_STUDY
A
.SM PCRE
.RB "error occured while studying the compiled pattern. Since " pcre_study()
only provides textual diagnostic information, the details are lost.
.TP
.B PCRS_WARN_BADREF
.RI "The " substitute " contains a reference to a capturing subpattern that"
.RI "has a higher index than the number of capturing subpatterns in the " pattern
or that exceeds the current hard limit of 33 (See LIMITATIONS below). As in Perl,
this is non-fatal and results in substitutions with the empty string.
.PP
.RB "When " executing " jobs via " pcrs_execute() " or " pcrs_execute_list() ","
.RI "a negative return code indicates an error. In that case, *" result
.RB "is " NULL ". Possible error codes are:"
.TP
.B PCRE_ERROR_NOMEMORY
While matching the pattern,
.SM PCRE
ran out of memory. This can only happen if there are more than 33 backrefrences
.RI "in the " pattern "(!)"
.BR and " memory is too tight to extend storage for more."
.TP
.B PCRS_ERR_NOMEM
While executing the job,
.SM PCRS
ran out of memory.
.TP
.B PCRS_ERR_BADJOB
.RB "The " pcrs_job "* passed to " pcrs_execute " was NULL, or the"
.RB "job is bogus (it contains " NULL " pointers to the compiled
pattern, extra, or substitute).
.PP
If you see any other
.SM PCRE
error code passed through, you've either messed with the compiled job
or found a bug in
.SM PCRS.
Please send me an email.
.RB "Ah, and don't look for " PCRE_ERROR_NOMATCH ", since this"
is not an error in the context of
.SM PCRS.
.RI "Should there be no match, an exact copy of the " subject " is"
.RI "found at *" result " and the return code is 0 (matches)."
All error codes can be translated into human readable text by means
.RB "of the " pcrs_strerror() " function."
.SH EXAMPLE
A trivial command-line test program for
.SM PCRS
might look like:
.nf
#include <pcrs.h>
#include <stdio.h>
int main(int Argc, char **Argv)
{
pcrs_job *job;
char *result;
size_t newsize;
int err;
if (Argc != 3)
{
fprintf(stderr, "Usage: %s s/pattern/substitute/[options] subject\\n", Argv[0]);
return 1;
}
if (NULL == (job = pcrs_compile_command(Argv[1], &err)))
{
fprintf(stderr, "%s: compile error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
}
if (0 > (err = pcrs_execute(job, Argv[2], strlen(Argv[2]), &result, &newsize)))
{
fprintf(stderr, "%s: exec error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
}
else
{
printf("Result: *%s*\\n", result);
free(result);
}
pcrs_free_job(job);
return(err < 0);
}
.fi
.SH LIMITATIONS
The number of matches that a global job can have is only limited by the
available memory. An initial storage for 40 matches is reserved, which
is dynamically resized by the factor 1.6 whenever it is exhausted.
The number of capturing subpatterns is currently limited to 33, which
is a Bad Thing[tm]. It should be dynamically expanded until it reaches the
.SM PCRE
limit of 99.
.br
This limitation is particularly embarassing since
.SM PCRE
3.5 has raised the capturing subpattern limit to 65K.
All of the above values can be adjusted in the "Capacity" section
.RB "of " pcrs.h "."
The Perl-style escape sequences for special characters \\\fInnn\fR,
\\x\fInn\fR, and \\c\fIX\fR are currently unsupported.
.SH BUGS
This library has only been tested in the context of one application
and should be considered high risk.
.SH HISTORY
.SM PCRS
was originally written for the Privoxy project
(http://www.privoxy.org/).
.SH SEE ALSO
.B PCRE(3), perl(1), perlre(1)
.SH AUTHOR
.SM PCRS
is Copyright 2000 - 2003 by Andreas Oesterhelt <andreas@oesterhelt.org> and is
licensed under the terms of the GNU Lesser General Public License (LGPL),
version 2.1, which should be included in this distribution, with the exception
that the permission to replace that license with the GNU General Public
License (GPL) given in section 3 is restricted to version 2 of the GPL.
If it is missing from this distribution, the LGPL can be obtained from
http://www.gnu.org/licenses/lgpl.html or by mail: Write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

View File

@ -1,67 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/authors.sgml,v $
Purpose : AUTHORS file for Privoxy
$Id: authors.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence!
========================================================================
===================================================================
READ: Document Note: This file generates the AUTHORS file in the
top level source directory. See p-authors.sgml for list of developers
and contributors, etc. They were split from here for use in man page.
===================================================================
-->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE">
<!entity authors SYSTEM "p-authors.sgml">
<!entity p-version "3.0.11">
<!entity p-status "stable">
<!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE">
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
<!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc -->
]>
<article id="index">
<![%dummy;[
<para>
<comment>
This is here to keep vim syntax file from breaking :/
If I knew enough to fix it, I would.
PLEASE DO NOT REMOVE! HB: hal@foobox.net
</comment>
</para>
]]>
<literallayout>
Authors of <application>Privoxy</application> v2.9.x and 3.x
===========================================================================
</literallayout>
<!-- include boilerplate p-authors.sgml -->
&authors;
<!-- end boilerplate -->
<para>
If we've missed you off this list, please let us know!
</para>
<literallayout>
Privoxy team. <ulink url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>
<email>ijbswa-developers@lists.sourceforge.net</email>
</literallayout>
</article>

View File

@ -1,256 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
Purpose : Entity included in other project documents.
$Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
user-manual
INSTALL
-->
<para>
To build <application>Privoxy</application> from source,
<ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
<ulink
url="http://www.gnu.org/software/make/make.html">GNU make
(gmake)</ulink>, and, of course, a C compiler like <ulink
url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
</para>
<para>
When building from a source tarball,
<!--
no longer available ...
<ulink
url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
tarball</ulink>),
--> first unpack the source:
</para>
<para>
<screen>
tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>-src.tar.gz
cd privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>
</screen>
</para>
<para>
For retrieving the current CVS sources, you'll need a CVS client installed.
Note that sources from CVS are typically development quality, and may not be
stable, or well tested. To download CVS source, check the Sourceforge
documentation, which might give commands like:
</para>
<para>
<screen>
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
cd current
</screen>
</para>
<para>
This will create a directory named <filename>current/</filename>, which will
contain the source tree.
</para>
<para>
You can also check out any <application>Privoxy</application>
<quote>branch</quote>, just exchange the <application>current</application>
name with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs
tree).
</para>
<para>
It is also strongly recommended to not run <application>Privoxy</application>
as root. You should configure/install/run <application>Privoxy</application> as
an unprivileged user, preferably by creating a <quote>privoxy</quote> user
and group just for this purpose. See your local documentation for the correct
command line to do add new users and groups (something like
<command>adduser</command>, but the command syntax may vary from platform
to platform).
</para>
<para>
<filename>/etc/passwd</filename> might then look like:
</para>
<para>
<screen> privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</screen>
</para>
<para>
And then <filename>/etc/group</filename>, like:
</para>
<para>
<screen> privoxy:*:7777:</screen>
</para>
<para>
Some binary packages may do this for you.
</para>
<para>
Then, to build from either unpacked tarball or CVS source:
</para>
<para>
<screen>
autoheader
autoconf
./configure # (--help to see options)
make # (the make from GNU, sometimes called gmake)
su # Possibly required
make -n install # (to see where all the files will go)
make -s install # (to really install, -s to silence output)</screen>
</para>
<para>
Using GNU <command>make</command>, you can have the first four steps
automatically done for you by just typing:
</para>
<para>
<screen>
make
</screen>
</para>
<para>
in the freshly downloaded or unpacked source directory.
</para>
<para>
To build an executable with security enhanced features so that
users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or
alter their own configurations, <command>configure</command> like this:
</para>
<para>
<screen>
./configure --disable-toggle --disable-editor --disable-force</screen>
</para>
<para>
Then build as above. In Privoxy 3.0.7 and later, all of these options
can also be disabled through the configuration file.
</para>
<para>
<emphasis>WARNING:</emphasis> If installing as root, the install will fail
unless a non-root user or group is specified, or a <literal>privoxy</literal>
user and group already exist on the system. If a non-root user is specified,
and no group, then the installation will try to also use a group of the same name
as <quote>user</quote>. If a group is specified (and no user), then the
support files will be installed as writable by that group, and owned by the
user running the installation.
</para>
<para>
<command>configure</command> accepts <literal>--with-user</literal> and
<literal>--with-group</literal> options for setting user and group ownership
of the configuration files (which need to be writable by the daemon). The
specified <emphasis>user must already exist</emphasis>. When starting
<application>Privoxy</application>, it must be run as this same user to
insure write access to configuration and log files!
</para>
<para>
Alternately, you can specify <literal>user</literal> and <literal>group</literal>
on the <command>make</command> command line, but be sure both already exist:
</para>
<para>
<screen>
make -s install USER=privoxy GROUP=privoxy</screen>
</para>
<para>
The default installation path for <command>make install</command> is
<filename>/usr/local</filename>. This may of course be customized with
the various <command>./configure</command> path options. If you are doing
an install to anywhere besides <filename>/usr/local</filename>, be
sure to set the appropriate paths with the correct configure options
(<command>./configure --help</command>). Non-privileged users must of course
have write access permissions to wherever the target installation is going.
</para>
<para>
If you do install to <filename>/usr/local</filename>, the install will use
<literal>sysconfdir=$prefix/etc/privoxy</literal> by default. All other
destinations, and the direct usage of <literal>--sysconfdir</literal> flag
behave like normal, i.e. will not add the extra <filename>privoxy</filename>
directory. This is for a safer install, as there may already exist another
program that uses a file with the <quote>config</quote> name, and thus makes
<filename>/usr/local/etc</filename> cleaner.
</para>
<para>
If installing to <filename>/usr/local</filename>, the documentation will go
by default to <filename>$prefix/share/doc</filename>. But if this directory
doesn't exist, it will then try <filename>$prefix/doc</filename> and install
there before creating a new <filename>$prefix/share/doc</filename> just for
<application>Privoxy</application>.
</para>
<para>
Again, if the installs goes to <filename>/usr/local</filename>, the
<literal>localstatedir</literal> (ie: <filename>var/</filename>) will default
to <filename>/var</filename> instead of <literal>$prefix/var</literal> so
the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file
will be created in <filename>/var/run/privoxy.pid</filename>.
</para>
<para>
<command>make install</command> will attempt to set the correct values
in <filename>config</filename> (main configuration file). You should
check this to make sure all values are correct. If appropriate,
an init script will be installed, but it is up to the user to determine
how and where to start <application>Privoxy</application>. The init
script should be checked for correct paths and values, if anything other than
a default install is done.
</para>
<para>
If install finds previous versions of local configuration files, most of
these will not be overwritten, and the new ones will be installed with a
<quote>new</quote> extension. default.action and default.filter
<emphasis>will be overwritten</emphasis>. You will then need
to manually update the other installed configuration files as needed. The
default template files <emphasis>will</emphasis> be overwritten. If you have
customized, local templates, these should be stored safely in a separate
directory and defined in <filename>config</filename> by the
<quote>templdir</quote> directive. It is of course wise to always back-up any
important configuration files <quote>just in case</quote>. If a previous
version of <application>Privoxy</application> is already running, you will
have to restart it manually.
</para>
<para>
For more detailed instructions on how to build Redhat RPMs,
Windows self-extracting installers, building on platforms with
special requirements etc, please consult the <ulink
url="http://www.privoxy.org/developer-manual/newrelease.html">developer manual</ulink>.
</para>
<!-- print for README only -->
<!-- Actually this is now in INSTALL -->
<![%p-readme;[
<para>
The simplest command line to start <application>Privoxy</application> is
<command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
See <command>privoxy --usage</command>, or the man page, for other options,
and configuration.
</para>
]]>

View File

@ -1,36 +0,0 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
<!entity % dummy "IGNORE">
<!entity config SYSTEM "p-config.sgml">
<!entity p-version "3.0.11">
<!entity p-status "stable">
<!entity % p-not-stable "IGNORE">
<!entity % user-man "IGNORE">
<!entity % config-file "IGNORE">
<!entity my-app "<application>Privoxy</application>">
]>
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/config.sgml,v $
Purpose : config file generation
$Id: config.sgml,v 2.12 2009/02/12 16:08:26 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation.
========================================================================
This file is used to generate the main Privoxy config file. It is mostly
content included from p-config.sgml (where all the data is). See that
file for more comments.
-->
<article>
<!-- include config.sgml -->
&config;
<!-- end include -->
</article>

View File

@ -1,262 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/contacting.sgml,v $
Purpose : Entity included in other project documents.
$Id: contacting.sgml,v 2.14 2008/04/26 11:38:51 fabiankeil Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
This file is included into:
faq
developer-manual
README
user-manual
webserver/index.sgml
announce.sgml
-->
<!-- READ: -->
<!-- Careful of the literallayout tags and finished formatting -->
<para>
We value your feedback. In fact, we rely on it to improve
<application>Privoxy</application> and its configuration.
However, please note the following hints, so we can
provide you with the best support:
</para>
<sect2 id="contact-support"><title>Get Support</title>
<para>
For casual users, our
<ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">support forum at SourceForge</ulink>
is probably best suited:
<ulink url="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118">http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</ulink>
</para>
<para>
All users are of course welcome to discuss their issues on the <ulink
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-users">users
mailing list</ulink>, where the developers also hang around.
</para>
<para>
Please don't sent private support requests to individual Privoxy
developers, either use the mailing lists or the support trackers.
</para>
<para>
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a
delay of several days and if you use a subject that doesn't clearly
mention Privoxy or one of its features, your message may be accidentally
discarded as spam.
</para>
<para>
If you aren't subscribed, you should therefore spend a few seconds
to come up with a proper subject. Additionally you should make it clear
that you want to get CC'd. Otherwise some responses will be directed to
the mailing list only, and you won't see them.
</para>
</sect2>
<sect2 id="reporting"><title>Reporting Problems</title>
<para>
<quote>Problems</quote> for our purposes, come in two forms:
</para>
<itemizedlist>
<listitem>
<para>
Configuration issues, such as ads that slip through, or sites that
don't function properly due to one <application>Privoxy</application>
<quote>action</quote> or another being turned <quote>on</quote>.
</para>
</listitem>
<listitem>
<para>
<quote>Bugs</quote> in the programming code that makes up
<application>Privoxy</application>, such as that might cause a crash.
</para>
</listitem>
</itemizedlist>
<sect3 id="contact-ads"><title>Reporting Ads or Other Configuration Problems</title>
<para>
Please send feedback on ads that slipped through, innocent images that were
blocked, sites that don't work properly, and other configuration related problem of
<filename>default.action</filename> file, to
<ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288">
http://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>,
the Actions File Tracker.
</para>
<para>
New, improved <filename>default.action</filename> files may occasionally be made
available based on your feedback. These will be announced on the <ulink
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce">ijbswa-announce</ulink>
list and available from our the <ulink
url="http://sourceforge.net/project/showfiles.php?group_id=11118">files section</ulink> of
our <ulink url="http://sf.net/projects/ijbswa/">project page</ulink>.
</para>
</sect3>
<sect3 id="contact-bugs"><title>Reporting Bugs</title>
<para>
Please report all bugs through our bug tracker:
<ulink url="http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118">http://sourceforge.net/tracker/?group_id=11118&amp;atid=111118</ulink>.
</para>
<para>
Before doing so, please make sure that the bug has <emphasis>not already been submitted</emphasis>
and observe the additional hints at the top of the <ulink
url="http://sourceforge.net/tracker/?func=add&amp;group_id=11118&amp;atid=111118">submit
form</ulink>. If already submitted, please feel free to add any info to the
original report that might help to solve the issue.
</para>
<para>
Please try to verify that it is a <application>Privoxy</application> bug,
and not a browser or site bug or documented behaviour that just happens
to be different than what you expected. If unsure,
try <ulink url="http://config.privoxy.org/toggle?set=disable">toggling
off</ulink> <application>Privoxy</application>, and see if the problem persists.
</para>
<para>
If you are using your own custom configuration, please try
the stock configs to see if the problem is configuration related.
If you're having problems with a feature that is disabled by default,
please ask around on the mailing list if others can reproduce the problem.
</para>
<para>
If you aren't using the latest Privoxy version, the bug may have been found
and fixed in the meantime. We would appreciate if you could take the time
to <ulink url="http://www.privoxy.org/user-manual/installation.html">upgrade
to the latest version</ulink> (or even the latest CVS snapshot) and verify
that your bug still exists.
</para>
<para>
Please be sure to provide the following information:
</para>
<para>
<itemizedlist>
<listitem>
<para>
The exact <application>Privoxy</application> version you are using
(if you got the source from CVS, please also provide the source code revisions
as shown in <ulink url="http://config.privoxy.org/show-version">http://config.privoxy.org/show-version</ulink>).
</para>
</listitem>
<listitem>
<para>
The operating system and versions you run
<application>Privoxy</application> on, (e.g. <application>Windows
XP SP2</application>), if you are using a Unix flavor,
sending the output of <quote>uname -a</quote> should do,
in case of GNU/Linux, please also name the distribution.
</para>
</listitem>
<listitem>
<para>
The name, platform, and version of the <application>browser</application>
you were using (e.g. <application>Internet Explorer v5.5</application> for Mac).
</para>
</listitem>
<listitem>
<para>
The URL where the problem occurred, or some way for us to duplicate the
problem (e.g. <literal>http://somesite.example.com/?somethingelse=123</literal>).
</para>
</listitem>
<listitem>
<para>
Whether your version of <application>Privoxy</application> is one supplied
by the <application>Privoxy</application> developers via SourceForge,
or if you got your copy somewhere else.
</para>
</listitem>
<listitem>
<para>
Whether you are using <application>Privoxy</application> in tandem with
another proxy such as <application>Tor</application>. If so, please
temporary disable the other proxy to see if the symptoms change.
</para>
</listitem>
<listitem>
<para>
Whether you are using a personal firewall product. If so, does
<application>Privoxy</application> work without it?
</para>
</listitem>
<listitem>
<para>
Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each
action taken).
</para>
</listitem>
</itemizedlist>
</para>
<para>
You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between
your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already
found a solution.
</para>
<para>
Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request.
</para>
<para>
The <ulink url="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT">appendix
of the Privoxy User Manual</ulink> also has helpful information
on understanding <literal>actions</literal>, and <literal>action</literal> debugging.
</para>
</sect3>
</sect2>
<sect2 id="contact-feature"><title>Request New Features</title>
<para>
You are welcome to submit ideas on new features or other proposals
for improvement through our feature request tracker at
<ulink url="http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118">http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</ulink>.
</para>
</sect2>
<sect2 id="contact-other"><title>Other</title>
<para>
For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <application>Privoxy</application>-related mailing lists,
including list archives, at:
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
</para>
</sect2>

View File

@ -1,47 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/copyright.sgml,v $
Purpose : Entity included in other project documents.
$Id: copyright.sgml,v 2.10 2009/02/10 16:13:30 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
privoxy-man-page
user-manual
developer-manual
faq
**************************************************************
NOTE: the &my-copy entity must be defined in any file that will
include this file. (This is a workaround for docbook2man not
handling the standard &copy entity in the man page processing.)
**************************************************************
-->
<!--
GFDL:
http://www.gnu.org/licenses/fdl.html
-->
<para>
Copyright &my-copy; 2001-2009 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
</para>
<para>
Some source code is based on code Copyright &my-copy; 1997 by Anonymous Coders
and Junkbusters, Inc. and licensed under the <citetitle>GNU General Public
License</citetitle>.
</para>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,71 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/history.sgml,v $
Purpose : Entity included in other project documents.
$Id: history.sgml,v 2.7 2009/02/22 11:05:21 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
user-manual
developer-manual
faq
webserver/index.sgml
-->
<para>
A long time ago, there was the
<ulink url="http://www.junkbusters.com/ijb.html"><application>Internet Junkbuster</application></ulink>,
by Anonymous Coders and <ulink url="http://www.junkbusters.com/">Junkbusters
Corporation</ulink>. This saved many users a lot of pain in the early days of
web advertising and user tracking.
</para>
<para>
But the web, its protocols and standards, and with it, the techniques for
forcing ads on users, give up autonomy over their browsing, and
for tracking them, keeps evolving. Unfortunately, the <application>Internet
Junkbuster</application> did not. Version 2.0.2, published in 1998, was
(and is) the last official
<ulink url="http://www.junkbusters.com/ijbdist.html#release">release</ulink>
available from <ulink url="http://www.junkbusters.com">Junkbusters Corporation</ulink>.
Fortunately, it had been released under the GNU
<ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPL</ulink>,
which allowed further development by others.
</para>
<para>
So Stefan Waldherr started maintaining an improved version of the
software, to which eventually a number of people contributed patches.
It could already replace banners with a transparent image, and had a first
version of pop-up killing, but it was still very closely based on the
original, with all its limitations, such as the lack of HTTP/1.1 support,
flexible per-site configuration, or content modification. The last release
from this effort was version 2.0.2-10, published in 2000.
</para>
<para>
Then, some
<ulink url="http://www.privoxy.org/user-manual/copyright.html#AUTHORS">developers</ulink>
picked up the thread, and started turning the software inside out, upside down,
and then reassembled it, adding many
<ulink url="http://www.privoxy.org/user-manual/introduction.html#FEATURES">new
features</ulink> along the way.
</para>
<para>
The result of this is <application>Privoxy</application>, whose first
stable version, 3.0, was released August, 2002.
<!-- Cautious!!!!!!!!! ;) -->
</para>

View File

@ -1,106 +0,0 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE">
<!entity buildsource SYSTEM "buildsource.sgml">
<!entity p-version "3.0.11">
<!entity p-status "stable">
<!entity % p-stable "INCLUDE">
<!entity % p-not-stable "IGNORE">
<!entity % p-alpha "IGNORE">
<!entity % p-beta "IGNORE">
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
<!entity % p-readme "INCLUDE"> <!-- This is now in INSTALL -->
]>
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
Purpose : INSTALL file for Privoxy
$Id: install.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence!
========================================================================
===================================================================
READ: Document Note: This file generates the INSTALL file in the top level
source directory. It is generated as only a plain text file. The current
markup is not suitable for other formats. Build from Makefile with 'make
dok-readme'.
===================================================================
-->
<article id="index">
<artheader>
<![%dummy;[
<para>
<comment>
This is here to keep vim syntax file from breaking :/
If I knew enough to fix it, I would.
PLEASE DO NOT REMOVE! HB: hal@foobox.net
</comment>
</para>
]]>
<abstract>
<para>
<literal>
<msgtext>
<literallayout>
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
*
* Purpose : INSTALL file to help with installing from source.
*
* Copyright : Written by and Copyright (C) 2001-2009 the
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA
*
*********************************************************************/
</literallayout>
</msgtext>
</literal>
</para>
</abstract>
</artheader>
<para>
<msgtext>
<!-- ~~~~~ New section ~~~~~ -->
<!-- include buildsource.sgml boilerplate: -->
&buildsource;
<!-- end boilderplate -->
</msgtext>
</para>
</article>

View File

@ -1,420 +0,0 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % html "IGNORE">
<![%html;[
<!ENTITY % print "IGNORE">
<!ENTITY docbook.dsl SYSTEM "none/html/docbook.dsl" CDATA dsssl>
]]>
<!ENTITY % print "INCLUDE">
<![%print;[
<!ENTITY docbook.dsl SYSTEM "none/print/docbook.dsl" CDATA dsssl>
]]>
]>
<!--
;; borrowed from the LDP stylesheet, with modifications, HB.
;; Added support for css 03/20/02, and other mods.
-->
<style-sheet>
<style-specification id="print" use="docbook">
<style-specification-body>
;; ==============================
;; customize the print stylesheet
;; ==============================
;;
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
;;
(define %indent-screen-lines%
;; Indent lines in a 'Screen'?
#t)
(define %callout-fancy-bug%
;; Use fancy callout bugs?
#t)
(define %chap-app-running-heads%
;; Generate running headers and footers on chapter-level elements?
#t)
(define %chap-app-running-head-autolabel%
;; Put chapter labels in running heads?
#t)
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
;;(define %shade-verbatim%
;; #t)
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; swa1
(define %generate-part-toc%
#f)
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
(define %generate-part-toc-on-titlepage%
;; Should the Part TOC appear on the Part title page?
#f)
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#f)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %body-start-indent%
;; Default indent of body text
2pi)
(define %para-indent-firstpara%
;; First line start-indent for the first paragraph
0pt)
;; swa2
(define %para-indent%
;; First line start-indent for paragraphs (other than the first)
0pt)
(define %block-start-indent%
;; Extra start-indent for block-elements
2pt)
;;Define distance between paragraphs
(define %para-sep%
(/ %bf-size% 2.0))
;; with swa2 no effects
;; swa3
;;Define distance between block elements (figures, tables, etc.).
(define %block-sep%
(* %para-sep% 1.0))
;; (* %para-sep% 2.0))
(define %hyphenation%
;; Allow automatic hyphenation?
#t)
(define %left-margin% 5pi)
(define %right-margin% 5pi)
(define %top-margin% 5pi)
(define %bottom-margin% 5pi)
(define %footer-margin% 2pi)
(define %header-margin% 2pi)
(define %line-spacing-factor% 1.3)
;; Factor used to calculate leading
;; The leading is calculated by multiplying the current font size by the
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
;; the '%line-spacing-factor%' is 1.1, then the text will be
;; printed "10-on-11".
(define %head-before-factor%
;; Factor used to calculate space above a title
;; The space before a title is calculated by multiplying the font size
;; used in the title by the '%head-before-factor%'.
;; 0.75)
0.5)
(define %head-after-factor%
;; Factor used to calculate space below a title
;; The space after a title is calculated by multiplying the font size used
;; in the title by the '%head-after-factor%'.
0.5)
(define %input-whitespace-treatment% 'collapse)
(define ($generate-article-lot-list$)
;; Which Lists of Titles should be produced for Articles?
(list ))
</style-specification-body>
</style-specification>
<!--
;; ===================================================
;; customize the html stylesheet; borrowed from Cygnus
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
;; ===================================================
-->
<style-specification id="html" use="docbook">
<style-specification-body>
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
(define %html-ext%
".html")
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
;; HB added next three statements 05/03/02.
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#t)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %root-filename%
;; The filename of the root HTML document (e.g, "index").
"index")
(define %generate-part-toc%
#t)
(define %shade-verbatim%
#t)
(define %use-id-as-filename%
;; Use ID attributes as name for component HTML files?
#t)
(define %graphic-default-extension%
"gif")
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; HB added 2008-01-19
(define %html-header-tags%
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
charset=ISO-8859-1"))))
</style-specification-body>
</style-specification>
<style-specification id="html-notoc" use="html">
<style-specification-body>
;; ===================================================
;; Vairant without TOC for the Homepage --oes 24/05/02
;; ===================================================
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#f)
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>

View File

@ -1,420 +0,0 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % html "IGNORE">
<![%html;[
<!ENTITY % print "IGNORE">
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/html/docbook.dsl" CDATA dsssl>
]]>
<!ENTITY % print "INCLUDE">
<![%print;[
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/print/docbook.dsl" CDATA dsssl>
]]>
]>
<!--
;; borrowed from the LDP stylesheet, with modifications, HB.
;; Added support for css 03/20/02, and other mods.
-->
<style-sheet>
<style-specification id="print" use="docbook">
<style-specification-body>
;; ==============================
;; customize the print stylesheet
;; ==============================
;;
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
;;
(define %indent-screen-lines%
;; Indent lines in a 'Screen'?
#t)
(define %callout-fancy-bug%
;; Use fancy callout bugs?
#t)
(define %chap-app-running-heads%
;; Generate running headers and footers on chapter-level elements?
#t)
(define %chap-app-running-head-autolabel%
;; Put chapter labels in running heads?
#t)
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
;;(define %shade-verbatim%
;; #t)
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; swa1
(define %generate-part-toc%
#f)
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
(define %generate-part-toc-on-titlepage%
;; Should the Part TOC appear on the Part title page?
#f)
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#f)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %body-start-indent%
;; Default indent of body text
2pi)
(define %para-indent-firstpara%
;; First line start-indent for the first paragraph
0pt)
;; swa2
(define %para-indent%
;; First line start-indent for paragraphs (other than the first)
0pt)
(define %block-start-indent%
;; Extra start-indent for block-elements
2pt)
;;Define distance between paragraphs
(define %para-sep%
(/ %bf-size% 2.0))
;; with swa2 no effects
;; swa3
;;Define distance between block elements (figures, tables, etc.).
(define %block-sep%
(* %para-sep% 1.0))
;; (* %para-sep% 2.0))
(define %hyphenation%
;; Allow automatic hyphenation?
#t)
(define %left-margin% 5pi)
(define %right-margin% 5pi)
(define %top-margin% 5pi)
(define %bottom-margin% 5pi)
(define %footer-margin% 2pi)
(define %header-margin% 2pi)
(define %line-spacing-factor% 1.3)
;; Factor used to calculate leading
;; The leading is calculated by multiplying the current font size by the
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
;; the '%line-spacing-factor%' is 1.1, then the text will be
;; printed "10-on-11".
(define %head-before-factor%
;; Factor used to calculate space above a title
;; The space before a title is calculated by multiplying the font size
;; used in the title by the '%head-before-factor%'.
;; 0.75)
0.5)
(define %head-after-factor%
;; Factor used to calculate space below a title
;; The space after a title is calculated by multiplying the font size used
;; in the title by the '%head-after-factor%'.
0.5)
(define %input-whitespace-treatment% 'collapse)
(define ($generate-article-lot-list$)
;; Which Lists of Titles should be produced for Articles?
(list ))
</style-specification-body>
</style-specification>
<!--
;; ===================================================
;; customize the html stylesheet; borrowed from Cygnus
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
;; ===================================================
-->
<style-specification id="html" use="docbook">
<style-specification-body>
;; this is necessary because right now jadetex does not understand
;; symbolic entities, whereas things work well with numeric entities.
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;; put the legal notice in a separate file
(define %generate-legalnotice-link%
#t)
;; use graphics in admonitions, and have their path be "stylesheet-images"
;; NO: they do not yet look very good
(define %admon-graphics-path%
"./stylesheet-images/")
(define %admon-graphics%
#f)
(define %funcsynopsis-decoration%
;; make funcsynopsis look pretty
#t)
(define %html-ext%
".html")
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#t)
;; HB added next three statements 05/03/02.
;;Do you want a separate page for the title?
(define %generate-article-titlepage-on-separate-page%
#t)
;;Do you want the article toc on the titlepage or separate?
(define %generate-article-toc-on-titlepage%
#t)
;;Titlepage Separate?
;; This is the one that makes TOC only on first page!! hal.
(define (chunk-skip-first-element-list)
'())
(define %root-filename%
;; The filename of the root HTML document (e.g, "index").
"index")
(define %generate-part-toc%
#t)
(define %shade-verbatim%
#t)
(define %use-id-as-filename%
;; Use ID attributes as name for component HTML files?
#t)
(define %graphic-default-extension%
"gif")
(define %section-autolabel% #t)
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
;; HB changed TOC depth to 3 levels.
(define (toc-depth nd)
3)
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define %body-attr%
;; REFENTRY body-attr
;; PURP What attributes should be hung off of BODY?
;; DESC
;; A list of the the BODY attributes that should be generated.
;; The format is a list of lists, each interior list contains the
;; name and value of a BODY attribute.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
(list
(list "BGCOLOR" "#EEEEEE")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
(define %stylesheet%
;; REFENTRY stylesheet
;; PURP Name of the stylesheet to use
;; DESC
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
;; suppress the stylesheet LINK.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"../p_doc.css")
(define %stylesheet-type%
;; REFENTRY stylesheet-type
;; PURP The type of the stylesheet to use
;; DESC
;; The type of the stylesheet to place in the HTML LINK TAG.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
"text/css")
(define %css-liststyle-alist%
;; REFENTRY css-liststyle-alist
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
;; DESC
;; If '%css-decoration%' is turned on then the list-style-type property of
;; list items will be set to reflect the list item style selected in the
;; DocBook instance. This associative list maps the style type names used
;; in your instance to the appropriate CSS names. If no mapping exists,
;; the name from the instance will be used.
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
'(("bullet" "disc")
("box" "square")))
(define %css-decoration%
;; REFENTRY css-decoration
;; PURP Enable CSS decoration of elements
;; DESC
;; If '%css-decoration%' is turned on then HTML elements produced by the
;; stylesheet may be decorated with STYLE attributes. For example, the
;; LI tags produced for list items may include a fragment of CSS in the
;; STYLE attribute which sets the CSS property "list-style-type".
;; /DESC
;; AUTHOR N/A
;; /REFENTRY
#t)
;; HB added 2008-01-19
(define %html-header-tags%
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
charset=ISO-8859-1"))))
</style-specification-body>
</style-specification>
<style-specification id="html-notoc" use="html">
<style-specification-body>
;; ===================================================
;; Vairant without TOC for the Homepage --oes 24/05/02
;; ===================================================
(define %generate-article-toc%
;; Should a Table of Contents be produced for Articles?
;; If true, a Table of Contents will be generated for each 'Article'.
#f)
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>

View File

@ -1,50 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/license.sgml,v $
Purpose : Entity included in other project documents.
$Id: license.sgml,v 2.6 2008/05/23 15:09:48 fabiankeil Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
privoxy-man-page
user-manual
developer-manual
faq
webserver/index.sgml
-->
<para>
<application>Privoxy</application> is free software; you can
redistribute it and/or modify it under the terms of the
<citetitle>GNU General Public License</citetitle>, version 2,
as published by the Free Software Foundation.
</para>
<para>
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the <ulink
url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">
<citetitle>GNU General Public License</citetitle></ulink> for details.
</para>
<para>
You should have received a copy of the <citetitle>GNU GPL</citetitle>
along with this program; if not, write to the <address> Free Software
Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>
<city>Boston</city>, <state>MA</state> <postcode>02110-1301</postcode>
<country>USA</country> </address>
</para>

View File

@ -1,156 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/newfeatures.sgml,v $
Purpose : Entity included in other project documents.
$Id: newfeatures.sgml,v 2.10 2009/02/14 17:37:13 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
user-manual
faq
-->
<para>
<itemizedlist>
<!--
<listitem>
<para>
FIXME: complete the list of features. change the order: most important
features to the top of the list. prefix new features with "NEW".
</para>
</listitem>
-->
<listitem>
<para>
Can keep outgoing connections alive and reuse them later on.
</para>
</listitem>
<listitem>
<para>
Supports tagging which allows to change the behaviour
based on client and server headers.
</para>
</listitem>
<listitem>
<para>
Can be run as an "intercepting" proxy, which obviates the need to
configure browsers individually.
</para>
</listitem>
<listitem>
<para>
Sophisticated actions and filters for manipulating both server and client
headers.
</para>
</listitem>
<listitem>
<para>
Can be chained with other proxies.
</para>
</listitem>
<listitem>
<para>
Integrated browser based configuration and control utility at <ulink
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
tracing of rule and filter effects. Remote toggling.
</para>
</listitem>
<listitem>
<para>
Web page filtering (text replacements, removes banners based on size,
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances,
pop-up windows, etc.)
</para>
</listitem>
<listitem>
<para>
Modularized configuration that allows for standard settings and
user settings to reside in separate files, so that installing updated
actions files won't overwrite individual user settings.
</para>
</listitem>
<listitem>
<para>
Support for Perl Compatible Regular Expressions in the configuration files, and
a more sophisticated and flexible configuration syntax.
</para>
</listitem>
<listitem>
<para>
Improved cookie management features (e.g. session based cookies).
</para>
</listitem>
<listitem>
<para>
GIF de-animation.
</para>
</listitem>
<listitem>
<para>
Bypass many click-tracking scripts (avoids script redirection).
</para>
</listitem>
<listitem>
<para>
Multi-threaded (POSIX and native threads).
</para>
</listitem>
<listitem>
<para>
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
</para>
</listitem>
<listitem>
<para>
Auto-detection and re-reading of config file changes.
</para>
</listitem>
<listitem>
<para>
Improved signal handling, and a true daemon mode (Unix).
</para>
</listitem>
<listitem>
<para>
Every feature now controllable on a per-site or per-location basis, configuration
more powerful and versatile over-all.
</para>
</listitem>
<listitem>
<para>
Many smaller new features added, limitations and bugs removed.
</para>
</listitem>
</itemizedlist>
</para>

View File

@ -1,159 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/p-authors.sgml,v $
Purpose : Entity included in other project documents.
$Id: p-authors.sgml,v 2.34 2009/02/08 18:13:26 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
privoxy-man-page
AUTHORS
user-manual
-->
<![%p-authors-formal;[
<para>
Current Privoxy Team:
</para>
]]>
<literallayout>
Fabian Keil, lead developer
David Schmidt, developer
<![%p-authors-formal;[
]]>
Hal Burgiss
Mark Miller
Gerry Murphy
Lee Rian
Roland Rosenfeld
Jörg Strohmayer
<![%p-authors-formal;[
</literallayout>
<para>
Former Privoxy Team Members:
</para>
<literallayout>
Johny Agotnes
Rodrigo Barbosa
Moritz Barsnick
Ian Cummings
Brian Dessent
Jon Foster
Karsten Hopp
Alexander Lazic
Daniel Leite
Gábor Lipták
Adam Lock
Guy Laroche
Justin McMurtry
Andreas Oesterhelt
Haroon Rafique
Georg Sauthoff
Thomas Steudten
Rodney Stromlund
Sviatoslav Sviridov
Sarantis Paskalis
Stefan Waldherr
]]>
</literallayout>
<![%p-authors-formal;[
<para>
Thanks to the many people who have tested Privoxy, reported bugs, provided
patches, made suggestions or contributed in some way. These include (in
alphabetical order):
</para>
<literallayout>
Ken Arromdee
Devin Bayer
Gergely Bor
Reiner Buehl
Andrew J. Caines
Clifford Caoile
Frédéric Crozat
Michael T. Davis
Mattes Dolak
Matthias Drochner
Peter E.
Florian Effenberger
Markus Elfring
Dean Gaudet
Stephen Gildea
Daniel Griscom
Felix Gröbert
Aaron Hamid
Darel Henman
Magnus Holmgren
Eric M. Hopper
Ralf Horstmann
Stefan Huehner
Peter Hyman
Derek Jennings
Petr Kadlec
David Laight
Bert van Leeuwen
Don Libes
Paul Lieverse
Toby Lyward
Wil Mahan
Jindrich Makovicka
David Mediavilla
Raphael Moll
Amuro Namie
Adam Piggott
Dan Price
Roberto Ragusa
Félix Rauch
Maynard Riley
Chung-chieh Shan
Spinor S.
Bart Schelstraete
Oliver Stoeneberg
Peter Thoenen
Martin Thomas
Bobby G. Vinyard
Jochen Voss
Glenn Washburn
Song Weijia
Jörg Weinmann
Darren Wiebe
Anduin Withers
Oliver Yeoh
Jamie Zawinski
</literallayout>
<para>
Privoxy is based in part on code originally developed by
Junkbusters Corp. and Anonymous Coders.
</para>
<para>
Privoxy heavily relies on Philip Hazel's PCRE.
</para>
<para>
The code to filter compressed content makes use of zlib
which is written by Jean-loup Gailly and Mark Adler.
</para>
<para>
On systems that lack snprintf(), Privoxy is using a version
written by Mark Martinec. On systems that lack strptime(),
Privoxy is using the one from the GNU C Library written
by Ulrich Drepper.
</para>
]]>

File diff suppressed because it is too large Load Diff

View File

@ -1,352 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy-man-page.sgml,v $
Purpose : Manual Page
This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
$Id: privoxy-man-page.sgml,v 2.29 2009/02/19 02:20:22 hal9 Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation.
========================================================================
Doc NOTES: This is some tricky markup! There are some quirks
to how this markup is handled. It is not always so co-operative.
Please don't change the markup unless you can verify the changes
will improve finished output!
literallayout tags are particularly sensitive to where they are placed.
The 'replaceable' and 'command' tags are used here somewhat unconventionally,
since it seems to generate the proper formatting (at least for me :).
Create man page: 'make man'
Requires docbook2man (short perl script), see CVS
http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
perl module.
For man page references, see:
http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html
http://docbook.org/tdg/en/html/ch02.html#making-refentry
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
<!entity % dummy "IGNORE">
<!entity p-intro SYSTEM "privoxy.sgml">
<!entity seealso SYSTEM "seealso.sgml">
<!entity copyright SYSTEM "copyright.sgml">
<!entity license SYSTEM "license.sgml">
<!entity authors SYSTEM "p-authors.sgml">
<!entity p-version "3.0.11">
<!entity p-status "stable">
<!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE">
<!entity % p-text "IGNORE"> <!-- define we are not a text only doc -->
<!entity % p-authors-formal "IGNORE"> <!-- exclude additional formating -->
<!entity my-copy "(C)"> <!-- db2man barfs on copyright symbol -->
<!entity % seealso-extra "IGNORE"> <!-- for excluding sections of seealso -->
]>
<refentry id="privoxy">
<refentryinfo>
<date>2009-02-15</date>
</refentryinfo>
<refmeta>
<refentrytitle>privoxy</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>
Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>privoxy</application></refname>
<refpurpose>Privacy Enhancing Proxy</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>privoxy</command>
<arg><option>--help</option></arg>
<arg><option>--version</option></arg>
<arg><option>--no-daemon</option></arg>
<arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>
<arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg>
<arg><option>--chroot</option></arg>
<arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg>
<arg><replaceable class="parameter">configfile</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Options</title>
<para>
<command>Privoxy</command> may be invoked with the following command line
options:
</para>
<variablelist>
<varlistentry>
<term>--help</term>
<listitem>
<para>
Print brief usage info and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--version</term>
<listitem>
<para>
Print version info and exit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--no-daemon</term>
<listitem>
<para>
Don't become a daemon, i.e. don't fork and become process group
leader, don't detach from controlling tty, and do all logging there.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--pidfile <replaceable class="parameter">pidfile</replaceable></term>
<listitem>
<para>
On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--user <replaceable class="parameter">user[.group]</replaceable></term>
<listitem>
<para>
<!-- Note: replaceable is maybe the wrong tag, but generates -->
<!-- correct looking man output. -->
After (optionally) writing the PID file, assume the user ID of
<replaceable class="parameter">user</replaceable> and the GID of
<replaceable class="parameter">group</replaceable>, or, if the optional
<replaceable class="parameter">group</replaceable> was not given, the default group of
<replaceable class="parameter">user</replaceable>. Exit if the privileges are not
sufficient to do so.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--chroot</term>
<listitem>
<para>
Before changing to the user ID given in the --user option, chroot to
that user's home directory, i.e. make the kernel pretend to the
<command>Privoxy</command> process that the directory tree starts
there. If set up carefully, this can limit the impact of possible
vulnerabilities in <command>Privoxy</command> to the files contained in
that hierarchy.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>--pre-chroot-nslookup <replaceable class="parameter">hostname</replaceable></term>
<listitem>
<para>
Initialize the resolver library using <replaceable class="parameter">hostname</replaceable>
before chroot'ing. On some systems this reduces the number of files
that must be copied into the chroot tree.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
If the <filename>configfile</filename> is not specified on the command line,
<command>Privoxy</command> will look for a file named
<filename>config</filename> in the current directory. If no
<filename>configfile</filename> is found, <command>Privoxy</command> will
fail to start.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Description</title>
<!-- Include privoxy.sgml boilerplate: -->
&p-intro;
<!-- end boilerplate -->
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Installation and Usage</title>
<para>
Browsers can either be individually configured to use
<command>Privoxy</command> as a HTTP proxy (recommended),
or <command>Privoxy</command> can be combined with a packet
filter to build an intercepting proxy
(see <filename>config</filename>). The default setting is for
localhost, on port 8118 (configurable in the main config file). To set the
HTTP proxy in Firefox, go through: <command>Tools</command>;
<command>Options</command>; <command>General</command>;
<command>Connection Settings</command>;
<command>Manual Proxy Configuration</command>.
</para>
<para>
For Internet Explorer, go through: <command>Tools</command>;
<command>Internet Properties</command>; <command>Connections</command>;
<command>LAN Settings</command>.
</para>
<para>
The Secure (SSL) Proxy should also be set to the same values, otherwise
https: URLs will not be proxied. Note: <command>Privoxy</command> can only
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
HTTPS presents some limitations, and not all features will work with HTTPS
connections.
</para>
<para>
For other browsers, check the documentation.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Configuration</title>
<para>
<command>Privoxy</command> can be configured with the various configuration
files. The default configuration files are: <filename>config</filename>,
<filename>default.filter</filename>, <filename>default.action</filename> and
<filename>default.action</filename>. <filename>user.action</filename> should
be used for locally defined exceptions to the default rules in
<filename>match-all.action</filename> and <filename>default.action</filename>,
and <filename>user.filter</filename> for locally defined filters. These are
well commented. On Unix and Unix-like systems, these are located in
<filename>/etc/privoxy/</filename> by default.
</para>
<para>
<command>Privoxy</command> uses the concept of <command>actions</command>
in order to manipulate the data stream between the browser and remote sites.
There are various actions available with specific functions for such things
as blocking web sites, managing cookies, etc. These actions can be invoked
individually or combined, and used against individual URLs, or groups of URLs
that can be defined using wildcards and regular expressions. The result is
that the user has greatly enhanced control and freedom.
</para>
<para>
The actions list (ad blocks, etc) can also be configured with your
web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
(assuming the configuration allows it).
<command>Privoxy's</command> configuration parameters can also be viewed at
the same page. In addition, <command>Privoxy</command> can be toggled on/off.
This is an internal page, and does not require Internet access.
</para>
<para>
See the <ulink
url="http://www.privoxy.org/user-manual/"><citetitle>User Manual</citetitle></ulink> for a detailed
explanation of installation, general usage, all configuration options, new
features and notes on upgrading.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Files</title>
<!-- this is a cheesy way to do this, but WTF. -->
<literallayout>
<filename>/usr/sbin/privoxy</filename>
<filename>/etc/privoxy/config</filename>
<filename>/etc/privoxy/match-all.action</filename>
<filename>/etc/privoxy/default.action</filename>
<filename>/etc/privoxy/user.action</filename>
<filename>/etc/privoxy/default.filter</filename>
<filename>/etc/privoxy/user.filter</filename>
<filename>/etc/privoxy/trust</filename>
<filename>/etc/privoxy/templates/*</filename>
<filename>/var/log/privoxy/logfile</filename>
</literallayout>
<para>
Various other files should be included, but may vary depending on platform
and build configuration. Additional documentation should be included in the local
documentation directory.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Signals</title>
<para>
<!-- command tag is used here to get proper looking format -->
<command>Privoxy</command> terminates on the <command>SIGINT</command>,
<command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
rotation scripts may cause a re-opening of the logfile by sending a
<command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
other daemons, <command>Privoxy</command> does not need to be made aware of
config file changes by <command>SIGHUP</command> -- it will detect them
automatically.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Notes</title>
<![%p-not-stable;[
<para>
This is a &p-status; version of <command>Privoxy</command>. Not
all features are well tested.
</para>]]>
<para>
Please see the <citetitle>User Manual</citetitle> on how to contact the
developers, for feature requests, reporting problems, and other questions.
</para>
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>See Also</title>
<!-- Include seealso.sgml boilerplate: -->
&seealso;
<!-- end boilerplate -->
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Development Team</title>
<!-- Include p-authors.sgml boilerplate: -->
&authors;
<!-- end boilerplate -->
</refsect1>
<!-- ~~~~~ New section ~~~~~ -->
<refsect1><title>Copyright and License</title>
<refsect2><title>Copyright</title>
<!-- Include copyright.sgml boilerplate: -->
&copyright;
<!-- end boilerplate -->
</refsect2>
<refsect2><title>License</title>
<!-- Include license.sgml boilerplate: -->
&license;
<!-- end boilerplate -->
</refsect2>
</refsect1>
</refentry>

View File

@ -1,44 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy.sgml,v $
Purpose : Entity included in other project documents.
$Id: privoxy.sgml,v 2.9 2009/03/21 12:42:49 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
privoxy-man-page
user-manual
faq
developer-manual
README
webserver/index.sgml
-->
<para>
Privoxy is a non-caching web proxy with advanced filtering capabilities
for enhancing privacy, modifying web page data and HTTP headers, controlling
access, and removing ads and other obnoxious Internet junk. Privoxy has a
flexible configuration and can be customized to suit individual needs and tastes.
It has application for both stand-alone systems and multi-user networks.
</para>
<para>
Privoxy is Free Software and licensed under the GPL2.
</para>
<para>
Privoxy is an associated project of Software in the Public Interest (SPI).
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>.
</para>

View File

@ -1,268 +0,0 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE">
<!entity supported SYSTEM "supported.sgml">
<!entity p-intro SYSTEM "privoxy.sgml">
<!entity contacting SYSTEM "contacting.sgml">
<!entity buildsource SYSTEM "buildsource.sgml">
<!entity p-version "3.0.12">
<!entity p-status "stable">
<!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE">
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
<!entity % p-readme "INCLUDE"> <!-- all your README belong to us -->
]>
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
Purpose : README for Privoxy
$Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation. You have been warned!
Failure to abide by this rule will result in the revocation of your license
to live a peaceful existence!
========================================================================
===================================================================
READ: Document Note: This file generates the README in the top level
source directory. It is generated as only a plain text file. The
current markup is not suitable for other formats. Build from
Makefile with 'make dok-readme'.
===================================================================
READ:
======================================================================
NOTE: The left margin spacing is *important* when using 'literallayout'
WYSISWYG!!! Don't mess this up!!! Careful with linebreaks too, ie
the para tag forces a linebreak. Tags need to be carefully placed as a result
to avoid extra blank lines, etc.
======================================================================
For stable releases, change
entity % p-not-stable "INCLUDE"
to
entity % p-not-stable "IGNORE"
in the DTD at the top. This will toggle various text 'off'. BOTH
MUST be toggled in this case or you will get both text referencing
stable and unstable versions. You only want one or the other!
-->
<article id="index">
<artheader>
<![%dummy;[
<para>
<comment>
This is here to keep vim syntax file from breaking :/
If I knew enough to fix it, I would.
PLEASE DO NOT REMOVE! HB: hal@foobox.net
</comment>
</para>
]]>
<abstract>
<para>
<literal>
<msgtext>
<literallayout>
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
*
* Purpose : README file to give a short intro.
*
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA
*
*********************************************************************/
</literallayout>
</msgtext>
</literal>
</para>
<para>
<!-- include some conditional text -->
This README is included with <![%p-not-stable;[ the development version of]]>
Privoxy &p-version;. See http://www.privoxy.org/ for more information. The current code maturity
level is <quote>&p-status;</quote><![%p-not-stable;[, but seems stable to us :)]]>.
</para>
</abstract>
</artheader>
<!-- Include privoxy.sgml boilerplate: -->
&p-intro;
<!-- end boilerplate -->
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title>
<para>
March 2009, Privoxy 3.0.12 is released.
</para>
<para>
This is primarily a bug fix release. See the "ChangeLog", and the "What's
New" section and the "Upgrader's Notes" in <citetitle>the User
Manual</citetitle> for details.
</para>
<para>
February 2009, Privoxy 3.0.11 is released.
</para>
<para>
As usual there are changes that effect the configuration. See the "ChangeLog",
and the "What's New" section and the "Upgrader's Notes" in
<citetitle>the User Manual</citetitle> for details and specifics.
</para>
<para>
This is a stable release, and marks a departure for Privoxy development.
</para>
<para>
Previously, odd numbered releases were considered beta versions and
were only released at the end of the development cycle when the code
was already believed to be stable. Usually it was, so the stable release
contained pretty much the same code, but got a higher version number.
In the future we intend to release several snapshots between stable releases.
There will probably still be about two stable releases per year,
but hopefully about six snapshots instead of the two betas we have now.
The intentions is to make testing without CVS access easier.
</para>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="install" ><title>INSTALL</title>
<para>
See the <filename>INSTALL</filename> file in this directory, for installing
from raw source, and the <citetitle>User Manual</citetitle>, for all other
installation types.
</para>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="run"><title>RUN</title>
<para>
privoxy [--help] [--version]
[--no-daemon] [--pidfile PIDFILE] [--user USER[.GROUP]] [--chroot] [--pre-chroot-nslookup
HOSTNAME ][config_file]
</para>
<para>
See the man page or <citetitle>User Manual</citetitle> for an explanation of each option, and
other configuration and usage issues.
</para>
<para>
If no config_file is specified on the command line, Privoxy will look for a
file named 'config' in the current directory (except Win32 which will look
for 'config.txt'). If no config_file is found, Privoxy will fail to start.
</para>
<para>
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
</para>
<para>
Or Debian and Ubuntu: /etc/init.d/privoxy start
</para>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="configuration"><title>CONFIGURATION</title>
<para>
See: 'config', 'default.action', 'user.action', 'default.filter', and
'user.filter'. 'user.action' and 'user.filter' are for personal and local
configuration preferences. These are all well commented. Most of the magic is
in '*.action' files. 'user.action' should be used for any actions
customizations. On Unix-like systems, these files are typically installed in
/etc/privoxy. On Windows, then wherever the executable itself is installed.
There are many significant changes and advances from earlier versions. The
<citetitle>User Manual</citetitle> has an explanation of all configuration
options, and examples: http://www.privoxy.org/user-manual/.
</para>
<para>
Be sure to set your browser(s) for HTTP/HTTPS Proxy at &lt;IP&gt;:&lt;Port&gt;, or
whatever you specify in the config file under 'listen-address'. DEFAULT is
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it
with FTP or other protocols for the simple reason it does not work.
</para>
<para>
The actions list can be configured via the web interface accessed via
http://p.p/, as well other options.
</para>
<![%p-not-stable;[
<para>
All configuration files are subject to unannounced changes during the
development process.
</para>
]]>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="documentation"><title>DOCUMENTATION</title>
<para>
There should be documentation in the 'doc' subdirectory<![%p-not-stable;[, but it
may not be completed at this point]]>. In particular, see the
<citetitle>User Manual</citetitle> there,
the <citetitle>FAQ</citetitle>, and those interested in Privoxy development, should look at
<citetitle>developer-manual</citetitle>.
</para>
<para>
<![%p-not-stable;[
The most up to date source of information on the current development version,
may still be either comments in the source code, or the included
configuration files. ]]>The source and configuration files are all well
commented. The main configuration files are: 'config', 'default.action', and
'default.filter'<![%p-not-stable;[ in the top-level source directory]]>.
</para>
<para>
Included documentation may vary according to platform and packager. All
documentation is posted on http://www.privoxy.org, in case you don't have it,
or can't find it.
</para>
</sect1>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 id="contact"><title>CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS</title>
<!-- Include contacting.sgml boilerplate: -->
&contacting;
<!-- end boilerplate -->
</sect1>
<!-- <para> -->
<!-- <LiteralLayout> -->
<!-- ------------------------------------------------------------------------- -->
<!-- ijbswa-developers@lists.sourceforge.net -->
<!-- </LiteralLayout> -->
<!-- </para> -->
<!-- <para> -->
<!-- $Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $ -->
<!-- </para> -->
</article>

View File

@ -1,113 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/seealso.sgml,v $
Purpose : Entity included in other project documents.
$Id: seealso.sgml,v 2.12 2009/02/23 10:42:58 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
privoxy-man-page
user-manual
faq
developer-manual
NOTE: 04/05/02, HB Removed &nbsp; tags. They were causing docbook2man
to barf.
-->
<para>
Other references and sites of interest to <application>Privoxy</application>
users:
</para>
<para>
<simplelist>
<member>
<ulink
url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>,
the <application>Privoxy</application> Home page.
</member>
</simplelist>
<simplelist>
<member>
<ulink
url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>,
the <application>Privoxy</application> FAQ.
</member>
</simplelist>
<simplelist>
<member>
<ulink
url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>,
the <application>Privoxy</application> developer manual.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/</ulink>,
the Project Page for <application>Privoxy</application> on
<ulink url="http://sourceforge.net">SourceForge</ulink>.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>,
the web-based user interface. <application>Privoxy</application> must be
running for this to work. Shortcut: <ulink url="http://p.p/">http://p.p/</ulink>
</member>
</simplelist>
<simplelist>
<member>
<ulink url="https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288">https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288</ulink>, to submit <quote>misses</quote> and other
configuration related suggestions to the developers.
</member>
</simplelist>
<![%seealso-extra;[
<!-- This part only goes into user-manual -->
<simplelist>
<member>
<ulink url="http://www.junkbusters.com/ht/en/cookies.html">http://www.junkbusters.com/ht/en/cookies.html</ulink>,
an explanation how cookies are used to track web users.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="http://www.junkbusters.com/ijb.html">http://www.junkbusters.com/ijb.html</ulink>,
the original Internet Junkbuster.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="http://www.squid-cache.org/">http://www.squid-cache.org/</ulink>, a popular
caching proxy, which is often used together with <application>Privoxy</application>.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="http://www.pps.jussieu.fr/~jch/software/polipo/">http://www.pps.jussieu.fr/~jch/software/polipo/</ulink>,
<application>Polipo</application> is a caching proxy with advanced features
like pipelining, multiplexing and caching of partial instances. In many setups
it can be used as <application>Squid</application> replacement.
</member>
</simplelist>
<simplelist>
<member>
<ulink url="https://www.torproject.org/">https://www.torproject.org/</ulink>,
<application>Tor</application> can help anonymize web browsing,
web publishing, instant messaging, IRC, SSH, and other applications.
</member>
</simplelist>
]]>
</para>

View File

@ -1,46 +0,0 @@
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/supported.sgml,v $
Purpose : Entity included in other project documents.
$Id: supported.sgml,v 2.9 2008/01/17 01:49:51 hal9 Exp $
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
See LICENSE.
======================================================================
This file used for inclusion with other documents only.
======================================================================
If you make changes to this file, please verify the finished
docs all display as intended.
This file is included into:
user-manual
faq
newfeatures
announce
-->
<para>
At present, <application>Privoxy</application> is known to run on
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD,
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.
</para>
<![%p-supp-userman;[
<para>
But any operating system that runs TCP/IP, can conceivably take advantage of
<application>Privoxy</application> in a networked situation where
<application>Privoxy</application> would run as a server on a LAN gateway.
Then only the <quote>gateway</quote> needs to be running one of the above
operating systems.
</para>
<para>
Source code is freely available, so porting to other operating systems
is always a possibility.
</para>
]]>

View File

@ -1,4 +0,0 @@
{
'refentry:PRIVOXY' => 'privoxy(1)',
'' => ''
}

File diff suppressed because it is too large Load Diff

View File

@ -1,372 +0,0 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity % dummy "IGNORE">
<!entity p-intro SYSTEM "privoxy.sgml">
<!entity contacting SYSTEM "contacting.sgml">
<!entity history SYSTEM "history.sgml">
<!entity copyright SYSTEM "copyright.sgml">
<!entity license SYSTEM "license.sgml">
<!entity p-version "3.0.11">
<!entity p-status "stable">
<!entity % p-not-stable "IGNORE">
<!entity % p-stable "INCLUDE">
<!entity my-copy "&copy;"> <!-- kludge for docbook2man -->
<!entity % p-homepage "IGNORE"> <!-- toggle for webserver index.html -->
<!entity % p-index "IGNORE"> <!-- toggle for local doc index -->
]>
<!--
File : $Source: /cvsroot/ijbswa/current/doc/source/webserver/index.sgml,v $
Purpose : Index file of the project's homepage and also documentation index
This file belongs into
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
$Id: index.sgml,v 2.9 2009/02/19 14:12:02 fabiankeil Exp $
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
See LICENSE.
========================================================================
NOTE: Please read developer-manual/documentation.html before touching
anything in this, or other Privoxy documentation.
========================================================================
Note: This is the Privoxy home page *and* builds a page that can be
used with local documentation as a focal point for docs or other points
of interest. The Makefile is adding additional meta data and content via
perl.
Generates: index.html, for webserver home page.
privoxy-index.html, for packaging with docs
-->
<article id="index">
<artheader>
<title>Privoxy - <![%p-homepage;[Home Page]]><![%p-index;[The Privacy Enhancing Proxy]]></title>
<![%p-index;[<subtitle>Project Index Page v&p-version;</subtitle>]]>
<!-- copyright is at bottom of page -->
<keywordset>
<keyword>privoxy</keyword> <keyword>HTTP</keyword> <keyword>proxy</keyword> <keyword>privacy</keyword>
<keyword>popups</keyword> <keyword>po-ups</keyword> <keyword>HTML</keyword> <keyword>JavaScript</keyword>
<keyword>cleaning</keyword> <keyword>blocking</keyword> <keyword>cleaner</keyword> <keyword>blocker</keyword>
<keyword>filter</keyword> <keyword>proxy</keyword> <keyword>junk</keyword> <keyword>ad</keyword>
<keyword>advertisement</keyword> <keyword>banner</keyword> <keyword>webbugs</keyword>
<keyword>web-bugs</keyword> <keyword>werbung</keyword> <keyword>junkbusters</keyword>
<keyword>junkbuster</keyword>
</keywordset>
<abstract>
<![%dummy;[
<para>
<comment>
This is here to keep vim syntax file from breaking :/
If I knew enough to fix it, I would.
PLEASE DO NOT REMOVE! HB: hal@foobox.net
</comment>
</para>
]]>
<!-- Include privoxy.sgml boilerplate: -->
&p-intro;
<!-- end boilerplate -->
<![%p-homepage;[
<para>
The most recent release is <ulink url="announce.txt">&p-version; (&p-status;)</ulink>.
</para>
]]>
</abstract>
</artheader>
<!-- ~~~~~ New section ~~~~~ -->
<sect1 renderas="sect2" id="download" label=""><title>Download</title>
<para>
<itemizedlist>
<listitem>
<para>
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink>
</para>
</listitem>
<!--
deprecated
<listitem>
<para>
<ulink url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.bz2">Download the latest CVS snapshot (source tarball)</ulink>
</para>
</listitem>
-->
<listitem>
<para>
<ulink url="user-manual/quickstart.html">Quickstart after installation</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 renderas="sect2" id="docs" label=""><title>Documentation</title>
<para>
<itemizedlist>
<listitem>
<para>
<ulink url="user-manual/index.html">User manual</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="faq/index.html">Frequently Asked Questions</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="developer-manual/index.html">Developer Manual</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="man-page/privoxy-man-page.html">Classic Man Page</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 renderas="sect2" id="moreinfo" label=""><title>More information</title>
<para>
<itemizedlist>
<listitem>
<para>
<ulink url="user-manual/contact.html">Support &amp; Service</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="user-manual/copyright.html">Copyright, License, History & Authors</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="user-manual/introduction.html#FEATURES">List of (new) Features</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="https://sourceforge.net/projects/ijbswa/">The project page</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="user-manual/seealso.html">Related links</ulink>
</para>
</listitem>
<listitem>
<para>
<!-- please leave this link absolute so this file can be bundled with -->
<!-- documentation and still used locally -->
<ulink url="http://privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect1>
<![%p-homepage;[
<!-- ~~~~~ New section ~~~~~ -->
<sect1 label="">
<!-- dummy section, for spacing -->
<title></title>
<para>
<!-- show the SF logo per AUP -->
<informaltable frame=none label="" pgwide="1">
<tgroup cols=1 align="center" colsep=1 rowsep=1>
<colspec colname=c1 align="center">
<tbody>
<row>
<entry align="center">Privoxy is developed on:</entry>
</row>
<row>
<entry align="center">
<ulink url="http://sourceforge.net/">
<inlinegraphic fileref="http://sourceforge.net/sflogo.php?group_id=11118&#38;type=1&#38;dummy=.gif"></inlinegraphic>
</ulink>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
]]>
<!--
<informalfigure pgwide="1">
<ulink url="http://sourceforge.net/">
<inlinegraphic align="center" fileref="http://sourceforge.net/sflogo.php?group_id=11118&#38;type=1&#38;dummy=.gif"></inlinegraphic>
</ulink>
</informalfigure>
-->
<![%p-index;[
<sect1 label=""><title></title>
<!-- dummy section for layout and spacing -->
]]>
<!-- Formal copyright markup does not work here. HB. -->
<!-- NOTE: I could not get docbook to completely ignore &copy; -->
<!-- GNUMakefile is inserting this now -->
<para>
<subscript>
Copyright __copy 2001-2009 by Privoxy Developers
</subscript>
</para>
</sect1>
<!--
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General
Public License as published by the Free Software
Foundation; either version 2 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public
License for more details.
The GNU General Public License should be included with
this file. If not, you can view it at
http://www.gnu.org/copyleft/gpl.html
or write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
$Log: index.sgml,v $
Revision 2.9 2009/02/19 14:12:02 fabiankeil
Change link to the project page to https://.
Revision 2.8 2009/02/12 16:09:44 fabiankeil
Declare the code stable.
Revision 2.7 2009/01/13 16:50:36 fabiankeil
The standard.action file is gone.
Revision 2.6 2008/08/16 08:51:28 fabiankeil
Update version-related entities.
Revision 2.5 2008/06/18 17:42:13 fabiankeil
- Remove link to soon-to-be-removed PDFs.
- Use https for the download URL.
- Update copyright year.
Revision 2.4 2006/08/28 01:08:57 hal9
Remove reference to defunct nightly cvs tarballs.
Revision 2.3 2006/07/18 14:48:51 david__schmidt
Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
with what was really the latest development (the v_3_0_branch branch)
Revision 1.16.2.12 2004/01/30 14:33:41 oes
Vi(m) syntax voodoo now hidden; copyright updated
Revision 1.16.2.11 2003/08/16 12:16:30 hal9
Update cvs tarball URL (to bz2)
Revision 1.16.2.10 2003/03/28 03:33:09 hal9
Include link for announce.txt, and change handling of &copy;.
Revision 1.16.2.9 2003/03/26 02:03:45 oes
Updated hard-coded copyright dates
Revision 1.16.2.8 2002/08/16 03:05:42 hal9
Put all pdf docs in a zip archive now.
Revision 1.16.2.7 2002/08/14 16:40:00 hal9
Add links to pdf docs.
Revision 1.16.2.6 2002/07/26 15:22:15 oes
Most recent release now inserted automatically (again)
Revision 1.16.2.5 2002/06/09 18:59:16 hal9
Correct typo.
Revision 1.16.2.4 2002/06/09 16:36:33 hal9
Clarifications on filtering and MIME. Hardcode 'latest release' in index.html.
Revision 1.16.2.3 2002/05/28 02:31:38 hal9
New file, privoxy-index.html, for bundling with documentation. Built from
index.sgml, like homepage, but with content toggles more suitable for this use.
Revision 1.16.2.2 2002/05/26 22:04:46 hal9
Add several comments, and reworded 'most recent release', ie we don't officially
release odd numbered versions.
Revision 1.16.2.1 2002/05/26 17:40:02 hal9
Make team pictures link absolute for docs.
Revision 1.16 2002/05/24 10:06:31 oes
Nit
Revision 1.15 2002/05/24 00:02:05 oes
Tried to make more useful and concise:
Reordered, no more TOC, link to instead of include info,
added some links. Should we use the free space to better
describe what Privoxy is good for?
Revision 1.14 2002/05/10 01:48:20 hal9
This is mostly proposed copyright/licensing additions and changes. Docs
are still GPL, but licensing and copyright are more visible. Also, copyright
changed in doc header comments (eliminate references to JB except FAQ).
Revision 1.13 2002/05/05 20:29:59 hal9
Ooops, fixing an accidental delete of title element.
Revision 1.12 2002/05/05 20:26:02 hal9
Sorting out license vs copyright in these docs.
Revision 1.11 2002/05/04 08:44:45 swa
bumped version
Revision 1.10 2002/04/26 17:24:31 swa
bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot
Revision 1.9 2002/04/14 01:00:07 hal9
Fix the logo properly with docbook.
Revision 1.7 2002/04/12 10:11:53 swa
changed bookmarklet text so that users can easily find the bookmark
Revision 1.6 2002/04/12 08:34:18 swa
added link to new page
Revision 1.5 2002/04/12 02:05:19 david__schmidt
Tiny English fix: infos -> info
Add copyright date 2002
Revision 1.4 2002/04/08 20:42:07 swa
fixed JB spelling
Revision 1.3 2002/04/07 20:27:18 hal9
Fix meta data.
Revision 1.2 2002/04/07 09:06:45 swa
users can now completely browse offline
Revision 1.1 2002/04/07 08:10:48 swa
create some of the webserver docs
automatically (in particular if
those docs recycle other documentation
fragments). Now committed webserver's
index file.
-->
</article>

View File

@ -1,9 +0,0 @@
All files contained in this directory should eventually be
on the project's homepage
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
which is indeed http://ijbswa.sourceforge.net
and http://www.privoxy.org/.
-Stefan, April 2002

View File

@ -1,126 +0,0 @@
Announcing Privoxy v.3.0.12
-----------------------------------------------------------------
Privoxy 3.0.12-stable is primarily a bugfix release.
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
--------------------------------------------------------------------
ChangeLog for Privoxy
--------------------------------------------------------------------
*** Version 3.0.12 ***
- The socket-timeout option now also works on platforms whose
select() implementation modifies the timeout structure.
Previously the timeout was triggered even if the connection
didn't stall. Reported by cyberpatrol.
- The Connection: keep-alive code properly deals with files
larger than 2GB. Previously the connection was closed too
early.
- The content length for files above 2GB is logged correctly.
- The user-manual directive on the show-status page links to
the documentation location specified with the directive,
not to the Privoxy website.
- When running in daemon mode, Privoxy doesn't log anything
to the console unless there are errors before the logfile
has been opened.
- The show-status page prints warnings about invalid directives
on the same line as the directives themselves.
- Fixed several justified (but harmless) compiler warnings,
mostly on 64 bit platforms.
- The mingw32 version explicitly requests the default charset
to prevent display problems with some fonts available on more
recent Windows versions. Patch by Burberry.
- The mingw32 version uses the Privoxy icon in the alt-tab
windows. Patch by Burberry.
- The timestamp and the thread id is omitted in the "Fatal error"
message box on mingw32.
- Fixed two related mingw32-only buffer overflows. Triggering
them required control over the configuration file, therefore
this isn't seen as a security issue.
- In verbose mode, or if the new option --show-skipped-tests
is used, Privoxy-Regression-Test logs skipped tests and the
skip reason.
-----------------------------------------------------------------
About Privoxy:
-----------------------------------------------------------------
Privoxy is a non-caching web proxy with advanced filtering capabilities for
enhancing privacy, modifying web page data and HTTP headers, controlling
access, and removing ads and other obnoxious Internet junk. Privoxy has a
flexible configuration and can be customized to suit individual needs and
tastes. It has application for both stand-alone systems and multi-user
networks.
Privoxy is Free Software and licensed under the GPL2.
Privoxy is an associated project of Software in the Public Interest (SPI).
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
XP, Vista), Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
various other flavors of Unix.
In addition to the core features of ad blocking and cookie management,
Privoxy provides many supplemental features, that give the end-user
more control, more privacy and more freedom:
* Can keep outgoing connections alive and reuse them later on.
* Supports tagging which allows to change the behaviour based on client
and server headers.
* Can be run as an "intercepting" proxy, which obviates the need to
configure browsers individually.
* Sophisticated actions and filters for manipulating both server and
client headers.
* Can be chained with other proxies.
* Integrated browser based configuration and control utility at
http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based
tracing of rule and filter effects. Remote toggling.
* Web page filtering (text replacements, removes banners based on size,
invisible "web-bugs", JavaScript and HTML annoyances, pop-up windows,
etc.)
* Modularized configuration that allows for standard settings and user
settings to reside in separate files, so that installing updated actions
files won't overwrite individual user settings.
* Support for Perl Compatible Regular Expressions in the configuration
files, and a more sophisticated and flexible configuration syntax.
* Improved cookie management features (e.g. session based cookies).
* GIF de-animation.
* Bypass many click-tracking scripts (avoids script redirection).
* Multi-threaded (POSIX and native threads).
* User-customizable HTML templates for most proxy-generated pages (e.g.
"blocked" page).
* Auto-detection and re-reading of config file changes.
* Improved signal handling, and a true daemon mode (Unix).
* Every feature now controllable on a per-site or per-location basis,
configuration more powerful and versatile over-all.
Download location:
http://sourceforge.net/project/showfiles.php?group_id=11118
Home Page:
http://www.privoxy.org/
- Privoxy Developers <ijbswa-developers@lists.sourceforge.net>

File diff suppressed because it is too large Load Diff

View File

@ -1,510 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Update the Webserver"
HREF="webserver-update.html"><LINK
REL="NEXT"
TITLE="Privoxy Copyright, License and History"
HREF="copyright.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="webserver-update.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="CONTACT"
>8. Contacting the developers, Bug Reporting and Feature Requests</A
></H1
><P
> We value your feedback. In fact, we rely on it to improve
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> and its configuration.
However, please note the following hints, so we can
provide you with the best support:</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-SUPPORT"
>8.1. Get Support</A
></H2
><P
> For casual users, our
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top"
>support forum at SourceForge</A
>
is probably best suited:
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=211118</A
></P
><P
> All users are of course welcome to discuss their issues on the <A
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
TARGET="_top"
>users
mailing list</A
>, where the developers also hang around.</P
><P
> Please don't sent private support requests to individual Privoxy
developers, either use the mailing lists or the support trackers.</P
><P
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
addresses have to be accepted manually by a moderator. This may cause a
delay of several days and if you use a subject that doesn't clearly
mention Privoxy or one of its features, your message may be accidentally
discarded as spam.</P
><P
> If you aren't subscribed, you should therefore spend a few seconds
to come up with a proper subject. Additionally you should make it clear
that you want to get CC'd. Otherwise some responses will be directed to
the mailing list only, and you won't see them.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="REPORTING"
>8.2. Reporting Problems</A
></H2
><P
><SPAN
CLASS="QUOTE"
>"Problems"</SPAN
> for our purposes, come in two forms:</P
><P
></P
><UL
><LI
><P
> Configuration issues, such as ads that slip through, or sites that
don't function properly due to one <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>
<SPAN
CLASS="QUOTE"
>"action"</SPAN
> or another being turned <SPAN
CLASS="QUOTE"
>"on"</SPAN
>.
</P
></LI
><LI
><P
> <SPAN
CLASS="QUOTE"
>"Bugs"</SPAN
> in the programming code that makes up
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, such as that might cause a crash.
</P
></LI
></UL
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CONTACT-ADS"
>8.2.1. Reporting Ads or Other Configuration Problems</A
></H3
><P
> Please send feedback on ads that slipped through, innocent images that were
blocked, sites that don't work properly, and other configuration related problem of
<TT
CLASS="FILENAME"
>default.action</TT
> file, to
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288"
TARGET="_top"
> http://sourceforge.net/tracker/?group_id=11118&#38;atid=460288</A
>,
the Actions File Tracker.</P
><P
> New, improved <TT
CLASS="FILENAME"
>default.action</TT
> files may occasionally be made
available based on your feedback. These will be announced on the <A
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
TARGET="_top"
>ijbswa-announce</A
>
list and available from our the <A
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
TARGET="_top"
>files section</A
> of
our <A
HREF="http://sf.net/projects/ijbswa/"
TARGET="_top"
>project page</A
>.</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CONTACT-BUGS"
>8.2.2. Reporting Bugs</A
></H3
><P
> Please report all bugs through our bug tracker:
<A
HREF="http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118"
TARGET="_top"
>http://sourceforge.net/tracker/?group_id=11118&#38;atid=111118</A
>. </P
><P
> Before doing so, please make sure that the bug has <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>not already been submitted</I
></SPAN
>
and observe the additional hints at the top of the <A
HREF="http://sourceforge.net/tracker/?func=add&#38;group_id=11118&#38;atid=111118"
TARGET="_top"
>submit
form</A
>. If already submitted, please feel free to add any info to the
original report that might help to solve the issue.</P
><P
> Please try to verify that it is a <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> bug,
and not a browser or site bug or documented behaviour that just happens
to be different than what you expected. If unsure,
try <A
HREF="http://config.privoxy.org/toggle?set=disable"
TARGET="_top"
>toggling
off</A
> <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, and see if the problem persists.</P
><P
> If you are using your own custom configuration, please try
the stock configs to see if the problem is configuration related.
If you're having problems with a feature that is disabled by default,
please ask around on the mailing list if others can reproduce the problem.</P
><P
> If you aren't using the latest Privoxy version, the bug may have been found
and fixed in the meantime. We would appreciate if you could take the time
to <A
HREF="http://www.privoxy.org/user-manual/installation.html"
TARGET="_top"
>upgrade
to the latest version</A
> (or even the latest CVS snapshot) and verify
that your bug still exists.</P
><P
>Please be sure to provide the following information:</P
><P
> <P
></P
><UL
><LI
><P
> The exact <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> version you are using
(if you got the source from CVS, please also provide the source code revisions
as shown in <A
HREF="http://config.privoxy.org/show-version"
TARGET="_top"
>http://config.privoxy.org/show-version</A
>).
</P
></LI
><LI
><P
> The operating system and versions you run
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> on, (e.g. <SPAN
CLASS="APPLICATION"
>Windows
XP SP2</SPAN
>), if you are using a Unix flavor,
sending the output of <SPAN
CLASS="QUOTE"
>"uname -a"</SPAN
> should do,
in case of GNU/Linux, please also name the distribution.
</P
></LI
><LI
><P
> The name, platform, and version of the <SPAN
CLASS="APPLICATION"
>browser</SPAN
>
you were using (e.g. <SPAN
CLASS="APPLICATION"
>Internet Explorer v5.5</SPAN
> for Mac).
</P
></LI
><LI
><P
> The URL where the problem occurred, or some way for us to duplicate the
problem (e.g. <TT
CLASS="LITERAL"
>http://somesite.example.com/?somethingelse=123</TT
>).
</P
></LI
><LI
><P
> Whether your version of <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> is one supplied
by the <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> developers via SourceForge,
or if you got your copy somewhere else.
</P
></LI
><LI
><P
> Whether you are using <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> in tandem with
another proxy such as <SPAN
CLASS="APPLICATION"
>Tor</SPAN
>. If so, please
temporary disable the other proxy to see if the symptoms change.
</P
></LI
><LI
><P
> Whether you are using a personal firewall product. If so, does
<SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> work without it?
</P
></LI
><LI
><P
> Any other pertinent information to help identify the problem such as config
or log file excerpts (yes, you should have log file entries for each
action taken).
</P
></LI
></UL
></P
><P
> You don't have to tell us your actual name when filing a problem
report, but please use a nickname so we can differentiate between
your messages and the ones entered by other "anonymous" users that
may respond to your request if they have the same problem or already
found a solution.</P
><P
> Please also check the status of your request a few days after submitting
it, as we may request additional information. If you use a SF id,
you should automatically get a mail when someone responds to your request.</P
><P
> The <A
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
TARGET="_top"
>appendix
of the Privoxy User Manual</A
> also has helpful information
on understanding <TT
CLASS="LITERAL"
>actions</TT
>, and <TT
CLASS="LITERAL"
>action</TT
> debugging. </P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-FEATURE"
>8.3. Request New Features</A
></H2
><P
> You are welcome to submit ideas on new features or other proposals
for improvement through our feature request tracker at
<A
HREF="http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118"
TARGET="_top"
>http://sourceforge.net/tracker/?atid=361118&#38;group_id=11118</A
>.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONTACT-OTHER"
>8.4. Other</A
></H2
><P
>For any other issues, feel free to use the mailing lists. Technically interested users
and people who wish to contribute to the project are also welcome on the developers list!
You can find an overview of all <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>-related mailing lists,
including list archives, at:
<A
HREF="http://sourceforge.net/mail/?group_id=11118"
TARGET="_top"
>http://sourceforge.net/mail/?group_id=11118</A
>.</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="webserver-update.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="copyright.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Update the Webserver</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Privoxy Copyright, License and History</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,298 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Privoxy Copyright, License and History</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
HREF="contact.html"><LINK
REL="NEXT"
TITLE="See also"
HREF="seealso.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="contact.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="seealso.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="COPYRIGHT"
>9. Privoxy Copyright, License and History</A
></H1
><P
> Copyright © 2001-2009 by Privoxy Developers <CODE
CLASS="EMAIL"
>&#60;<A
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
>ijbswa-developers@lists.sourceforge.net</A
>&#62;</CODE
></P
><P
> Some source code is based on code Copyright © 1997 by Anonymous Coders
and Junkbusters, Inc. and licensed under the <I
CLASS="CITETITLE"
>GNU General Public
License</I
>.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1223"
>9.1. License</A
></H2
><P
> <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
> is free software; you can
redistribute it and/or modify it under the terms of the
<I
CLASS="CITETITLE"
>GNU General Public License</I
>, version 2,
as published by the Free Software Foundation.</P
><P
> This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the <A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
TARGET="_top"
> <I
CLASS="CITETITLE"
>GNU General Public License</I
></A
> for details.</P
><P
> You should have received a copy of the <I
CLASS="CITETITLE"
>GNU GPL</I
>
along with this program; if not, write to the <P
CLASS="ADDRESS"
>&nbsp;Free&nbsp;Software<br>
&nbsp;Foundation,&nbsp;Inc.&nbsp;<SPAN
CLASS="STREET"
>51 Franklin Street, Fifth Floor</SPAN
><br>
&nbsp;<SPAN
CLASS="CITY"
>Boston</SPAN
>,&nbsp;<SPAN
CLASS="STATE"
>MA</SPAN
>&nbsp;<SPAN
CLASS="POSTCODE"
>02110-1301</SPAN
><br>
&nbsp;<SPAN
CLASS="COUNTRY"
>USA</SPAN
>&nbsp;</P
></P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1239"
>9.2. History</A
></H2
><P
> A long time ago, there was the
<A
HREF="http://www.junkbusters.com/ijb.html"
TARGET="_top"
><SPAN
CLASS="APPLICATION"
>Internet Junkbuster</SPAN
></A
>,
by Anonymous Coders and <A
HREF="http://www.junkbusters.com/"
TARGET="_top"
>Junkbusters
Corporation</A
>. This saved many users a lot of pain in the early days of
web advertising and user tracking.</P
><P
> But the web, its protocols and standards, and with it, the techniques for
forcing ads on users, give up autonomy over their browsing, and
for tracking them, keeps evolving. Unfortunately, the <SPAN
CLASS="APPLICATION"
>Internet
Junkbuster</SPAN
> did not. Version 2.0.2, published in 1998, was
(and is) the last official
<A
HREF="http://www.junkbusters.com/ijbdist.html#release"
TARGET="_top"
>release</A
>
available from <A
HREF="http://www.junkbusters.com"
TARGET="_top"
>Junkbusters Corporation</A
>.
Fortunately, it had been released under the GNU
<A
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
TARGET="_top"
>GPL</A
>,
which allowed further development by others.</P
><P
> So Stefan Waldherr started maintaining an improved version of the
software, to which eventually a number of people contributed patches.
It could already replace banners with a transparent image, and had a first
version of pop-up killing, but it was still very closely based on the
original, with all its limitations, such as the lack of HTTP/1.1 support,
flexible per-site configuration, or content modification. The last release
from this effort was version 2.0.2-10, published in 2000.</P
><P
> Then, some
<A
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
TARGET="_top"
>developers</A
>
picked up the thread, and started turning the software inside out, upside down,
and then reassembled it, adding many
<A
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
TARGET="_top"
>new
features</A
> along the way.</P
><P
> The result of this is <SPAN
CLASS="APPLICATION"
>Privoxy</SPAN
>, whose first
stable version, 3.0, was released August, 2002.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="contact.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="seealso.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Contacting the developers, Bug Reporting and Feature Requests</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>See also</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

View File

@ -1,330 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>The CVS Repository</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Privoxy Developer Manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="introduction.html"><LINK
REL="NEXT"
TITLE="Documentation Guidelines"
HREF="documentation.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="../p_doc.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html;
charset=ISO-8859-1"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#EEEEEE"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Privoxy Developer Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="CVS"
>2. The CVS Repository</A
></H1
><P
> If you become part of the active development team, you will eventually
need write access to our holy grail, the CVS repository. One of the
team members will need to set this up for you. Please read
this chapter completely before accessing via CVS.
</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CVSACCESS"
>2.1. Access to CVS</A
></H2
><P
> The project's CVS repository is hosted on
<A
HREF="http://sourceforge.net/"
TARGET="_top"
>SourceForge.</A
>
Please refer to the chapters 6 and 7 in
<A
HREF="http://sourceforge.net/docman/?group_id=1"
TARGET="_top"
>SF's site
documentation</A
> for the technical access details for your
operating system. For historical reasons, the CVS server is
called <TT
CLASS="LITERAL"
>ijbswa.cvs.sourceforge.net</TT
>, the repository is
called <TT
CLASS="LITERAL"
>ijbswa</TT
>, and the source tree module is called
<TT
CLASS="LITERAL"
>current</TT
>.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CVSBRANCHES"
>2.2. Branches</A
></H2
><P
> Within the CVS repository, there are modules and branches. As
mentioned, the sources are in the <TT
CLASS="LITERAL"
>current</TT
>
<SPAN
CLASS="QUOTE"
>"module"</SPAN
>. Other modules are present for platform specific
issues. There is a webview of the CVS hierarchy at <A
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/"
TARGET="_top"
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A
>,
which might help with visualizing how these pieces fit together.
</P
><P
> Branches are used to fork a sub-development path from the main trunk.
Within the <TT
CLASS="LITERAL"
>current</TT
> module where the sources are, there
is always at least one <SPAN
CLASS="QUOTE"
>"branch"</SPAN
> from the main trunk
devoted to a stable release series. The main trunk is where active
development takes place for the next stable series (e.g. 3.2.x).
So just prior to each stable series (e.g. 3.0.x), a branch is created
just for stable series releases (e.g. 3.0.0 -&#62; 3.0.1 -&#62; 3.0.2, etc).
Once the initial stable release of any stable branch has taken place,
this branch is <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>only used for bugfixes</I
></SPAN
>, which have
had prior testing before being committed to CVS. (See <A
HREF="newrelease.html#VERSIONNUMBERS"
>Version Numbers</A
> below for details on
versioning.)
</P
><P
> At one time there were two distinct branches: stable and unstable. The
more drastic changes were to be in the unstable branch. These branches
have now been merged to minimize time and effort of maintaining two
branches.
</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CVSCOMMIT"
>2.3. CVS Commit Guidelines</A
></H2
><P
> The source tree is the heart of every software project. Every effort must
be made to ensure that it is readable, compilable and consistent at all
times. There are differing guidelines for the stable branch and the
main development trunk, and we ask anyone with CVS access to strictly
adhere to the following guidelines:
</P
><P
> Basic Guidelines, for all branches:
</P
><P
> <P
></P
><UL
><LI
><P
> Please don't commit even
a small change without testing it thoroughly first. When we're
close to a public release, ask a fellow developer to review your
changes.
</P
></LI
><LI
><P
> Your commit message should give a concise overview of <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>what you
changed</I
></SPAN
> (no big details) and <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>why you changed it</I
></SPAN
>
Just check previous messages for good examples.
</P
></LI
><LI
><P
> Don't use the same message on multiple files, unless it equally applies to
all those files.
</P
></LI
><LI
><P
> If your changes span multiple files, and the code won't recompile unless
all changes are committed (e.g. when changing the signature of a function),
then commit all files one after another, without long delays in between.
If necessary, prepare the commit messages in advance.
</P
></LI
><LI
><P
> Before changing things on CVS, make sure that your changes are in line
with the team's general consensus on what should be done.
</P
></LI
><LI
><P
> Note that near a major public release, we get more cautious.
There is always the possibility to submit a patch to the <A
HREF="http://sourceforge.net/tracker/?atid=311118&#38;group_id=11118&#38;func=browse"
TARGET="_top"
>patch
tracker</A
> instead.
</P
></LI
></UL
>
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="introduction.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="documentation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Documentation Guidelines</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Some files were not shown because too many files have changed in this diff Show More