mirror of
https://github.com/tmate-io/tmate-ssh-server.git
synced 2020-11-18 19:53:51 -08:00
Merge branch 'obsd-master'
This commit is contained in:
commit
07aef38591
2
format.c
2
format.c
@ -712,6 +712,8 @@ format_defaults_client(struct format_tree *ft, struct client *c)
|
|||||||
format_add(ft, "client_tty", "%s", c->tty.path);
|
format_add(ft, "client_tty", "%s", c->tty.path);
|
||||||
if (c->tty.termname != NULL)
|
if (c->tty.termname != NULL)
|
||||||
format_add(ft, "client_termname", "%s", c->tty.termname);
|
format_add(ft, "client_termname", "%s", c->tty.termname);
|
||||||
|
format_add(ft, "client_control_mode", "%d",
|
||||||
|
!!(c->flags & CLIENT_CONTROL));
|
||||||
|
|
||||||
t = c->creation_time.tv_sec;
|
t = c->creation_time.tv_sec;
|
||||||
format_add(ft, "client_created", "%lld", (long long) t);
|
format_add(ft, "client_created", "%lld", (long long) t);
|
||||||
|
@ -95,6 +95,8 @@ server_client_create(int fd)
|
|||||||
|
|
||||||
environ_init(&c->environ);
|
environ_init(&c->environ);
|
||||||
|
|
||||||
|
c->cwd = -1;
|
||||||
|
|
||||||
c->cmdq = cmdq_new(c);
|
c->cmdq = cmdq_new(c);
|
||||||
c->cmdq->client_exit = 1;
|
c->cmdq->client_exit = 1;
|
||||||
|
|
||||||
@ -1267,12 +1269,11 @@ server_client_msg_identify(struct client *c, struct imsg *imsg)
|
|||||||
|
|
||||||
if (c->fd == -1)
|
if (c->fd == -1)
|
||||||
return;
|
return;
|
||||||
if (!isatty(c->fd)) {
|
if (tty_init(&c->tty, c, c->fd, c->term) != 0) {
|
||||||
close(c->fd);
|
close(c->fd);
|
||||||
c->fd = -1;
|
c->fd = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
tty_init(&c->tty, c, c->fd, c->term);
|
|
||||||
if (c->flags & CLIENT_UTF8)
|
if (c->flags & CLIENT_UTF8)
|
||||||
c->tty.flags |= TTY_UTF8;
|
c->tty.flags |= TTY_UTF8;
|
||||||
if (c->flags & CLIENT_256COLOURS)
|
if (c->flags & CLIENT_256COLOURS)
|
||||||
|
1
tmux.1
1
tmux.1
@ -3362,6 +3362,7 @@ The following variables are available, where appropriate:
|
|||||||
.It Li "client_activity_string" Ta "" Ta "String time client last had activity"
|
.It Li "client_activity_string" Ta "" Ta "String time client last had activity"
|
||||||
.It Li "client_created" Ta "" Ta "Integer time client created"
|
.It Li "client_created" Ta "" Ta "Integer time client created"
|
||||||
.It Li "client_created_string" Ta "" Ta "String time client created"
|
.It Li "client_created_string" Ta "" Ta "String time client created"
|
||||||
|
.It Li "client_control_mode" Ta "" Ta "1 if client is in control mode"
|
||||||
.It Li "client_height" Ta "" Ta "Height of client"
|
.It Li "client_height" Ta "" Ta "Height of client"
|
||||||
.It Li "client_last_session" Ta "" Ta "Name of the client's last session"
|
.It Li "client_last_session" Ta "" Ta "Name of the client's last session"
|
||||||
.It Li "client_pid" Ta "" Ta "PID of client process"
|
.It Li "client_pid" Ta "" Ta "PID of client process"
|
||||||
|
2
tmux.h
2
tmux.h
@ -1604,7 +1604,7 @@ void tty_putcode_ptr2(struct tty *, enum tty_code_code, const void *,
|
|||||||
void tty_puts(struct tty *, const char *);
|
void tty_puts(struct tty *, const char *);
|
||||||
void tty_putc(struct tty *, u_char);
|
void tty_putc(struct tty *, u_char);
|
||||||
void tty_putn(struct tty *, const void *, size_t, u_int);
|
void tty_putn(struct tty *, const void *, size_t, u_int);
|
||||||
void tty_init(struct tty *, struct client *, int, char *);
|
int tty_init(struct tty *, struct client *, int, char *);
|
||||||
int tty_resize(struct tty *);
|
int tty_resize(struct tty *);
|
||||||
int tty_set_size(struct tty *, u_int, u_int);
|
int tty_set_size(struct tty *, u_int, u_int);
|
||||||
void tty_set_class(struct tty *, u_int);
|
void tty_set_class(struct tty *, u_int);
|
||||||
|
9
tty.c
9
tty.c
@ -59,11 +59,14 @@ void tty_default_colours(struct grid_cell *, const struct window_pane *);
|
|||||||
#define tty_pane_full_width(tty, ctx) \
|
#define tty_pane_full_width(tty, ctx) \
|
||||||
((ctx)->xoff == 0 && screen_size_x((ctx)->wp->screen) >= (tty)->sx)
|
((ctx)->xoff == 0 && screen_size_x((ctx)->wp->screen) >= (tty)->sx)
|
||||||
|
|
||||||
void
|
int
|
||||||
tty_init(struct tty *tty, struct client *c, int fd, char *term)
|
tty_init(struct tty *tty, struct client *c, int fd, char *term)
|
||||||
{
|
{
|
||||||
char *path;
|
char *path;
|
||||||
|
|
||||||
|
if (!isatty(fd))
|
||||||
|
return (-1);
|
||||||
|
|
||||||
memset(tty, 0, sizeof *tty);
|
memset(tty, 0, sizeof *tty);
|
||||||
tty->log_fd = -1;
|
tty->log_fd = -1;
|
||||||
|
|
||||||
@ -75,13 +78,15 @@ tty_init(struct tty *tty, struct client *c, int fd, char *term)
|
|||||||
tty->client = c;
|
tty->client = c;
|
||||||
|
|
||||||
if ((path = ttyname(fd)) == NULL)
|
if ((path = ttyname(fd)) == NULL)
|
||||||
fatalx("ttyname failed");
|
return (-1);
|
||||||
tty->path = xstrdup(path);
|
tty->path = xstrdup(path);
|
||||||
tty->cstyle = 0;
|
tty->cstyle = 0;
|
||||||
tty->ccolour = xstrdup("");
|
tty->ccolour = xstrdup("");
|
||||||
|
|
||||||
tty->flags = 0;
|
tty->flags = 0;
|
||||||
tty->term_flags = 0;
|
tty->term_flags = 0;
|
||||||
|
|
||||||
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user