Fix #17967: For ftp urls CWD to target instead of hopping to each directory
towards target. This fixes a bug where target is accessible, but parent
directories are restricted.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index f9655f9..32b4919 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -870,8 +870,7 @@
self.ftp = ftplib.FTP()
self.ftp.connect(self.host, self.port, self.timeout)
self.ftp.login(self.user, self.passwd)
- for dir in self.dirs:
- self.ftp.cwd(dir)
+ self.ftp.cwd(os.path.join(*self.dirs))
def retrfile(self, file, type):
import ftplib