From d61a79bb8ef00d3d245ece10e80af097ec4b163c Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sat, 26 Feb 2011 16:01:34 +0000 Subject: [PATCH] Relax check on valid digest values Before, we required a valid hex value. Now, anything except '', '.' and '..' are permitted. This may be useful if we want to get shorter digests in future by using more characters (e.g. base64 encoding). It also solves the problem that 0compile's fake IDs weren't in this form. --- zeroinstall/zerostore/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zeroinstall/zerostore/__init__.py b/zeroinstall/zerostore/__init__.py index f931939..ea38e87 100644 --- a/zeroinstall/zerostore/__init__.py +++ b/zeroinstall/zerostore/__init__.py @@ -61,7 +61,7 @@ class Store: raise BadDigest(_("Digest must be in the form ALG=VALUE, not '%s'") % digest) try: assert '/' not in value - int(value, 16) # Check valid format + assert value not in ('', '.', '..') except ValueError, ex: raise BadDigest(_("Bad value for digest: %s") % str(ex)) dir = os.path.join(self.dir, digest) -- 2.11.4.GIT