Commit Graph

952 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
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
Mukund Sivaraman
a21cd7e3ed Rename tinyproxy.[ch] to main.[ch] 2009-08-07 03:42:53 +05:30
Matthew Dempsky
b5089fecc7 fix error message formatting
Signed-off-by: Michael Adam <obnox@samba.org>
2009-08-06 07:33:20 +02:00
Michael Adam
2ca1f9027b add const to the key argument of anonymous_insert().
Michael
2009-08-05 00:15:04 +02:00
Michael Adam
c6475974b5 add const to the key argument for anonymous_search().
Michael
2009-08-05 00:14:20 +02:00
Michael Adam
caf20d786b utils: make headers constant in send_http_message() to reduce compiler warnings
Michael
2009-08-05 00:09:41 +02:00
Michael Adam
1cdd76af31 http_message_add_headers(): make parameter headers const.
Michael
2009-08-05 00:09:16 +02:00
Michael Adam
867b4c9813 filter_init(): kill implicit cast warnings by adding explicit casts.
Michael
2009-08-04 23:57:30 +02:00
Michael Adam
f0a46fd71c vector: remove implicit cast warning in vector_insert() by adding explicit cast
Michael
2009-08-04 23:52:56 +02:00
Michael Adam
5b81dec879 vector: remove implicit cast warning in vector_create()
Michael
2009-08-04 23:51:29 +02:00
Michael Adam
0aa45b0d34 child_pool_create(): add to explicit cats to reduce compiler warnings.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
60de38ceaa child: adapt child_config to contain unsigned integers
as just changed in get_int_arg.

Michael
2009-08-04 23:47:28 +02:00
Michael Adam
b4d8c5b9bf conffile: change [sg]et_int_arg() to return unsigned long int
This is also the parser regexp for INT in the definition.

Michael
2009-08-04 23:47:28 +02:00
Michael Adam
23b09947c6 conffile: add explicit cast in get_string_arg().
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
35abbbc26d config_compile(): add an explicit cast.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
0b583194b7 config_compile(): fix as signed / unsigned comparison compiler warning.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
f52be1a2a1 conffile: fix indentation in the directives definition.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
e6ac4b28cd conffile: fix some missing initializer warnings in the directives definition.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
32c7caf710 conffile: reformat some indentation and linebreak in the directives definition.
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
8f955d5543 child: add explicit cast in child_main().
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
50dbd61063 buffer: add explicit cast in read_buffer().
Michael
2009-08-04 23:47:28 +02:00
Michael Adam
e5e665b0c6 buffer: add explicit cast in new_buffer().
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
88dbe04c81 buffer: untangle assignment and check.
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
f5c80119ca buffer: add two explicit casts to reduce compiler warnings in makenewline().
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
25344751eb buffer: untangle assignment from check in makenewline().
For better debuggability.

Michael
2009-08-04 23:47:27 +02:00
Michael Adam
ab4df6edb8 check_acl(): initialize "perm" to eliminate compiler warning.
Provides safe fallback for switch statement, just in case..

Michael
2009-08-04 23:47:27 +02:00
Michael Adam
14a3e187ee check_acl(): remove the fd argument - it is not used.
Host name and IP address are provided instead.

Michael
2009-08-04 23:47:27 +02:00
Michael Adam
64ff313260 check_acl(): fix function header comment.
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
0abd82b7e9 check_acl(): add explicit cast to return value of vector_getentry()
to reduce compiler warnings.

Michael
2009-08-04 23:47:27 +02:00
Michael Adam
b9f2325c54 check_acl(): add cast to recuce compiler warning (unsigned / signed comparison)
vector_lenth() returns < 0 if the vectore is NULL but this has been
checked before, so we can safely cast.

Michael
2009-08-04 23:47:27 +02:00
Michael Adam
a34276feee change vector_prepend() to take size_t len instead of ssize_t len argument.
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
67628dcc63 change vector_append() to take size_t len instead of ssize_t len argument
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
590f99ef2d vector: change vectore_insert() to take size_t len instead of ssize_t len arg
Michael
2009-08-04 23:47:27 +02:00
Michael Adam
c2c7245030 remove "discard const" compiler warnings with log_message().
Michael
2009-08-04 23:47:26 +02:00
Mukund Sivaraman
0b191f16fe Indenting change 2008-12-29 13:28:02 +00:00
Mukund Sivaraman
024b317de0 Convert tabs to spaces 2008-12-08 13:39:44 +00:00
Mukund Sivaraman
6e6f992f8c Update Tinyproxy website URL 2008-12-08 12:41:44 +00:00
Mukund Sivaraman
4c1ede779e Break at 80 columns 2008-12-08 12:26:08 +00:00
Mukund Sivaraman
a257703e59 Reformat code to GNU coding style
This is a commit which simply ran all C source code files
through GNU indent. No other modifications were made.
2008-12-01 15:01:11 +00:00
Mukund Sivaraman
448c19077c Don't disable the creation of core files
Creation of core files can be disabled in the OS environment such
as by using the ulimit program.
2008-12-01 14:40:26 +00:00
Mukund Sivaraman
fadb98ee55 Add more calls to umask() before mkstemp() 2008-08-24 11:47:50 +05:30
Mukund Sivaraman
82cd6c765b Move buffer to the heap due to its size 2008-08-24 11:38:59 +05:30
Mukund Sivaraman
fce253253a Set umask before mkstemp() for some versions of glibc 2008-08-24 11:27:38 +05:30
Mukund Sivaraman
62ddbd5e74 pos can never be less than 0 as it's of type size_t
Also fix the type which is passed in from various places.
2008-08-24 10:58:16 +05:30
Mukund Sivaraman
90c1bb4b73 Remove useless check as data can't be NULL at this point 2008-08-24 10:45:29 +05:30
Mukund Sivaraman
aa95c34004 Allow numeric uid/gids in User and Group directives
This change allows numeric uid/gids to be specified in the User and
Group directives in tinyproxy.conf. Formerly, only username and group
names were accepted. This fixes bug #15, which was created after
looking at a case on the OpenWrt wiki.

X-Banu-Bugzilla-Ids: 15
2008-07-14 17:40:20 +05:30
Mukund Sivaraman
2fe213d777 Fix error variable names that stats.html expects 2008-07-14 17:14:12 +05:30
Mukund Sivaraman
7e5ac7c58a Fix a regression where empty error variables caused strlen() to crash
This fixes a regression (bug #16) introduced in
95c1f39f60, where a NULL check was
removed. This caused NULL error variable values to be sent to
add_error_variable() in which strlen() segfaulted.

With this fix, custom stats pages should be displayed properly.

X-Banu-Bugzilla-Ids: 16
2008-07-14 17:13:06 +05:30
Mukund Sivaraman
7bdd47d030 Make the embedded error message display valid XHTML too
Also fix the information that is displayed.
2008-07-14 15:47:00 +05:30
Mukund Sivaraman
7b9e178a76 Add version info in embedded stats page 2008-07-14 15:46:05 +05:30
Mukund Sivaraman
7f12f71f94 Add error number as a template parameter for error pages 2008-07-14 15:31:14 +05:30
Mukund Sivaraman
8b26558254 Make the embedded stats message display valid XHTML too 2008-07-14 15:09:02 +05:30
Mukund Sivaraman
74f5c3e417 Spruce up error page footers a bit 2008-07-14 15:02:41 +05:30
Mukund Sivaraman
20a7e61360 Removed obsolete ignore rules 2008-06-19 21:33:20 +05:30
Mukund Sivaraman
7dcb5f9061 Include values.h to use LONG_MAX and LONG_MIN 2008-06-17 13:44:42 +05:30
Robert James Kaes
c8cf89a954 Add strtol conversion error checking
Moved the strtol() call into fill_netmask_array() and added additional
error checking to ensure that the strtol() call succeeded.

Error checking code taken from strtol() manpage.

Signed-off-by: Robert James Kaes <rjk@wormbytes.ca>
2008-06-17 13:32:20 +05:30
Robert James Kaes
51fb15be2c Refactored netmask array fill with range check
When building a numeric ACL with netmask, range check the supplied
value.  In addition, the code to walk the array has been extracted and
"simplified".

Signed-off-by: Robert James Kaes <rjk@wormbytes.ca>
2008-06-17 13:31:04 +05:30
Mukund Sivaraman
95c1f39f60 Don't check the value to be inserted as it's already checked
This change primarily avoids a gcc warning where timebuf
is never non-NULL. There is no need to check the value to be
inserted as it's checked inside hashmap_insert().

This changeset also lets error return values from hashmap_insert()
propogate instead of clamping them to -1 (not that these are
currently used anyway).
2008-06-10 09:51:23 +05:30
Robert James Kaes
5ea289d82e Moved transparent proxy code into its own file
Extracted the transparent proxy logic from reqs.c and placed it into a
separate file.

Signed-off-by: Robert James Kaes <rjk@wormbytes.ca>
2008-06-09 10:01:14 +05:30
Robert James Kaes
b092de72f8 Ignore profiling generated files
The *.pcno files are generated as part of the profiling code.

Signed-off-by: Robert James Kaes <rjk@wormbytes.ca>
2008-06-03 21:51:02 +05:30
Mukund Sivaraman
cc1f04ecba Updated copyright header in Makefile.am 2008-05-24 16:24:12 +05:30
Mukund Sivaraman
6f9ee262e5 Removed unnecessary LDFLAGS variable 2008-05-24 16:21:29 +05:30
Mukund Sivaraman
b0a3568de0 Renamed htmlerror.[ch] to html-error.[ch] 2008-05-24 13:47:14 +05:30
Mukund Sivaraman
249d4b7f33 Updated copyright, license notices in source code
The notices have been changed to a more GNU look. Documentation
comments have been separated from the copyright header. I've tried to
keep all copyright notices intact. Some author contact details have
been updated.
2008-05-24 13:35:49 +05:30
Mukund Sivaraman
b110332ed3 Free arg before returning, or it'll leak 2008-03-30 17:56:45 -07:00
Mukund Sivaraman
ff72f5426e Free entry_buffer or it'll be leaked
vector_append() calls vector_insert() which makes a copy
of the passed buffer, so the caller can free its buffer.
2008-03-30 17:51:51 -07:00
Mukund Sivaraman
12501d599c Fixed leaks of va_lists 2008-03-30 17:43:32 -07:00
Mukund Sivaraman
44d91bdf6b Removed obsolete lexer/parser files 2008-03-30 16:33:08 -07:00
Andrew Stribblehill
fdf7e4ea8b Added more patterns to .gitignore 2008-03-19 15:11:13 -07:00
Mukund Sivaraman
b11c74637f Fixed format string warnings 2008-03-13 15:09:30 -07:00
Mukund Sivaraman
fc62283164 Removed the clean target from the src directory
This was overriding the automake clean target to clean up
files like *.o by default.
2008-03-13 15:09:26 -07:00
Mukund Sivaraman
8848b647d7 Corrected datatype of salen to fix compiler warning 2008-03-13 15:09:21 -07:00
Mukund Sivaraman
31766cce90 Renamed file to replace underscores in it with dashes 2008-03-13 15:07:43 -07:00
Mukund Sivaraman
d5472ec0bd Renamed file to replace underscores in it with dashes 2008-03-13 15:07:37 -07:00
Mukund Sivaraman
376caf8f25 Renamed .cvsignore to .gitignore 2008-03-13 15:07:29 -07:00
Robert James Kaes
2f5118046d Added support for UPSTREAM directive.
Included the basic grammar and handler functions for the "upstream" and
"no upstream" directives.  I still need to update the grammar to match
_all_ the possibilities documented in the tinyproxy.conf file, but at
least it now does as much as the old config parser.
2005-11-04 05:15:47 +00:00
Robert James Kaes
72e1731092 Reformatted the reverse and filter configuration blocks. If either
section is not enabled at compile time, it should not be included in the
object file.
2005-11-04 01:31:41 +00:00
Robert James Kaes
ffec04c65e Fixed up whitespace formatting of the config file directives. Also
added blank lines to group related directives.
2005-11-04 00:47:07 +00:00
Robert James Kaes
4c58663041 * [Refactor] Moved Reverse Proxy Code
Moved the reverse proxy code from reqs.c into it's own files
(reverse_proxy.c).  The code in reqs.c is way too complicated, so I
want to move unrelated code into their own files to simplify the main
concepts in reqs.c.
2005-08-16 04:03:19 +00:00
Robert James Kaes
808bdbd1e9 * [Indent] Fixed typedef Formatting
Added the list of tinyproxy typedefs to the indent command to have them
formatted correctly as well.
2005-08-15 18:35:09 +00:00
Robert James Kaes
c0299e1868 * [Indent] Ran Source Through indent
I re-indented the source code using indent with the following options:

indent -kr -bad -bap -nut -i8 -l80 -psl -sob -ss -ncs

There are now _no_ tabs in the source files, and all indentation is
eight spaces.  Lines are 80 characters long, and the procedure type is
on it's own line.  Read the indent manual for more information about
what each option means.
2005-08-15 03:54:31 +00:00
Robert James Kaes
38f0b3a103 * Specified Correct typedef in getsock_ip()
Changed the variable type for the namelen variable to the correct
socklen_t type.  The configure script already checked for it, but for
some reason I never got around to actually using it in this function.
2005-07-12 20:34:26 +00:00