summaryrefslogtreecommitdiff
path: root/sftp-server.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2008-02-10 22:40:12 +1100
committerDamien Miller <djm@mindrot.org>2008-02-10 22:40:12 +1100
commitd8cb1f184f9acaae02bb4d15ce1e00ffbeeeac88 (patch)
treefb0100a74a6c870e835706aa487b54500510c5e1 /sftp-server.c
parentdfc24258a75a06ea8a3f56d99d3669e1a012a1dc (diff)
- djm@cvs.openbsd.org 2008/02/08 23:24:07
[servconf.c servconf.h session.c sftp-server.c sftp.h sshd_config] [sshd_config.5] add sshd_config ChrootDirectory option to chroot(2) users to a directory and tweak internal sftp server to work with it (no special files in chroot required). ok markus@
Diffstat (limited to 'sftp-server.c')
-rw-r--r--sftp-server.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sftp-server.c b/sftp-server.c
index 373bd5eda..44ccefff8 100644
--- a/sftp-server.c
+++ b/sftp-server.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sftp-server.c,v 1.76 2008/02/04 21:53:00 markus Exp $ */ 1/* $OpenBSD: sftp-server.c,v 1.77 2008/02/08 23:24:07 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2000-2004 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000-2004 Markus Friedl. All rights reserved.
4 * 4 *
@@ -1219,7 +1219,7 @@ sftp_server_usage(void)
1219} 1219}
1220 1220
1221int 1221int
1222sftp_server_main(int argc, char **argv) 1222sftp_server_main(int argc, char **argv, struct passwd *user_pw)
1223{ 1223{
1224 fd_set *rset, *wset; 1224 fd_set *rset, *wset;
1225 int in, out, max, ch, skipargs = 0, log_stderr = 0; 1225 int in, out, max, ch, skipargs = 0, log_stderr = 0;
@@ -1277,11 +1277,7 @@ sftp_server_main(int argc, char **argv)
1277 } else 1277 } else
1278 client_addr = xstrdup("UNKNOWN"); 1278 client_addr = xstrdup("UNKNOWN");
1279 1279
1280 if ((pw = getpwuid(getuid())) == NULL) { 1280 pw = pwcopy(user_pw);
1281 error("No user found for uid %lu", (u_long)getuid());
1282 sftp_server_cleanup_exit(255);
1283 }
1284 pw = pwcopy(pw);
1285 1281
1286 logit("session opened for local user %s from [%s]", 1282 logit("session opened for local user %s from [%s]",
1287 pw->pw_name, client_addr); 1283 pw->pw_name, client_addr);