From b0840bc3552ba8ce32127389dc52988d233a82e6 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Wed, 3 Feb 2010 15:26:37 -0600 Subject: [PATCH] Don't allow access through symlinks leading out of the ftp.server serving directory --- basis/ftp/server/server.factor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basis/ftp/server/server.factor b/basis/ftp/server/server.factor index 251a99115e..1077aebf07 100644 --- a/basis/ftp/server/server.factor +++ b/basis/ftp/server/server.factor @@ -58,7 +58,7 @@ C: ftp-disconnect send-response ; : serving? ( path -- ? ) - normalize-path server get serving-directory>> head? ; + resolve-symlinks server get serving-directory>> head? ; : can-serve-directory? ( path -- ? ) { [ exists? ] [ file-info directory? ] [ serving? ] } 1&& ; @@ -343,7 +343,7 @@ M: ftp-server handle-client* ( server -- ) : ( directory port -- server ) latin1 ftp-server new-threaded-server swap >>insecure - swap normalize-path >>serving-directory + swap resolve-symlinks >>serving-directory "ftp.server" >>name 5 minutes >>timeout ;