Commit Graph

54 Commits

Author SHA1 Message Date
Marc André Tanner ad05af340a Change some year numbers to 2015 2015-02-19 17:46:05 +01:00
Marc André Tanner 64920e5977 Simplify maximum socket name length check 2015-02-17 22:49:14 +01:00
Marc André Tanner 98ac772a97 Set packet length to zero on error case 2015-02-17 22:49:14 +01:00
Marc André Tanner f02c3fc3c0 Fix validation creteria 2015-02-17 00:34:44 +01:00
Marc André Tanner bd3dcba548 Validate packet size before sending/receiving 2015-02-17 00:20:38 +01:00
Marc André Tanner e4a6b01fdc Make error handling more robust 2015-02-16 23:40:25 +01:00
Marc André Tanner d1a44a9c1a Check return value of open(2) #30720 2015-02-16 22:54:32 +01:00
Marc André Tanner bb7c859b5f Also NUL terminate string in error case #30714 2015-02-16 22:44:29 +01:00
Marc André Tanner 76bae5939f Improve terminal restoring
Instead of simply moving the cursor to the bottom of the screen
use the alternate screen buffer i.e. the smcup/rmcup capabilities.

This is currently hardcoded to the xterm originated \e[?1047{h,l}
sequence. I also patched dvtm to support these.
2014-12-22 13:32:42 +01:00
David 1946d8387a Added -C option
for collection of exit status and creation of new session in one go
2014-12-22 13:32:42 +01:00
Marc André Tanner 0a94807d60 Better error message in case session name is too long 2014-12-22 13:32:41 +01:00
Marc André Tanner 3cfa99a031 Decouple socket path lookup logic 2014-12-22 13:23:26 +01:00
Jason Swank d4a74a23d7 Allows abduco to compile on DragonFly BSD 2014-12-09 19:46:46 +01:00
Brandon Mulcahy 5ac6537927 Use more descriptive execvp error message 2014-11-10 13:48:52 +01:00
Marc André Tanner eabb140a38 Use _POSIX_C_SOURCE and _XOPEN_SOURCE instead of _GNU_SOURCE 2014-10-16 21:24:51 +02:00
Marc André Tanner 5b503c838f Set _GNU_SOURCE in config.mk 2014-10-16 21:20:02 +02:00
Marc André Tanner 35117affb9 Correct function definitions without parameters 2014-10-10 20:43:06 +02:00
Ross Mohn 9e6490da33 AIX support 2014-09-26 21:07:32 +02:00
Marc André Tanner ef36456177 Do not display hostname suffix in session listing
Trying to attach to an existing session with its hostname does not
work, therefore avoid confusion and do not display it.
2014-09-08 21:03:10 +02:00
Marc André Tanner b2f2dc810d Suffix session names with '@hostname' 2014-09-08 19:39:46 +02:00
Marc André Tanner b722e48f55 Simplify Solaris detection 2014-07-08 23:00:39 +02:00
Marc André Tanner 119d7c8bca Add Solaris support 2014-07-07 22:46:14 +02:00
Marc André Tanner d23c9982c7 Avoid usage of non-ISO-standard escape sequences 2014-07-07 20:20:46 +02:00
Marc André Tanner 7b95d5b65e Only list sockets in session list 2014-06-30 15:02:00 +02:00
Marc André Tanner 9e29a968d8 Fix race condition on command execution
There are now two different pipes used for synchronization purposes.
2014-06-24 10:50:10 +02:00
Marc André Tanner 77db580a63 Remove trailing white spaces 2014-06-20 13:29:37 +02:00
Marc André Tanner ba2e6a4248 Try to find a socket directory where bind(2) succeeds 2014-06-20 12:35:17 +02:00
Marc André Tanner 76bbea220b Pass correct window size to underlying application 2014-06-19 10:30:03 +02:00
Marc André Tanner 54c1dbddb2 Mark zombie sessions with '+' symbol
These are sessions which have no clients connected but their underlying
command already terminated.
2014-06-18 14:28:31 +02:00
Marc André Tanner a7e13911c5 Fix -n mode: do not wait for clients to connect 2014-06-18 13:24:59 +02:00
Marc André Tanner 3e4485642b Do not start server main loop if execvp(3) failed 2014-06-18 13:24:56 +02:00
Marc André Tanner eccf9fd16e Introduce read only sessions (-r option)
Based on a patch from Lars Kellogg-Stedman.
2014-03-22 17:27:59 +01:00
Marc André Tanner 1fbc4690e5 Remove unused code 2014-03-22 00:25:57 +01:00
Marc André Tanner 15169cda58 Use STDIN_FILENO instead of 0 2014-03-21 23:08:42 +01:00
Marc André Tanner 6000bc6240 Request screen size if most recently connected client disconnects 2014-03-21 21:57:50 +01:00
Marc André Tanner a99e46fd23 Simplify I/O handling 2014-03-21 20:40:55 +01:00
Lars Kellogg-Stedman 6bd887dc96 Use ISO 8601 date format in list_session
Avoid confusion between US/European date formats.
2014-03-12 12:53:05 +01:00
Marc André Tanner f9f7eb63af Restore terminal before printing info messages 2014-03-08 20:03:11 +01:00
Marc André Tanner 463db77274 Execute $ABDUCO_CMD or dvtm if no command is given 2014-03-07 19:53:25 +01:00
Marc André Tanner 6a99af6d1e Fix support for relative socket paths
The server is invoking chdir("/") thus the relative paths became
meaningless.

Maybe realpath(3) with NULL as second argument should be used instead.
2014-03-07 18:57:37 +01:00
Marc André Tanner 3a14718bb7 Respect $TMPDIR when creating sockets 2014-03-07 18:41:34 +01:00
Marc André Tanner a3700092cb Mark the socket executable if clients are connected 2014-03-06 22:24:38 +01:00
Marc André Tanner 5dbe797f0c Remove useless code 2014-03-06 18:54:45 +01:00
Marc André Tanner 37a2a9d946 Send info messages to stderr 2014-03-06 18:50:41 +01:00
Marc André Tanner a76088e0c0 Prefix info messages with session name 2014-03-06 18:34:41 +01:00
Marc André Tanner f7a3290c9c Recreate server socket upon receiving SIGUSR1 2014-03-06 17:19:10 +01:00
Marc André Tanner 006c93a9d1 Send exit status back to client 2014-02-27 23:47:48 +01:00
Marc André Tanner ed4f1ecdcd Use the same packet structure for both ways of the client server communiction
This is slightly less efficient than before but allows the server
to send different types of messages not only output data to the
client.
2014-02-26 21:13:18 +01:00
Marc André Tanner c14b9c9173 Unlink socket when server is killed 2014-02-25 23:36:02 +01:00
Marc André Tanner fcaf5368fa Use more appropriate types 2014-02-25 22:03:55 +01:00