equal
deleted
inserted
replaced
12 from mercurial.pycompat import open |
12 from mercurial.pycompat import open |
13 from mercurial import ( |
13 from mercurial import ( |
14 error, |
14 error, |
15 extensions, |
15 extensions, |
16 hg, |
16 hg, |
17 pycompat, |
|
18 util, |
17 util, |
19 wireprotov1peer, |
18 wireprotov1peer, |
20 wireprotov1server, |
19 wireprotov1server, |
21 ) |
20 ) |
22 from mercurial.utils import ( |
21 from mercurial.utils import ( |
187 ) |
186 ) |
188 |
187 |
189 for result in results: |
188 for result in results: |
190 r = result.result() |
189 r = result.result() |
191 # TODO: pconvert these paths on the server? |
190 # TODO: pconvert these paths on the server? |
192 r = {util.pconvert(p): v for p, v in pycompat.iteritems(r)} |
191 r = {util.pconvert(p): v for p, v in r.items()} |
193 for path in sorted(r): |
192 for path in sorted(r): |
194 # ignore malicious paths |
193 # ignore malicious paths |
195 if not path.startswith(b'fastannotate/') or b'/../' in ( |
194 if not path.startswith(b'fastannotate/') or b'/../' in ( |
196 path + b'/' |
195 path + b'/' |
197 ): |
196 ): |