From 9c45f61585125f125ed407a1803852991f466a0b Mon Sep 17 00:00:00 2001 From: Nicolas Viennot Date: Wed, 10 Apr 2019 08:56:37 -0400 Subject: [PATCH] Rename: tmate-slave -> tmate-ssh-server --- .gitignore | 2 +- Dockerfile | 12 ++++----- Makefile.am | 46 +++++++++++++++++------------------ README.md | 2 +- monitor/monitor.rb | 2 +- tmate-slave.c => tmate-main.c | 22 ++++++++--------- tmate-slave | 1 + tmate-ssh-server.c | 2 +- tmate.h | 4 +-- 9 files changed, 47 insertions(+), 46 deletions(-) rename tmate-slave.c => tmate-main.c (94%) create mode 120000 tmate-slave diff --git a/.gitignore b/.gitignore index 4436298f..05876df9 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ Makefile Makefile.in configure keys/ -tmate-slave +tmate-ssh-server cscope.* tags tmux.1.* diff --git a/Dockerfile b/Dockerfile index 1c9b1387..5a4122fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -# tmate-slave, see https://tmate.io/ +# tmate-ssh-server, see https://tmate.io/ # # Example usage: # # docker run --privileged --rm -i -p 22:22 \ # -v /etc/tmate/keys:/daemon-keys \ # -v /etc/tmate/authorized_keys:/authorized-keys \ -# varac/tmate-slave \ -# /bin/sh -c "/sbin/tmate-slave -k /daemon-keys -a /authorized-keys -b 0.0.0.0 -p 22 -v -v -v -h SERVER_FQDN" +# varac/tmate-ssh-server \ +# /bin/sh -c "/sbin/tmate-ssh-server -k /daemon-keys -a /authorized-keys -b 0.0.0.0 -p 22 -v -v -v -h SERVER_FQDN" FROM debian:jessie-slim @@ -24,17 +24,17 @@ RUN mkdir /src && cd /src/ &&\ # jessie-backports provides 3.6.2 but this pulls too many dependencies in. git clone -b libssh-0.7.6 git://git.libssh.org/projects/libssh.git &&\ git clone https://github.com/msgpack/msgpack-c.git &&\ - git clone https://github.com/tmate-io/tmate-slave.git + git clone https://github.com/tmate-io/tmate-ssh-server.git RUN cd /src/libssh &&\ mkdir build && cd build && cmake .. && make install RUN cd /src/msgpack-c &&\ mkdir build && cd build && cmake .. && make install -RUN cd /src/tmate-slave &&\ +RUN cd /src/tmate-ssh-server &&\ sh autogen.sh && PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure && make -RUN cp /src/tmate-slave/tmate-slave /sbin/ +RUN cp /src/tmate-ssh-server/tmate-ssh-server /sbin/ # Clean up RUN rm -rf /src diff --git a/Makefile.am b/Makefile.am index 5465e829..64974350 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Obvious program stuff. -bin_PROGRAMS = tmate-slave +bin_PROGRAMS = tmate-ssh-server CLEANFILES = tmate.1.mdoc tmate.1.man # Distribution tarball options. @@ -72,7 +72,7 @@ DEFS += -D_LINUX_SOURCE_COMPAT=1 endif # List of sources. -dist_tmate_slave_SOURCES = \ +dist_tmate_ssh_server_SOURCES = \ alerts.c \ arguments.c \ attributes.c \ @@ -185,7 +185,7 @@ dist_tmate_slave_SOURCES = \ tmate-daemon-legacy.c \ tmate-msgpack.c \ tmate-proxy.c \ - tmate-slave.c \ + tmate-main.c \ tmate-ssh-client-pty.c \ tmate-ssh-daemon.c \ tmate-ssh-exec.c \ @@ -203,63 +203,63 @@ dist_tmate_slave_SOURCES = \ window.c \ xmalloc.c \ xterm-keys.c -nodist_tmate_slave_SOURCES = osdep-@PLATFORM@.c +nodist_tmate_ssh_server_SOURCES = osdep-@PLATFORM@.c # Pile in all the compat/ stuff that is needed. if NO_FORKPTY -nodist_tmate_slave_SOURCES += compat/forkpty-@PLATFORM@.c +nodist_tmate_ssh_server_SOURCES += compat/forkpty-@PLATFORM@.c endif if NO_IMSG -nodist_tmate_slave_SOURCES += compat/imsg.c compat/imsg-buffer.c +nodist_tmate_ssh_server_SOURCES += compat/imsg.c compat/imsg-buffer.c endif if NO_CLOSEFROM -nodist_tmate_slave_SOURCES += compat/closefrom.c +nodist_tmate_ssh_server_SOURCES += compat/closefrom.c endif if NO_DAEMON -nodist_tmate_slave_SOURCES += compat/daemon.c +nodist_tmate_ssh_server_SOURCES += compat/daemon.c endif if NO_SETENV -nodist_tmate_slave_SOURCES += compat/setenv.c +nodist_tmate_ssh_server_SOURCES += compat/setenv.c endif if NO_STRLCAT -nodist_tmate_slave_SOURCES += compat/strlcat.c +nodist_tmate_ssh_server_SOURCES += compat/strlcat.c endif if NO_STRLCPY -nodist_tmate_slave_SOURCES += compat/strlcpy.c +nodist_tmate_ssh_server_SOURCES += compat/strlcpy.c endif if NO_ASPRINTF -nodist_tmate_slave_SOURCES += compat/asprintf.c +nodist_tmate_ssh_server_SOURCES += compat/asprintf.c endif if NO_FGETLN -nodist_tmate_slave_SOURCES += compat/fgetln.c +nodist_tmate_ssh_server_SOURCES += compat/fgetln.c endif if NO_FPARSELN -nodist_tmate_slave_SOURCES += compat/fparseln.c +nodist_tmate_ssh_server_SOURCES += compat/fparseln.c endif if NO_GETOPT -nodist_tmate_slave_SOURCES += compat/getopt.c +nodist_tmate_ssh_server_SOURCES += compat/getopt.c endif if NO_STRCASESTR -nodist_tmate_slave_SOURCES += compat/strcasestr.c +nodist_tmate_ssh_server_SOURCES += compat/strcasestr.c endif if NO_STRSEP -nodist_tmate_slave_SOURCES += compat/strsep.c +nodist_tmate_ssh_server_SOURCES += compat/strsep.c endif if NO_VIS -nodist_tmate_slave_SOURCES += compat/vis.c compat/unvis.c +nodist_tmate_ssh_server_SOURCES += compat/vis.c compat/unvis.c endif if NO_STRTONUM -nodist_tmate_slave_SOURCES += compat/strtonum.c +nodist_tmate_ssh_server_SOURCES += compat/strtonum.c endif if NO_B64_NTOP -nodist_tmate_slave_SOURCES += compat/b64_ntop.c +nodist_tmate_ssh_server_SOURCES += compat/b64_ntop.c endif if NO_CFMAKERAW -nodist_tmate_slave_SOURCES += compat/cfmakeraw.c +nodist_tmate_ssh_server_SOURCES += compat/cfmakeraw.c endif if NO_OPENAT -nodist_tmate_slave_SOURCES += compat/openat.c +nodist_tmate_ssh_server_SOURCES += compat/openat.c endif if NO_REALLOCARRAY -nodist_tmate_slave_SOURCES += compat/reallocarray.c +nodist_tmate_ssh_server_SOURCES += compat/reallocarray.c endif diff --git a/README.md b/README.md index 70772baf..a592d842 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ tmate server side ================== -tmate-slave is the server side part of [tmate.io](http://tmate.io/). +tmate-ssh-server is the server side part of [tmate.io](http://tmate.io/). Usage ----- diff --git a/monitor/monitor.rb b/monitor/monitor.rb index b0ce80a7..91839ffb 100755 --- a/monitor/monitor.rb +++ b/monitor/monitor.rb @@ -27,7 +27,7 @@ loop do Dir['/proc/*/cmdline'].map do |f| - if File.read(f) =~ /^tmate-slave \[(.+)\] \((.+)\) (.+)$/ + if File.read(f) =~ /^tmate-ssh-server \[(.+)\] \((.+)\) (.+)$/ token = $1 role = $2 ip = $3 diff --git a/tmate-slave.c b/tmate-main.c similarity index 94% rename from tmate-slave.c rename to tmate-main.c index c2309e7c..792feb6c 100644 --- a/tmate-slave.c +++ b/tmate-main.c @@ -103,7 +103,7 @@ void request_server_termination(void) static void usage(void) { - fprintf(stderr, "usage: tmate-slave [-b ip] [-h hostname] [-k keys_dir] [-a authorized_keys_path] [-p port] [-x proxy_hostname] [-q proxy_port] [-s] [-v]\n"); + fprintf(stderr, "usage: tmate-ssh-server [-b ip] [-h hostname] [-k keys_dir] [-a authorized_keys_path] [-p port] [-x proxy_hostname] [-q proxy_port] [-s] [-v]\n"); } static char* get_full_hostname(void) @@ -259,7 +259,7 @@ void set_session_token(struct tmate_session *session, socket_path = path; memset(cmdline, 0, cmdline_end - cmdline); - sprintf(cmdline, "tmate-slave [%s] %s %s", + sprintf(cmdline, "tmate-ssh-server [%s] %s %s", session->session_token, session->ssh_client.role == TMATE_ROLE_DAEMON ? "(daemon)" : "(pty client)", session->ssh_client.ip_address); @@ -415,7 +415,7 @@ static void handle_sigterm(__unused int sig) request_server_termination(); } -static void tmate_spawn_slave_daemon(struct tmate_session *session) +static void tmate_spawn_daemon(struct tmate_session *session) { struct tmate_ssh_client *client = &session->ssh_client; char *token; @@ -429,7 +429,7 @@ static void tmate_spawn_slave_daemon(struct tmate_session *session) set_session_token(session, token); free(token); - tmate_notice("Spawning slave server for %s at %s (%s)", + tmate_notice("Spawning daemon for %s at %s (%s)", client->username, client->ip_address, client->pubkey); session->tmux_socket_fd = server_create_socket(); @@ -460,7 +460,7 @@ static void tmate_spawn_slave_daemon(struct tmate_session *session) /* never reached */ } -static void tmate_spawn_slave_pty_client(struct tmate_session *session) +static void tmate_spawn_pty_client(struct tmate_session *session) { struct tmate_ssh_client *client = &session->ssh_client; char *argv_rw[] = {(char *)"attach", NULL}; @@ -479,7 +479,7 @@ static void tmate_spawn_slave_pty_client(struct tmate_session *session) set_session_token(session, token); - tmate_notice("Spawning slave client for %s (%s)", + tmate_notice("Spawning pty client for %s (%s)", client->ip_address, client->pubkey); session->tmux_socket_fd = client_connect(session->ev_base, socket_path, 0); @@ -531,7 +531,7 @@ static void tmate_spawn_slave_pty_client(struct tmate_session *session) exit(ret); } -static void tmate_spawn_slave_exec(struct tmate_session *session) +static void tmate_spawn_exec(struct tmate_session *session) { close_fds_except((int[]){ssh_get_fd(session->ssh_client.session), log_file ? fileno(log_file) : -1, @@ -546,11 +546,11 @@ static void tmate_spawn_slave_exec(struct tmate_session *session) exit(0); } -void tmate_spawn_slave(struct tmate_session *session) +void tmate_spawn(struct tmate_session *session) { switch (session->ssh_client.role) { - case TMATE_ROLE_DAEMON: tmate_spawn_slave_daemon(session); break; - case TMATE_ROLE_PTY_CLIENT: tmate_spawn_slave_pty_client(session); break; - case TMATE_ROLE_EXEC: tmate_spawn_slave_exec(session); break; + case TMATE_ROLE_DAEMON: tmate_spawn_daemon(session); break; + case TMATE_ROLE_PTY_CLIENT: tmate_spawn_pty_client(session); break; + case TMATE_ROLE_EXEC: tmate_spawn_exec(session); break; } } diff --git a/tmate-slave b/tmate-slave new file mode 120000 index 00000000..104fbc0c --- /dev/null +++ b/tmate-slave @@ -0,0 +1 @@ +tmate-ssh-server \ No newline at end of file diff --git a/tmate-ssh-server.c b/tmate-ssh-server.c index fc335003..7a37245b 100644 --- a/tmate-ssh-server.c +++ b/tmate-ssh-server.c @@ -277,7 +277,7 @@ static void client_bootstrap(struct tmate_session *_session) tmate_start_ssh_latency_probes(client, &ssh_server_cb, TMATE_SSH_KEEPALIVE * 1000); register_on_ssh_read(client); - tmate_spawn_slave(_session); + tmate_spawn(_session); /* never reached */ } diff --git a/tmate.h b/tmate.h index fa433f14..ecba3ab1 100644 --- a/tmate.h +++ b/tmate.h @@ -189,7 +189,7 @@ struct tmate_ssh_client { extern void tmate_ssh_server_main(struct tmate_session *session, const char *keys_dir, const char *bind_addr, int port); -/* tmate-slave.c */ +/* tmate-main.c */ #ifdef DEVENV #define TMATE_SSH_DEFAULT_PORT 2200 @@ -259,7 +259,7 @@ extern struct tmate_session *tmate_session; extern void tmate_get_random_bytes(void *buffer, ssize_t len); extern long tmate_get_random_long(void); extern void request_server_termination(void); -extern void tmate_spawn_slave(struct tmate_session *session); +extern void tmate_spawn(struct tmate_session *session); extern void set_session_token(struct tmate_session *session, const char *token); /* tmate-proxy.c */