]> arthur.barton.de Git - bup.git/blobdiff - cmd/ftp-cmd.py
cmd/ftp: don't let people cd into a non-directory.
[bup.git] / cmd / ftp-cmd.py
index 87194aa5655b31509b156de69b4123c095fd542a..0635f0769804b522a6210be744204f9defc41d1e 100755 (executable)
@@ -154,8 +154,12 @@ for line in lines:
             for parm in (words[1:] or ['.']):
                 do_ls(parm, pwd.try_resolve(parm))
         elif cmd == 'cd':
+            np = pwd
             for parm in words[1:]:
-                pwd = pwd.resolve(parm)
+                np = np.resolve(parm)
+                if not stat.S_ISDIR(np.mode):
+                    raise vfs.NotDir('%s is not a directory' % parm)
+            pwd = np
         elif cmd == 'pwd':
             print pwd.fullname()
         elif cmd == 'cat':