(Closes: 545316)
+ upstream/568295-references.patch: preserve the References header if the
In-Reply-To is not initially present (Closes: 568295)
+ + upstream/547980-smime_keys-chaining.patch: support certificate chaining in
+ smime_keys (Closes: 547980, 549006)
+ debian-specific/Muttrc: set time_inc to be 250ms (Closes: 537746)
* debian/control:
+ bumping Standards-Version to 3.8.4, nothing to be done
upstream/533439-mbox-time.patch
upstream/531430-imapuser.patch
upstream/534543-imap-port.patch
-
-# the following two patches are also in upstream hg repo
-# plese drop them if there is a new release
upstream/538128-mh-folder-access.patch
upstream/537818-emptycharset.patch
upstream/535096-pop-port.patch
upstream/545316-header-color.patch
upstream/568295-references.patch
+upstream/547980-smime_keys-chaining.patch
misc/hyphen-as-minus.patch
#misc/manpage-typos.patch
misc/smime_keys-manpage.patch
--- /dev/null
+To suppose certificate chaining in smime_keys, see upstream
+http://bugs.mutt.org/3339
+
+--- a/smime_keys.pl
++++ b/smime_keys.pl
+@@ -81,6 +81,30 @@
+ # OPS
+ #
+
++
++sub get_certs {
++ my $file = shift;
++ return undef unless (defined($file) && -e $file);
++
++ open IN, "<$file";
++
++ my @certs = ();
++ my $in_cert = 0;
++ my $cert = q{};
++ while ( <IN> ) {
++ $in_cert = 1 if ( /^-----BEGIN CERTIFICATE-----$/ );
++ $cert .= $_;
++
++ if ( /^-----END CERTIFICATE-----$/ ) {
++ push @certs, $cert;
++ $cert = q{};
++ $in_cert = 0;
++ }
++ }
++
++ return @certs;
++}
++
+ if(@ARGV == 1 and $ARGV[0] eq "init") {
+ init_paths;
+ }
+@@ -91,13 +115,27 @@
+ change_label($ARGV[1]);
+ }
+ elsif(@ARGV == 2 and $ARGV[0] eq "add_cert") {
+- my $format = -B $ARGV[1] ? 'DER' : 'PEM';
+- my $cmd = "$opensslbin x509 -noout -hash -in $ARGV[1] -inform $format";
+- my $cert_hash = `$cmd`;
+- $? and die "'$cmd' returned $?";
+- chomp($cert_hash);
+- my $label = query_label;
+- &add_certificate($ARGV[1], \$cert_hash, 1, $label, '?');
++ foreach my $cert ( get_certs( $ARGV[1] ) ) {
++
++ my $file = sprintf( '/tmp/smime-%d.%d', $$, int(rand( 999999 ) ) );
++ print STDERR "TMPFILE: $file\n";
++ if ( -e $file ) {
++ die( "ERROR: TMPFILE $file existss?!?!" );
++ }
++ open OUT, ">$file";
++ print OUT $cert;
++ close OUT;
++
++ my $format = -B $file ? 'DER' : 'PEM';
++ my $cmd = "$opensslbin x509 -noout -hash -in $file -inform $format";
++
++ my $cert_hash = `$cmd`;
++ $? and die "'$cmd' returned $?";
++ chomp($cert_hash);
++ my $label = query_label;
++ &add_certificate($ARGV[1], \$cert_hash, 1, $label, '?');
++ unlink $file;
++ }
+ }
+ elsif(@ARGV == 2 and $ARGV[0] eq "add_pem") {
+ -e $ARGV[1] and -s $ARGV[1] or die("$ARGV[1] is nonexistent or empty.");
+@@ -381,9 +419,10 @@
+ print "the key ID. This has to be _one_ word (no whitespaces).\n\n";
+
+ print "Enter label: ";
+- chomp($input = <STDIN>);
++ $input = <STDIN>;
++ chomp($input) if ( defined($input) );
+
+- my ($label, $junk) = split(/\s/, $input, 2);
++ my ($label, $junk) = split(/\s/, $input, 2) if ( defined($input) );
+
+ defined $junk
+ and print "\nUsing '$label' as label; ignoring '$junk'\n";