Commit Graph

802 Commits

Author SHA1 Message Date
Michael Adam
72632f6569 conf.h: add "extern" to prototype of reload_config_file
Michael
2009-12-22 00:14:59 +01:00
Michael Adam
6ea160ffff conf: make free_config static
Michael
2009-12-22 00:14:59 +01:00
Michael Adam
c15434df2b conf: make load_config_file static.
Michael
2009-12-22 00:14:59 +01:00
Michael Adam
d3d31b434a conf: rename reload_config --> reload_config_file
Michael
2009-12-22 00:14:59 +01:00
Michael Adam
d522221668 Fix restarting of tinyproxy: call setsockopt with REUSEADDR _before_ calling bind
Somehow this got moved too far down in the ipv6 changes.
Thanks to Mathew Mrosko for helping me debugging this.

Michael
2009-12-08 01:24:31 +01:00
Michael Adam
5bba62bcde Fix the build with --enable-transaparent after conf changes.
Michael
2009-12-07 23:42:55 +01:00
Michael Adam
0ba5cbea4f fix build with "--enable-reverse" after conf changes
Michael
2009-12-07 23:40:24 +01:00
Michael Adam
7290691142 Move definition of "struct config_s" from main.h to conf.h
Michael
2009-12-07 22:33:27 +01:00
Michael Adam
34e4be193e main.h: fix tabs ---> spaces
Michael
2009-12-07 22:33:27 +01:00
Michael Adam
4b54fc203f conf: remove direct use of config from reload_config()
The "conf" argument has to be used.

Michael
2009-12-07 22:33:27 +01:00
Michael Adam
ad2f478c46 conf: remove direct reference to config from load_config_file()
This has to use the parameter "conf".

Michael
2009-12-07 22:33:26 +01:00
Michael Adam
947d85cefc Use reload_config() in main.
Michael
2009-12-07 01:11:35 +01:00
Michael Adam
0d0de2fcc5 Add reload_config() - (re-)load the config file, keeping defaults.
This allows for later reloading the config at SIGHUP (e.g.).
First the old config data is freed, then the defaults that
are given as a parameter are copied over in a rather clumsy
manual fashion (maybe something more clever can be done here)
and finally, the actual config file is loaded.

Michael
2009-12-07 01:11:35 +01:00
Michael Adam
2ccebf7a95 main: Move setup_logging to after the config post-processing checks.
Michael
2009-12-07 00:40:25 +01:00
Michael Adam
dcbf99d334 Add free_config() - free all config data.
Michael
2009-12-07 00:32:22 +01:00
Michael Adam
1360f530f1 Don't make config_file const in the config struct.
Michael
2009-12-07 00:32:22 +01:00
Michael Adam
d0a91c2f9b Add the anonymous_map hasmap to the config struct.
Michael
2009-12-07 00:22:53 +01:00
Michael Adam
fa073543c4 Add free_connect_ports_list().
Michael
2009-12-07 00:22:52 +01:00
Michael Adam
4c0a4d985f Add connect_ports list to config struct instead of keeping extra global var.
Michael
2009-12-07 00:22:52 +01:00
Michael Adam
c981b246ce Move handling of connect_ports list to its own source module.
Michael
2009-12-07 00:22:52 +01:00
Michael Adam
8cb182e1b8 Add access_list to the config struct instead of a global variable in acl.c.
Change insert_acl, check_acl and flush_access_list to take a corresponding
argument.

Michael
2009-12-07 00:22:46 +01:00
Michael Adam
6266197e92 acl: add function flush_access_list(). 2009-12-07 00:22:46 +01:00
Michael Adam
2e6999df4a Add free_reversepath_list().
Michael
2009-12-07 00:22:46 +01:00
Michael Adam
3f1201c8b3 Add a reversepath argument to reversepath_get().
This abstracts the setter/getter functions for the reversepath
list from the concrete list in config.reversepath_list.

Michael
2009-12-07 00:22:46 +01:00
Michael Adam
624d146cd6 Add reversepath_list parameter to reversepath_add.
Michael
2009-12-07 00:22:36 +01:00
Michael Adam
21aa3ecf60 upstream: add free_upstream_list ()
Michael
2009-12-07 00:22:36 +01:00
Michael Adam
4a8ea0d23b upstream: Add upstream list parameter to upstream_get()
to abstract it from the concrete list in the config struct.
Now upstream.c does not use any reference to config any more.

Michael
2009-12-07 00:22:36 +01:00
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