Sync OpenBSD patchset 246:

Have the client pass its stdin fd to the server when identifying itself and
have the server use that rather than reopening the tty. If the fd isn't given,
use the old behaviour (so no need for a version change).

This allows tmux to be used as the shell, so also change so that when working
out the command to execute if default-command is empty (the default), tmux will
try not execute itself.
This commit is contained in:
Tiago Cunha
2009-08-14 21:23:20 +00:00
parent 0714e41148
commit e2a18894b3
5 changed files with 36 additions and 20 deletions

View File

@ -1,4 +1,4 @@
/* $Id: client.c,v 1.62 2009-08-14 21:04:04 tcunha Exp $ */
/* $Id: client.c,v 1.63 2009-08-14 21:23:20 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -123,7 +123,8 @@ server_started:
if (strlcpy(data.tty, name, sizeof data.tty) >= sizeof data.tty)
fatalx("ttyname failed");
client_write_server(cctx, MSG_IDENTIFY, &data, sizeof data);
imsg_compose(&cctx->ibuf, MSG_IDENTIFY,
PROTOCOL_VERSION, -1, STDIN_FILENO, &data, sizeof data);
}
return (0);