summaryrefslogtreecommitdiff
path: root/source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch')
-rw-r--r--source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch b/source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch
new file mode 100644
index 00000000..26c798ee
--- /dev/null
+++ b/source/n/gnupg2/gnupg-2.0.14-encode-s2k.patch
@@ -0,0 +1,65 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+NotDashEscaped: You need GnuPG to verify this message
+
+#! /bin/sh
+patch -p0 -f $* < $0
+exit $?
+
+agent/
+2010-01-26 Werner Koch <wk@g10code.com>
+
+ * protect.c (do_encryption): Encode the s2kcount and do not use a
+ static value of 96.
+
+--- agent/protect.c (revision 5231)
++++ agent/protect.c (working copy)
+@@ -360,19 +360,25 @@
+
+ in canoncical format of course. We use asprintf and %n modifier
+ and dummy values as placeholders. */
+- p = xtryasprintf
+- ("(9:protected%d:%s((4:sha18:%n_8bytes_2:96)%d:%n%*s)%d:%n%*s)",
+- (int)strlen (modestr), modestr,
+- &saltpos,
+- blklen, &ivpos, blklen, "",
+- enclen, &encpos, enclen, "");
+- if (!p)
+- {
+- gpg_error_t tmperr = out_of_core ();
+- xfree (iv);
+- xfree (outbuf);
+- return tmperr;
+- }
++ {
++ char countbuf[35];
++
++ snprintf (countbuf, sizeof countbuf, "%lu", get_standard_s2k_count ());
++ p = xtryasprintf
++ ("(9:protected%d:%s((4:sha18:%n_8bytes_%u:%s)%d:%n%*s)%d:%n%*s)",
++ (int)strlen (modestr), modestr,
++ &saltpos,
++ (unsigned int)strlen (countbuf), countbuf,
++ blklen, &ivpos, blklen, "",
++ enclen, &encpos, enclen, "");
++ if (!p)
++ {
++ gpg_error_t tmperr = out_of_core ();
++ xfree (iv);
++ xfree (outbuf);
++ return tmperr;
++ }
++ }
+ *resultlen = strlen (p);
+ *result = (unsigned char*)p;
+ memcpy (p+saltpos, iv+2*blklen, 8);
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.1.0-svn5201 (GNU/Linux)
+
+iJwEAQECAAYFAktmpLoACgkQU7Yg0BzgxjCj5wQAyZjQbZM77wdcXIgPgeLsG99W
+esWR89/5VM34dY5tOG+McCAiA4/0hl6CYUkkK/394wcfUXbvbZYARPjJg5wMoZsG
+VufEL+Uz+eLgkejYPVakOWzK00i7MHqDSjttOqHg0d8wSiy3LKk6CN6N19uPqxbI
+/1Io5f3gcroLGfEZlN0=
+=oP/V
+-----END PGP SIGNATURE-----