=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/ssh.c,v retrieving revision 1.416.2.2 retrieving revision 1.417 diff -u -r1.416.2.2 -r1.417 --- src/usr.bin/ssh/ssh.c 2016/01/14 14:48:36 1.416.2.2 +++ src/usr.bin/ssh/ssh.c 2015/04/17 13:16:48 1.417 @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.416.2.2 2016/01/14 14:48:36 sthen Exp $ */ +/* $OpenBSD: ssh.c,v 1.417 2015/04/17 13:16:48 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -1555,7 +1555,6 @@ struct winsize ws; char *cp; const char *display; - char *proto = NULL, *data = NULL; /* Enable compression if requested. */ if (options.compression) { @@ -1624,9 +1623,15 @@ } /* Request X11 forwarding if enabled and DISPLAY is set. */ display = getenv("DISPLAY"); - if (options.forward_x11 && client_x11_get_proto(display, - options.xauth_location, options.forward_x11_trusted, - options.forward_x11_timeout, &proto, &data) == 0) { + if (display == NULL && options.forward_x11) + debug("X11 forwarding requested but DISPLAY not set"); + if (options.forward_x11 && display != NULL) { + char *proto, *data; + /* Get reasonable local authentication information. */ + client_x11_get_proto(display, options.xauth_location, + options.forward_x11_trusted, + options.forward_x11_timeout, + &proto, &data); /* Request forwarding with authentication spoofing. */ debug("Requesting X11 forwarding with authentication " "spoofing."); @@ -1716,15 +1721,19 @@ extern char **environ; const char *display; int interactive = tty_flag; - char *proto = NULL, *data = NULL; if (!success) return; /* No need for error message, channels code sens one */ display = getenv("DISPLAY"); - if (options.forward_x11 && client_x11_get_proto(display, - options.xauth_location, options.forward_x11_trusted, - options.forward_x11_timeout, &proto, &data) == 0) { + if (display == NULL && options.forward_x11) + debug("X11 forwarding requested but DISPLAY not set"); + if (options.forward_x11 && display != NULL) { + char *proto, *data; + /* Get reasonable local authentication information. */ + client_x11_get_proto(display, options.xauth_location, + options.forward_x11_trusted, + options.forward_x11_timeout, &proto, &data); /* Request forwarding with authentication spoofing. */ debug("Requesting X11 forwarding with authentication " "spoofing."); @@ -1873,6 +1882,9 @@ } else fork_postauth(); } + + if (options.use_roaming) + request_roaming(); return client_loop(tty_flag, tty_flag ? options.escape_char : SSH_ESCAPECHAR_NONE, id);