Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
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.
|
|
|
|
vector_append() calls vector_insert() which makes a copy
of the passed buffer, so the caller can free its buffer.
|
|
|
|
|
|
|
|
|
|
This was overriding the automake clean target to clean up
files like *.o by default.
|
|
|
|
|
|
|
|
|
|
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.
|
|
section is not enabled at compile time, it should not be included in the
object file.
|
|
added blank lines to group related directives.
|
|
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.
|
|
Added the list of tinyproxy typedefs to the indent command to have them
formatted correctly as well.
|
|
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.
|
|
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.
|
|
Updated the copyright email addresses for Robert James Kaes. The
users.sourceforge.net address should always exist.
|
|
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.
|
|
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.
|
|
RETSIGTYPE. This is portable, while simply using "void" is not.
|
|
|
|
calls. The code doesn't compile under gcc 2.95 otherwise. (I'm
surprised it compiles under gcc 3.3 without a problem.)
|
|
on other operating systems. (Used cf.sourceforge.net as the test
system for cross compiling.)
|
|
gcc 2.95.
|
|
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.
|
|
log file.
|
|
directives. Added a bunch of comments to clarify how the code works.
|
|
system. The grammar.y and scanner.l files still need to be removed.
|
|
required by tinyproxy.
|
|
conditionally compiled. Still need to add info messages for the
directives.
|
|
flex/bison based configuration system.
|
|
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.
|
|
unless explicitly allowed by a configuration directive.
|
|
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.
|
|
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.
|
|
it's no longer needed. Reorganized the function to make it more
obvious what was actually being done.
|
|
|
|
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.
|
|
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!)
|
|
looking at the CVS status information a little cleaner.
|
|
addresses.
|
|
- get_ip_string() converts a binary network address into either a
dotted-decimal IPv4 address, or a IPv6 hex-string
- full_inet_pton() converts a numeric character string into an IPv6
network address (binary form). It's like the system inet_pton()
function, but it will work with bot IPv4 and IPv6 character
strings.
These functions are required for the conversion to Internet protocol
independence. (Or to put it more clearly: allow tinyproxy to work in
an IPv6 network.)
|
|
should never have added them in the first place. They don't really
buy anything, and they can hide bugs.
|
|
string and return the port. I cleaned up and added error handling to
the code, but it's basically "alex"'s fix.
(extract_http_url): Rewrote this function to remove all the sscanf()
calls. It's much easier to just split on the path slash (if it's
present) and then strip the user name/password and port from the host
string. Less code, handles more cases!
|