Commit Graph

127 Commits

Author SHA1 Message Date
Marc André Tanner 3e9a3fdf4d Make socket directory location configurable via config.def.h
Introduce $ABDUCO_SOCKET_DIR environment variable to set a
default location.
2016-01-06 17:18:44 +01:00
Marc André Tanner 21dd6ad6b7 Update year in copyright clause 2016-01-03 12:07:57 +01:00
Marc André Tanner 7e4802e6c1 Update test suite to match new dvtm termination key sequence 2016-01-03 12:03:15 +01:00
Marc André Tanner 577ae6ae7a Slightly tweek communication protocol for -l option 2016-01-03 12:03:02 +01:00
Marc André Tanner 75dc9a52fa Update usage message to include -l option 2016-01-03 12:02:39 +01:00
Luke Clifton 1fcd6e4f44 Added -l option to move clients to the bottom of the stack.
This means it wont take control over the window size until
it is the last remaining one, unless another client connects
with the -l option set at a later time.
2016-01-02 20:01:03 +00:00
Marc André Tanner c0cb653e76 Properly indent shell commands in README to make markdown happy 2015-10-15 00:12:59 +02:00
Marc André Tanner a61e88767c Mention socat(1) as a way to provide read only sessions 2015-10-14 23:48:36 +02:00
Marc André Tanner 57e7acba69 Display more meaningful time in session list
Due to the stale session detection logic we will always access
the socket thus essentially printing the current time which
does not seem useful.
2015-08-09 10:36:47 +02:00
David Phillips e08d7acc3a Allow squashing of command line flags together 2015-08-07 17:01:47 +02:00
Marc André Tanner 15ae398ea5 Set sticky bit on socket
According to the XDG Base Directory Specification this should
prevent the file from being deleted by temporary cleanup
procedures.
2015-08-03 12:48:26 +02:00
Marc André Tanner 42962ff827 Cleanup socket directory creation code 2015-08-03 12:28:09 +02:00
Marc André Tanner 4ab9cb7fcc Fix display of status flags in session list 2015-07-30 12:20:41 +02:00
Marc André Tanner 64713a3219 Only delete stale sockets if they are sockets in the first place 2015-07-30 12:19:06 +02:00
Marc André Tanner 277f4d154d Improve detection and handling of stale sessions
With this it should be possible to create sessions for which a
dead left over socket still exists. Also the session list as
printed by abduco without any arguments will delete those stale
sockets.
2015-07-30 11:52:46 +02:00
Ross Mohn 91feaaa9f9 Fix strange behavior with abduco -A
Here are the steps:

1) Run 'abduco -A foo ping suckless.org'

2) Press 'CTRL+\' to detach

3) Run 'abduco -A foo' to reattach

4) Press 'CTRL+\' and it flashes the screen but does not detach

5) Press 'CTRL+\' a second time and it detaches this time

Here's what the output looks like:

    $ abduco -A foo ping suckless.org
    abduco: foo: detached
    $ abduco -A foo
    abduco: foo: detached
    abduco: foo: detached
    $

Also, oddly, I am only seeing this behavior on my Ubuntu Linux host, not
my AIX hosts.
2015-06-23 13:04:16 +02:00
Marc André Tanner 33a637bd2a Mention 0.4 release in README 2015-03-18 20:24:53 +01:00
Marc André Tanner 0377477f5b Set version to 0.4 2015-03-18 18:23:06 +01:00
Marc André Tanner f00e4f7a58 Reflect README renaming in Makefile 2015-03-18 17:49:28 +01:00
Marc André Tanner 159452c3c0 Change screencast url in README 2015-03-13 21:31:02 +01:00
Marc André Tanner abf647ba30 Remove old README 2015-03-13 21:26:49 +01:00
Marc André Tanner fcc5b743b2 Add new README.md 2015-03-13 21:26:22 +01:00
Marc André Tanner cefcaeb451 Update man page 2015-02-26 15:30:11 +01:00
Marc André Tanner ca60dc72f4 Improve -f handling
As an example -A -f should probably not create a new session
if the old one is still running.
2015-02-26 15:15:18 +01:00
Marc André Tanner e738f82956 Allow read only attaches to newly created sessions 2015-02-26 14:13:19 +01:00
Marc André Tanner ad1d370a48 Remove left over from -C flag 2015-02-26 14:12:47 +01:00
yy 0102cf840e Remove -C mode, in favour of a -f flag
that works with -c, -n or -A, which forces the creation of a
new session when there is an existing but already terminated
session of the same name.
2015-02-26 13:58:05 +01:00
Marc André Tanner 7962cb99f3 Cleanup socket creation 2015-02-25 23:27:44 +01:00
Marc André Tanner 2dd042f974 Fix access permissions on non-Linux systems
Create sockets in a per user directory with proper permissions
either in

 $HOME/.abduco/session-name

or if not possible in

 /tmp/abduco/$USER/session-name
2015-02-25 23:24:40 +01:00
Marc André Tanner 91b7338f9d Set socket creation permission in a portable way
fchmod(2) on a socket file descriptor is unspecified behaviour
which happens to work on Linux. Use umask(2) instead which should
affect the permissions used by bind(2).
2015-02-21 18:18:21 +01:00
Marc André Tanner af531f98ae Set version to 0.3 2015-02-19 17:49:02 +01:00
Marc André Tanner ad05af340a Change some year numbers to 2015 2015-02-19 17:46:05 +01:00
Marc André Tanner 81d934ea78 Makefile: do not append to $SRC instead set it 2015-02-19 09:42:10 +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 eef3b654d9 More error handling fixes 2015-02-17 00:02:06 +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 5c7f933dcc Fix file descriptor leakage #30724 2015-02-16 22:42:01 +01:00
Marc André Tanner 678c509f3d Revert "travis: try to run clang analyzer upon build time"
This reverts commit 4fa38bb62e.

Apparently scan-build isn't installed by default, therefore
something like the following would be needed:

 sudo add-apt-repository "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main"
 sudo add-apt-repository "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-${CLANG_VERSION} main"
 wget -q -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
 sudo apt-get update -qq
 sudo apt-get install -y -q clang-${CLANG_VERSION}
2015-02-16 22:13:00 +01:00
Marc André Tanner 4fa38bb62e travis: try to run clang analyzer upon build time 2015-02-15 10:30:04 +01:00
Marc André Tanner fd26003cce Cleanup config.mk, introduce $CPPFLAGS
$CPPFLAGS does only contain feature test macro defines, thus one
system which need different ones compilation should succeed with
something like:

 make CPPFLAGS= LIBS=-lc
2015-02-15 10:20:12 +01:00
Marc André Tanner 9eeb18bbfb Travis CI config 2015-02-14 10:22:28 +01:00
Marc André Tanner 8c9d2a1c46 Update testsuite to reflect terminal restoring changes 2014-12-22 13:32:42 +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 16d76139db Slight formatting change 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