Commit Graph

1033 Commits

Author SHA1 Message Date
Michael Adam
8fd3808ad3 [BB#95] remove two comments that have become wrong by the fix. 2010-12-01 22:25:44 +01:00
Daniel Egger
62443a6391 [BB#95] Fix FilterURLs with transparent proxy support.
Pass a pointer to a char pointer to do_transparent_proxy so the reassembled URL
will actually end up back in the caller where it is needed for filtering
decisions. This fixes the problem that a tinyproxy configured with the
transparent proxy functionality and "FilterURLs Yes" would filter on everything
but the domain.

Signed-off-by: daniel.egger@sphairon.com
Signed-off-by: Michael Adam <obnox@samba.org>
2010-12-01 22:25:44 +01:00
Michael Adam
b672ca03fe [BB#91] Fix upstream proxy support.
Patch by Jordi Mallach.
2010-08-24 22:47:35 +02:00
Michael Adam
52cad36352 upstream: clarify debug messages
There are frequent questions "what does 'No proxy for ...' mean?"
on the mailing list and IRC. Be more specific. (No upstream proxy ...)
Correspondingly, log "Found upstream proxy ... for ..."
2010-08-24 22:46:10 +02:00
Mukund Sivaraman
691415a8f9 [BB#74] Create log and pid files after we drop privs 2010-06-02 10:36:05 +05:30
Mukund Sivaraman
56257d3da3 Remove excessive code 2010-06-02 10:11:17 +05:30
Mukund Sivaraman
df9e6d3163 Add authors to authors.xml and regen 2010-06-01 08:16:53 +05:30
John van der Kamp
a7933bdd36 [BB#89] Don't recompile regular expressions
This is a modification of a patch originally written by
John van der Kamp <john@kirika.demon.nl> at
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=579427#12>

The modification was done by the committer.
2010-06-01 07:54:55 +05:30
Mukund Sivaraman
f84fb98766 Precompute network addresses for increased performance 2010-05-30 08:08:04 +05:30
Mukund Sivaraman
0963c4c71f Minor indent of code 2010-05-30 08:01:14 +05:30
Dmitry Semyonov
7edb6e047c Fix crash in send_stored_logs() 2010-04-21 20:35:50 +05:30
Mukund Sivaraman
d30ee746a7 Revert "main: drop privileges right after reading the config"
This reverts commit 7a9abc2a04. It should
fix the issue in bug #87.
2010-04-21 20:10:56 +05:30
Mukund Sivaraman
1e0ad98f7f Just fix the support URLs 2010-03-28 10:33:38 +05:30
Mukund Sivaraman
34088e2175 Revert "Update Tinyproxy website URLs"
This reverts commit b108162dfb.
2010-03-28 10:27:40 +05:30
Mukund Sivaraman
b108162dfb Update Tinyproxy website URLs 2010-03-27 08:22:51 +05:30
Mukund Sivaraman
d37a6b2c12 Revert "Revert "Pass address family when binding to outgoing socket""
This reverts commit 70885bf029. It looks
like bug #69 needs this fix after all.
2010-03-09 17:08:37 +05:30
Mukund Sivaraman
2f86b79d85 Use AI_PASSIVE flag to make tinyproxy listen on wildcard interface
Signed-off-by: Michael Adam <obnox@samba.org>
2010-03-03 01:03:45 +01:00
Michael Adam
e87c856487 change the default pid file location to "@LOCALSTATEDIR@/run/tinyproxy/tinyproxy.pid"
I.e., add a tinyproxy subdirectory.
This is meant to ease running tinyproxy as non-root user.
The subdirectory can be used to give the tinyproxy user
write permission.

Michael
2010-03-02 23:39:30 +01:00
Michael Adam
cfa5792880 change the default log file location to "@LOCALSTATEDIR@/log/tinyproxy/tinyproxy.log"
i.e. add a tinyproxy subdirectory.
This is meant to ease running tinyproxy as non-root user
the subdirectory can be used to give the tinyproxy user
write permission.

Michael
2010-03-02 23:39:21 +01:00
Michael Adam
f640c6fbb1 main: some tabs->spaces 2010-03-02 22:17:34 +01:00
Michael Adam
fcf5fd2129 main: move a log message. 2010-03-02 22:05:28 +01:00
Michael Adam
7a9abc2a04 main: drop privileges right after reading the config
This is the second part of fixing bug #74.
I lets tinyproxy create its log and pid files as the
user as which it is running, so that later on at SIGHUP,
the log file can successfully be reopened.

Michael
2010-03-02 22:02:46 +01:00
Michael Adam
2235a97f05 main: separate loading of config and setup_logging at startup
This is the first part of a fix for bug #74
(making reloading of config work if running as non-privileged user)

Michael
2010-03-02 21:57:03 +01:00
Mukund Sivaraman
2f6840fd85 Use format string when logging messages 2010-02-19 21:04:02 +05:30
Mukund Sivaraman
907a6c2420 Display upstream proxy support in usage message 2010-02-17 23:11:45 +05:30
Mukund Sivaraman
c6d4c68c99 Update help text a little 2010-02-17 00:29:29 +05:30
Mukund Sivaraman
9434b27cc1 Remove bogus static qualifiers for these auto variables 2010-01-25 23:40:03 +05:30
Mukund Sivaraman
2d85a69e49 Remove unnecessary cast to (void **)
Fixes a compiler warning about dereferencing type-punned pointers.
2010-01-25 21:36:18 +05:30
Mukund Sivaraman
19b9bff888 Fix compiler warning about dereferencing type-punned pointers 2010-01-25 13:06:58 +05:30
Mukund Sivaraman
70885bf029 Revert "Pass address family when binding to outgoing socket"
This reverts commit 65ef313cc4.
This patch could've been the reason for BB#69.
2010-01-21 06:29:15 +05:30
Mukund Sivaraman
b08420ec13 List all authors when license is requested
(Not just recent authors.)
2010-01-19 19:04:39 +05:30
Mukund Sivaraman
7ac13d7924 Change to for loop 2010-01-19 05:14:06 +05:30
Mukund Sivaraman
edea7e37d0 Show authors and documenters when license is requested 2010-01-18 19:05:31 +05:30
Michael Adam
9c500d06f2 Fix bug #68: Allow all ports for CONNECT at absence of ConnectPort in config. 2010-01-17 13:41:02 +01:00
Mukund Sivaraman
9c68b94136 Do an openlog() on fallback to syslog 2010-01-17 14:27:49 +05:30
Mukund Sivaraman
26b4ab07a4 Remove extra argument to log_message() 2010-01-17 14:27:19 +05:30
Mukund Sivaraman
a34ce8f4f9 Remove ret variable as 0 is always returned 2010-01-17 14:26:56 +05:30
Mukund Sivaraman
e2b367a169 Remove unused label 2010-01-17 14:26:08 +05:30
Michael Adam
8070023643 log: when opening the log file fails, fall back to syslog logging. 2010-01-17 01:10:21 +01:00
Michael Adam
54a613b9db conf: reduce indentation in load_config_file()
This replaces a do { ... } while (0) with break statements
ba gotos. Imho, this is much clearer.

Michael
2010-01-16 13:26:18 +01:00
Mukund Sivaraman
09d11ace60 Fix leak of file handle in load_config_file() 2010-01-16 11:09:14 +05:30
Mukund Sivaraman
bf820013df Use HTTPS link in URLs to Tinyproxy websites 2010-01-16 10:22:22 +05:30
David Shanks
184d07e47c check_numeric_acl() should return -1 when IPs don't match.
Signed-off-by: Michael Adam <obnox@samba.org>
2010-01-14 07:46:31 +01:00
Michael Adam
5e387e6ee7 log: turn tabs into spaces =)
Michael
2010-01-13 00:58:55 +01:00
Michael Adam
dc86ebaf28 log: change internal logic to choose syslog over file logging.
Now that there is always a log file set, we just check for
syslog being set to TRUE and in that case use syslog logging,
file logging otherwiese.

Michael
2010-01-13 00:57:32 +01:00
Michael Adam
fa0c4963e9 conf: add a default for PidFile: LOCALSTATEDIR/run/tinyproxy.pid
Michael
2010-01-13 00:30:50 +01:00
Michael Adam
9fec507daf log: remove a (now) useless fprintf in setup_logging.
Now that there is a default value for LogFile, the case
that neither the log file name nor syslog is configured
can not happen any more.

Michael
2010-01-13 00:23:48 +01:00
Michael Adam
74b0b63da8 conf: set default LogFile to LOCALSTATEDIR/log/tinyproxy.log
Michael
2010-01-13 00:21:39 +01:00
Michael Adam
fb07cb380c Export configure variable localstatedir to C as define LOCALSTATEDIR.
So that it can be used for default values of some paths later on.

Michael
2010-01-13 00:16:02 +01:00
Michael Adam
bcca20a3e6 log: remove an fprintf "not configured" error message in setup_logging().
Now that we exit early when !logging_initialized, this
can actually not happen anymore anyways: When logging is
initialized, it was also properly configured.

Michael
2010-01-10 19:29:33 +01:00
Michael Adam
1dd1c2796a log: shortcut return in shutdown_logging() if logging_initialized == false
This does for instance happen at startup when logging has not yet been set up.

Michael
2010-01-10 19:24:23 +01:00
Mukund Sivaraman
65ef313cc4 Pass address family when binding to outgoing socket 2010-01-10 19:51:24 +05:30
Michael Adam
52e333af0b Happy new year 2010! 2010-01-10 13:51:33 +01:00
Michael Adam
12026c32de Fix bug #55: Read request entity before sending error page to client.
https://www.banu.com/bugzilla/show_bug.cgi?id=55

This is achieved by streamlining handle_connection, adding
a common cleanup-and-exit poing ("done") and a common
failure exit point ("fail") that reads any pending data
from the client fd first before trying to send back
data (error page or stats page).

The new function get_request_entity that is used here,
does not honour any content-length header. It just calls
select on the client-fd and gets any data that is there
to read.

Michael
2010-01-10 02:17:37 +01:00
Michael Adam
6c9a647576 reqs:handle_connection: untangle assignment from check
Michael
2010-01-10 01:49:14 +01:00
Michael Adam
e1e9e53d45 reqs:process_client_headers: polish logic flow a bit.
Michael
2010-01-10 01:49:14 +01:00
Michael Adam
0bfc0e90c1 reqs: simply process_request a bit: create common fail exit point
Michael
2010-01-10 01:49:14 +01:00
Mukund Sivaraman
9c0c3d5ced [BB#17] Add custom HTTP request headers to outgoing HTTP requests 2010-01-08 22:05:17 +05:30
Mukund Sivaraman
b96a3a3250 Fix case in log message 2010-01-06 11:54:57 +05:30
Michael Adam
e0fabc6127 log: confess - add my (C) after substantial changes.
Michael
2009-12-23 00:33:31 +01:00
Michael Adam
5e8c8508ef conf: confess - add my (C) after substantial changes.
Michael
2009-12-23 00:33:21 +01:00
Michael Adam
4a11f9f08f log: remove unneeded truncate_log_file().
Michael
2009-12-23 00:31:56 +01:00
Michael Adam
c07cd2e44e Use shutdown_logging() in main().
Michael
2009-12-23 00:31:56 +01:00
Michael Adam
71a035d619 Use reload_config() in main() to load config and init logging.
Michael
2009-12-23 00:31:55 +01:00
Michael Adam
bc10479452 log: fix log_message so do only one write before the fsync.
This way the logging from the various child processes does not
get clobbered up. Formerly, the different write portions
(time stamp, message, newline) would get mixed from the
various child processes' log messages.

Michael
2009-12-23 00:31:55 +01:00
Michael Adam
adf4640104 log: add start/end debug messages for "sending stored logs".
Michael
2009-12-23 00:31:55 +01:00
Michael Adam
0466526b1d Add warning comments to SIGHUP handlers, that we ignore the retrun code of reload_config().
This can actually fail, and we probably need some way to handle this.
Like an emergency error exit or so...

Michael
2009-12-23 00:31:55 +01:00
Michael Adam
8346a20aa0 Don't truncate the log file in the SIGHUP handler.
Logging is re-initialized by reload_config() now.
And truncation is wrong anyways: A syslog mechanism will
move the current log file and the reopen-action will just
create a new empty log file upon SIGHUP.

Michael
2009-12-23 00:31:55 +01:00
Michael Adam
fb2e65f40b enhance reload_config to correctly re-initialize the logging subsystem.
This includes reopening the log file (in append mode).
Also switching from syslog to logfile and visa versa are included
when called from the SIGHUP handler.

Michael
2009-12-23 00:31:55 +01:00
Michael Adam
c4b9454807 log: enhance close_log_file to reset logfile_fd to -1 after closing
Michael
2009-12-23 00:31:55 +01:00
Michael Adam
f3c8424515 log.c: remove superfluous uses of #ifdef HAVE_SYSLOG_H
When this code is hit, availability of syslog has already
been checked (when reading the config file). So config.syslog == TRUE
only when HAVE_SYSLOG_H is defined.

So I remove the preprocessor checks which only clobber the logic
and make the code harder to read (IMHO).

Michael
2009-12-23 00:31:55 +01:00
Michael Adam
2c14f89bfc main: remove global bool processed_config_file.
This seemed out of place. Now the information is
stored in the correct places (as log.c:logging_initialized).

This way, we will be able to cleanly re-initialize
logging during config reload (SIGHUP) in subsequent
commits.

Michael
2009-12-23 00:27:32 +01:00
Michael Adam
210e82d08d log: call send_stored_logs in setup_logging instead of in main().
This is where it actually belongs.

Michael
2009-12-23 00:27:32 +01:00
Michael Adam
891846f23e log: add boolean local variable logging_initialized.
This controls whether log_messages should write to the
log file / syslog or rather to the log_message_storage.
This will make the global processed_config_file variable
from main unneccessary in the next step.

Michael
2009-12-23 00:27:26 +01:00
Michael Adam
649b2c0683 log: add function shutdown_logging().
Michael
2009-12-23 00:27:26 +01:00
Michael Adam
479562ad2b reload config upon SIGHUP
Michael
2009-12-22 00:15:00 +01:00
Michael Adam
91492773b1 conf: add a log messate ("reloading config file")
Michael
2009-12-22 00:15:00 +01:00
Michael Adam
e9baa2977c conf: adapt a log message (add quotes to string value)
Michael
2009-12-22 00:15:00 +01:00
Michael Adam
f7419c60be conf: elaborate a comment
Michael
2009-12-22 00:15:00 +01:00
Michael Adam
93dfb1ac5b conf: change a log message (to be more reasonable?)
Michael
2009-12-22 00:15:00 +01:00
Michael Adam
8bf91ce80f main: add convenience wrapper reload_config() for reload_config_file()
Michael
2009-12-22 00:14:59 +01:00
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
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
Michael Adam
251a975126 add_error_variable(): make key and data arguments const
Michael
2009-08-07 08:41:36 +02:00
Michael Adam
05d1b2b372 showstats(): fix an implicit cast warning.
Michael
2009-08-07 08:38:41 +02:00
Michael Adam
3127baa4c6 showstats(): add a const to a const string
Michael
2009-08-07 08:37:44 +02:00
Michael Adam
bb067eb13c init_stats(): fix implicit cast warning.
Michael
2009-08-07 08:36:10 +02:00
Mukund Sivaraman
4518e4334d Wrap len in parantheses 2009-08-07 04:30:38 +05:30
Matthew Dempsky
59d273fdcc correctly handle folded header fields 2009-08-07 03:59:10 +05:30
Mukund Sivaraman
402b662def Fix const warning 2009-08-07 03:54:08 +05:30