1184 Commits

Author SHA1 Message Date
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
0ac647ab98 Added missing ltmain.sh 2008-03-13 15:09:09 -07:00
Mukund Sivaraman
2db8c8f2d1 Added empty NEWS file that's required by autotools now 2008-03-13 15:07:47 -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
Mukund Sivaraman
e2ef2479d8 Renamed bootstrap to autogen.sh 2008-03-13 15:07:15 -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
bed712ffa7 Added the typecheck.m4 macro file to improve type checking support in
the configure.ac script.  The various typedefs are checked in a larger
collection of locations.
2005-08-16 14:22:39 +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
Robert James Kaes
a59117c7ca * Updated Copyright Email Addresses
Updated the copyright email addresses for Robert James Kaes.  The
users.sourceforge.net address should always exist.
2005-07-12 17:39:44 +00:00
Robert James Kaes
6042483a0e Removed the proxy-* headers from the list of headers to skip. Since
tinyproxy does not prompt for any proxy information from the client, it
should not be eating the proxy headers.  They are most likely needed by
an upstream proxy.
2005-07-06 21:44:08 +00:00
Robert James Kaes
51096e2944 * [1118363] Proxy reverse order of headers
Changed the internal implementation of the hashmap to maintain the
  insert order if the same key is repeated.  The insertion is still
  constant since we keep track of the head and tail of the bucket
  chain.
2005-05-03 20:34:54 +00:00
Robert James Kaes
bf172f9242 Replaced all the AC_ARG_ENABLE calls with calls to our own
TP_ARG_ENABLE macro.  Except for the transparent proxy option, all the
other options remain identical.  To enable transparent proxy support
use only --enable-transparent, rather than the old
--enable-transparent-proxy.
2004-08-24 18:43:17 +00:00
Robert James Kaes
7e91fdd975 Added config/argenable.m4 to the list of configuration files needed by
the autoconf system.
2004-08-24 18:41:18 +00:00
Robert James Kaes
7af47907be Initial checkin of the TP_ARG_ENABLE macro. This macro extends the
default AC_ARG_ENABLE macro to do better error checking of the input
values.
2004-08-24 18:40:21 +00:00
Robert James Kaes
ab270dc35c Moved the autoconf/automake configuration files into the config
directory, so inform autoconf of this (the AC_CONFIG_AUX_DIR and
AC_CONFIG_MACRO_DIR macros.)

Also added a bunch of portability tests discovered by autoscan.
2004-08-24 16:41:11 +00:00
Robert James Kaes
c3b2bf38e2 Moved all the autoconf/automake configuration information into the
config directory.
2004-08-24 16:39:29 +00:00
Robert James Kaes
893aed8eef Removed the "releases.txt" file from the distribution. It didn't
really add anything, so there's no point in having it.
2004-08-24 16:38:42 +00:00
Robert James Kaes
019b91c3f9 (takesig): Fixed the return type to use the autoconf defined
RETSIGTYPE.  This is portable, while simply using "void" is not.
2004-08-24 16:36:22 +00:00
Robert James Kaes
c446e19003 Added code to handle HTTP/0.9 simple GET requests. 2004-08-24 16:35:27 +00:00
Robert James Kaes
79d40a536a (get_bool_arg): Moved the initialization of "p" _before_ the assert()
calls.  The code doesn't compile under gcc 2.95 otherwise.  (I'm
surprised it compiles under gcc 3.3 without a problem.)
2004-08-24 16:34:22 +00:00
Robert James Kaes
35196f7d8e Changed some of the variable types so that the code compiles cleanly
on other operating systems.  (Used cf.sourceforge.net as the test
system for cross compiling.)
2004-08-24 16:33:00 +00:00
Robert James Kaes
d41260fe2d Fixed up the acl_s structure so that it compiles correctly under
gcc 2.95.
2004-08-24 16:31:45 +00:00
Robert James Kaes
337af524dd Bootstrap the autoconf system 2004-08-20 19:56:05 +00:00
Robert James Kaes
7b0f1fe562 Moved the configuration information into it's own directory to avoid
cluttering up the root directory.
2004-08-20 16:01:31 +00:00
Robert James Kaes
93fbb5ff49 Changed the calls to the config_compile() and config_parse()
functions.  Also, if the "logfile" directive is used, it will now
override use of the syslog system.  Added an error message if neither
is defined.
2004-08-14 03:21:28 +00:00
Robert James Kaes
5c02939533 (log_message): Added a fsync() call after each line outputted to the
log file.
2004-08-14 03:20:01 +00:00
Robert James Kaes
c5307363be Reorganized the source code. Added the missing reverse proxy
directives.  Added a bunch of comments to clarify how the code works.
2004-08-14 03:18:41 +00:00
Robert James Kaes
9f4323a562 Removed the last code relating to the old configuration parsing
system.  The grammar.y and scanner.l files still need to be removed.
2004-08-14 00:37:51 +00:00
Robert James Kaes
52562b49df Removed the grammar.y and scanner.l files from the list of files
required by tinyproxy.
2004-08-13 21:04:24 +00:00
Robert James Kaes
febb521bfd Added some error logging information for directives that are
conditionally compiled.  Still need to add info messages for the
directives.
2004-08-13 21:03:58 +00:00
Robert James Kaes
1d2e4fc2c3 Change the code to use the new config_parse() method rather than the
flex/bison based configuration system.
2004-08-13 21:03:11 +00:00
Robert James Kaes
9d04667848 Added the new configuration parsing system (conffile.c and
conffile.h.)  The new system is intended to replace the existing
grammar.y and scanner.l files.  I don't want to depend on flex/bison
any longer.
2004-08-13 20:19:50 +00:00
Robert James Kaes
b3943c21f2 (check_allowed_connect_ports): By default DENY any CONNECT requests
unless explicitly allowed by a configuration directive.
2004-08-12 20:15:04 +00:00
Robert James Kaes
28dd133623 (add_xtinyproxy_header): Removed the runtime error checking of the
connptr->server_fd variable and moved it into an assert since we
should never be called with invalid data.  Also made the function an
inline function since it's only called in one place.
2004-08-12 19:57:15 +00:00
Robert James Kaes
924da17c17 Completely rewrote the ACL functionality. The new system is intended
to handle IPv6 style addresses along with the existing IPv4 and string
addresses.  In addition, the hand-rolled "list" code has been replaced
with a vector (code reuse.)  Also, the code should be a little easier
to understand (relatively speaking.)

I do need to add some kind of testing framework (in general) to check
that the new code does work with all the formats that will be thrown
at it.
2004-08-11 20:09:20 +00:00
Robert James Kaes
fd4b67bbb4 (strip_username_password): Removed one of the pointer variables since
it's no longer needed.  Reorganized the function to make it more
obvious what was actually being done.
2004-08-11 02:49:05 +00:00
Robert James Kaes
badc7673d0 Merged in changes from 1.6.3 2004-08-10 21:24:24 +00:00
Robert James Kaes
18df4910a4 Added the "BindSame" configure directive from Oswald Buddenhagen.
This allows tinyproxy to respond to a request bound to the same
interface that the request came in on.  As Oswald explains:

  "attached is a patch that adds the BindSame option. it causes
  binding an outgoing connection to the ip address of the respective
  incoming connection. that way one can simulate an entire proxy farm
  with a single instance of tinyproxy on a multi-homed machine."

Cool.
2004-04-27 18:53:14 +00:00
Robert James Kaes
3b961ec66b (init_stats): Fixed a memset bug, where the structure was not cleared
properly.  (The sizeof "struct stat" was being used rather than the
proper "struct stat_s".  On my system, "struct stat" is 88 bytes long,
while "struct stat_s" is 20 bytes long.  Quite a difference!)
2004-04-27 18:48:53 +00:00