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
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
Mukund Sivaraman
2cb6777592
Remove C++ wrapper from headers
...
These are not necessary as Tinyproxy is pure C code, and only
to be used within Tinyproxy. It is not a library.
2009-09-15 01:04:28 +05:30
Michael Adam
389f5d1464
make "config_file" a const in the config struct.
...
Michael
2009-09-10 22:16:58 +02:00
Michael Adam
735c9cb70f
reqs.c: fix two implicit cast warnings.
...
Michael
2009-09-10 22:12:16 +02:00
Michael Adam
4092c70b06
Fix compiler warnings: make const strings const in process_server_headers().
...
Michael
2009-08-12 23:49:46 +02:00
Michael Adam
0d585dca8d
Fix compiler warnings: make const strings const in process_client_headers().
...
Michael
2009-08-12 23:49:16 +02:00
Michael Adam
c59d012d11
Fix compiler warnings: Make const strings const in remove_connection_headers()
...
Michael
2009-08-12 23:47:45 +02:00
Michael Adam
1bfe8b6bea
Fix implicit cast warning in get_all_headers().
...
And untangle assignment from check.
Michael
2009-08-09 23:30:04 +02:00
Michael Adam
3b6bc45c37
Fix two implicit cast warnings in pull_client_data().
...
Michael
2009-08-09 23:28:36 +02:00
Michael Adam
bfca4019b7
Fix three implicit cast warnings in process_request().
...
Michael
2009-08-09 23:08:54 +02:00
Michael Adam
43fcc9ea37
Fix implicit cast warning in upstream_add().
...
Michael
2009-08-09 23:06:31 +02:00
Michael Adam
00fd84586c
Fix implicit cast warning in extract_ssl_url().
...
Michael
2009-08-09 23:05:28 +02:00
Michael Adam
ed23ceef64
Fix implicit cast warning in extract_http_url().
...
Michael
2009-08-09 23:04:27 +02:00
Michael Adam
bfa2c8ed77
Fix implicit cast warning in check_allowed_connect_ports().
...
Michael
2009-08-09 23:02:54 +02:00
Michael Adam
eb0deeb966
fix signed vs unsigned comparison warning in check_allowed_connect_ports().
...
Michael
2009-08-09 23:01:32 +02:00
Michael Adam
caee88c774
readline(): fix 5 implicit cast warnings
...
Michael
2009-08-07 10:10:04 +02:00
Michael Adam
947e8eb838
write_message(): fix signed/unsigned comparison warning
...
Michael
2009-08-07 10:07:07 +02:00
Michael Adam
c535939a9c
write_message(): fix implicit cast warnings.
...
Michael
2009-08-07 10:06:12 +02:00
Michael Adam
b450ad76ff
safe_write: fix unsigned vs. signed comparison
...
Michael
2009-08-07 10:04:57 +02:00
Michael Adam
2fff622819
send_stored_logs(): remove an implicit cast warning.
...
Michael
2009-08-07 09:54:15 +02:00
Michael Adam
4434dd24f1
send_stored_logs: fix signed/unsigned comparison
...
Michael
2009-08-07 09:42:45 +02:00
Michael Adam
8a27e29f7e
log_message(): remove implicit cast warning.
...
Michael
2009-08-07 09:28:35 +02:00
Michael Adam
87f5657db0
log: make const char array const.
...
Michael
2009-08-07 09:27:51 +02:00
Michael Adam
1052502b63
http_message_add_headers: make argument num_headers unsigned
...
and remove signed vs. unsigned comparison warnings.
Michael
2009-08-07 09:24:32 +02:00
Michael Adam
f99edadc92
http_message_add_headers(): fix implicit cast warning.
...
Michael
2009-08-07 09:21:28 +02:00
Michael Adam
baf634194c
http_message_create(): remove two implicit cast warnings.
...
Michael
2009-08-07 09:20:28 +02:00
Michael Adam
6a35704cdb
heap: make a const string const in malloc_shared_memory().
...
Michael
2009-08-07 09:17:49 +02:00
Michael Adam
8f50875740
heap: fix an implicit cast warning.
...
Michael
2009-08-07 09:17:12 +02:00
Michael Adam
ab9e8a59e2
hashmap: fix three implicit cast warnings.
...
Michael
2009-08-07 09:16:07 +02:00
Michael Adam
181b03d729
Fix an implicit cast warning in initialize_conn().
...
Michael
2009-08-07 09:12:42 +02:00
Michael Adam
02e7bc7545
send_html_file(): remove a discards qualifyer warning
...
and untangle assignment from check.
Michael
2009-08-07 08:56:46 +02:00
Michael Adam
3adec81872
html-error: make read only argument const in lookup_variable().
...
Michael
2009-08-07 08:53:26 +02:00
Michael Adam
76dadf47d3
make a const string const in send_http_error_message().
...
Michael
2009-08-07 08:51:35 +02:00
Michael Adam
1c3c268b50
make a const string const in send_http_headers().
...
Michael
2009-08-07 08:49:21 +02:00
Michael Adam
c8ee85702e
make message argument of indicate_http_error() const.
...
Michael
2009-08-07 08:48:51 +02:00
Michael Adam
20b606b6f5
make message argument to send_http_headers() constant.
...
Michael
2009-08-07 08:44:47 +02:00