Annotation of src/usr.bin/ssh/log-client.c, Revision 1.12
1.1 deraadt 1: /*
1.6 deraadt 2: * Author: Tatu Ylonen <ylo@cs.hut.fi>
3: * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
4: * All rights reserved
5: * Client-side versions of debug(), log(), etc. These print to stderr.
6: * This is a stripped down version of log-server.c.
1.8 markus 7: *
1.11 deraadt 8: * As far as I am concerned, the code I have written for this software
9: * can be used freely for any purpose. Any derived versions of this
10: * software must be clearly marked as such, and if the derived work is
11: * incompatible with the protocol description in the RFC file, it must be
12: * called by a name other than "ssh" or "Secure Shell".
13: *
14: *
15: * Copyright (c) 2000 Markus Friedl. All rights reserved.
16: *
17: * Redistribution and use in source and binary forms, with or without
18: * modification, are permitted provided that the following conditions
19: * are met:
20: * 1. Redistributions of source code must retain the above copyright
21: * notice, this list of conditions and the following disclaimer.
22: * 2. Redistributions in binary form must reproduce the above copyright
23: * notice, this list of conditions and the following disclaimer in the
24: * documentation and/or other materials provided with the distribution.
25: *
26: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
27: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
28: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
29: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
30: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
31: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1.6 deraadt 36: */
1.1 deraadt 37:
38: #include "includes.h"
1.12 ! markus 39: RCSID("$OpenBSD: log-client.c,v 1.11 2000/09/07 20:27:51 deraadt Exp $");
1.1 deraadt 40:
41: #include "xmalloc.h"
42: #include "ssh.h"
43:
1.3 markus 44: static LogLevel log_level = SYSLOG_LEVEL_INFO;
1.1 deraadt 45:
1.3 markus 46: /* Initialize the log.
1.5 markus 47: * av0 program name (should be argv[0])
48: * level logging level
49: */
1.1 deraadt 50:
1.3 markus 51: void
52: log_init(char *av0, LogLevel level, SyslogFacility ignored1, int ignored2)
1.1 deraadt 53: {
1.5 markus 54: switch (level) {
55: case SYSLOG_LEVEL_QUIET:
56: case SYSLOG_LEVEL_ERROR:
57: case SYSLOG_LEVEL_FATAL:
58: case SYSLOG_LEVEL_INFO:
59: case SYSLOG_LEVEL_VERBOSE:
1.12 ! markus 60: case SYSLOG_LEVEL_DEBUG1:
! 61: case SYSLOG_LEVEL_DEBUG2:
! 62: case SYSLOG_LEVEL_DEBUG3:
1.5 markus 63: log_level = level;
64: break;
65: default:
66: /* unchanged */
67: break;
68: }
1.1 deraadt 69: }
70:
1.7 deraadt 71: #define MSGBUFSIZ 1024
1.1 deraadt 72:
1.3 markus 73: void
74: do_log(LogLevel level, const char *fmt, va_list args)
1.1 deraadt 75: {
1.7 deraadt 76: char msgbuf[MSGBUFSIZ];
1.1 deraadt 77:
1.5 markus 78: if (level > log_level)
79: return;
1.12 ! markus 80: if (level >= SYSLOG_LEVEL_DEBUG1)
1.5 markus 81: fprintf(stderr, "debug: ");
82: vsnprintf(msgbuf, sizeof(msgbuf), fmt, args);
1.10 deraadt 83: fprintf(stderr, "%s\r\n", msgbuf);
1.1 deraadt 84: }