When you give sftp-server a bogus -l or -f parameter, it logs a useful error message then blunders on to call log_init() with the bogus value. log_init() then prints a less useful message to stderr and exits. The following patch tidies this up by only printing the more useful error to stderr and not blundering on afterwards. --- sftp-server.c.orig Mon Jun 18 16:37:46 2007 +++ sftp-server.c Mon Jun 18 16:39:14 2007 @@ -1220,7 +1220,8 @@ sanitise_stdfd(); __progname = ssh_get_progname(argv[0]); - log_init(__progname, log_level, log_facility, log_stderr); + /* Send any argument errors to stderr */ + log_init(__progname, log_level, log_facility, 1); while (!skipargs && (ch = getopt(argc, argv, "C:f:l:che")) != -1) { switch (ch) { @@ -1237,12 +1238,12 @@ case 'l': log_level = log_level_number(optarg); if (log_level == SYSLOG_LEVEL_NOT_SET) - error("Invalid log level \"%s\"", optarg); + fatal("Invalid log level \"%s\"", optarg); break; case 'f': log_facility = log_facility_number(optarg); if (log_level == SYSLOG_FACILITY_NOT_SET) - error("Invalid log facility \"%s\"", optarg); + fatal("Invalid log facility \"%s\"", optarg); break; case 'h': default: Tony. -- f.a.n.finch <dot at dotat.at> http://dotat.at/ HUMBER THAMES: SOUTHEASTERLY, VEERING SOUTHWESTERLY FOR A TIME, 3 OR 4 OCCASIONALLY 5. SLIGHT OR MODERATE. SHOWERS. MODERATE OR GOOD.