Commit Graph

775 Commits

Author SHA1 Message Date
Michael Adam
22fba83df2 upstream: add upstream list parameter to upstream_add()
to abstract it from the concrete list in the config struct.

Michael
2009-12-07 00:22:28 +01:00
Michael Adam
fd987e97f0 move handling of upstream list to new module upstream.{c,h}
Michael
2009-12-06 13:17:18 +01:00
Michael Adam
56ba3d45bd upstream: refactor assembly of upstream out of upstream_add
Michael
2009-12-06 13:17:18 +01:00
Michael Adam
34dbeb3626 main/conf: add maxidletimeout to initialize_config_defaults
But keep the resetting check after processing the conf file.

Michael
2009-12-06 01:57:04 +01:00
Michael Adam
c853cec164 main: fix tab -> spaces
Michael
2009-12-06 01:57:04 +01:00
Michael Adam
073233b9f1 conf: move setting of default stathost to initialize_config_defaults()
Michael
2009-12-06 01:56:59 +01:00
Michael Adam
055c11f63c conf: fix tab->spaces
Michael
2009-12-06 01:55:53 +01:00
Michael Adam
f60aa47715 conf: allow set_string_arg to overwrite previous values (i.e. don't leak)
Michael
2009-12-06 01:55:53 +01:00
Michael Adam
5e399a7e17 main: use safestrdup instead of strdup in process_cmdline
Michael
2009-12-06 01:55:53 +01:00
Mukund Sivaraman
0480185d07 Use capitalized name in error messages 2009-12-04 05:41:36 +05:30
Michael Adam
607e8ec0e7 acl: split initialization of the access_list out into a function 2009-11-17 17:30:19 +01:00
Mukund Sivaraman
ec4b4d979f Use NULL for pointers 2009-11-17 02:40:03 +05:30
Michael Adam
a664dee4f6 set_string_arg: Remove unneccesary check for determining the return code. 2009-11-16 21:52:34 +01:00
Mukund Sivaraman
45a56e468d Remove excessive copying 2009-11-17 02:20:27 +05:30
Mukund Sivaraman
d7fada25e5 Make position into an enum 2009-11-17 01:52:23 +05:30
Mukund Sivaraman
4b6a25ac06 Use snprintf() with size of the portstr buf 2009-11-17 01:44:21 +05:30
Mathew Mrosko
238e3ffb34 Fix format string warnings
C90 doesn't support z modifier in printf's, so cast values
to (unsigned long) which should be the same size as size_t
on both ILP32 and LP64.
2009-11-16 21:50:40 +05:30
Mukund Sivaraman
2f05d8dd32 Fix typo in log string 2009-11-14 18:57:31 +05:30
Michael Adam
fba81e4174 conf: refactor loading of config file out into load_config_file()
and make config_compile and config_parse static to conf.c

Michael
2009-11-14 12:13:10 +01:00
Michael Adam
a09dd9cd00 main: add a config struct argument to process_cmdline.
Michael
2009-11-14 12:13:10 +01:00
Michael Adam
8945d9f0ae main: put initialization of config defaults into a function of its own
Michael
2009-11-14 12:13:10 +01:00
Michael Adam
ea2eaef173 extract setup of the logging subsystem into a function of its own.
Signed-off-by: Michael Adam <obnox@samba.org>
2009-11-14 12:13:10 +01:00
Michael Adam
d8da7f55f7 main: move initialization of default config values closer together
Michael
2009-11-14 12:13:10 +01:00
Michael Adam
feea6db815 daemon.c: fix #if NDEBUG --> #ifdef NDEBUG
Thanks to Mathew Mrosko for pointing that out.
2009-11-10 17:59:40 +01:00
Michael Adam
444ad35250 intentation: convert a tab to spaces
Michael
2009-11-10 13:59:07 +01:00
Michael Adam
fd879e45c8 conf: fix reverspath parsing: the string in the 2nd arg is actually the inner match
this fixes bug #64, https://www.banu.com/bugzilla/show_bug.cgi?id=64

the quotes of the string were part of the revers path after parseing.

Michael
2009-11-10 01:17:27 +01:00
Michael Adam
f63c29c886 conf: make the WS optional too, before the optional 2nd argument to reversepath
Michael
2009-11-10 01:17:27 +01:00
Michael Adam
60d738626b conf: fix ipv6 regex patterns, take three
This extends the pattern by an alternative where there are no double colons.
This is for instance the case for and IPv6 address of the form
1111:222:33:4:55:666:7777:888

Michael
2009-11-10 00:55:39 +01:00
Michael Adam
4292fe7795 Fix a segfault in insert_acl and checks against string-type acls
The "address" member of struct acl_s is a union of a char *
and the numeric ip. So freeing the string after appending it to the
vector list is bad in two respects:

1. If the acl type was numeric, then this could (and would)
   lead to a segfault due to the numeric IP data interpreted
   as pointer to the string to be freed.

2. If the acl type was string, then the acl inserted into the
   list contained a reference to this address string that
   was freed. So in the worst case dereferencing this freed
   string could segfault, or at least this could lead to
   unexpectedly failing acl checks.

Michael
2009-11-10 00:37:57 +01:00
Michael Adam
2b73e2183f conf: fix the IPV6 regex patterns, take two
The patterns should not end with the end of line marker,
since they might be part of a continuing pattern,
say of the form ipv6address/mask (used for allow/deny)

Michael
2009-11-09 23:26:46 +01:00
Michael Adam
f4f14419c4 conf: fix the IPV6 regex patterns
These are not matched against the beginning of a line
but somewhere in the middle (as in "listen <IPv6 address>").

Michael
2009-11-09 13:53:44 +01:00
Mukund Sivaraman
cd834de190 Close listenfd upon errors 2009-11-09 11:16:38 +05:30
Mukund Sivaraman
c8c9abc669 Fix validation of IPv6 addresses 2009-11-09 02:44:14 +05:30
Mukund Sivaraman
c978015af1 Add IPV6 support to listen_sock() 2009-11-09 01:13:41 +05:30
Michael Adam
25057baf54 propagate reload of filter file to child procs by sending HUP signals 2009-10-25 23:33:37 +01:00
Michael Adam
3474de599f Change child_kill_children() to take the signal as an argument. 2009-10-25 23:33:37 +01:00
Michael Adam
1b4d130cf5 child: handle SIGHUP in the child by reloading the filter file 2009-10-25 23:33:37 +01:00
Michael Adam
b837e65b21 use new filter_reload() in child_main_loop() 2009-10-25 23:33:37 +01:00
Michael Adam
83987babd3 filter: add function filter_reload() 2009-10-25 23:33:37 +01:00
Michael Adam
7671ac1ae2 Don't add "Via:" header when DisableViaHeader == Yes. 2009-10-11 01:27:24 +02:00
Michael Adam
f208b1222b Add a boolean config option "DisableViaHeader". 2009-10-11 01:13:15 +02:00
Michael Adam
07d993cbc1 acl: Fix "comparison between signed and unsigned" warning on 32bit
This reads the mask bits as an unsigned int instead of as signend.
This is also what mask bits really are - there is no negative mask. :-)

Michael
2009-10-10 01:11:53 +02:00
Michael Adam
a89d987e8a Use size_t not ssize_t for len argument. This is always >= 0. 2009-10-10 01:11:10 +02:00
Mukund Sivaraman
641e5823c0 Use ssize_t for len argument 2009-10-09 13:50:12 +05:30
Michael Adam
eb4d01cc46 add muks' and my (C) to the main.c boilerplate comment.
Michael
2009-10-07 01:08:03 +02:00
Michael Adam
297274ca15 main: add muks and me to the license output (tinyproxy -l)
Michael
2009-10-07 01:06:05 +02:00
Mukund Sivaraman
eab4ae000b url variable modified in do_transparent_proxy() is not the url variable in the caller 2009-10-02 15:27:43 +05:30
Mukund Sivaraman
931b038b27 Use safer string functions 2009-10-02 15:21:42 +05:30
Mukund Sivaraman
323a4d0147 Clean up html_send_file ()
- Make function return from one place
 - Move inbuf to the heap
2009-10-02 13:01:32 +05:30
Michael Adam
5198ae644b conf: beautify one formatting in the directives array.
Michael
2009-09-28 11:24:33 +02:00
Michael Adam
2beaac96d3 handle_connection: make logic clearer when deciding whether to use connect/ssl
Michael
2009-09-28 11:24:33 +02:00
Mukund Sivaraman
f08f0218af Include limits.h for LONG_MAX and LONG_MIN
Not including limits.h caused an issue when building on FreeBSD.
2009-09-28 13:41:36 +05:30
Mukund Sivaraman
630d44e67b [BB#10] Do not filter out transfer-encoding header 2009-09-27 16:27:51 +05:30
Michael Adam
7710dc4a8c conf: make xtinyproxy BOOL in the directives array, too
Michael
2009-09-27 12:48:48 +02:00
Michael Adam
eecf145dbb conf: turn XTinyproxy into a boolean option
This is what it actually is.

The string value was used in earlier versions to compare
against the uri->authority string. But not as a list of
sites to create an X-Tinyproxy header for, as the tinyproxy.conf
template states...

Michael
2009-09-27 12:32:31 +02:00
Mukund Sivaraman
2fd7417f56 Modify usage help text shown when Tinyproxy is run with -h 2009-09-27 08:09:24 +05:30
Mukund Sivaraman
54f4e8a91f Use correct format string for POSIX pid_t in pidfile_create()
This patch also adds a gtk-doc comment for pidfile_create().
2009-09-27 08:09:24 +05:30
Mukund Sivaraman
38c20cd867 Add explicit casts for c++ mode in transparent-proxy.c 2009-09-27 08:09:23 +05:30
Mukund Sivaraman
c8be0250cd Fix use of uninitialized variable 2009-09-27 08:09:23 +05:30
Mukund Sivaraman
0dda30295e Add explicit casts for c++ mode in reverse-proxy.c 2009-09-27 08:09:23 +05:30
Mukund Sivaraman
3f0ccdef3c strdup() the default stathost in config struct as it can be freed 2009-09-27 08:09:23 +05:30
Mukund Sivaraman
0ecb688269 Don't ignore retval of ftruncate() in utils.c 2009-09-27 08:09:23 +05:30
Mukund Sivaraman
1586b39138 Don't ignore retval of read() in reqs.c 2009-09-27 08:09:22 +05:30
Mukund Sivaraman
003df7454a Don't ignore retval of write() in log.c 2009-09-27 08:09:22 +05:30
Mukund Sivaraman
616c03a9fb Don't ignore retval of ftruncate() in log.c 2009-09-27 08:09:22 +05:30
Mukund Sivaraman
fc7415a5b0 Include debugging functions only when debug mode is used 2009-09-27 08:09:22 +05:30
Mukund Sivaraman
d102ed4ed3 Don't ignore retval of chdir() 2009-09-27 08:09:22 +05:30
Mukund Sivaraman
df6e8ae046 Fix warning about format string not being a string literal 2009-09-21 10:04:09 +05:30
Mukund Sivaraman
f0cc213c5a Remove trailing comma from acl_type enum 2009-09-21 09:59:11 +05:30
Mukund Sivaraman
e9f8212560 Suppress gcc warnings about variadic macros 2009-09-21 09:57:29 +05:30
Mukund Sivaraman
0cc707b3ff Rename conffile.[ch] to conf.[ch] 2009-09-21 09:41:59 +05:30
Mukund Sivaraman
9d5a15ed2d [BB#18] Fix pointer aliasing issues
The changes were suggested by ians on the Banu forums.
2009-09-21 09:16:58 +05:30
Mukund Sivaraman
eccc765057 Remove trailing comma from filter_policy_t 2009-09-21 07:32:38 +05:30
Michael Adam
b95f7b9ffb Print a http error when the client headers could not be retrieved.
A ususal case here is that the headers were buggy, e.g. a line
without a ":" to separate the header field name from the value.
Previous behaviour was to silently return a blank page.

Michael
2009-09-20 22:24:18 +02:00
Michael Adam
fcb053a77c Revert "Remove unused parameter from process_request()"
This reverts commit f3312c22a0.

The "hashofheaders" argument to process_request() is needed
for building with reverse support or with transparent support.

Michael
2009-09-20 21:58:52 +02:00
Mukund Sivaraman
23464e88ad Remove unnecessary vfork.h include 2009-09-20 14:08:14 +05:30
Mukund Sivaraman
73409c9fe1 build: Remove use of the obsolete AC_TYPE_SIGNAL macro
C89 compilers use void return type for signal handler functions.
2009-09-20 14:03:56 +05:30
Mukund Sivaraman
919eedc7f9 Remove inline keyword from static functions
The compiler inlines static functions as necessary anyway.
No more inline keywords exist in Tinyproxy source code. We want to
avoid using this keyword anyway.
2009-09-20 13:58:50 +05:30
Mukund Sivaraman
0978decbac build: Rename autoconf variable 2009-09-20 13:45:47 +05:30
Mukund Sivaraman
abafcf08ab Remove the target system information when the version is displayed
If we require information about the runtime environment, it can be
found using the uname program. And binutils can tell about what the
tinyproxy binary contains. Tinyproxy doesn't have to report this
information.
2009-09-20 12:40:52 +05:30
Mukund Sivaraman
90e7d07f44 Remove ability to change the name of the default configuration file
This feature will only confuse us during support, if users come to
us with a Tinyproxy build which has a differently named default config
file. This feature is not that useful anyway.
2009-09-20 12:33:47 +05:30
Michael Adam
574a65c28e filter: un-linebreak after un-indent...
Michael
2009-09-15 02:25:10 +02:00
Michael Adam
c240ca3bcc child: move log messagte in child_main_loop() to a less irritating place.
Michael
2009-09-15 02:25:10 +02:00
Michael Adam
93b00446b9 filter: reduce indentation in filter_init by 16 characters by using return.
Michael
2009-09-15 02:25:09 +02:00
Mukund Sivaraman
9594b8889e Revert "Fix constness of stathost"
This reverts commit 42d2e10c93.
2009-09-15 04:14:26 +05:30
Mukund Sivaraman
f3312c22a0 Remove unused parameter from process_request() 2009-09-15 04:11:58 +05:30
Mukund Sivaraman
551e041638 Make takesig() into a static function 2009-09-15 04:09:34 +05:30
Mukund Sivaraman
42d2e10c93 Fix constness of stathost 2009-09-15 04:08:26 +05:30
Mukund Sivaraman
83ebd74d87 Minor indenting changes
Also changed the text "configuration file" to read "config file".
2009-09-15 04:07:06 +05:30
Mukund Sivaraman
d243515fa7 Return instead of exit() at end of main() 2009-09-15 04:06:26 +05:30
Mukund Sivaraman
ce55167487 Minor indenting changes 2009-09-15 03:53:35 +05:30
Mukund Sivaraman
b3065b6d18 Exit with proper status in case of bad commandline arguments 2009-09-15 03:53:18 +05:30
Mukund Sivaraman
34e23233ce Add doc for change_user() 2009-09-15 02:00:20 +05:30
Mukund Sivaraman
1d744eb4c9 Return correct error status when setuid() or setgid() fails 2009-09-15 01:55:16 +05:30
Mukund Sivaraman
56748c5e65 Extract setuid/setgid code into a function 2009-09-15 01:55:16 +05:30
Mukund Sivaraman
5ec5449194 Extract cmdline parsing code into a function 2009-09-15 01:55:16 +05:30
Michael Adam
f25b0e2872 filter: untangle assignment and check in filter_init().
Michael
2009-09-14 22:18:28 +02:00
Michael Adam
c8e1696a22 conffile: reformat the directives array for readability.
Michael
2009-09-14 22:17:45 +02:00
Mukund Sivaraman
96303e10f3 Remove unused variable 2009-09-15 01:15:27 +05:30
Mukund Sivaraman
7b9234f394 Indent code to Tinyproxy coding style
The modified files were indented with GNU indent using the
following command:

indent -npro -kr -i8 -ts8 -sob -l80 -ss -cs -cp1 -bs -nlps -nprs -pcs \
    -saf -sai -saw -sc -cdw -ce -nut -il0

No other changes of any sort were made.
2009-09-15 01:11:25 +05:30