[evolvis-commits] r6467: experimental SFTP support↵

mirabilos at evolvis.org mirabilos at evolvis.org
Mon Mar 22 11:34:33 CET 2010


Author: mirabilos
Date: 2010-03-22 11:34:33 +0100 (Mon, 22 Mar 2010)
New Revision: 6467

Modified:
   trunk/gforge_base/login_management/anonsvnsh/Makefile
   trunk/gforge_base/login_management/anonsvnsh/anoncvssh.c
Log:
experimental SFTP support


Modified: trunk/gforge_base/login_management/anonsvnsh/Makefile
===================================================================
--- trunk/gforge_base/login_management/anonsvnsh/Makefile	2010-03-22 10:29:31 UTC (rev 6466)
+++ trunk/gforge_base/login_management/anonsvnsh/Makefile	2010-03-22 10:34:33 UTC (rev 6467)
@@ -14,6 +14,7 @@
 DEFS+=	-DCHROOT_PATH=\"/\"
 DEFS+=	-DHOSTNAME=\"dev.tarent.de\"
 DEFS+=	-DPATH_SVN=\"/usr/bin/svnserve\"
+DEFS+=	-DPATH_SFTP=\"/usr/lib/openssh/sftp-server\"
 
 # Name of this programme. Set e.g. to "anoncvssh.mirbsd"
 # if running more than one anoncvs user, and for read-

Modified: trunk/gforge_base/login_management/anonsvnsh/anoncvssh.c
===================================================================
--- trunk/gforge_base/login_management/anonsvnsh/anoncvssh.c	2010-03-22 10:29:31 UTC (rev 6466)
+++ trunk/gforge_base/login_management/anonsvnsh/anoncvssh.c	2010-03-22 10:34:33 UTC (rev 6467)
@@ -208,6 +208,18 @@
 	 * programme now "safe"
 	 */
 
+#ifdef PATH_SFTP
+	/* SFTP support */
+	if (argc == 3 && !strcmp(argv[1], "-c") &&
+	    !strcmp(argv[2], PATH_SFTP)) {
+		execle(PATH_SFTP, PATH_SFTP, NULL, env);
+		perror("execle: sftp-server");
+		DO_LOG0("chaining to sftp-server failed!");
+		fprintf(stderr, "unable to exec SFTP server!\n");
+		return (1);
+	}
+#endif
+
 	/* just execute svn, no matter what the client said */
 #ifdef DEBUG
 	DO_LOG("spawning '%s' -t --tunnel-user '%s'\n", PATH_SVN, uname);




More information about the evolvis-commits mailing list