Robert James Kaes
1c8dcecf82
Removed the log message when unable to allocate memory.
2001-09-15 21:24:18 +00:00
Robert James Kaes
48ddb827a7
Updated the authorization string.
2001-09-15 21:21:01 +00:00
Robert James Kaes
9d61e1fd4b
Removed these files since their functionality has been replaced.
2001-09-14 23:43:59 +00:00
Robert James Kaes
ea4d707d12
Finally got the SSL problem fixed. We can not send _any_ client headers
...
(including the new line) to the origin server when in tunnelling mode. SSL
now works correctly. Yeah.
2001-09-14 21:16:56 +00:00
Robert James Kaes
9c520c7a50
Changed the buffer pointer in safe_write() to be const void* since we're
...
not changing the values.
Instead of building a new request and memory, simply send each part
separately. Actually uses less memory _and_ less code.
2001-09-14 19:50:45 +00:00
Robert James Kaes
dab361f764
When logging an error indicate the file descriptor and the error number.
2001-09-14 19:49:10 +00:00
Robert James Kaes
7bfb5527ff
Include the SSL field in the connection structure since we're going to
...
handle SSL connections.
2001-09-14 04:56:58 +00:00
Robert James Kaes
c6d2e0f7ff
Massive changes. Split process_method() into a bunch of smaller files and
...
changed the parsing code from REGEX and uri.c to a simplier sscanf()
method. Also, include code to handle SSL connections, but that's not quite
working yet.
2001-09-14 04:56:29 +00:00
Robert James Kaes
bce9e6601e
Removed the reference to uri.c and uri.h since the new reqs.c doesn't use
...
them.
2001-09-14 04:55:06 +00:00
Robert James Kaes
c48aea165d
Fixed memory leak.
2001-09-12 03:33:15 +00:00
Robert James Kaes
25457361c7
Changed mallocs to callocs.
2001-09-12 03:32:54 +00:00
Robert James Kaes
ac4bbe6bd6
Increased the number of "insertions" before the free memory.
2001-09-12 03:32:24 +00:00
Robert James Kaes
e2f10bc2ea
Added the debugging realloc() function.
2001-09-11 19:27:27 +00:00
Robert James Kaes
2c3cc9185d
Set the stack size of threads to 32KB from 128KB.
2001-09-11 19:27:09 +00:00
Robert James Kaes
f8edd2d8b4
Switched the memory allocation for the large strings to heap based instead
...
of stack based.
2001-09-11 19:26:49 +00:00
Robert James Kaes
8aca9455b2
Style stuff.
2001-09-11 04:38:23 +00:00
Robert James Kaes
365df5b5be
Used safecalloc() instead of malloc() and memset(). Fixed a potential
...
memory leak with the regular expression engine.
2001-09-11 04:13:58 +00:00
Robert James Kaes
c04ffd3913
Comment cleanup.
2001-09-11 04:12:47 +00:00
Robert James Kaes
0668e42e8f
Changed all the mallocs and callocs to use the new safemalloc and
...
safecalloc.
2001-09-08 18:58:37 +00:00
Robert James Kaes
d5253ec5f4
Lowered the number BUFARRAY and BUFSIZE constants to reduce the maximum
...
memory usage of a ternary tree. It now should not exceed 4MB of memory.
2001-09-08 18:58:02 +00:00
Robert James Kaes
78bc90cd07
Lowered the number of insertions before the ternary tree is rebuilt.
2001-09-08 18:56:30 +00:00
Robert James Kaes
4923dd22a7
Added the debugging_(malloc|calloc|free) functions to help track memory
...
usage. There are also now defines for safe(malloc|calloc|free) which allow
for debugging code to be enabled or not.
2001-09-08 18:55:58 +00:00
Robert James Kaes
b8a694e7a3
Fixed a memory leak in thread_main().
2001-09-08 06:29:04 +00:00
Robert James Kaes
28d955a3c8
Explictly added the DETACHED creation method on threads.
2001-09-07 18:19:39 +00:00
Robert James Kaes
1a9dc4e7e8
Error message cleanup.
2001-09-07 04:21:07 +00:00
Robert James Kaes
f5b9bdb93d
Fixed up return types.
2001-09-07 04:20:04 +00:00
Robert James Kaes
ea1309bf73
Error message cleanup.
...
Include locking around access to the servers_waiting variable.
2001-09-07 04:19:05 +00:00
Robert James Kaes
aa9e05430a
Added the ability to clear out the DNS cache after a certain number of
...
insertions.
2001-09-07 00:40:34 +00:00
Robert James Kaes
c24cace1d1
Fixed the ternary_destroy() function which causes segfaults.
2001-09-07 00:38:03 +00:00
Robert James Kaes
32ce57a6f6
Still need to fix a problem with tinproxy segfaulting when we try to
...
delete the ternary tree.
2001-09-06 21:53:16 +00:00
Robert James Kaes
4670eb5194
Make sure that freeptr actually points to something before we try to
...
invoke it.
2001-09-06 21:52:31 +00:00
Robert James Kaes
f2312262c7
Try moving the kill thread code into the thread_main() function so it can
...
check if there are too many thread after it's finished with it's request.
Needs to be cleaned up further (if this is the right idea) because of the
locking around the servers_waiting variable.
2001-09-06 21:16:35 +00:00
Robert James Kaes
445aaca53e
Initialzed the servers_waiting explictly. Added debugging code to find out
...
why the threads are not being closed.
2001-09-06 19:00:47 +00:00
Robert James Kaes
c937858ec1
Moved the compare_header() test after the skip header test.
2001-09-04 18:22:00 +00:00
Robert James Kaes
667b9d5d53
Switched to a case insensitive search method.
2001-09-04 17:53:41 +00:00
Robert James Kaes
45a021a18b
Fixed a format string bug with the syslog function.
2001-09-04 16:50:22 +00:00
Robert James Kaes
fc94a56f56
Removed the xstrstr() function since it is no longer used. reqs.c was the
...
only place it was called from, and strstr() will do the same work.
2001-08-30 16:52:56 +00:00
Robert James Kaes
a328cefbf0
Renamed ternary_insert() to ternary_insert_replace() and added the ability
...
to replace existing data (without a memory leak.) Added two DEFINES
ternary_insert() and ternary_replace() to aid in coding.
2001-08-30 16:52:09 +00:00
Robert James Kaes
22bdb8123d
Replaced the call to xstrstr() with strstr().
2001-08-30 16:51:10 +00:00
Robert James Kaes
c83c92a0d1
Removed the insert_data() function and made the LOCKing go around the
...
entire dnscache() function. Replaced the "replace" code in dns_insert()
with a call to ternary_replace().
2001-08-30 16:50:42 +00:00
Robert James Kaes
51e4ebb293
Text clean up.
2001-08-29 04:04:01 +00:00
Robert James Kaes
d06ddc50ab
Removed the new_dnscache() call.
2001-08-29 04:01:05 +00:00
Robert James Kaes
fcff398f31
Cleaned up the locking code to make it more fine grained. Did this since
...
dncache.c has locking itself now.
2001-08-29 04:00:22 +00:00
Robert James Kaes
9bdfa623ba
Changed how we handle when compiled with debug code.
2001-08-29 03:59:12 +00:00
Robert James Kaes
4c24890f17
Removed the new_dnscache() function and the ternary.h include.
2001-08-29 03:58:39 +00:00
Robert James Kaes
c9a772e36b
Added a more fine grained locking system for multiple threads.
...
Removed the new_dnscache() function and moved it into dnscache().
Fixed a memory leak in dns_insert().
2001-08-29 03:57:51 +00:00
Robert James Kaes
9a61faa716
The logging levels _now_ output the correct information depending on where
...
the config file sets it.
2001-08-28 15:51:58 +00:00
Robert James Kaes
ee892c109b
Added an extra CRNL to the end of the HTML body.
2001-08-28 04:33:54 +00:00
Robert James Kaes
fd65072f1f
Changed the default stack size to 128 KB.
2001-08-28 04:33:21 +00:00
Robert James Kaes
f9d0fcd1a2
Moved the strip new line/carriage return from the end of a line into a
...
separate function.
2001-08-28 04:32:14 +00:00
Robert James Kaes
f7d0ea8784
Changed the MIME type to text/html rather than the incorrect text/mime.
2001-08-27 17:46:50 +00:00
Robert James Kaes
be9ce3ad26
Moved some of the includes around so that FreeBSD can compile correctly.
2001-08-27 17:46:20 +00:00
Robert James Kaes
e88c426966
Changed the default stack size since some OS's have a stack size which is
...
too small.
2001-08-27 17:45:50 +00:00
Robert James Kaes
bf7a671d87
Fixed a problem where the connect messages were not getting logged if the
...
log level was set to INFO.
2001-08-27 17:44:55 +00:00
Robert James Kaes
3b5e17d579
Split the headers from the message body. Also now include proper headers
...
like Date, Server, Content-Length, etc. Also, fixed the type for an error
message to be const char*.
2001-08-27 03:45:34 +00:00
Robert James Kaes
771425700d
Fixed a SEGV problem with invalid requests.
2001-08-27 03:44:22 +00:00
Robert James Kaes
cc70fc6f43
Fixed a problem with the new LOG_CONN log level.
2001-08-26 23:37:26 +00:00
Robert James Kaes
cebda5913d
Removed the config.anonymous entry since we've moved the information into
...
anonymous.c file.
2001-08-26 21:18:04 +00:00
Robert James Kaes
5530451545
Renamed versiondisp() to display_version() and added the PACKAGE, VERSION,
...
and TARGET_SYSTEM into the version list. Also moved the license into a
separate function. Renamed usagedisp() to display_usage(). Fixed a problem
where the anonymous search tree was being created _after_ it was being
accessed.
2001-08-26 21:17:30 +00:00
Robert James Kaes
7fe7ee2828
Fixed a problem where child threads would not be closed if they had been
...
created after the initial creation. Also fixed a problem where the status
of the threads were not going back to T_WAITING if MaxRequestsPerChild was
0.
2001-08-26 21:14:30 +00:00
Robert James Kaes
af10311eaf
Fixed a problem with the Anonymous filtering. Basically, anonymous
...
filtering was not working in the previous version.
2001-08-26 21:11:55 +00:00
Robert James Kaes
e5819ebe1c
Added the Connect log level.
2001-08-26 21:10:04 +00:00
Robert James Kaes
849345e88b
Removed the anon_new() function and moved it's functionality into
...
anonymous_insert(). Also renamed all the anon_* functions to anonymous_*
function.
2001-08-26 21:07:27 +00:00
Robert James Kaes
ace480bb65
Fixed the include order to better handle the sys/time.h and time.h
...
headers.
2001-06-06 19:33:26 +00:00
Robert James Kaes
ff97b38603
Explictly cast getpid() to a long int to remove the compiler warnings on
...
various machines.
2001-06-06 19:32:51 +00:00
Robert James Kaes
540e33000b
Changed the format type in the printf() to remove the compiler error (I
...
hope.)
2001-06-05 16:08:15 +00:00
Robert James Kaes
f43404aeef
Removed the DEFAULT_LOG, DEFAULT_PORT, and DEFAULT_USER directives since
...
these MUST be set in the configuration file.
2001-06-04 23:30:34 +00:00
Robert James Kaes
3dfc5e84cc
Fixed a type problem with fprintf in log_message() when logging the PID.
2001-06-02 03:38:02 +00:00
Robert James Kaes
e45c95fa97
LOG_EMERG doesn't exist anymore, so replace it with LOG_CRIT.
2001-06-02 03:10:34 +00:00
Robert James Kaes
a9720e85f6
Include LogLevel and it's settings into the grammar of the config file.
2001-06-02 03:10:09 +00:00
Robert James Kaes
2925b18412
Added the code for handling selective logging.
2001-06-02 03:09:27 +00:00
Robert James Kaes
0a5b82cd97
Fixed up the names of the DEFINES.
2001-06-02 02:07:34 +00:00
Robert James Kaes
5b11a1e2c9
Formating changes. Also, explictly close the client_fd when the
...
connections are destroyed.
2001-05-30 15:45:14 +00:00
Robert James Kaes
7febdd028c
Changed all references to log() to log_message().
2001-05-27 02:38:46 +00:00
Robert James Kaes
154a2e0880
Changed the references to log() to log_message(). Also changed some of the
...
data types for the variables.
2001-05-27 02:37:18 +00:00
Robert James Kaes
1cd4d6d440
Added code to stop the creation of core files.
...
Changed all references to log() to log_message().
2001-05-27 02:36:22 +00:00
Robert James Kaes
b242a2896e
Changed the thread_main() function to only deal with the connections per
...
thread if the user has actually requested it.
Also changed some of the data types for the variables.
2001-05-27 02:33:35 +00:00
Robert James Kaes
42b09e5441
Removed the SA define.
...
Made the sock_mutex static since it's not referenced outside the file.
Changed the data types for some of the variables.
Cleaned up the readline function (changed data types and removed
variables.)
2001-05-27 02:31:20 +00:00
Robert James Kaes
981adafb5d
Changed some of the types to Posix data types.
...
Changed any reference to log() to log_message().
Fixed a potential memory leak in process_method().
Removed redundant code and variables in relay_connection().
2001-05-27 02:29:06 +00:00
Robert James Kaes
91ba2103d1
Changed the reference from log() to log_message().
2001-05-27 02:26:53 +00:00
Robert James Kaes
f89272be35
Changed the log() function to log_message().
2001-05-27 02:26:11 +00:00
Robert James Kaes
627c88c736
Changed all the references to log() to log_message().
2001-05-27 02:25:21 +00:00
Robert James Kaes
69617f6d56
Just a bit of a cleanup. Nothing major.
2001-05-27 02:24:40 +00:00
Robert James Kaes
938b7e7f21
Fixed the return type for new_dnscache().
2001-05-27 02:24:00 +00:00
Robert James Kaes
23c08ca3ee
Changed the types for various variables. Some the functions had the
...
variable types changed as well.
2001-05-27 02:23:08 +00:00
Robert James Kaes
df52296674
Updated the return type for new_anonymous().
2001-05-27 02:21:37 +00:00
Robert James Kaes
bf477e9dff
Renamed the access member of struct acl_s to acl_access.
...
Changed some of the types for the various variables to better reflect what
they are actually being used for.
2001-05-27 02:20:54 +00:00
Robert James Kaes
d32e0d1ccb
Added ASSERT statements.
2001-05-23 18:01:23 +00:00
Robert James Kaes
86313eb6f5
Made the safefree() macro enabled all the time.
2001-05-23 18:00:54 +00:00
Robert James Kaes
b1d942c22a
Removed a debugging aid.
2001-05-23 17:59:53 +00:00
Robert James Kaes
3f8b219210
Removed a DEBUG line in the "can't happen" case.
2001-05-23 17:59:08 +00:00
Robert James Kaes
03ffa590b7
Just a formatting change.
2001-05-23 17:58:19 +00:00
Robert James Kaes
36d84f4bc1
Make the netmask static and include the asserts.
2001-05-23 17:57:22 +00:00
Robert James Kaes
fedbe888e8
Fixed a potential problem with not zeroing the number of connections when
...
the threads are emptied.
2001-05-23 17:56:35 +00:00
Robert James Kaes
93b201d23b
Fixed more potential overflow bugs.
2001-01-15 17:11:57 +00:00
Robert James Kaes
2f2d74e9f2
Fixed a potential security bug in http_err. There was a possibility of a
...
heap overflow exploit.
2001-01-15 17:06:19 +00:00
Robert James Kaes
cc704ae7a7
Fixed a bug where the ':' character was not being properly detected.
2001-01-02 19:30:40 +00:00
Robert James Kaes
d5467e404b
Implimented the MaxRequestsPerChild directive.
2000-12-09 02:35:30 +00:00
Robert James Kaes
0051208777
Fixed a problem with polling for the number of active threads. No longer
...
polls. :)
2000-12-08 03:35:07 +00:00
Robert James Kaes
068b0337c5
Fixed MACRO error.
2000-11-23 04:49:26 +00:00
Robert James Kaes
c01af94a1c
Fixed spelling mistake.
2000-11-23 04:46:48 +00:00
Robert James Kaes
b023ff577f
Changed the filter_host command to filter_url.
2000-11-23 04:46:25 +00:00
Robert James Kaes
b6c6939e0a
In the Key Found code, don't display the string in the debug code since it
...
doesn't exist anymore when we display it. Doh!
2000-10-23 21:46:38 +00:00
Robert James Kaes
1de608ec5c
Added the initialization section for the DNS and Anonymous sub systems.
2000-10-23 21:44:43 +00:00
Robert James Kaes
5a5c2adcd8
Added the new_anonymous initialize routine
2000-10-23 21:43:52 +00:00
Robert James Kaes
670fad4a41
Added the new_dnscache routine to initialize the Ternary tree. Also,
...
removed the garbage collection routine.
2000-10-23 21:42:31 +00:00
Robert James Kaes
91b7c55972
Fixed the insert function to handle a failed insert properly.
2000-09-26 04:59:48 +00:00
Robert James Kaes
ba5e5fc109
Added the TE_EXISTS return code, and cleaned up the ternary_destroy
...
function.
2000-09-26 04:59:20 +00:00
Robert James Kaes
a2c3e5ecc9
Moved the safefree() macro to the tinyproxy.h header.
2000-09-26 04:58:35 +00:00
Robert James Kaes
fd61e791b5
Updated the free() calls to the safefree() calls.
2000-09-26 04:57:46 +00:00
Robert James Kaes
8398c7337d
There is no LOG_EMERG level, so changed to LOG_CRIT.
2000-09-21 16:57:10 +00:00
Robert James Kaes
30f36f3aa6
Added the LOG_NOTICE level.
2000-09-21 16:53:51 +00:00
Robert James Kaes
1deed67e1f
These are generated by grammar.y and scanner.l respectively, don't include
...
them in the CVS.
2000-09-15 20:58:57 +00:00
Robert James Kaes
955eb4b966
Automatically generated file.
2000-09-15 20:57:08 +00:00
Robert James Kaes
0b7488babe
Don't include automatically generated files.
2000-09-15 20:55:29 +00:00
Robert James Kaes
d0b36a6673
Need to do a check for the <stdint.h> header since it's not a standard
...
header available on all systems.
2000-09-14 16:41:20 +00:00
Robert James Kaes
a5fbf4ea4b
Again, needed for configure script. Automatically built by ./reconf
2000-09-12 18:10:30 +00:00
Robert James Kaes
dc18c065b7
These all handle reading the tinyproxy configuration file.
2000-09-12 00:12:52 +00:00
Robert James Kaes
2b5c6be1d5
Generalized the ternary code which was already being used in anonymous.*
...
now it can be used (and is used) in both anonymous and dnscache
2000-09-12 00:10:28 +00:00
Robert James Kaes
de6f42d9fa
Improvied access control semantics. Allows for a finger control for
...
allowing and denying hosts.
2000-09-12 00:08:48 +00:00
Robert James Kaes
322a53eb56
tinyproxy now uses a pool of threads to handle connections. All the work
...
for creating new threads, deleting old thread, and generally managing the
pool is done here.
2000-09-12 00:07:44 +00:00
Robert James Kaes
bb32293415
This module handles the various stats relating to tinyproxy's
...
funcationality.
2000-09-12 00:06:09 +00:00
Robert James Kaes
392c97e3d1
MAJOR RE-WRITE! Read the ChangeLog and look at the source. It's shorter
...
than redocumenting the changes here. :)
2000-09-12 00:04:42 +00:00
Robert James Kaes
9f080da488
Fixed the change user/group ability.
...
Log when tinyproxy is using default values rather than specific ones.
Cleaned up the command line arguments since tinyproxy now uses a
configuration file.
Removed the USR1 signal and added the thread creation code.
2000-09-12 00:03:53 +00:00
Robert James Kaes
1efe0265de
Removed the xmalloc() and xstrdup() functions.
...
Added the pidfile_create() function.
Added the OpenBSD style strlcat() and strlcpy() functions.
2000-09-12 00:01:29 +00:00
Robert James Kaes
04fc081e6d
Switched to the new logging style and replaced the xmalloc() with straight
...
malloc().
2000-09-11 23:57:43 +00:00
Robert James Kaes
f6b7fe3f5c
Needed locking in getpeer_string().
...
Added mutex locking around the dnscache() call.
Removed the global sockaddr and setup_fd variables.
Added the socket_blocking() and socket_nonblocking() functions.
Gutted the readling() function and replaced it with something similar to
the 1.0 version. :)
2000-09-11 23:56:32 +00:00
Robert James Kaes
c0ff35dd22
Moved back to the <config.h> for autoconf defines.
2000-09-11 23:50:07 +00:00
Robert James Kaes
4f4f91f76f
Cleaned up the logging format, and also included logging levels (which are
...
similar to the syslogd format.)
2000-09-11 23:47:52 +00:00
Robert James Kaes
5d7063a79e
Not using <defines.h> for autoconf anymore, so move back to the <config.h>
...
format.
2000-09-11 23:46:42 +00:00
Robert James Kaes
f807f4b96c
Just using standard malloc() since the xmalloc() didn't really add
...
anything useful to the command.
2000-09-11 23:43:59 +00:00
Robert James Kaes
df030a075f
Removed the custom hash routines. Using the ternary module instead.
2000-09-11 23:42:43 +00:00
Robert James Kaes
b7f7599d76
Cleaned up the source so that the internal structure is no exposed by the
...
buffer.h header.
2000-09-11 23:41:32 +00:00
Robert James Kaes
55185db499
Removed the ternary tree code from these files and made it a separate
...
module.
2000-09-11 23:38:36 +00:00
Robert James Kaes
06281b7898
Modified to include all the files needed to build tinyproxy, plus the
...
special targets for building the LEX and YACC files. (Also included the
GNU license.)
2000-09-11 23:37:01 +00:00
Robert James Kaes
2d9d164034
These files are no longer used within tinyproxy.
2000-09-11 23:24:59 +00:00
Robert James Kaes
73b1ff1b1a
Reorganized (or added) the #include <sys/types.h> line so tinyproxy would
...
compile cleanly on FreeBSD systems.
2000-04-26 16:31:29 +00:00
Robert James Kaes
d0a05357a1
Fixed a bug with the path in clientreq. If the path was empty it caused a
...
malformed request to be sent.
2000-03-31 22:55:22 +00:00
Robert James Kaes
8a563800e4
Added a line for the anonymous.* files.
2000-03-31 20:14:45 +00:00
Robert James Kaes
b841f484aa
Changed the socket time out to 10 secs.
2000-03-31 20:14:26 +00:00
Robert James Kaes
dede5f36a8
Updated the anonheader function to use the new anonymous API. Removed the
...
hack for the POST method in clientreq.
2000-03-31 20:13:36 +00:00
Robert James Kaes
2562d28129
Completely rewrote the readline function.
2000-03-31 20:10:13 +00:00
Robert James Kaes
ae347fc87a
Added the working_* fields as a scratch pad for readline().
2000-03-31 20:09:19 +00:00
Robert James Kaes
0edeabbd63
Removed the allowedhdr_s structure since it is now accessed through
...
anonymous.*
2000-03-31 20:08:19 +00:00
Robert James Kaes
b1e97bd24f
Moved the anonymous header code into it's own file to make it easier to
...
update.
2000-03-31 19:56:55 +00:00
Robert James Kaes
477dacb5fa
Included the <sys/types.h> header.
2000-03-29 16:18:05 +00:00
Robert James Kaes
0d421b5c39
Fixed a bug with the clientreq function which was incorrectly setting the
...
clientheader flag and causing _all_ headers to be sent even in anonymous
mode.
2000-03-29 16:17:37 +00:00
Robert James Kaes
46076808fb
Fixed another NULL bug with the uri->authority. If an badly formed request
...
was made in the form of http:\\www.somewhere.com/ tinyproxy would SEGV.
This has been corrected.
2000-03-28 16:41:45 +00:00
Robert James Kaes
d222c7725b
Fixed a NULL pointer bug in clientreq. If the SCHEME in the URL was NULL
...
the program would SEGV. This was caused by the error logging code.
2000-03-28 16:19:12 +00:00
Robert James Kaes
c2ef08202b
Remove the defines for DEFAULT_* and UPSTREAM (they've been moved into
...
acconfig.h and configure).
2000-03-13 00:56:21 +00:00
Robert James Kaes
10317d6701
Included the changes needed to re-add the upstream proxy option.
2000-03-11 20:37:44 +00:00
Robert James Kaes
3d6ee12d89
Once again, these files are made automatically, don't include them.
2000-03-11 20:34:44 +00:00
Steven Young
37e63909c0
This commit was generated by cvs2svn to compensate for changes in r2,
...
which included commits to RCS files with non-trunk default branches.
2000-02-16 17:32:49 +00:00