summaryrefslogtreecommitdiffhomepage
path: root/src/child.c
AgeCommit message (Collapse)Author
2014-12-13BB#110 secure the hashmaps by adding a seedMichael Adam
Based on a patch provided by gpernot@praksys.org on bugzilla. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-23child: remove use of config.listen_addrs in child_listening_sockets()Michael Adam
This was accidentially used instead of the function parameter listen_addrs This still belongs to the fix for bug BB#63. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22child: check return code of socket_blocking for accept in child_mainMichael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-22child: Fix CID 1130966 - unchecked return value from libraryMichael Adam
check the return code of fcntl via socket_nonblocking on the listen sockets in child_main() Found by coverity. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09[BB#63] conf: Allow multiple Listen statements in the config.Michael Adam
This introduces a list (vector) of addresses instead of having just one address string. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09child: use a list of listen_fds instead of one single listenfd.Michael Adam
This prepares listenting on multiple sockets, which will be ussed to fix listening on the wildcard (listen on both ipv6 and ipv4) and help add the support for multiple Listen statements in the config Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09child: add addr argument to child_listening_sock().Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09sock: add addr argument to listen_sock()Michael Adam
instead of using config.ipAddr internally. This is in preparation to make it possible to call it for multiple addresses. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09sock/child: remove global variable addrlen.Michael Adam
This changes listen_sock() to not return the addrlen of the used address from getaddrinfo call to the caller, stored in global addrlen in child.c. This was only used to be able to allocate enough space for the arguments to the later accept call depending on whether IPv4 or IPv6 is used. This removes the need to pass this info by always allocating sizeof(struct sockaddr_storage) instead, which is enough to carry both sockaddr_in and sockaddr_in6. Signed-off-by: Michael Adam <obnox@samba.org>
2009-12-23Add warning comments to SIGHUP handlers, that we ignore the retrun code of ↵Michael Adam
reload_config(). This can actually fail, and we probably need some way to handle this. Like an emergency error exit or so... Michael
2009-12-23Don't truncate the log file in the SIGHUP handler.Michael Adam
Logging is re-initialized by reload_config() now. And truncation is wrong anyways: A syslog mechanism will move the current log file and the reopen-action will just create a new empty log file upon SIGHUP. Michael
2009-12-22reload config upon SIGHUPMichael Adam
Michael
2009-12-07Move definition of "struct config_s" from main.h to conf.hMichael Adam
Michael
2009-10-25propagate reload of filter file to child procs by sending HUP signalsMichael Adam
2009-10-25Change child_kill_children() to take the signal as an argument.Michael Adam
2009-10-25child: handle SIGHUP in the child by reloading the filter fileMichael Adam
2009-10-25use new filter_reload() in child_main_loop()Michael Adam
2009-09-15child: move log messagte in child_main_loop() to a less irritating place.Michael Adam
Michael
2009-09-15Indent code to Tinyproxy coding styleMukund Sivaraman
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-08-07Rename tinyproxy.[ch] to main.[ch]Mukund Sivaraman
2009-08-04child_pool_create(): add to explicit cats to reduce compiler warnings.Michael Adam
Michael
2009-08-04child: adapt child_config to contain unsigned integersMichael Adam
as just changed in get_int_arg. Michael
2009-08-04child: add explicit cast in child_main().Michael Adam
Michael
2008-12-08Convert tabs to spacesMukund Sivaraman
2008-12-08Break at 80 columnsMukund Sivaraman
2008-12-01Reformat code to GNU coding styleMukund Sivaraman
This is a commit which simply ran all C source code files through GNU indent. No other modifications were made.
2008-08-24Add more calls to umask() before mkstemp()Mukund Sivaraman
2008-05-24Updated copyright, license notices in source codeMukund Sivaraman
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.
2005-08-15* [Indent] Ran Source Through indentRobert James Kaes
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-07-12* Updated Copyright Email AddressesRobert James Kaes
Updated the copyright email addresses for Robert James Kaes. The users.sourceforge.net address should always exist.
2004-08-24Changed some of the variable types so that the code compiles cleanlyRobert James Kaes
on other operating systems. (Used cf.sourceforge.net as the test system for cross compiling.)
2004-08-10Merged in changes from 1.6.3Robert James Kaes
2004-02-13Removed unnecessary casts (mostly dealing with memory allocation.) IRobert James Kaes
should never have added them in the first place. They don't really buy anything, and they can hide bugs.
2003-08-07# Merged in changes from the stable 1.6 branch.Robert James Kaes
2003-07-31Added appropriate casts (void*) casts to allow the code to compileRobert James Kaes
cleanly using a C++ compiler. Changed the servers_waiting variable to an unsigned int, since the number of servers waiting can never be negative, and added an assert() to ensure this invariant.
2003-05-31# Changed all the for calls to use the != test rather than < test.Robert James Kaes
The change was recommended in the C/C++ User Journal magazine.
2003-04-16# Changed it again to this time use the TINYPROXY_DEBUG environmentRobert James Kaes
variable to determine whether to wait for a connection from GDB.
2003-04-16# The programmer is now made to _explicitly_ enable the GDB support inRobert James Kaes
the child handling function.
2003-03-13# (child_main): If this is a debugging build output the child processRobert James Kaes
ID and wait for 10 seconds so we have time to connect gdb to the child. This is needed if we want to use gdb against the child process.
2002-11-21(child_main): Cleaned up the notice string to be more clear why aRobert James Kaes
child is being closed.
2002-10-03(child_main): Check to make sure memory could be allocated to handleRobert James Kaes
the child request. (child_main_loop): Added a call to truncate_log_file() when the log file is to be rotated.
2002-06-27(child_make): Reset the various signals to the default signal handler so ↵Robert James Kaes
that the children can be properly destroyed.
2002-06-15(child_main_loop): Moved the filter re-initiation code into the loop. This ↵Robert James Kaes
code is activated whenever the SIGHUP signal is received.
2002-06-05(child_main): Added a DEBUG call to let me know which process has accepted a ↵Robert James Kaes
connection. This is needed for debugging using "gdb".
2002-05-29Changed the tests on the return value from malloc_shared_memory() to make ↵Robert James Kaes
tinyproxy more portable, since we can't be certain that "if (!ret_value)" would actually detect a mmap() error.
2002-05-26Changed from using a threading model to a standard pre-forked model.Robert James Kaes
Therefore the thread.c file has been removed and this file replaces it. These files are really just the thread.c and thread.h files with all the threading stuff replaced with fork() code. Most of the code is identical.