aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/__init__.py78
1 files changed, 39 insertions, 39 deletions
diff --git a/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/__init__.py b/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/__init__.py
index cabaadd5..7933e4cd 100755
--- a/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/__init__.py
+++ b/lib/python/Plugins/SystemPlugins/CrashlogAutoSubmit/__init__.py
@@ -1,40 +1,40 @@
-import sha
-
-def bin2long(s):
- return reduce( lambda x,y:(x<<8L)+y, map(ord, s))
-
-def long2bin(l):
- res = ""
- for byte in range(128):
- res += chr((l >> (1024 - (byte + 1) * 8)) & 0xff)
- return res
-
-def rsa_pub1024(src, mod):
- return long2bin(pow(bin2long(src), 65537, bin2long(mod)))
-
-def decrypt_block(src, mod):
- if len(src) != 128 and len(src) != 202:
- return None
- dest = rsa_pub1024(src[:128], mod)
- hash = sha.new(dest[1:107])
- if len(src) == 202:
- hash.update(src[131:192])
- result = hash.digest()
- if result == dest[107:127]:
- return dest
- return None
-
-def validate_cert(cert, key):
- buf = decrypt_block(cert[8:], key)
- if buf is None:
- return None
- return buf[36:107] + cert[139:196]
-
-def read_random():
- try:
- fd = open("/dev/urandom", "r")
- buf = fd.read(8)
- fd.close()
- return buf
- except:
+import sha
+
+def bin2long(s):
+ return reduce( lambda x,y:(x<<8L)+y, map(ord, s))
+
+def long2bin(l):
+ res = ""
+ for byte in range(128):
+ res += chr((l >> (1024 - (byte + 1) * 8)) & 0xff)
+ return res
+
+def rsa_pub1024(src, mod):
+ return long2bin(pow(bin2long(src), 65537, bin2long(mod)))
+
+def decrypt_block(src, mod):
+ if len(src) != 128 and len(src) != 202:
+ return None
+ dest = rsa_pub1024(src[:128], mod)
+ hash = sha.new(dest[1:107])
+ if len(src) == 202:
+ hash.update(src[131:192])
+ result = hash.digest()
+ if result == dest[107:127]:
+ return dest
+ return None
+
+def validate_cert(cert, key):
+ buf = decrypt_block(cert[8:], key)
+ if buf is None:
+ return None
+ return buf[36:107] + cert[139:196]
+
+def read_random():
+ try:
+ fd = open("/dev/urandom", "r")
+ buf = fd.read(8)
+ fd.close()
+ return buf
+ except:
return None \ No newline at end of file