summaryrefslogtreecommitdiffhomepage
path: root/src/log.c
AgeCommit message (Collapse)Author
2020-01-15access config via a pointer, not a hardcoded struct addressrofl0r
this is required so we can elegantly swap out an old config for a new one in the future and remove lots of boilerplate from config initialization code. unfortunately this is a quite intrusive change as the config struct was accessed in numerous places, but frankly it should have been done via a pointer right from the start. right now, we simply point to a static struct in main.c, so there shouldn't be any noticeable changes in behaviour.
2020-01-15log: remove special case code for daemonized mode without logfilerofl0r
if daemon mode is used and neither logfile nor syslog options specified, this is clearly a misconfiguration issue. don't try to be smart and work around that, so less global state information is required. also, this case is already checked for in main.c:334.
2020-01-15syslog: always use LOG_USER facilityrofl0r
LOG_DAEMON isn't specified in POSIX and the gratuitously different treatment is in the way of a planned cleanup.
2019-12-21log.c: protect logging facility with a mutexrofl0r
since the write syscall is used instead of stdio, accesses have been safe already, but it's better to use a mutex anyway to prevent out- of-order writes.
2018-02-25fix early loggingrofl0r
tinyproxy uses a curious mechanism to log those early messages that result from parsing the config file before the logging mechanism has been properly set up yet by finishing parsing of the config file: those early messages are written into a memory buffer and then are printed later on. this slipped my attention when making it possible to log to stdout in ccbbb81a.
2018-02-25make send_stored_logs staticrofl0r
2017-11-16log to stdout if no logfile specifiedrofl0r
some users want to run tinyproxy on an as-needed basis in a terminal, without setting it up permanently to run as a daemon/service. in such use case, it is very annoying that tinyproxy didn't have an option to log to stdout, so the user has to keep a second terminal open to `tail -f` the log. additionally, this precluded usage with runit service supervisor, which runs all services in foreground and creates logfiles from the service's stdout/stderr. since logging to stdout doesn't make sense when daemonized, now if no logfile is specified and daemon mode activated, a warning is printed to stderr once, and nothing is logged. the original idea was to fail with an error message, though some users might actually want to run tinyproxy as daemon and no logging at all.
2013-11-09[BB#109] Fix crash (infinite loop) when writing to log file fails.Michael Adam
Fall back to syslog logging in that case. Signed-off-by: Michael Adam <obnox@samba.org>
2013-11-09log: remove extra newline characters in log messages.Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2010-04-21Fix crash in send_stored_logs()Dmitry Semyonov
2010-02-19Use format string when logging messagesMukund Sivaraman
2010-01-17Do an openlog() on fallback to syslogMukund Sivaraman
2010-01-17Remove extra argument to log_message()Mukund Sivaraman
2010-01-17Remove ret variable as 0 is always returnedMukund Sivaraman
2010-01-17Remove unused labelMukund Sivaraman
2010-01-17log: when opening the log file fails, fall back to syslog logging.Michael Adam
2010-01-13log: turn tabs into spaces =)Michael Adam
Michael
2010-01-13log: change internal logic to choose syslog over file logging.Michael Adam
Now that there is always a log file set, we just check for syslog being set to TRUE and in that case use syslog logging, file logging otherwiese. Michael
2010-01-13log: remove a (now) useless fprintf in setup_logging.Michael Adam
Now that there is a default value for LogFile, the case that neither the log file name nor syslog is configured can not happen any more. Michael
2010-01-10log: remove an fprintf "not configured" error message in setup_logging().Michael Adam
Now that we exit early when !logging_initialized, this can actually not happen anymore anyways: When logging is initialized, it was also properly configured. Michael
2010-01-10log: shortcut return in shutdown_logging() if logging_initialized == falseMichael Adam
This does for instance happen at startup when logging has not yet been set up. Michael
2009-12-23log: confess - add my (C) after substantial changes.Michael Adam
Michael
2009-12-23log: remove unneeded truncate_log_file().Michael Adam
Michael
2009-12-23log: fix log_message so do only one write before the fsync.Michael Adam
This way the logging from the various child processes does not get clobbered up. Formerly, the different write portions (time stamp, message, newline) would get mixed from the various child processes' log messages. Michael
2009-12-23log: add start/end debug messages for "sending stored logs".Michael Adam
Michael
2009-12-23log: enhance close_log_file to reset logfile_fd to -1 after closingMichael Adam
Michael
2009-12-23log.c: remove superfluous uses of #ifdef HAVE_SYSLOG_HMichael Adam
When this code is hit, availability of syslog has already been checked (when reading the config file). So config.syslog == TRUE only when HAVE_SYSLOG_H is defined. So I remove the preprocessor checks which only clobber the logic and make the code harder to read (IMHO). Michael
2009-12-23log: call send_stored_logs in setup_logging instead of in main().Michael Adam
This is where it actually belongs. Michael
2009-12-23log: add boolean local variable logging_initialized.Michael Adam
This controls whether log_messages should write to the log file / syslog or rather to the log_message_storage. This will make the global processed_config_file variable from main unneccessary in the next step. Michael
2009-12-23log: add function shutdown_logging().Michael Adam
Michael
2009-12-07Move definition of "struct config_s" from main.h to conf.hMichael Adam
Michael
2009-11-14extract setup of the logging subsystem into a function of its own.Michael Adam
Signed-off-by: Michael Adam <obnox@samba.org>
2009-11-10intentation: convert a tab to spacesMichael Adam
Michael
2009-09-27Don't ignore retval of write() in log.cMukund Sivaraman
2009-09-27Don't ignore retval of ftruncate() in log.cMukund Sivaraman
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-07send_stored_logs(): remove an implicit cast warning.Michael Adam
Michael
2009-08-07send_stored_logs: fix signed/unsigned comparisonMichael Adam
Michael
2009-08-07log_message(): remove implicit cast warning.Michael Adam
Michael
2009-08-07log: make const char array const.Michael Adam
Michael
2009-08-07Rename tinyproxy.[ch] to main.[ch]Mukund Sivaraman
2009-08-04remove "discard const" compiler warnings with log_message().Michael Adam
Michael
2008-12-08Convert tabs to spacesMukund 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-24pos can never be less than 0 as it's of type size_tMukund Sivaraman
Also fix the type which is passed in from various places.
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.
2008-03-30Free entry_buffer or it'll be leakedMukund Sivaraman
vector_append() calls vector_insert() which makes a copy of the passed buffer, so the caller can free its buffer.
2008-03-30Fixed leaks of va_listsMukund Sivaraman
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.