traceback on invalid date in mq patch
Created originally on Bitbucket by Anonymous
Hi!
I just had the following traceback on thg log with a repository containing mq patches in a non-standard format, but which is accepted by mercurial+mq.
The patch header is:
Date: 2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007) New Revision: 6085
Modified: branches/Branch_4_5/gforge/www/people/editprofile.php Log: Fixed SQL injection vulnerability due to insufficient input sanitizing (CVE-2007-3913).
Modified: branches/Branch_4_5/gforge/www/people/editprofile.php
The traceback is:
{{{ #!python ** Mercurial version (2.0-rc+105-87248de09135). TortoiseHg version (2.1.4+22-0e6a0b894e70) ** Command: log ** CWD: /home/foo/bar ** Encoding: UTF-8 ** Extensions loaded: gpg, hgk, extdiff, graphlog, children, record, foo, mq, patchbomb, convert, transplant, fetch, churn, keyword, nearest, inout, rebase, relink ** Python version: 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) [GCC 4.4.5] ** Qt-4.6.3 PyQt-4.7.3 Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)' Traceback (most recent call last): File "/home/foo/mercurial/thg/tortoisehg/hgqt/repomodel.py", line 478, in flags ctx = self.repo.changectx(gnode.rev) File "/home/foo/mercurial/python2.6/mercurial/localrepo.py", line 617, in changectx return self[changeid] File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 283, in getitem return genPatchContext(self, q.join(changeid), rev=changeid) File "/home/foo/mercurial/thg/tortoisehg/hgqt/thgrepo.py", line 668, in genPatchContext ctx = patchctx(patchpath, repo, rev=rev) File "/home/foo/mercurial/thg/tortoisehg/util/patchctx.py", line 70, in init self.date = ph.date and util.parsedate(ph.date) or util.makedate() File "/home/foo/mercurial/python2.6/mercurial/util.py", line 1011, in parsedate raise Abort(('invalid date: %r') % date) Abort: invalid date: '2007-09-06 03:08:26 -0400 (Thu, 06 Sep 2007)'
Regards, Thomas Arendsen Hein thomas@intevation.de (or ThomasAH on #mercurial)