[clientloop.c log.c ssh.1 log.h]
     Add ~v and ~V escape sequences to raise and lower the logging level
     respectively. Man page help from jmc, ok deraadt jmc
This commit is contained in:
Darren Tucker 2012-09-06 21:25:37 +10:00
parent 00c1518a4d
commit 50a48d025f
5 changed files with 62 additions and 5 deletions

View File

@ -22,6 +22,10 @@
Send client banner immediately, rather than waiting for the server to Send client banner immediately, rather than waiting for the server to
move first for SSH protocol 2 connections (the default). Patch based on move first for SSH protocol 2 connections (the default). Patch based on
one in bz#1999 by tls AT panix.com, feedback dtucker@ ok markus@ one in bz#1999 by tls AT panix.com, feedback dtucker@ ok markus@
- dtucker@cvs.openbsd.org 2012/09/06 04:37:39
[clientloop.c log.c ssh.1 log.h]
Add ~v and ~V escape sequences to raise and lower the logging level
respectively. Man page help from jmc, ok deraadt jmc
20120830 20120830
- (dtucker) [moduli] Import new moduli file. - (dtucker) [moduli] Import new moduli file.

View File

@ -1,4 +1,4 @@
/* $OpenBSD: clientloop.c,v 1.241 2012/08/17 00:45:45 dtucker Exp $ */ /* $OpenBSD: clientloop.c,v 1.242 2012/09/06 04:37:38 dtucker Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -1099,6 +1099,31 @@ process_escapes(Channel *c, Buffer *bin, Buffer *bout, Buffer *berr,
} }
continue; continue;
case 'V':
/* FALLTHROUGH */
case 'v':
if (c && c->ctl_chan != -1)
goto noescape;
if (!log_is_on_stderr()) {
snprintf(string, sizeof string,
"%c%c [Logging to syslog]\r\n",
escape_char, ch);
buffer_append(berr, string,
strlen(string));
continue;
}
if (ch == 'V' && options.log_level >
SYSLOG_LEVEL_QUIET)
log_change_level(--options.log_level);
if (ch == 'v' && options.log_level <
SYSLOG_LEVEL_DEBUG3)
log_change_level(++options.log_level);
snprintf(string, sizeof string,
"%c%c [LogLevel %s]\r\n", escape_char, ch,
log_level_name(options.log_level));
buffer_append(berr, string, strlen(string));
continue;
case '&': case '&':
if (c && c->ctl_chan != -1) if (c && c->ctl_chan != -1)
goto noescape; goto noescape;
@ -1175,6 +1200,8 @@ Supported escape sequences:\r\n\
%cB - send a BREAK to the remote system\r\n\ %cB - send a BREAK to the remote system\r\n\
%cC - open a command line\r\n\ %cC - open a command line\r\n\
%cR - Request rekey (SSH protocol 2 only)\r\n\ %cR - Request rekey (SSH protocol 2 only)\r\n\
%cV - Increase verbosity (LogLevel)\r\n\
%cv - Decrease verbosity (LogLevel)\r\n\
%c^Z - suspend ssh\r\n\ %c^Z - suspend ssh\r\n\
%c# - list forwarded connections\r\n\ %c# - list forwarded connections\r\n\
%c& - background ssh (when waiting for connections to terminate)\r\n\ %c& - background ssh (when waiting for connections to terminate)\r\n\
@ -1186,6 +1213,7 @@ Supported escape sequences:\r\n\
escape_char, escape_char, escape_char, escape_char,
escape_char, escape_char, escape_char, escape_char,
escape_char, escape_char, escape_char, escape_char,
escape_char, escape_char,
escape_char); escape_char);
} }
buffer_append(berr, string, strlen(string)); buffer_append(berr, string, strlen(string));

17
log.c
View File

@ -1,4 +1,4 @@
/* $OpenBSD: log.c,v 1.42 2011/06/17 21:44:30 djm Exp $ */ /* $OpenBSD: log.c,v 1.43 2012/09/06 04:37:39 dtucker Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -329,6 +329,21 @@ log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr)
#endif #endif
} }
void
log_change_level(LogLevel new_log_level)
{
/* no-op if log_init has not been called */
if (argv0 == NULL)
return;
log_init(argv0, new_log_level, log_facility, log_on_stderr);
}
int
log_is_on_stderr(void)
{
return log_on_stderr;
}
#define MSGBUFSIZ 1024 #define MSGBUFSIZ 1024
void void

4
log.h
View File

@ -1,4 +1,4 @@
/* $OpenBSD: log.h,v 1.18 2011/06/17 21:44:30 djm Exp $ */ /* $OpenBSD: log.h,v 1.19 2012/09/06 04:37:39 dtucker Exp $ */
/* /*
* Author: Tatu Ylonen <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
@ -49,6 +49,8 @@ typedef enum {
typedef void (log_handler_fn)(LogLevel, const char *, void *); typedef void (log_handler_fn)(LogLevel, const char *, void *);
void log_init(char *, LogLevel, SyslogFacility, int); void log_init(char *, LogLevel, SyslogFacility, int);
void log_change_level(LogLevel);
int log_is_on_stderr(void);
SyslogFacility log_facility_number(char *); SyslogFacility log_facility_number(char *);
const char * log_facility_name(SyslogFacility); const char * log_facility_name(SyslogFacility);

12
ssh.1
View File

@ -33,8 +33,8 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\" .\"
.\" $OpenBSD: ssh.1,v 1.326 2012/06/18 12:17:18 dtucker Exp $ .\" $OpenBSD: ssh.1,v 1.327 2012/09/06 04:37:39 dtucker Exp $
.Dd $Mdocdate: June 18 2012 $ .Dd $Mdocdate: September 6 2012 $
.Dt SSH 1 .Dt SSH 1
.Os .Os
.Sh NAME .Sh NAME
@ -926,6 +926,14 @@ option.
.It Cm ~R .It Cm ~R
Request rekeying of the connection Request rekeying of the connection
(only useful for SSH protocol version 2 and if the peer supports it). (only useful for SSH protocol version 2 and if the peer supports it).
.It Cm ~V
Decrease the verbosity
.Pq Ic LogLevel
when errors are being written to stderr.
.It Cm ~v
Increase the verbosit
.Pq Ic LogLevel
when errors are being written to stderr.
.El .El
.Sh TCP FORWARDING .Sh TCP FORWARDING
Forwarding of arbitrary TCP connections over the secure channel can Forwarding of arbitrary TCP connections over the secure channel can