Mercurial > hg
changeset 11618:83070a9cd526
protocol: command must be checked before passing in
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Fri, 16 Jul 2010 19:01:34 +0200 |
parents | 9f10adb70a04 |
children | 48667abddd60 |
files | mercurial/hgweb/protocol.py mercurial/sshserver.py mercurial/wireproto.py |
diffstat | 3 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/protocol.py Tue Jul 20 10:05:30 2010 +0200 +++ b/mercurial/hgweb/protocol.py Fri Jul 16 19:01:34 2010 +0200 @@ -67,5 +67,5 @@ def call(repo, req, cmd): p = webproto(req) - r = wireproto.dispatch(repo, p, cmd) + wireproto.dispatch(repo, p, cmd) yield p.response
--- a/mercurial/sshserver.py Tue Jul 20 10:05:30 2010 +0200 +++ b/mercurial/sshserver.py Fri Jul 16 19:01:34 2010 +0200 @@ -93,7 +93,9 @@ def serve_one(self): cmd = self.fin.readline()[:-1] - if cmd and not wireproto.dispatch(self.repo, self, cmd): + if cmd and cmd in wireproto.commands: + wireproto.dispatch(self.repo, self, cmd) + elif cmd: impl = getattr(self, 'do_' + cmd, None) if impl: r = impl()
--- a/mercurial/wireproto.py Tue Jul 20 10:05:30 2010 +0200 +++ b/mercurial/wireproto.py Fri Jul 16 19:01:34 2010 +0200 @@ -134,14 +134,11 @@ # server side def dispatch(repo, proto, command): - if command not in commands: - return False func, spec = commands[command] args = proto.getargs(spec) r = func(repo, proto, *args) if r != None: proto.respond(r) - return True def between(repo, proto, pairs): pairs = [decodelist(p, '-') for p in pairs.split(" ")]