2007-09-21 * ptybuffer.c (do_check): resource leakage fixed: Option -c forgot to close the socket. 2007-09-18 * ptybufferconnect.c (ignore_fn): added, should work now as expected 2007-09-06 * script/autostart.sh: "start"-message now is send to STDERR too, so you can redirect STDOUT to /dev/null to suppress the "ok" messages to cron. 2007-08-29 * ptybufferconnect.c (out_fn): bugfix: Send to stdout, not stdin * ptybuffer.c (connect_process): found where the buggy lines from ptybuffer_new_fd must be put. And fixed the bug in main where the wrong variable length (int instead of long) was passed to getopt (thus the variable was not initialized correctly). (main): option -k added and option -i implemented (connect_process): option -i and -k implemented (send_to_pty): added (code moved from connect_process) * TODO (BUGs): added * ptybufferconnect.c (main): option -i added * ptybuffer.c (connect_process): bugfix: min was int, not long long as needed. Long running ptybuffers (more than 2 billion IO operations) thus were not able to output any data to the socket and eat up 100% CPU. (ptybuffer_new_fd): I am really not sure what I wanted to do with this lines I now disabled. buf->screenpos must be initialized to 0 to print the history buffer overrun lines correctly. However it was initizlized to a negative value by these lines if there were less than history_tail lines in the buffer. Perhaps an overrun issue or forgotten buggy code before the skipped infoblocks were printed? Problem showed up on 64 bit platforms first, I am really puzzled why not before. 2007-08-25 * Makefile.tino (DISTCLEAN): cleans for php/ test socket 2007-08-24 * php/.htaccess, php/sock/.htaccess: added * php/index.html, php/inp.php, php/out.php, php/startshell.sh: added * test/stress.sh: Option -p and -o added for tests and names of intermediate files changed * ptybuffer.c (main): timstamp option added (actually it was already there, but the option was missing) (file_timestamp): logging changed, on option -o only prefix with date and time, not a ':' 2007-06-01 * ptybuffer.c (main): outfile - and logfile - now do work again. (main): SIGPIPE now is ignored globally, lools like the previous change (form 2007-04-29) was complete crap .. (file_open): logfile and outfile are no more written if no filename is given on commandline. As - works again, you log/output to stderr/stdout again. (file_log): Now has no sideffects on errno. Errno must not be changed by the (new) error logging of the accept() call. 2007-04-29 * ptybuffer.c (parent): SIGPIPE blocking moved here (I do not remember why I needed this, perhaps it was just to be sure). (main): When the child returns, SIGCHLD is delivered to the process immediately. 2007-04-19 * ptybuffer.c (file_out): removed deprecated cast of lvalue (there are things which are hard to explain if you don't know what this is). 2007-04-07 * script/autostart.sh: Typo corrected (startd -> started) * script/autostart.sh (PATH): added in case it's used from cron 2007-03-31 * script/autostart.sh (for): Forgot to change echo into log 2007-03-26 * script/autostart.sh (log): added better logging (RUNDIR): in Shell && does not bind tighter than ||, fixed * ptybuffer.c (main, file_timestamp): pid reset to show correct PID after forks (file_timestamp): output corrrected to what it ought to be (main): logfile paths are now logged (in case realpath fails) 2007-02-26 * ptybuffer.c (file_open, file_flush_close, file_timestamp): added (file_out): timestamping added 2006-12-02 * ptybuffer.c (master_process, log_childstatus): logging made more clear 2006-11-11 * ptybuffer.c (main): realpath added to logfile and outfile. 2006-08-11 * ptybuffer.c: dirty.h removed, so changed all occurences of "dirty" names to the full name. (main): renamed HISTORY_LENGTH to PTYBUFFER_HISTORY_LENGTH (main): typo corrected which always gave "missing command" if option -c was not present. (daemonloop): now return void 2006-07-26 * ptybuffer.c (ptybuffer_new_fd, main): history_tail added (option -t) (main): options check (-c) and force (-f) added 2006-04-12 * ptybuffer.c (daemonloop): A little typo (wrong cb function) make ptybuffer segfault. This shows that the abstraction level of tino/sock.h is not high enough yet. 2006-01-30 * ptybuffer.c (main, daemonloop, master_process): option -n hist 2005-06-04 * ptybuffer.c (connect_process): snprintf instead of sprintf 2004-11-12 * ptybuffer.c (main): SIGSEV corrected (main): more logging added and output clarified 2004-10-01 * ptybuffer.c (main): A lot of more options added. (file_out, file_log): Added logging at various places. 2004-09-20 * test.sh: set added, to see new environment variable PTYBUFFER_PID * ptybuffer.c: Option -d disabled daemonization, such that you can easily run programs under ptybuffer from /etc/inittab or similar. (master_process): Minor Bugfix (found at code review): When not all data could be delivered to the terminal at once, some data might have hung in ptybuffer until the next data block to the terminal was ready. This bug is likely to trigger only if you transfer huge amounts of data to the terminal, which usually is not done. (main): put the current PID of ptybuffer into the environment as PTYBUFFER_PID, such that child processes know how to send signals there. 2004-05-23 * ptybuffer.c (main): cd / (sock_process, master_process, deamonloop): on close the socket is destroyed and freed, so I cannot check against the file descriptor. Close-handling corrected. 2004-05-22 * ptybuffer.c: ECHO_SEND now is no more the default (it's stupid, "stty echo" and "stty -echo" are much better). 2004-05-21 * stress.sh: Well, there is a strange bug. The stress.sh script only loops less than 1000 times. Looking why. Note that you need my "accept" to be reachable in path to use the stress script. Weird. I cannot prove the problem under RedHat 9 on my 466 MHz Celeron develop machine. However on one of my fast SuSE 9 servers it segfaults within seconds. Oh well, thanks to gdb, I see .. it's a memory issue, realloc cores, sigh. OK, setting environment variable MALLOC_CHECK_=1 shows that I have some serious memory corruption, hunting down .. Found with -lefence. * ptybuffer.c (master_process): on CLOSE we need to close the master, not free the user pointer. Just cosmetic, as when the master closes everything will terminate anyway. * ChangeLog: started