mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 09:22:31 -06:00
skip more stuff windows doesn't like
This commit is contained in:
parent
4e8b651e18
commit
9269bc84f2
|
@ -210,9 +210,12 @@ class HttpCli(object):
|
||||||
self.uparam = uparam
|
self.uparam = uparam
|
||||||
self.cookies = cookies
|
self.cookies = cookies
|
||||||
self.vpath = unquotep(vpath) # not query, so + means +
|
self.vpath = unquotep(vpath) # not query, so + means +
|
||||||
|
|
||||||
|
ok = "\x00" not in self.vpath
|
||||||
if ANYWIN:
|
if ANYWIN:
|
||||||
mod = relchk(self.vpath)
|
ok = ok and not relchk(self.vpath)
|
||||||
if mod:
|
|
||||||
|
if not ok:
|
||||||
self.log("invalid relpath [{}]".format(self.vpath))
|
self.log("invalid relpath [{}]".format(self.vpath))
|
||||||
return self.tx_404() and self.keepalive
|
return self.tx_404() and self.keepalive
|
||||||
|
|
||||||
|
|
|
@ -942,9 +942,12 @@ def sanitize_fn(fn, ok, bad):
|
||||||
|
|
||||||
def relchk(rp):
|
def relchk(rp):
|
||||||
if ANYWIN:
|
if ANYWIN:
|
||||||
|
if "\n" in rp or "\r" in rp:
|
||||||
|
return "x\nx"
|
||||||
|
|
||||||
p = re.sub(r'[\\:*?"<>|]', "", rp)
|
p = re.sub(r'[\\:*?"<>|]', "", rp)
|
||||||
if p != rp:
|
if p != rp:
|
||||||
return p
|
return "[{}]".format(p)
|
||||||
|
|
||||||
|
|
||||||
def absreal(fpath):
|
def absreal(fpath):
|
||||||
|
|
Loading…
Reference in a new issue