summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog834
1 files changed, 383 insertions, 451 deletions
diff --git a/ChangeLog b/ChangeLog
index abcbed7..2e4a85b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,546 +1,478 @@
-2001-01-15 Robert James Kaes <rjkaes@flarenet.com>
+2001-01-15 12:13 rjkaes
- * src/reqs.c (process_method): A potential stack overflow bug fixed.
- Though, I do not actually think a stack overflow could have occurred
- in this case. Better safe than sorry.
+ * configure.in: Bumped up the pre version number
- * src/stats.c (showstats): Another potential heap overflow bug fixed.
+2001-01-15 12:11 rjkaes
- * src/utils.c (httperr): A heap overflow bug fixed.
+ * ChangeLog, src/reqs.c, src/stats.c: Fixed more potential overflow
+ bugs.
-2000-12-07 Robert James Kaes <rjkaes@flarenet.com>
+2001-01-15 12:06 rjkaes
- * src/thread.c (thread_main_loop): Removed all the weird timing
- code which was used to monitor the number of threads in use.
+ * ChangeLog, src/utils.c: Fixed a potential security bug in
+ http_err. There was a possibility of a heap overflow exploit.
- * src/tinyproxy.c (main): The thread count is now checked once a
- second, and can be killed properly.
+2001-01-02 14:30 rjkaes
-2000-10-23 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/dnscache.c (new_dnscache): Creates a new DNS tree. Called
- before any other DNS requests.
-
- * src/dnscache.c (dnscache): Removed the garbage collection
- routine since I haven't figured out how to delete the tree without
- causing a SEGFAULT. Ugh.
+ * src/scanner.l: Fixed a bug where the ':' character was not being
+ properly detected.
- * src/anonymous.c (new_anonymous): Create a new Anonymous tree.
+2000-12-09 15:03 rjkaes
- * src/tinyproxy.c (main): Initialize the DNS and Anonymous
- subsytems.
+ * configure.in: Rolling out the first pre to 1.4.0
-2000-09-25 Robert James Kaes <rjkaes@flarenet.com>
+2000-12-08 21:35 rjkaes
- * src/dnscache.c (dns_insert): If the insert fails, delete the
- allocated memory. No more memory leak.
+ * src/thread.c: Implimented the MaxRequestsPerChild directive.
- * src/ternary.c (ternary_insert): Return an error if the key is
- already in the tree.
+2000-12-07 22:35 rjkaes
-2000-09-21 Robert James Kaes <rjkaes@flarenet.com>
+ * ChangeLog: Updated changelog
- * src/log.c: Added the LOG_NOTICE level for more important than
- LOG_INFO messages.
+2000-12-07 22:35 rjkaes
-2000-09-14 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: thread.c, tinyproxy.c: Fixed a problem with polling for the
+ number of active threads. No longer polls. :)
- * configure.in:
- * src/tinyproxy.h: Check for the <stdint.h> header.
+2000-11-22 23:49 rjkaes
-2000-08-23 Robert James Kaes <rjkaes@flarenet.com>
+ * src/ternary.c: Fixed MACRO error.
- * src/utils.c (pidfile_create): Improved the security of this
- function. Prevents cracker abuse of the pid file creation.
+2000-11-22 23:46 rjkaes
- * sec/ternary.c: Overhauled to improve the robustness of the code.
- Prevents people from effecting the internal system from outside
- the official API. I think this is a good example of how all the
- functions should be coded. It is a little more complex, but it
- handles "problems" much better.
+ * src/tinyproxy.c: Fixed spelling mistake.
-2000-08-21 Robert James Kaes <rjkaes@flarenet.com>
+2000-11-22 23:46 rjkaes
- * src/utils.c (strlcat)
- * src/utils.c (strlcpy): Added these two functions which take their
- API from the OpenBSD versions. Replaces strncpy/strncat.
+ * src/: filter.c, filter.h, reqs.c: Changed the filter_host command
+ to filter_url.
-2000-08-17 Robert James Kaes <rjkaes@flarenet.com>
+2000-10-23 17:47 rjkaes
- * src/ternary.c: Added a ternary tree module to replace the uses
- of hashes in the source. There _were_ two different hash methods
- before, which have been replaced with this general purpose module.
-
-2000-08-12 Robert James Kaes <rjkaes@flarenet.com>
+ * ChangeLog: Updated Information.
- * src/log.c (log): Removed the static variables by changing them to
- automatic.
+2000-10-23 17:46 rjkaes
-2000-08-03 Robert James Kaes <rjkaes@flarenet.com>
+ * src/ternary.c: 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!
- * doc/tinyproxy.8: Updated the manual documentation to match what
- tinyproxy actually does. :)
+2000-10-23 17:44 rjkaes
- * src/grammar.y: Finished handling the various config keywords.
+ * src/tinyproxy.c: Added the initialization section for the DNS and
+ Anonymous sub systems.
-2000-08-02 Robert James Kaes <rjkaes@flarenet.com>
+2000-10-23 17:43 rjkaes
- * src/tinyproxy.c (main): Fixed the change user/group ability.
+ * src/: anonymous.c, anonymous.h: Added the new_anonymous
+ initialize routine
-2000-07-31 Robert James Kaes <rjkaes@flarenet.com>
+2000-10-23 17:42 rjkaes
- * src/reqs.c (process_method): Trying to change to a 1.1 compliant
- browser. So, the Host header is set and sent. Also, tinyproxy doesn't
- handle persistent connections, so tinyproxy needs to send the
- Connection: close header.
+ * src/: dnscache.c, dnscache.h: Added the new_dnscache routine to
+ initialize the Ternary tree. Also, removed the garbage collection
+ routine.
-2000-07-30 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-26 01:00 rjkaes
- * src/thread.c (thread_main_loop): Added in the controls for handling
- the creating and destruction of threads based on their numbers.
- This is used for load control. Adjust MaxSpareServers, MinSpareServers,
- and MaxClients.
+ * ChangeLog: Updated documentation.
-2000-07-29 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-26 00:59 rjkaes
- * src/acl.c: Added the ACL control system. This is much more advanced
- then the simple one IP address test. Read doc/tinyproxy.conf for
- more information.
+ * src/dnscache.c: Fixed the insert function to handle a failed
+ insert properly.
-2000-07-22 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-26 00:59 rjkaes
- * src/log.h: Paired down the logging levels and provided a
- description for each level. Please try to be consistent with
- these. Also, added the two DEBUG?() function macros for use with
- debugging.
+ * src/: ternary.c, ternary.h: Added the TE_EXISTS return code, and
+ cleaned up the ternary_destroy function.
- * src/thread.c (thread_pool_create): Make sure we don't try to start
- more than MaxClients servers.
+2000-09-26 00:58 rjkaes
- * src/tinyproxy.c (main): Log when tinyproxy is using default
- values rather than specified ones.
+ * src/: tinyproxy.h, utils.h: Moved the safefree() macro to the
+ tinyproxy.h header.
- * src/reqs.c (relay_connection): Fixed a few difftime() problems
- where the two arguments were being reversed.
- (relay_connection): Added logging to handle if an Idle Timeout
- occured on a connection.
+2000-09-26 00:57 rjkaes
-2000-07-19 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: acl.c, reqs.c: Updated the free() calls to the safefree()
+ calls.
- * src/tinyproxy.c (main): Cleaned up the command line arguments
- since we now have a configuration file. See grammar.y and
- scanner.l for more information.
- (versiondisp): Moved the version information out of usagedisp().
+2000-09-21 12:58 rjkaes
-2000-07-11 Robert James Kaes <rjkaes@flarenet.com>
+ * ChangeLog: Updated documentation.
- * src/utils.c (pidfile_create): Moved from tinyproxy.c
+2000-09-21 12:57 rjkaes
- * src/thread.c: Moved all the thread creation code into a seperate
- file.
+ * src/tinyproxy.c: There is no LOG_EMERG level, so changed to
+ LOG_CRIT.
-2000-07-10 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-21 12:53 rjkaes
- * src/tinyproxy.c (pidfile_create): All the process to write it's
- PID to the specified file.
- (thread_main, thread_make): Instread of creating a new thread on
- each connection, we now have a pool of threads. Right now the pool
- is hard coded, but I'd like to have a system similar to Apache
- where the pool can change as demand changes.
+ * src/: log.c, log.h: Added the LOG_NOTICE level.
- * src/sock.c (getpeer_string): Needed to add locking around the call
- to gethostbyname(). Could use gethostbyname_r() but I can't find a
- consistent definition for the function.
+2000-09-15 16:58 rjkaes
-2000-07-03 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: grammar.c, grammar.h, scanner.c: These are generated by
+ grammar.y and scanner.l respectively, don't include them in the
+ CVS.
- * src/reqs.c (safe_write): Added safe_write so that EINTR errors
- would be handled correctly when trying to write on a blocking
- socket. Non blocking is already handled in the writebuff function.
- (safe_read): Matched pair for safe_write(). Same reason.
- (pull_client_data): Removed the malloc of the length, and switched
- to a fixed buffer. This prevents a DoS where the client specifies
- a HUGE buffer and exhausted memory.
+2000-09-15 16:57 rjkaes
-2000-07-01 Robert James Kaes <rjkaes@flarenet.com>
+ * src/stamp-h.in: Automatically generated file.
- * src/reqs.c: Added the ability for sheding connections due to high
- system load.
+2000-09-15 16:55 rjkaes
- * src/buffer.c (readbuff): Now you can not have a buffer larger
- than MAXBUFFSIZE. The read() function will attempt to read in
- MAXBUFFSIZE - buffer_size().
+ * src/Makefile.in, doc/Makefile.in: Don't include automatically
+ generated files.
- * src/tinyproxy.h (MAXBUFFSIZE): This is the main control for all
- the buffers in tinyproxy. Currently it is set to 48K since that is
- nicely divisable by 2 and 3. The key is by 3 since this give
- you 16K which is more than enough for a header line.
+2000-09-15 16:53 rjkaes
- * src/stats.c: New file to handle the statistic functions. Needed
- since with multiple threads, there has to be some locking around
- any changes to the values. Moved the showstats() function here from
- utils.c since logically it should be with the other stats routines.
+ * install-sh, missing, mkinstalldirs: Don't included automatically
+ generated files.
- * src/tinyproxy.c (main): Removed the USR1 signal since
- LinuxThreads on a libc5 system needs the USR1 and USR2 for internal
- processing. This means the USR1 signal dump stats is removed.
+2000-09-15 16:52 rjkaes
- * src/reqs.c (handle_connection): Log incoming connections here so
- that the information is logged even if we are doing an upstream
- relay.
+ * Makefile.in, config.guess, config.sub, configure: Flipping again.
+ :) Don't include any of the automatically generated stuff.
- * src/tinyproxy.h: Moved all the common header files here to help
- remove the clutter from all the other source files. Removed the
- references to client_header and server_header from struct conn_s
- since they are no longer used.
+2000-09-14 12:41 rjkaes
- * src/reqs.c (validuser): Had the test for a valid user in reverse.
- Fixed.
+ * ChangeLog, configure.in, src/tinyproxy.h: Need to do a check for
+ the <stdint.h> header since it's not a standard header available on
+ all systems.
- * src/tinyproxy.c (main): Moved the getreqs() function back into
- the main function.
+2000-09-12 14:10 rjkaes
-2000-06-30 Robert James Kaes <rjkaes@flarenet.com>
+ * Makefile.in, doc/Makefile.in, src/Makefile.in: Again, needed for
+ configure script. Automatically built by ./reconf
- * src/dnscache.c (dnscache): Added back the garbage collection
- phase of the DNS caching system. Also, cleaned up the source so
- only dnscache() is exposed to the rest of the system.
+2000-09-11 20:45 rjkaes
- * src/buffer.c: Moved the structure definitions into src/buffer.c
- from src/buffer.h. Removed *_buffer() functions. Made buffer_size()
- a function so the structure definition does not need to be included
- in the header. Removed the references to working_string and
- working_length in struct buffer_s since it is no longer needed.
-
- * configure.in: Added the checks for various "standard" data types.
- Cleaned up the source, and fixed a problem with SOCKs support.
+ * config.guess, config.sub: Needed for running configure.
+ Automatically built with reconf
- * acinclude.m4: Added the AC_UNP_CHECK_TYPE macro from
- Unix Network Programming, W. Richard Stevens.
-
- * src/reqs.c (handle_connection): Added the UPSTREAM_PROXY code
- back into tinyproxy. It uses GOTOs, but it doesn't create spaghetti
- code, at least it better not! :)
+2000-09-11 20:43 rjkaes
- * src/utils.h:
- * src/utils.c: Removed the xmalloc and xstrdup functions since they
- really did not add anything to the standard malloc and strdup
- functions.
+ * configure: Can be made from configure.in (and should be), but I
+ want to be able to check out the source and immediately configure
+ it.
- * (all) Went through and removed all the references to xmalloc and
- xstrdup. Still need to add the error checking to all these calls
- though.
+2000-09-11 20:22 rjkaes
-2000-06-29 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/sock.c (opensock): Added mutex locking around the call to
- dnscache since I don't want more than one thread to be adding to
- the linked list.
+ * doc/tinyproxy.conf: Example tinyproxy configuration file.
- * configure.in: moved the tests for USE_PROC, UPTIME_PATH,
- DEFAULT_CUTOFFLOAD, DEFAULT_STATHOST from src/config.h
+2000-09-11 20:21 rjkaes
- * src/tinyproxy.c: Moved the LOAD_RECALCTIMER define from
- src/config.h
+ * ChangeLog: We all know what this is. :)
- * src/reqs.c (handle_method, process_server_headers,
- handle_connection):
- Handle simple and HTTP/0.9 requests properly.
+2000-09-11 20:20 rjkaes
- * src/buffer.h: Changed the default MAXBUFFSIZE to 24 KB.
+ * acinclude.m4: A M4 macro for finding the various types on the
+ system (typedefs, etc.)
-2000-06-28 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-11 20:18 rjkaes
- * src/sock.c (listen_sock): This replaces the init_listen_sock
- function and removed the global sockaddr and setup_fd variables.
+ * Makefile.am, acconfig.h, configure.in: New defaults, and better
+ checking for various features needed by tinyproxy. Looks like fun!
+ :)
- * src/tinyproxy.c (getreqs): Not at all like the old function by the
- same name. This just blocks on accept for new connections and then
- creates a new thread for each connection.
+2000-09-11 20:16 rjkaes
- * src/tinyproxy.h: Moved the struct conn_s into this header so
- we can completely remove the src/conns.h and src/conns.c files as
- they are no longer needed.
+ * AUTHORS, BUGS, INSTALL, README, THANKS: Just updating the
+ documentation.
- * src/reqs.c (process_server_headers): Handle server headers
- separately from relay_connection since we'll need to be able to read
- them in the future if we want to support caching.
- (process_client_headers): Check for the Content-Length header. If
- it is present then we need to read in all the client's data before
- we can process any server headers or send back an error message.
- (pull_client_header): Read in Content-Length number of bytes from
- the client.
+2000-09-11 20:12 rjkaes
-2000-06-27 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/sock.c (socket_blocking, socket_nonblocking): Added the
- functions since we need to selectively change a socket's state as
- the program runs.
- (opensock): Removed the call for making the socket nonblocking since
- it should only be switched into nonblocking when it's absolutely
- needed.
+ * src/: grammar.c, grammar.h, grammar.y, scanner.c, scanner.l:
+ These all handle reading the tinyproxy configuration file.
- * src/buffer.c (readbuff, writebuff): Added tests at the beginning of
- the functions to return if the limits on the buffer size have been
- exceeded. Maybe this should be an assert instead, since these
- functions should not be called with exceeded limits.
+2000-09-11 20:10 rjkaes
- * src/config.h: Moved this to ./config.h instead. Updated the source
- to reflect this change.
+ * src/: ternary.c, ternary.h: Generalized the ternary code which
+ was already being used in anonymous.* now it can be used (and is
+ used) in both anonymous and dnscache
- * src/log.c: Added logging levels which are duplicates of the syslog
- levels. Helps to make the logfile a little easier to parse. This
- also means all the calls to log(...) needed to be changed to
- log(level, ...)
+2000-09-11 20:08 rjkaes
-2000-06-26 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: acl.c, acl.h: Improvied access control semantics. Allows
+ for a finger control for allowing and denying hosts.
- * src/sock.c (readline): Completely gutted the function and replaced
- it with a simpler function which is very similar to the original
- function back in version 1.0. :) We can reuse this function again
- since the sockets are now blocking again.
+2000-09-11 20:07 rjkaes
-2000-06-22 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: thread.c, thread.h: 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.
- * src/reqs.c: A _MASSIVE_ rewrite of the whole connection process.
- The old state machine is now gone. Each new connection is now a
- separate thread. This allows the sockets to be blocking most of
- the time, which made the rest of the functions a lot easier to
- code. Some functions have been renamed and a bunch are new. The
- changes are really too numerous to list, but the main idea is that
- there is a separate function to handle each part of a connection and
- the non-blocking code is only needed in the relay_connection
- function. Take a look at the code, it's a lot easier to understand
- now.
+2000-09-11 20:06 rjkaes
-2000-06-21 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: stats.c, stats.h: This module handles the various stats
+ relating to tinyproxy's funcationality.
- * src/dnscache.h:
- * src/dnscache.c: Renamed the functions lookup and insert to
- dns_lookup and dns_insert.
- (dns_lookup): Cleaned up the code to make it more streamlined.
+2000-09-11 20:04 rjkaes
+ * src/: reqs.c, reqs.h: MAJOR RE-WRITE! Read the ChangeLog and look
+ at the source. It's shorter than redocumenting the changes here. :)
-2000-06-06 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-11 20:03 rjkaes
- * fixed the links in doc/tinyproxy.8 for locating tinyproxy to
- point to the new location at SourceForge.net. Thanks to Simon Baker
- for pointing this out.
+ * src/: tinyproxy.c, tinyproxy.h: 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-04-26 Robert James Kaes <rjkaes@flarenet.com>
+2000-09-11 20:01 rjkaes
- * src/uri.c: Added the #include <sys/types.h> for compatibility
- with FreeBSD.
+ * src/: utils.c, utils.h: Removed the xmalloc() and xstrdup()
+ functions. Added the pidfile_create() function. Added the OpenBSD
+ style strlcat() and strlcpy() functions.
- * src/dnscache.c: Moved the #include <sys/types.h> above the
- #include <sys/socket.h> reference for compatibility with FreeBSD.
+2000-09-11 19:57 rjkaes
-2000-03-31 Robert James Kaes <rjkaes@flarenet.com>
+ * src/: uri.c, uri.h: Switched to the new logging style and
+ replaced the xmalloc() with straight malloc().
- * src/reqs.c (clientreq): Removed the hack for POST methods with
- regard to anonymous access.
- (clientreq): fixed a bug with the request line. If the PATH was
- empty, it would send an malformed request to the server. This is
- checked now and if the path is empty, a "/" is used instread.
+2000-09-11 19:56 rjkaes
+
+ * src/: sock.c, sock.h: 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 19:50 rjkaes
+
+ * src/regexp.h: Moved back to the <config.h> for autoconf defines.
+
+2000-09-11 19:47 rjkaes
+
+ * src/: log.c, log.h: Cleaned up the logging format, and also
+ included logging levels (which are similar to the syslogd format.)
+
+2000-09-11 19:46 rjkaes
+
+ * src/gnuregex.c: Not using <defines.h> for autoconf anymore, so
+ move back to the <config.h> format.
+
+2000-09-11 19:43 rjkaes
+
+ * src/: filter.c, filter.h: Just using standard malloc() since the
+ xmalloc() didn't really add anything useful to the command.
+
+2000-09-11 19:42 rjkaes
+
+ * src/: dnscache.c, dnscache.h: Removed the custom hash routines.
+ Using the ternary module instead.
+
+2000-09-11 19:41 rjkaes
+
+ * src/: buffer.c, buffer.h: Cleaned up the source so that the
+ internal structure is no exposed by the buffer.h header.
+
+2000-09-11 19:38 rjkaes
+
+ * src/: anonymous.c, anonymous.h: Removed the ternary tree code
+ from these files and made it a separate module.
+
+2000-09-11 19:37 rjkaes
+
+ * src/Makefile.am: 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 19:33 rjkaes
+
+ * doc/tinyproxy.8: Since the tinyproxy program has changed, the
+ manual had to change as well. Documents all the command line
+ arguments, though I think I need to document the configuration file
+ as well.
+
+2000-09-11 19:32 rjkaes
+
+ * doc/: Makefile.am, TODO: Updated to reflect the new reality of
+ the tinyproxy source code.
+
+2000-09-11 19:31 rjkaes
+
+ * doc/CONFIG: This was the layout for the purposed config file.
+ This is no more.
+
+2000-09-11 19:27 rjkaes
+
+ * INSTALL.configure: This was the generic INSTALL file, but the
+ INSTALL file itself is again the generic file. :)
+
+2000-09-11 19:24 rjkaes
+
+ * src/: config.h, conns.c, conns.h: These files are no longer used
+ within tinyproxy.
+
+2000-06-06 13:58 rjkaes
+
+ * ChangeLog: Reflect changes made in source.
+
+2000-06-06 13:56 rjkaes
+
+ * doc/tinyproxy.8: Fixed the links for finding tinyproxy. Thanks to
+ Simon Baker for pointing this out.
+
+2000-04-26 12:31 rjkaes
+
+ * ChangeLog, src/dnscache.c, src/uri.c: Reorganized (or added) the
+ #include <sys/types.h> line so tinyproxy would compile cleanly on
+ FreeBSD systems.
+
+2000-03-31 17:55 rjkaes
+
+ * ChangeLog, src/reqs.c: Fixed a bug with the path in clientreq. If
+ the path was empty it caused a malformed request to be sent.
+
+2000-03-31 15:15 rjkaes
+
+ * ChangeLog: A whole whack of changes and bug fixes.
+
+2000-03-31 15:14 rjkaes
+
+ * src/Makefile.am: Added a line for the anonymous.* files.
+
+2000-03-31 15:14 rjkaes
+
+ * src/config.h: Changed the socket time out to 10 secs.
+
+2000-03-31 15:13 rjkaes
+
+ * src/reqs.c: Updated the anonheader function to use the new
+ anonymous API. Removed the hack for the POST method in clientreq.
+
+2000-03-31 15:10 rjkaes
+
+ * src/sock.c: Completely rewrote the readline function.
+
+2000-03-31 15:09 rjkaes
+
+ * src/: buffer.c, buffer.h: Added the working_* fields as a scratch
+ pad for readline().
+
+2000-03-31 15:08 rjkaes
+
+ * src/: tinyproxy.c, tinyproxy.h: Removed the allowedhdr_s
+ structure since it is now accessed through anonymous.*
+
+2000-03-31 14:56 rjkaes
+
+ * src/: anonymous.c, anonymous.h: Moved the anonymous header code
+ into it's own file to make it easier to update.
+
+2000-03-29 11:19 rjkaes
+
+ * ChangeLog: Updated to list changes in src/reqs.c and
+ src/dnscache.c
+
+2000-03-29 11:18 rjkaes
+
+ * src/dnscache.c: Included the <sys/types.h> header.
+
+2000-03-29 11:17 rjkaes
+
+ * src/reqs.c: 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-28 11:44 rjkaes
+
+ * ChangeLog: Updated ChangeLog entry for new fix.
+
+2000-03-28 11:41 rjkaes
+
+ * src/reqs.c: 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 11:21 rjkaes
+
+ * ChangeLog: Updated to reflect changes in src/reqs.c
+
+2000-03-28 11:19 rjkaes
+
+ * src/reqs.c: 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-12 19:56 rjkaes
+
+ * src/config.h: Remove the defines for DEFAULT_* and UPSTREAM
+ (they've been moved into acconfig.h and configure).
+
+2000-03-12 19:55 rjkaes
+
+ * ChangeLog: List all the changes which has occured on the program.
+
+2000-03-11 15:43 rjkaes
+
+ * acconfig.h: Added the support for the upstream proxy and also
+ made the defaults for the LOGFILE, USER, and PORT.
+
+2000-03-11 15:37 rjkaes
+
+ * src/: dnscache.c, reqs.c, tinyproxy.c, tinyproxy.h: Included the
+ changes needed to re-add the upstream proxy option.
+
+2000-03-11 15:36 rjkaes
+
+ * doc/tinyproxy.8: Updated the manual to reflect all the options,
+ plus provide additional information concerning the changes made to
+ some of the options.
+
+2000-03-11 15:35 rjkaes
+
+ * configure.in: Re-ordered some of the arguments. Included the
+ support for the Upstream Proxy.
+
+2000-03-11 15:34 rjkaes
+
+ * src/: Makefile.in, defines.h.in: Once again, these files are made
+ automatically, don't include them.
+
+2000-03-11 15:33 rjkaes
+
+ * doc/Makefile.in: Again, the file is generated automatically, so
+ don't include it.
+
+2000-03-11 15:32 rjkaes
+
+ * Makefile.in, aclocal.m4, configure: These files are generated by
+ reconf, so don't include them in the CVS.
+
+2000-02-16 12:32 sdyoung
+
+ * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
+ NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
+ acconfig.h, configure, configure.in, install-sh, missing,
+ mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
+ src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
+ src/buffer.h, src/config.h, src/conns.c, src/conns.h,
+ src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
+ src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
+ src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
+ doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
+ src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
+ doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
+ Initial revision
+
+2000-02-16 12:32 sdyoung
+
+ * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, Makefile.in,
+ NEWS, README, THANKS, aclocal.m4, BUGS, INSTALL.configure,
+ acconfig.h, configure, configure.in, install-sh, missing,
+ mkinstalldirs, reconf, src/Makefile.am, src/Makefile.in,
+ src/defines.h.in, src/stamp-h.in, src/filter.c, src/buffer.c,
+ src/buffer.h, src/config.h, src/conns.c, src/conns.h,
+ src/dnscache.c, src/dnscache.h, src/gnuregex.c, src/log.c,
+ src/log.h, src/reqs.c, src/reqs.h, src/sock.c, src/sock.h,
+ src/tinyproxy.c, src/tinyproxy.h, src/uri.c, doc/Makefile.am,
+ doc/Makefile.in, doc/TODO, src/filter.h, src/gnuregex.h,
+ src/regexp.h, src/uri.h, src/utils.c, src/utils.h, doc/CONFIG,
+ doc/HTTP_ERROR_CODES, doc/RFC_INFO, doc/report.sh, doc/tinyproxy.8:
+ Initial CVS checking of tinyproxy - version 1.3.2.
- * src/config.h (SOCK_TIMEOUT): Increased the time out to 10
- seconds.
-
- * src/buffer.c (new_buffer): Additional initialization code for
- new elements of the buffer_s structure.
- (delete_buffer): Code to delete the working_* fields.
-
- * src/buffer.h: Added the working_string and working_length method
- for use as a scratch pad in the readline function.
-
- * src/sock.c (readline): A major rewrite of this routine. Lines of
- text are now built incrementally with a new scratch pad built into
- the buffer.
-
-2000-03-30 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/Makefile.am (tinyproxy_SOURCES): include the line for the
- anonymous.* files.
-
- * src/tinyproxy.h: removed all references to struct allowed_hdrs.
-
- * src/tinyproxy.c (main): removed all the old anonymous code, and
- added a test for the anonymous code so the Content-Type and
- Content-Length headers are allowed to pass through if the
- anonymous mode is turned on. This is needed for POSTs to work.
-
- * src/reqs.c (anonheader): removed all the code which used the old
- method of anonymous headers and replaced it using the new API.
-
- * src/anonymous.h:
- * src/anonymous.c: Moved the anonymous header code into it's own
- sections with a well defined API. Internally it uses a Ternary
- Search Tree.
-
-2000-03-29 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/dnscache.c: added the <sys/types.h> header.
-
- * src/reqs.c (clientreq): fixed a problem with the anonymous
- headers. There was a test for the POST line since we have to send
- all headers at the moment to handle that (actually, that might not
- be true anymore...), but the test was incorrect and would send all
- the headers through on all requests. Fixed the test and now only
- the selected headers are sent.
-
-2000-03-28 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/reqs.c (clientreq): Fixed a bug which would cause a SEGV if
- the scheme was NULL. The cause was the error logging code to
- report an invalid scheme. Fixed another bug with the
- uri->authority. If a request in the form of
- http:\\www.somewhere.com/ was entered, tinyproxy would SEGV.
-
-2000-03-12 Robert James Kaes <rjkaes@flarenet.com>
-
- * src/tinyproxy.c: include the upstream command line option. Also,
- re-organized the help to have the options in be in alphabetical
- order.
-
- * src/reqs.c: include the code for handling the upstream proxy.
-
- * src/dnscache.c: removed an assert from lookup so that it can be
- used as method to simply verify if a domain name is already in the
- cache.
-
- * src/config.h: removed the defines dealing with DEFAULT_* and
- UPSTREAM declarations.
-
- * doc/tinyproxy.8: expanded the manual to include all the
- command line options. Also, organized the options in alphabetical
- order.
-
- * acconfig.h: fixed the defines for DEFAULT_LOG, DEFAULT_PORT,
- and DEFAULT_USER to have real default values.
-
- * configure.in: include support for upstream proxies with
- the --enable-upstream option. Also, fixed the AC_MSG_CHECKING
- functions to include better wording.
-
-1.3.2 2000/02/15
- - Fixed null requests bug.
- - Fixed fd leak bug.
- - Fixed connptr bug.
- - Updated docs.
-
-1.3.1 1999/12/21
- - made the dns cache hashing algorithm case-insensitive.
- - fixed a bug in log() that would cause it to dump garbage to
- the log file when in unrestricted mode.
- - this is an interim release to fix the above log() bug.
-
-1.3.0 1999/12/01
- - autoconf enabled the source tree and moved some of the
- documentation files into the proper locations. Also, added any
- files which were needed to conform with the GNU autoconf directory
- structure.
- - Changed the debugging code to use asserts(). I don't know if I'm
- completely happy with this. One the one hand it shrinks the size
- of the executable, but on the other, it doesn't handle weird
- situations in production code. It's still a toss up.
- - Did a major reorganization of the source tree. The biggest
- change is moving a lot of code from reqs.c into more appropriate
- files.
- - ANON mode is now always compiled in (since it doesn't take up
- that much space) and is enabled from the command line.
- - Changed the states a connection can be in, and also merged both
- sockets (server/client) into one structure. Makes the code a lot
- cleaner.
- - Added a DNS caching mechanism. What happens it that a hash of
- previously looked up names is maintained, so additional host names
- will not need to be fetched from the DNS server again. Helps on
- most web pages, which have a lot of images from the same server.
- - Removed the global error variable (tinyerr) by making the
- functions more consistent with what they return for an error.
- - Removed the global.* files and merged them back into the
- tinyproxy.* source.
- - Added bug fixes in reqs.c to handle bad servers, which do not
- follow the basic RFC protocol (i.e. using just a LF instead of a
- CRLF).
- - Most of reqs.c has been changed to use the readline
- function. Also, it has been organized around the new connection
- states and connection structure.
- - xstrstr can now be both case sensitive or insensitive. Also,
- added a check to make sure the haystack is longer than the needle.
-
-1.2.10 1999/08/20
- - Found a memory free bug in the buffer code, and also, a bug in
- allocating memory for the buffer. Both could be fatal. One leaked
- memory, and the other could allow all memory to be exhausted. Both
- are now fixed.
- - Reorganized some of the code. Moved global variables into the
- proper files. Should help to eliminate them altogether someday.
- - Shaun Johnson fixed a problem with compiling with syslog enabled
- on a SunOS box.
-
-1.2.9 1999/08/17
- - Changed the writebuff to more explicitly be designed to write
- from the other connection's buffer. A connection reads into it's
- own buffer, but write's the other connection's buffer.
- - You can now specify a particular IP address to listen on. By
- default, tinyproxy listens on all IP addresses.
-
-1.2.8.1 1999/08/13 (Internal release)
- - Improved the portability by removing the daemon call and
- removing the calls to index().
- - added the buffer.* source into the CVS tree.
-
-1.2.8 1999/08/06
- - Better logging of incoming connections. Now both the IP address
- and the requested URL are logged.
- - You can now specify that only a certain subnet is allowed to
- access tinyproxy. Currently it only supports one subnet with
- matching against a string with the IP address.
- - a bunch of just general code clean up. Mostly stylistic stuff.
-
-1.2.7 1999/07/28
- - Incoming connections are now logged to the log file/syslog
- - An "XTinyproxy" header can now sent with each request which
- includes the IP address of the client.
- - Fixed some of the size of the members in the structures.
- - Fixed an argument problem in listen_sock which was using the
- size of the wrong variable.
-
-1.2.6 1999/06/05
- - Added the ability to send the HTTP requests to a proxy
- server running on a different machine (or even the same
- machine if you like)
- - Fixed a bug in the clientreq() routine which would choke on
- requests in the form of GET http://www.url.com HTTP/1.0 (thanks
- to Bruno Viaris <viaris@galilee.univ-paris13.fr> for pointing
- out the bug and providing the initial fix.)
-
-1.2.5 1999/05/21
- - Now maintained by Robert James Kaes (rjkaes@flarenet.com)
- - Non-blocking sockets
- - Cleaned up the style, and code. Compiles cleanly with -Wall
- - Logs to syslogd with -S command line argument
- - Rewrote the clientreq routine to remove tonnes of code
- - Removed unused routines (rstrtolower, xstrndup, readline, etc.)
- - Moved the user configurable options into config.h
-
-1.1 1998/09/15
- - Load average monitoring added
- - Remote proxy monitoring added
- - Added -u (change user).
-
-1.0d
- - ANON mode now supports -a to let user-specified headers
- through
- - various bug fixes in readline()
-
-1.0c
- - Support for ANON mode
-
-1.0b
- - Cleaned up exit codes (now uses sysexits.h)
- - Uses daemon() from -lbsf instead of daemonize()
- - Now supports ports other than 80
-
-1.0a
- - Created by Steven Young (sdyoung@well.com)