Bug#730848: postfix-ldap: Please allow SASL binds

2013-11-30 Thread Guilhem Moulin
Package: postfix-ldap
Version: 2.10.2-1
Severity: wishlist
Tags: patch

Dear Maintainer,

LDAP SASL binds have been added to Postfix back to v2.8, at the expense
of a flag in the CCARGS [1].

It would be great if postfix-ldap included SASL support. As far as I can
tell, the change boilds down to a mere modification in debian/rules:

-8-

--- debian/rules.orig   2013-11-30 08:42:40.120610017 +0100
+++ debian/rules2013-11-30 08:44:52.449266206 +0100
@@ -45,7 +45,8 @@
 STRIP=y
 endif
 
-CCARGS=-DDEBIAN -DMAX_DYNAMIC_MAPS -DHAS_PCRE -DHAS_LDAP -DHAS_SQLITE \
+CCARGS=-DDEBIAN -DMAX_DYNAMIC_MAPS -DHAS_PCRE -DHAS_LDAP -DUSE_LDAP_SASL \
+   -DHAS_SQLITE \
-DMYORIGIN_FROM_FILE \
$(shell getconf LFS_CFLAGS) \
-DHAS_CDB \

-8-

Many thanks!
Cheers,
-- 
Guilhem.

[1] http://www.postfix.org/LDAP_README.html#build , last paragraph.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.11-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages postfix-ldap depends on:
ii  libc6  2.17-97
ii  libldap-2.4-2  2.4.31-1+nmu2+b1
ii  postfix2.10.2-1

postfix-ldap recommends no packages.

postfix-ldap suggests no packages.

-- no debconf information


signature.asc
Description: Digital signature


Bug#659971: /usr/bin/caff: Doesn't properly quote umlauts in $CONFIG{'owner'}

2014-02-05 Thread Guilhem Moulin
tags 659971 patch
thanks

One could use the (core) module I18N::Langinfo to decode 
$CONFIG{'owner'} from the user's locale to Perl's internal format. 

Also, since the template is expected to be in UTF-8, it needs to be 
converted as well.

Cheers,
-- 
Guilhem.
--- a/usr/bin/caff
+++ b/usr/bin/caff
@@ -321,6 +321,7 @@
 use Text::Template;
 use MIME::Entity;
 use Encode;
+use I18N::Langinfo;
 use Fcntl;
 use IO::Select;
 use Getopt::Long;
@@ -517,6 +518,10 @@
 	if ((defined $CONFIG{'also-encrypt-to'})  ! (ref($CONFIG{'also-encrypt-to'}) eq 'ARRAY')) {
 		$CONFIG{'also-encrypt-to'} = [ $CONFIG{'also-encrypt-to'} ];
 	};
+	my $locale = Encode::find_encoding(langinfo(I18N::Langinfo::CODESET()));
+	if (defined $locale) {
+		$CONFIG{$_} = $locale-decode($CONFIG{$_}) for qw/owner mail-template/;
+	}
 };
 
 sub make_gpg_fds() {
@@ -801,7 +806,7 @@
 		Type= text/plain,
 		Charset = utf-8,
 		Disposition = 'inline',
-		Data= $message);
+		Data= Encode::encode('utf-8',$message));
 
 	my @key_entities;
 	for my $key (@keys) {


signature.asc
Description: Digital signature


Bug#659971: /usr/bin/caff: Doesn't properly quote umlauts in $CONFIG{'owner'}

2014-02-05 Thread Guilhem Moulin
Oh, I forgot about UIDs, which may need to be converted as well.  Patch 
updated, sorry for the noise.

-- 
Guilhem.
diff -ru a/caff/caff b/caff/caff
--- a/caff/caff
+++ b/caff/caff
@@ -321,6 +321,7 @@
 use Text::Template;
 use MIME::Entity;
 use Encode;
+use I18N::Langinfo;
 use Fcntl;
 use IO::Select;
 use Getopt::Long;
@@ -517,6 +518,10 @@
 	if ((defined $CONFIG{'also-encrypt-to'})  ! (ref($CONFIG{'also-encrypt-to'}) eq 'ARRAY')) {
 		$CONFIG{'also-encrypt-to'} = [ $CONFIG{'also-encrypt-to'} ];
 	};
+	my $locale = Encode::find_encoding(langinfo(I18N::Langinfo::CODESET()));
+	if (defined $locale) {
+		$CONFIG{$_} = $locale-decode($CONFIG{$_}) for qw/owner mail-template/;
+	}
 };
 
 sub make_gpg_fds() {
@@ -790,7 +795,7 @@
 
 	my @uids;
 	for my $key (@keys) {
-	push @uids, $key-{'text'};
+	push @uids, Encode::decode('utf-8',$key-{'text'});
 	};
 	my $message = $template-fill_in(HASH = { key = $key_id,
 		   uids = \@uids,
@@ -801,7 +806,7 @@
 		Type= text/plain,
 		Charset = utf-8,
 		Disposition = 'inline',
-		Data= $message);
+		Data= Encode::encode('utf-8',$message));
 
 	my @key_entities;
 	for my $key (@keys) {


signature.asc
Description: Digital signature


Bug#637222: caff does not produce proper mail for non-ascii domain names (IDN)

2014-02-05 Thread Guilhem Moulin
tags 637222 patch
thanks


IMHO an argument against fixing the issue in Mail::Mailer directly is
that the Q-Encoding of the headers is typically done when constructing
the MIME::Entity object.  Mail::Mailer extracts the envelope from/to
from the header (or delegated the extraction to eg, sendmail(1)), hence
if it were to take care of the conversion of the envelope to ASCII,
I don't see why it shouldn't perform the Q-Encoding as well.  Maybe it
should do both, but doing complex massaging of the headers seems to be
beyond what it does at the moment.

Anyway, the enclosed patch, to be applied on top of that posted to #659971

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659971#17

forces caff to convert addresses to ASCII when constructing the 
MIME::Entity object, and as far as I can tell, solves the problem with 
Internalized Domain Names.

Cheers,
-- 
Guilhem.
diff -ru a/caff/caff b/caff/caff
--- a/caff/caff
+++ b/caff/caff
@@ -322,6 +322,7 @@
 use MIME::Entity;
 use Encode;
 use I18N::Langinfo;
+use Net::IDN::Encode qw{email_to_ascii};
 use Fcntl;
 use IO::Select;
 use Getopt::Long;
@@ -521,6 +522,8 @@
 	my $locale = Encode::find_encoding(langinfo(I18N::Langinfo::CODESET()));
 	if (defined $locale) {
 		$CONFIG{$_} = $locale-decode($CONFIG{$_}) for qw/owner mail-template/;
+		$CONFIG{$_} = email_to_ascii($locale-decode($CONFIG{$_}))
+			for grep {defined $CONFIG{$_}} qw/email bcc reply-to/;
 	}
 };
 
@@ -874,7 +877,7 @@
 	};
 
 	$message_entity-head-add(Subject, Your signed PGP key 0x$key_id);
-	$message_entity-head-add(To, $address);
+	$message_entity-head-add(To, email_to_ascii(Encode::decode('utf-8', $address)));
 	$message_entity-head-add(From, ''.Encode::encode('MIME-Q', $CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
 	$message_entity-head-add(Sender, ''.Encode::encode('MIME-Q', $CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
 	$message_entity-head-add(Reply-To, $CONFIG{'reply-to'}) if defined $CONFIG{'reply-to'};
diff -ru a/caff/README b/caff/README
--- a/caff/README
+++ b/caff/README
@@ -34,7 +34,8 @@
 
 
  gnupg (= 1.3.92), perl, libgnupg-interface-perl,
- libtext-template-perl, libmime-perl, libmailtools-perl (= 1.62)
+ libtext-template-perl, libmime-perl, libmailtools-perl (= 1.62),
+ libnet-idn-encode-perl
 
 INSTALLATION
 
diff -ru a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,8 @@
 Architecture: any
 Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, gnupg,
  libgnupg-interface-perl, libtext-template-perl, libmime-tools-perl,
- libmailtools-perl, libterm-readkey-perl, libclass-methodmaker-perl, qprint
+ libmailtools-perl, libterm-readkey-perl, libclass-methodmaker-perl,
+ libnet-idn-encode-perl, qprint
 Recommends: default-mta | mail-transport-agent, libpaper-utils,
  libgd-gd2-noxpm-perl | libgd-gd2-perl,
  libtext-iconv-perl | libintl-perl | recode, dialog | whiptail


signature.asc
Description: Digital signature


Bug#734179: pinentry-curses: Fails to display multiline prompts

2014-01-04 Thread Guilhem Moulin
Package: pinentry-curses
Version: 0.8.3-1
Severity: important

Dear Maintainer,

Since the upgrade to 0.8.3-1 pinentry-curses is no longer able to show
multiline prompts. This is problematic when used with gpg-agent, since for
instance the key ID that is being unlocked is no longer visible.

Here is a minimal example:

pinentry-curses --lc-ctype=en_US.UTF8 --ttyname=$(tty) END
SETDESC This is%0Aa multiline%0Aprompt.%0A
SETPROMPT
GETPIN
END

0.8.3-1 shows some garbage after the first linefeed (encoded as %0A as per the
PIN-entry protocol), whereas 0.8.1-1 shows a correct 3-lines prompt.

FWIW, the following (multiline) prompt used by gpg2 (2.0.22-3) is properly
passed to the gpg-agent (2.0.22-3) as shown in the log, but pinentry-curses
0.8.3-1 only shows the first line.

SETDESC Please enter the passphrase to unlock the secret key for the OpenPGP 
certificate:%0A%22Guilhem Moulin guil...@fripost.org%22%0A4096-bit RSA key, 
ID 0xC27306B86774D6F7,%0Acreated 2012-11-05 (main key ID 0x39278DA8109E6244).%0A


Cheers,
-- 
Guilhem.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.12-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages pinentry-curses depends on:
ii  libc62.17-97
ii  libncurses5  5.9+20130608-1
ii  libtinfo55.9+20130608-1

pinentry-curses recommends no packages.

Versions of packages pinentry-curses suggests:
pn  pinentry-doc  none

-- no debconf information


signature.asc
Description: Digital signature


Bug#618781: signing-party: [gpgsigs] please support UTF-8-encoded files

2014-02-11 Thread Guilhem Moulin
tags 618781 patch
thanks

I think the problem is not with gpgsigs per se, but rather with the
LaTeX output it produces.  (As Tanguy hinted at, the text output of
UTF-8 encoded input files seems to be rendered properly.)   LaTeX is
in fact known for its poor support of Unicode characters in input files
(‘\usepackage[utf8x]{inputenc}‘ slightly improves that, but it's not a
panacea in any way).  On the other hand, other typesetting engines such
as LuaLaTeX or XeLaTeX perform much better.

So, as Postscript files poorly support Unicode characters, why bother
at all with the LaTeX engine?  I propose the enclosed patch, which makes
--latex produce an output compatible with pdfLaTex, LuaLaTeX and
XeLaTeX.  As for the font rendered in the PDF in the two latter cases,
I chose Droid which has very good Unicode coverage and IMHO is much
better looking than GNU Unifont.

 * pdfLaTex (no dependencies beside common texlive packages): renders
   latin1 characters properly, but fails to render Cyrillic and CJK
   characters.

 * luaLaTeX (depends on core texlive packages, texlive-luatex, luatex
   and fonts-droid): I believe only CJK are not properly rendered.

 * XeLaTeX (depends on core texlive packages, texlive-xetex and
   fonts-droid): so far I didn't find any character that wasn't
   properly rendered.

Also, since the 3 LaTeX typesetting engines above produce a PDF, and
since JPG images can be embedded in PDF files, the conversion from JPG
to EPS (or PDF for that matter) is no longer needed.  I therefore
renamed ‘gpgsigs-eps-helper’ as ‘gpgsigs-helper’.

If this patch is accepted, I'll try to port it to gpg-key2ps(1) which
I believe should solve #412512 and #316131/454405.

Cheers,
-- 
Guilhem.
diff -ru a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs
--- a/gpgsigs/gpgsigs
+++ b/gpgsigs/gpgsigs
@@ -181,8 +181,8 @@
 		next if $uidstatus eq r;
 		if ($latex and not $photocount) { # call once per key
 			my ($shortkey) = substr $key, -8;
-			system rm -f $shortkey.[1-9]*.eps;
-			system gpg --photo-viewer 'gpgsigs-eps-helper $shortkey' --list-options show-photos --list-key $key  /dev/null;
+			system rm -f $shortkey.[1-9]*.jpg;
+			system gpg --photo-viewer 'gpgsigs-helper $shortkey' --list-options show-photos --list-key $key  /dev/null;
 			$photocount = 1;
 		}
 		my ($shortkey) = substr $key, -8;
@@ -307,8 +307,19 @@
 \documentclass{article}
 \usepackage[margin=2cm]{geometry}
 \usepackage{alltt}
-\usepackage{graphicx}
-\usepackage{grffile}
+\usepackage{graphicx,grffile}
+\usepackage{ifluatex,ifxetex}
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0
+  \usepackage[utf8x]{inputenc}
+\else
+  \usepackage[log-declarations=false]{xparse}
+  \usepackage{fontspec}
+  \setmonofont{Droid Sans Mono}
+  \ifxetex
+\usepackage[quiet]{xeCJK}
+\CJKfontspec{Droid Sans Fallback}
+  \fi
+\fi
 \begin{document}
 \begin{alltt}
 EOF
@@ -388,6 +399,9 @@
 		print WRITE print_tag($key, $uid) .  $_;
 		next;
 	}
+	if ( /^[_-]{50,}$/ and $latex ) {
+		$_ = \n\\hrule\n;
+	}
 	print WRITE;
 }
 
Only in a/gpgsigs: gpgsigs-eps-helper
diff -ru a/gpgsigs/gpgsigs-eps-helper b/gpgsigs/gpgsigs-eps-helper
--- a/gpgsigs/gpgsigs-eps-helper
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-ID=$1
-NUM=1
-
-while test -e $ID.$NUM.eps ; do
-	NUM=`expr $NUM + 1`
-done
-
-convert - $ID.$NUM.eps
Only in b/gpgsigs: gpgsigs-helper
diff -ru a/gpgsigs/gpgsigs-helper b/gpgsigs/gpgsigs-helper
--- /dev/null
+++ b/gpgsigs/gpgsigs-helper
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+ID=$1
+NUM=1
+
+while test -e $ID.$NUM.jpg ; do
+NUM=$(( $NUM + 1 ))
+done
+
+cat  $ID.$NUM.jpg
diff -ru a/gpgsigs/Makefile b/gpgsigs/Makefile
--- a/gpgsigs/Makefile
+++ b/gpgsigs/Makefile
@@ -5,8 +5,8 @@
 
 install:
 	install -D gpgsigs $(DESTDIR)/usr/bin/gpgsigs
-	install -D gpgsigs-eps-helper \
-		$(DESTDIR)/usr/share/signing-party/gpgsigs-eps-helper
+	install -D gpgsigs-helper \
+		$(DESTDIR)/usr/share/signing-party/gpgsigs-helper
 	install -d $(DESTDIR)/usr/share/doc/signing-party/examples/gpgsigs
 	install -m644 gpgsigs-lt2k5*.txt \
 		$(DESTDIR)/usr/share/doc/signing-party/examples/gpgsigs


signature.asc
Description: Digital signature


Bug#738718: gpgsigs: should wrap long uids (when used with --latex) and digest lines

2014-02-12 Thread Guilhem Moulin
Package: signing-party
Version: 1.1.5-1
Severity: normal
Tags: patch

Dear Maintainer,

gpgsigs currently doesn't wrap long UIDs in its LaTeX output.  This is
a problem, because after compilation and printing, the full UID is not
always visible on the printout.

I propose the enclosed patch, which crudely folds UIDs that are longer
than 78 characters.  (Wrapping on word boundaries only might be
preferable, but that's slightly harder to implement :-P, and the patch
matches a typical terminal behavior.)

Furthermore, longer digests such as SHA-256 might need to be folded as
well.  Since gpgparticipants(1) puts placeholders after the digest
algorithm, I propose to replace each placeholder character ‘_’ by the
corresponding hex character from the digest.  This allows gpgsigs'
output to follow closely the template given, hence in practice folding
long digests as well.

Thanks,
cheers,
-- 
Guilhem.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.12-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages signing-party depends on:
ii  gnupg  1.4.16-1
ii  libc6  2.17-97
ii  libclass-methodmaker-perl  2.19-1
ii  libgnupg-interface-perl0.46-3
ii  libmailtools-perl  2.12-1
ii  libmime-tools-perl 5.505-1
ii  libterm-readkey-perl   2.31-1
ii  libtext-template-perl  1.46-1
ii  perl   5.18.2-2
ii  qprint 1.0.dfsg.2-2

Versions of packages signing-party recommends:
ii  dialog  1.2-20130928-1
ii  libgd-gd2-perl  1:2.46-3.1+b1
ii  libintl-perl1.23-1
ii  libpaper-utils  1.1.24+nmu2
ii  libtext-iconv-perl  1.7-5+b1
ii  postfix [mail-transport-agent]  2.10.2-1
ii  recode  3.6-21
ii  whiptail0.52.15-3

Versions of packages signing-party suggests:
ii  imagemagick8:6.7.7.10-7
ii  mutt   1.5.21-6.4
ii  texlive-latex-recommended  2013.20140123-1
ii  wipe   0.22-1

-- no debconf information
diff -ru a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs
--- a/gpgsigs/gpgsigs
+++ b/gpgsigs/gpgsigs
@@ -317,17 +317,31 @@
 while (TXT) {
 	$line++;
 	$_ = myrecode($_, $fromcharset, $charset);
-	if (/^MD5 Checksum:/  defined $MD5) {
-		s/[_[:xdigit:]][_ [:xdigit:]]+_/$MD5/;
-	}
-	if (/^SHA1 Checksum:/  defined $SHA1) {
-		s/[_[:xdigit:]][_ [:xdigit:]]+_/$SHA1/;
-	}
-	if (/^SHA256 Checksum:/  defined $SHA256) {
-		s/[_[:xdigit:]][_ [:xdigit:]]+_/$SHA256/;
-	}
-	if (/^RIPEMD160 Checksum:/  defined $RIPEMD160) {
-		s/[_[:xdigit:]][_ [:xdigit:]]+_/$RIPEMD160/;
+	my $md;
+	if (/^(?md\S+) Checksum:/) {
+		if ($+{md} eq 'MD5') {
+			$md = $MD5;
+		} elsif ($+{md} eq 'SHA1') {
+			$md = $SHA1;
+		} elsif ($+{md} eq 'SHA256') {
+			$md = $SHA256;
+		} elsif ($+{md} eq 'RIPEMD160') {
+			$md = $RIPEMD160;
+		}
+		if (!defined $md) {
+			warn Unknown digest $+{md};
+		} else {
+			$md =~ s/\s//g;
+			my $r = $_;
+			while ( /^(?:.*_)?$/ ) {
+$line++;
+$_ = TXT;
+$r .= $_;
+			}
+$r =~ s/_/%c/g;
+			print WRITE sprintf ($r, unpack (C*, $md));
+			next;
+		}
 	}
 
 	if ( m/^[0-9]+\s+\[ \] Fingerprint OK/ ){
@@ -365,7 +379,15 @@
 		print WRITE [$inc] incoming signatures\n if $inc =~ /\S/;
 		if ($refresh or $latex) {
 			foreach $uid (@{$uids{$key}}) {
-print WRITE print_tag($key, $uid) .  $uid\n;
+my $tag = print_tag($key, $uid);
+if (!$latex) {
+	print WRITE $tag .' '. $uid,\n;
+} else {
+	for (my $i = 0; $i  length $uid; $i+=78) {
+		print WRITE ($i ? ' ' x length $tag : $tag ), ' ',
+	substr ($uid, $i, 78), \n;
+	}
+}
 if ($latex and ($uid =~ /^\[jpeg image/)) {
 	$photocount++;
 	print WRITE \\begin{flushright}\n;


signature.asc
Description: Digital signature


Bug#736963: gpgsigs: Doesn't full fingerprint

2014-02-12 Thread Guilhem Moulin
tags 736963 patch
thanks


The enclosed patch allows the user's key(s) to be passed as gpg accepts
it that is, as short, 0xshort, long or 0xlong format, as well as
a (formatted or not) fingerprint:

 - 0x109E6244
 - 109E6244
 - 0x39278DA8109E6244
 - 39278DA8109E6244
 - 7420 DF86 BCE1 5A45 8DCE  9976 3927 8DA8 109E 6244
 - 7420DF86BCE15A458DCE997639278DA8109E6244

I also changed the hash of signatures and UIDs to prefer the long
(16-digits) format as hash keys: AFIK gpg currently uses that and not
full fingerprints internally (for instance in the output of
--with-columns), so at the moment it doesn't make sense to use all 40
digits there.

Also in the input file, keys can now be passed as short, 0xshort, long,
or 0xlong format; however if fingerprints are present gpgsigs will use
them instead to get the list of keys.  That means the input file can be
generated with any --keyid-format (whereas only ‘short’ is currently
accepted), but if --fingerprint is used the 16-digits keyids will be
derived from the 40-digits fingerprint instead.

Cheers,
-- 
Guilhem.
diff -ru a/gpgsigs/gpgsigs b/gpgsigs/gpgsigs
--- a/gpgsigs/gpgsigs
+++ b/gpgsigs/gpgsigs
@@ -50,7 +50,8 @@
 
 Usage: $PROGRAM_NAME [-r] [-t charset] keyid keytxt [outfile]
 
-keyid is a long or short keyid (e.g. DE7AAF6E94C09C7F or 94C09C7F)
+keyid is a long or short keyid (e.g. DE7AAF6E94C09C7F or 94C09C7F) or a
+key fingerprint
 separate multiple keyids with ','
 -rcall gpg --recv-keys before proceeding
 -f charset  convert keytxt from charset
@@ -118,7 +119,9 @@
 my $keytxt = (shift @ARGV) || usage(*STDERR, 1);
 my $outfile = (shift @ARGV) || '-';
 
-map { s/^0x//i; } @mykeys;
+map { y/ //d if /^(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}$/; # remove spaces in fprs
+	  /^[0-9A-F]{40}$/ ? s/.{24}// : s/^0x//i;
+	} @mykeys;
 my %uids = map { $_ = [] } @mykeys;
 
 if (!@mykeys || scalar @ARGV) {
@@ -132,15 +135,18 @@
 -r $keytxt or die ($keytxt does not exist\n);
 
 
-# get list of keys in file
-my @keys;
+# get list of keys in file (from fingerprints if available)
+my (@keys, @shortkeys);
 open (TXT, $keytxt) or die (Cannot open $keytxt\n);
 while (TXT) {
-	if ( m/^pub  +(?:\d+)[DR]\/([0-9A-F]{8}) [0-9]{4}-[0-9]{2}-[0-9]{2} *(.*)/ ) {
-		push @keys, $1;
+	if ( m/^pub  +(?:\d+)[DR]\/(?:0x)?([0-9A-F]{8}|[0-9A-F]{16}) [0-9]{4}-[0-9]{2}-[0-9]{2}/ ) {
+		push @shortkeys, $1;
+	} elsif ( m/^\s+Key fingerprint = ((?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}|[0-9A-F]{40})$/ ) {
+		push @keys, substr ($1 =~ y/ //rd, -16);
 	}
 }
 close TXT;
+@keys = @shortkeys unless @keys;
 
 
 # get all known signatures
@@ -167,10 +173,9 @@
 		$uid =~ s/\\x([0-9a-f][0-9a-f])/ chr(hex($1)) /gie;
 		$uid = myrecode($uid, UTF-8, $charset);
 
-		my ($shortkey) = substr $key, -8;
 		# Remember non-revoked uids
 		next if $uidstatus eq r;
-		push @{$uids{$shortkey}}, $uid;
+		push @{$uids{$key}}, $uid;
 		next;
 	}
 	if ( m/^uat:(.)[^:]+::([0-9A-F]+)::\d+ (\d+)/ ) { # uat:-2006-08-03::27BAEAF742BD253C2F3F03B043DC1536880193C4::1 7993:
@@ -180,13 +185,11 @@
 		$uid = [jpeg image of size $size];
 		next if $uidstatus eq r;
 		if ($latex and not $photocount) { # call once per key
-			my ($shortkey) = substr $key, -8;
-			system rm -f $shortkey.[1-9]*.eps;
-			system gpg --photo-viewer 'gpgsigs-eps-helper $shortkey' --list-options show-photos --list-key $key  /dev/null;
+			system rm -f $key.[1-9]*.eps;
+			system gpg --photo-viewer 'gpgsigs-eps-helper $key' --list-options show-photos --list-key $key  /dev/null;
 			$photocount = 1;
 		}
-		my ($shortkey) = substr $key, -8;
-		push @{$uids{$shortkey}}, $uid;
+		push @{$uids{$key}}, $uid;
 		next;
 	}
 	if ( m/^sig:(?:.*?:){3,3}([0-9A-F]{8})([0-9A-F]{8}):(?:.*?:){5,5}(.*?):/ ) {
@@ -225,9 +228,11 @@
 close SIGS;
 print STDERR \n;
 
-for my $k ( keys %{$sigs} ) {
-	if ( $k =~ m/^[0-9A-F]{8}([0-9A-F]{8})$/ ) {
+foreach my $k ( keys %uids ) {
+	# if @mykeys were given as short keyids, copy sigs and uids for these keyids
+	if ( $k =~ m/^[0-9A-F]{8}([0-9A-F]{8})$/ and grep { $1 eq $_ } @mykeys ) {
 		$sigs-{$1} = $sigs-{$k};
+		$uids{$1} = $uids{$k};
 	}
 }
 
@@ -342,7 +347,7 @@
 		next;
 	}
 
-	if ( m/^pub  +(?:\d+)[DR]\/([0-9A-F]{8}) [0-9]{4}-[0-9]{2}-[0-9]{2} *(.*)/ ) {
+	if ( m/^pub  +(?:\d+)[DR]\/(?:0x)?([0-9A-F]{8}|[0-9A-F]{16}) [0-9]{4}-[0-9]{2}-[0-9]{2} *(.*)/ ) {
 		$key = $1;
 		$uid = $2;
 		#if ($uid) { # in gpg 1.2, the first uid is here
@@ -354,7 +359,9 @@
 		next;
 	}
 
-	if ( m/^ *Key fingerprint/ ) {
+	if ( m/^\s+Key fingerprint = ((?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}|[0-9A-F]{40})$/ ) {
+		# derive the keyid from the fingerprint if available
+		$key = substr $1 =~ y/ //rd, -16;
 		print WRITE;
 		my $inc = ;
 		foreach my $mykey (@mykeys) {


signature.asc
Description: Digital signature


Bug#666974: installs to /dev/sda when grub-installer/bootdev = /dev/sdb

2014-02-19 Thread Guilhem Moulin
Package: grub-installer
Version: 1.85
Followup-For: Bug #666974
Tags: patch

Dear Maintainer,

The bug is still present in Wheezy's installer.  The enclosed (naive)
patch makes sure grub-installer jumps to state 2 (hence ignores
$default_bootdev) if grub-installer/bootdev is known.  It has been
successfully tested on manual and automated installations with and
without preseeding grub-installer/bootdev.


-8--8-

diff -ru a/grub-installer b/grub-installer
--- a/grub-installer
+++ b/grub-installer
@@ -599,7 +599,7 @@
exit 10
fi
db_get $q
-   if [ $RET = true ]; then
+   if [ $RET = true ]  ! db_get grub-installer/bootdev; then
bootdev=$default_bootdev
break
else

-8--8-


Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#739815: RFA: signing-party -- Various OpenPGP related tools

2014-02-22 Thread Guilhem Moulin
Hi,

I'd also be happy to give a hand by becoming an adopter.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#739815: RFA: signing-party -- Various OpenPGP related tools

2014-02-23 Thread Guilhem Moulin
Hi Thijs,

On Sun, 23 Feb 2014 at 14:53:28 +0100, Thijs Kinkhorst wrote:
 Thank you both for your interest.

And thanks for your trust :-)

 If you give me your alioth username I will arrange the commit access.

My alioth username is guilhem-guest.  By the way as far as I'm concerned
I'll use git-svn if the project sticks to svn as VCS.  Just saying, if
everyone does the same thing it'd make sense to use switch to git ;-)

 Some more information on adopting a package and packaging in general can be
 found here:
 https://wiki.debian.org/DebianMentorsFaq#How_do_I_adopt_an_existing_package.3F
 https://www.debian.org/devel/

Thanks!

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#693906: gpgsigs: cannot find gpgsigs-eps-helper (when used with --latex)

2014-02-24 Thread Guilhem Moulin
Interesting.  Since 2008-03-16 /usr/share/signing-party/ is explicitly 
added to the $PATH.  Does your gpg.conf explicitly sets a value for 
exec-path?

I'm just curious as I can't reproduce that bug in a clean sid chroot; 
But your solution is cleaner is cleaner and more robust since it doesn't 
rely on shell expansion.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#723024: caff: fails if stdin is not a TTY

2014-02-24 Thread Guilhem Moulin
That's cool!  I cannot think of any side effect either, short of

  - that'll only work on POSIX systems (unsure if we care, but it'd
still be possible to fallback to STDIN on non-POSIX systems), and

  - one would not longer be able to answer the questions with things like
‘yes | caff …’. (That wouldn't really make sense anyway, as there
are configuration options for that).

Also, rather than keeping opening/closing the TTY for each question
asked, an improvement would be to do it once and for all at the
beginning.  One could even close STDIN and re-open it as /dev/tty; This
behavior can be emulated in a POSIX shell, and is one of the workaround
to the bad interaction between xargs and caff (or generally any program
proceeding its user interaction over STDIN):

xargs sh -c '/dev/tty caff $@' /path/to/fprs


I second that patch anyway ;-)  If no one objects I'll merge the slight
modification outlined above.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#597808: caff: SMTP errors are ignored

2014-02-24 Thread Guilhem Moulin
Well you've been warned :-P

[WARN] You have set arguments to pass to Mail::Mailer.  Better fix
your MTA.  (Also, Mail::Mailer's error reporting is non existant, so
it won't tell you when it doesn't work.)

As for the error itself, it has nothing to do with caff but with the
“non existence“ of Mail::Mailer's error reporting.  Rather than making 
caff (MIME::Entity, actually) use another SMTP client, it'd be easier to 
improve Mail::Mailer.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#728543: caff: missing dependencie to libnet-smtp-ssl-perl

2014-02-24 Thread Guilhem Moulin
notfound 728543 1.1.5-1
thanks

Hi Carsten,

If anything should depend on libnet-smtp-ssl-perl it should probably be
libmailtools-perl (which provides Mail::Mailer and which signing-party
depends on), not signining-party itself.

libmailtools-perl actually added the dependency somewhere between the 
wheezy (2.09-1) and sid/testing (2.12-1) versions :-)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#625687: caff: Allow user to sign emails in addition to encryption.

2014-02-24 Thread Guilhem Moulin
Hi there,

While adding signencrypt support to caff certainly wouldn't hurt, I'm
unsure what is the threat model exactly and what what kind of
vulnerability a message signature would patch.  I mean, the only
interesting thing in the messages caff sends is the attachment
(encrypted together with the rest of the body) containing the
recipient's signed UIDs'; I can't think of a way to impersonate that
other than cracking the master key, in which case signing the mail would
be moot since the sender would have lost already.

Now regarding the patch, I think I would feel quite uneasy with Perl
variables containing the passphrase to my signing key. (OTOH GnuPG
carefully stores in secure memory, unless I misunderstood.) Why don't
you use the agent if available, and otherwise fall back to the usual
GnuPG prompt?

Thanks,
cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#720413: caff key import from keyservers is broken

2014-02-24 Thread Guilhem Moulin
On Wed, 21 Aug 2013 at 10:40:38 -0400, Joey Hess wrote:
 caff seems to have its own hard-coded list of keyservers, rather than using
 the same ones I have gpg configured to use. This seems a gratuitous 
 duplication
 of configuration.

An alternative would be to grep ~/.gnupg/gpg.conf for ‘keyserver‘ and
‘keyserver-options’ (which can be required if the keyserver is behind a proxy
for instance) and thread them through each call to gpg.  However it's a bit
ugly IMHO, and might not be desirable as some people may want to use a specific
keyserver for massive signing homework.

Perhaps caff should grep for ‘keyserver‘ in ~/.caff/gnupghome/gpg.conf instead,
and fall back to ‘--keyserver pool.sks-keyservers.net’ *only* if the user
didn't specify anything in the configuration file? (Still a bit ugly, but I
can't find another way to achieve backward compatibility.)  That way if you
don't want to duplicate the configuration you could always symlink the files
;-)

 Even once I've manually imported the keys I want to sign, and run caff
 with --keys-from-gnupg (which remains misdocumented for  1 year?!),
 it fails:
 […]

The current behavior is that unless ‘$CONFIG{'no-download'}’ is set (it isn't
by default) keys are automatically refreshed against the ‘$CONFIG{keyserver}’
(defaults to pool.sks-keyservers.net).  I guess these keys weren't exported to
the keyserver your caff ended up talking to, right?

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#728543: caff: missing dependency to libnet-smtp-ssl-perl

2014-02-25 Thread Guilhem Moulin
Hi Carsten,

On Tue, 25 Feb 2014 at 17:24:43 +0100, Carsten Schoenert wrote:
 So everything should be fine for Jessie or greater. But as I can't check
 Wheezy directly. So a quick search via packages.debian.org shows me the
 dependency is still missing in Wheezy
 
 https://packages.debian.org/wheezy/signing-party
 https://packages.debian.org/wheezy/libmailtools-perl
 
 Don't know if it's possible to get a new version into stable-security
 with a better depends field set.

You can try your luck and reassign the bug to libmailtools-perl, but
IMHO it's unlikely that it would qualify as a security-update :-P  In
fact since Mail::Mailer is fully usuable without Net::SMTP::SSL for
methods other than 'smtps', making libmailtools-perl depend on
libnet-smtp-ssl-perl can be seen as controversial, as it seems to
contradict Debian Policy section 7.2:

  https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#652686: caff: mail=no doesn't write messages to disk

2014-02-25 Thread Guilhem Moulin
Hi,

Are you sure the issue was encountered using 1.1.4-1?  According to the 
changelog a similar bug, #590666, was fixed during that release.  
I can't reproduce the bug anyway.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#612178: caff: silently fails if .caff/gnupghome has wrong permissions

2014-02-26 Thread Guilhem Moulin
Hi,

On Tue, 19 Mar 2013 15:47:18 +0100 Dominik George wrote:
 it actually tells you about the wrong permissions when you tell it to
 continue after the error. Which is really not very helpful.

I pushed a patch to make it dump gpg's standard error after importing
the keys, meaning you'd get

[INFO] fetching keys, this will take a while...
gpg: WARNING: unsafe permissions on homedir `…'
gpg: external program calls are disabled due to unsafe options file 
permissions
gpg: keyserver communications error: general error
gpg: keyserver receive failed: general error
[NOTICE] Import failed for: ….

 I also wonder how the insecure permissions get set in the first place. I
 hit this problem a few days ago and I am absolutely sure I did not touch
 the gnupghome/ permissions. So mayber caff even creates it with
 inadequate permissions…

That would be extremely scary, as the new directories are created using
Perl's ‘mkpath’ (from the core module File::Path) with a mode explicitly 
set to 0700.  Hopefully dumping gpg's warning right away would make the 
bug easier to corner, if bug there is.


Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#677718: [signing-party] pgp-clean seems to also remove encryption subkey, not only signatures.

2014-02-26 Thread Guilhem Moulin
Hi,

In fact the manpage says (all) subkeys are removed by default unless pgp-clean
is used with flag -s:

-s --export-subkeys
Do not remove subkeys. (Pruned by default.)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#644472: caff: Support sending mails via MUA (such as mutt)

2014-02-27 Thread Guilhem Moulin
Hi,

Ideally solving this bug would solve #637115 as well.  But I couldn't
find a nice way to integrate mutt (probably other MUAs as well) with
caff.  First I've got two questions:

  1/ Do you want to interact with the MUA (for instance to edit the
 headers), or should it work in batch mode?

  2/ Should the encryption be done by the MUA, or should it be fed with
 encrypted content already?


If you answer the former in both 1 and 2, then an interface could be
something along the lines of

$CONFIG{'mail-cmd'} = [ 'mutt', '-e', set from='$CONFIG{owner} 
$CONFIG{email} pgp_autoencrypt'
  , '-s', Your signed PGP key 
0x$recipient{keyid}
  , '-i', $recipient{'template-file'}
  , '-a', $recipient{'signature-file'}
  , '--'
  , $recipient{address} ]

(Where the hash %recipient is wiped and repopulated for each key.)


Mutt can also work in batch mode (it takes a text/plain body on STDIN),
but then pgp_autoencrypt doesn't seem to work anymore.

echo hello | mutt -e 'set pgp_autoencrypt' -s test -a /path/to/attachement 
-- t...@example.org


Sadly if you answer the latter in 2, I couldn't find a way to do
that properly in either batch or interactive mode.  It sort of works,
but without manually adding the MIME boundary to the Content-Type the
output looks strange (obviously); when I try to add it manually

mutt -e set from=m...@example.org \
 -e 'set content_type=multipart/encrypted; 
protocol=\application/pgp-encrypted\; 
boundary=\--=_1393531266-28793-1\' \
 -s test r...@example.org \
 /path/to/caff/body_mail

(where /path/to/caff/body_mail is one of the mails in ~/.caff/keys/
stripped off its headers) mutt seems doesn't seem to treat STDIN as
multipart and r...@example.org receives only the closing boundary.


Feel free to suggest another interface if you like, but IMHO it would be
great to treat the 4 cases in the above questions.  Perhaps a mutt guru
here know how to provide multipart content in batch mode?


Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#614981: allow option specification for dropbear in /etc/initramfs-tools/initramfs.conf

2014-03-01 Thread Guilhem Moulin
Control: found -1 2013.60-1

Hi,

I fully second this patch.  Would be great to see it applied in Jessie ;-)

Another common use case is where the dropbear in the ramdisk should
listen on a port other than 22: then a simple firewall rule can make
it inaccessible from the whole world while keeping the main SSH server
accessible.

Currently the only way to achieve that is again to edit

  /usr/share/initramfs-tools/scripts/init-premount/dropbear

which isn't a very robust solution as it wouldn't survive an upgrade.

Thanks,
cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#622560: Bug#614981: signing-party: please include a way to parse gpgparticipants output for caff

2014-03-04 Thread Guilhem Moulin
Hi there,

In case you would like to try it out and give feedback before the 
release, I pushed a fixed to the repository.

svn://svn.debian.org/pgp-tools/trunk/

gpgparticipants formatted content is now accepted on caff's STDIN.  
(Only v4 keys annotated with Fingerprint OK and ID OK are considered 
for signing.)  Furthermore, caff will croak if a checksum box has not 
been checked, and will warn if the KSP file didn't include an algorithm 
of the SHA-2 family.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#594907: kspsig -- Key Signing Party signature verification tool

2014-04-07 Thread Guilhem Moulin
Hi,

While your tool would certainly be a valuable addition to signing-party,
a blocker is that it gets the digest algorithm on certificate signatures
by parsing the output of ‘--list-packets’, which as far as I can tell
isn't documented.

IMHO a better (and faster) approach would be, as you hinted at, to 
extract the OpenPGP signature packets from public key packets, cf. RFC 
4880 sections.  It's non trivial though :-(

Note that if the key of which to check the signatures is in your
keyring, a workaround is to use gpg2 as the digest algorithm is
available on the (documented  parsable) ‘--with-colons’ output.
For instance to list signatures with weak digest algorithms (MD5 and
SHA1 [1]):

  gpg2 --with-colons --list-sigs $keyID | grep -E 
'^(pub|uid|sig(:[^:]*){14}:[12]):'

(But as of 1.1.6-1 gnupg2 is not a dependency of signing-party, and I'm 
unsure if doing it before the whole Debian project migrates away from 
gnupg to gnupg2 is the right move :-/)

Cheers,
-- 
Guilhem.

[1] https://tools.ietf.org/html/rfc4880#section-9.4


signature.asc
Description: Digital signature


Bug#722554: signing-party: please include key-report tool in package

2014-04-07 Thread Guilhem Moulin
Hi Jonas,

This looks useful indeed, but after a quick look at the code it doesn't
really appeal to me, as the script seems rather unfinished.

Also, I find it rather confusing that it's not possible not to report
expired/revoked subkeys in case the key has other valid subkey(s)
covering the same capabilities.  (Many users have a long-term master key 
and rotate subkeys every once in a while, but invalid subkeys remain on 
the keyserver regardless.)

Did you try it yourself?  Maybe you have another view on the subject.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#648991: include Serafeim's post keysigning-party scripts

2014-04-07 Thread Guilhem Moulin
Hi,

I wonder if these scripts are still useful?  As of 1.1.6-1 caff is able
to parse key fingerprints directly from a gpgparticipants(1) format (and
annotated) list.  See also #622560:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622560

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#592787: caff: $CONFIG{'email'} is not being used for MAIL FROM command

2014-03-27 Thread Guilhem Moulin
Control: tag -1 wontfix

Hi,

On Thu, 20 Mar 2014 21:51:52 -0700, H. S. Teoh wrote:
 I'm also running into this problem, caff insists on sending email with
 MAIL FROM as username@localhost instead of the value I set in
 $CONFIG{'email'}. I've tried Todd Lyons' workaround but it still
 didn't work for me. So, this makes caff unusable for me. :-(

Which version of libmailtools-perl are you using?  Also, caff uses
Mail::Mailer to send messages; by default messages are piped to
‘sendmail -t’, and as written in the manpage, the caffrc option
'mailer-send' allows to choose another sending method such as SMTP/SMTPS
with extra parameters as needed.  Did you change the default method
(not-recommended, it's best to fix your MTA instead)?

I believe Todd's workaround only work for Mail::Mailer::smtp  and
Mail::Mailer::smtps.  However I personally find it cleaner to add an
extra parameter 'From' to set the Envelope From, rather than messing
around with the environment:

$CONFIG{'mailer-send'} = [ 'smtps'
 , Server = 'smtp.example.org'
 , Auth = [ 'username', 'password' ]
 , From = $CONFIG{email}
 ];

If you prefer to use the sendmail binary via Mail::Mailer::sendmail
instead (and can't fix your MTA), you can set the envelope sender
address with ‘-f’, see sendmail(1):

$CONFIG{'mailer-send'} = [ 'sendmail', '-f', $CONFIG{email}, '-t' ];

A 'qmail' method is also available but I've never used it; I'm sure the
binary provides a way to set the Envelope From, though.

(Note that although the soon to be 1.1.6 release adds support for
Internalized Domain Names, the conversion to Punycode is only done
*after* reading the configuration file, so you'll have to encode
$CONFIG{email} — and other parameters to $CONFIG{'mailer-send'} —
manually in case they contain non ASCII characters.)

I'm tagging this bug as ‘wontfix’ because although I didn't find how to
set the Envelope From for Mail::Mailer methods anywhere but in the
source code [1], I believe one should file a documentation bug against
libmailtools-perl instead.

Cheers,
-- 
Guilhem.

[1] See Mail::Mailer::smtp, Mail::Mailer::smtps and
Mail::Util::mailaddress.


signature.asc
Description: Digital signature


Bug#747296: gpgparticipants: LC_CTYPES fallback causes non-UTF-8 output

2014-05-07 Thread Guilhem Moulin
Hi Stefan,

On Wed, 07 May 2014 at 11:25:37 +0200, Stefan Huber wrote:
 gpgparticipants sets LC_CTYPE=C.UTF-8 for gpg when printing each key.
 On systems where C.UTF-8 is not available (e.g., Gentoo), the fallback
 locale causes the output not to be UTF-8 encoded, even if the
 overridden LC_CTYPE would have been an UTF-8 locale.

IMHO it would be best to force the output to be in English (some of the
other tools shipped with signing-party parse it to retrieve the
fingerprints for instance).  I therefore applied your patch with 
‘LANGUAGE=en’.

Thanks!
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#747296: gpgparticipants: LC_CTYPES fallback causes non-UTF-8 output

2014-05-07 Thread Guilhem Moulin
On Wed, 07 May 2014 at 14:22:30 +0200, Stefan Huber wrote:
 Thank you for applying the patch. Since you apply LANGUAGE=en to gpg,
 you may want to look into using LC_TIME=en for /bin/date, such that the
 time on the first line is given in English?

As ‘en’ is not a valid locale, I think date(1) will fall back to the
default ‘C’ locale (unless the higher precedence LC_ALL is set to an
existing locale).  So I suggest we prefix date with LC_ALL=C instead,
which should force date(1) to use unlocalized output.

Thanks for pointing that out anyway; the current LANG=C has lower 
precedence than LC_TIME and LC_ALL. :-)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#751782: signing-party: caff seems stuck after saving the signed key

2014-06-16 Thread Guilhem Moulin
Hi,

On Mon, 16 Jun 2014 at 17:59:45 +0200, Olivier Berger wrote:
 False error : a result of my own customizations.
 Sorry about the bothering.

No problem :-)

It might still be useful to fix this (which looks like a race condition
and/or unexpected output from gpg).  Would you mind sharing your .caffrc
and your .caff/gnupghome/gpg.conf?  You can obfuscate the strings and
key IDs, but the configuration options would be useful. 

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#753383: grub-legacy: grub-install(8) should honor $TMPDIR

2014-07-01 Thread Guilhem Moulin
Source: grub-legacy
Version: 0.97-67
Severity: normal
Tag: patch

Dear Maintainer,

It'd be convenient to place grub-install's temporary files in $TMPDIR
when set.  Right now they are placed in /tmp, which on a typical install 
is on the same partition as /; hence if for some reason / is mounted in
read-only mode, it's not possible to (re)install the boot-loader.

-- 
Guilhem.
--- a/grub-install.in
+++ b/grub-install.in
@@ -31,8 +31,8 @@
 
 grub_shell=${sbindir}/grub
 grub_set_default=${sbindir}/grub-set-default
-log_file=/tmp/grub-install.log.$$
-img_file=/tmp/grub-install.img.$$
+log_file=${TMPDIR:-/tmp}/grub-install.log.$$
+img_file=${TMPDIR:-/tmp}/tmp/grub-install.img.$$
 rootdir=
 grub_prefix=/boot/grub
 
@@ -47,8 +47,8 @@
 mklog=/bin/tempfile --prefix=grub
 mkimg=/bin/tempfile --prefix=grub
 elif test -x /bin/mktemp; then
-mklog=/bin/mktemp /tmp/grub-install.log.XX
-mkimg=/bin/mktemp /tmp/grub-install.img.XX
+mklog=/bin/mktemp --tmdir grub-install.log.XX
+mkimg=/bin/mktemp --tmdir grub-install.img.XX
 else
 mklog=
 mkimg=


signature.asc
Description: Digital signature


Bug#758991: Seeveral Patch to fixed issue in signing-party-1.1.5

2014-08-23 Thread Guilhem Moulin
Hi Jochen,

On Sat, 23 Aug 2014 at 17:31:06 +0200, Jochen Schmitt wrote:
 I would like to forward several patches which I have applied to the
 pgp-tools package in Fedora for upstream integration.

Thanks!

 diff -urNp --exclude-from=/home/mdomsch/excludes --minimal 
 signing-party-1.1.orig/keyanalyze/Makefile 
 signing-party-1.1/keyanalyze/Makefile
 --- signing-party-1.1.orig/keyanalyze/Makefile2009-02-21 
 04:30:01.0 -0600
 +++ signing-party-1.1/keyanalyze/Makefile 2009-04-18 00:04:14.0 
 -0500
 @@ -1,21 +1,16 @@
 LDLIBS=-lpthread
 CFLAGS=-O2 -W -Wall -g
 
 -all: keyanalyze process_keys pgpring/pgpring
 +all: keyanalyze process_keys

Which issue gets fixed by not compiling pgpring?

 diff -up signing-party-1.1.4/gpg-key2ps/gpg-key2ps.paper 
 signing-party-1.1.4/gpg-key2ps/gpg-key2ps
 --- signing-party-1.1.4/gpg-key2ps/gpg-key2ps.paper   2013-06-16 
 16:30:54.643953002 +0200
 +++ signing-party-1.1.4/gpg-key2ps/gpg-key2ps 2013-06-16 16:33:36.937227454 
 +0200
 @@ -89,8 +89,8 @@ usage(\*STDERR, 1) unless scalar @ARGV 
 # determine the paper size through the paperconf tool
 my $w; my $h;
 if ( `which paperconf`  $? == 0 ) {
 - $w=`paperconf -w`;
 - $h=`paperconf -h`;
 + $w=`paperconf -w | tr , .`;
 + $h=`paperconf -h` | tr , .`;

I just pushed something equivalent, but used Perl's transliteration 
operator instead, which should be more efficient than a fork.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#637222: caff cannot handle IDN domains

2014-08-26 Thread Guilhem Moulin
Hi Noël,

On Tue, 26 Aug 2014 at 18:43:51 +0200, Noël Köthe wrote:
 caff doens not convert the IDN domains to punycode:

Hmm, it's working fine here (signing-party 1.1.8-1):

:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE=en_US.utf8
LC_NUMERIC=C
LC_TIME=en_DK.utf8
LC_COLLATE=en_US.utf8
LC_MONETARY=en_US.utf8
LC_MESSAGES=en_US.utf8
LC_PAPER=sv_SE.utf8
LC_NAME=sv_SE.utf8
LC_ADDRESS=sv_SE.utf8
LC_TELEPHONE=sv_SE.utf8
LC_MEASUREMENT=sv_SE.utf8
LC_IDENTIFICATION=en_US.utf8
LC_ALL=
:~$ grep test ~/.caffrc 
$CONFIG{'owner'} = 'test IDNA ☮ (✘)';
$CONFIG{'email'} = 'test@λ.example.org';
$CONFIG{'reply-to'} = 'test@λ.example.org';
:~$ caff A45E405C0C6C80F13FF1521768C078BE88F80CDA
:~# postcat -q 6F397402B0
[…]
*** MESSAGE CONTENTS deferred/6/6F397402B0 ***
Received: by localhost.localdomain (Postfix, from userid 1000)
id 6F397402B0; Tue, 26 Aug 2014 18:32:36 +0200 (CEST)
Content-Type: multipart/encrypted;
 protocol=application/pgp-encrypted;
 boundary=--=_1409070754-10676-3
X-Mailer: MIME-tools 5.505 (Entity 5.505)
From: =?UTF-8?Q?test=20IDNA=20=E2=98=AE=20?=(=?UTF-8?Q?=E2=9C=98?=) 
t...@xn--wxa.example.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Reply-To: t...@xn--wxa.example.org
User-Agent: caff 0.0.0.unknown - http://pgp-tools.alioth.debian.org/
Sender: =?UTF-8?Q?test=20IDNA=20=E2=98=AE=20?=(=?UTF-8?Q?=E2=9C=98?=) 
t...@xn--wxa.example.org
To: n...@xn--kthe-5qa.de
Subject: Your signed PGP key 0x68C078BE88F80CDA
Message-Id: 20140826163236.6F397402B0@localhost.localdomain
Date: Tue, 26 Aug 2014 18:32:36 +0200 (CEST)
[…]

Could you share your locales?

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#753671: caff: please support gpg2

2014-07-04 Thread Guilhem Moulin
I did file a bug against gpg2 a couple of weeks ago (#751266).  I'm
a bit reluctant to implement a dirty bugfix in caff, as one can fallback
to gpg in the meantime.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#750357: caff: Perl warning when sending mail

2014-06-02 Thread Guilhem Moulin
Hi Ralf,

On Mon, 02 Jun 2014 at 22:22:15 +0200, Ralf Jung wrote:
 After setting up caff as described in https://wiki.debian.org/caff, I still
 get the following warnings when caff sends a mail
 
 Use of uninitialized value $name in pattern match (m//) at 
 /usr/share/perl5/Mail/Internet.pm line 537, TTY line 1.
 Use of uninitialized value $name in sprintf at 
 /usr/share/perl5/Mail/Internet.pm line 542.

Hmm, does the user you start caff with have a valid user name?  What's 
the output of

  grep $(id -u) /etc/passwd | cut -d':' -f5

From Mail::Internet's source code, it seems like it this module requires
either a non empty user name, or a non empty ‘NAME’ environment
variable.

Does starting caff as

  NAME='John Doe' caff …

solve the issue?  If it does, it has nothing to do with caff.  You may 
want to reassign your bug to libmailtools-perl instead, but you can also 
change your username or set ‘NAME’ to something not empty in your 
.caffrc:

  chfn -f John Doe

or

  echo '$ENV{NAME} = John Doe'  ~/.caffrc


Hope that helps,
cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#730848: postfix-ldap: Please compile it with -DUSE_LDAP_SASL to enable SASL binds

2014-06-03 Thread Guilhem Moulin
Hi,

Is there a reason *not* to enable SASL binds in postfix-ldap?  After
all, dict_ldap.so is linked against libsasl and OpenLDAP's libldap,
which does support SASL binds.  Furthermore, ldap_table(5) and
/usr/share/doc/postfix/LDAP_README.gz already mention SASL binds (OK
it's written that their availability depends on Postfix being compiled
with -DUSE_LDAP_SASL, but I guess I wasn't the only one confused by the
manpage).

A neat use case for SASL binds is that it allows to easily restrict
access to the LDAP directory to the ‘postfix’ user only, without the
hassle inherent to passwords:

server_host = ldapi://%2Fprivate%2Fldapi/
bind = sasl
sasl_mechs = EXTERNAL

(Assuming a LDAPI socket in Postfix's chroot, and the proper
…,cn=peercred,cn=external,cn=auth ACLs on the LDAP directory.)

Would be great to have that available in jessie :-)
Thanks!
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#750357: caff: Perl warning when sending mail

2014-06-06 Thread Guilhem Moulin
Control: retitle  -1 Mail::Internet spews warnings for unnamed users
Control: reassign -1 libmailtools-perl 2.12-1
Control: tag  -1 patch

(split /,/, $name)[0] is undefined when $name is the empty string.

-- 
Guilhem.
--- a/Mail/Internet.pm
+++ b/Mail/Internet.pm
@@ -532,7 +532,7 @@
 # seperated fields, only the first of which should be used to prevent
 # accidental exposure of system-local information like phone numbers/
 # room numbers.
-$name = (split /,/, $name)[0];
+$name = (split /,/, $name)[0] if $name ne ;
 
 if($name =~ /[^\w\s]/)
 {   $name =~ s//\/g;


signature.asc
Description: Digital signature


Bug#751105: netcat-openbsd: New upstream version available

2014-06-10 Thread Guilhem Moulin
Package: netcat-openbsd
Version: 1.105-7
Severity: normal

Dear Maintainer,

An interesting feature available in the new release is the addition of
a ‘-F’ flag, to pass the first connected socket to the standard output
and exit.  (This is useful with the ‘ProxyUseFdPass’ option in OpenSSH 
6.5 or latter.)

  http://www.openbsd.org/cgi-bin/man.cgi?query=nc

Thanks!
Cheers,
-- 
Guilhem.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages netcat-openbsd depends on:
ii  libbsd0  0.6.0-2
ii  libc62.19-1

netcat-openbsd recommends no packages.

netcat-openbsd suggests no packages.

-- no debconf information


signature.asc
Description: Digital signature


Bug#751252: caff: doesn't send email found no signed uids

2014-06-11 Thread Guilhem Moulin
Control: severity -1 important

Hi Ilario,

First off, thanks for this thorough report :-)

This seems to be due to gpg ignoring signatures under the cutoff
certification level (2 by default) when exporting with the
‘export-clean’ option.

Compare the output of the following two lines:

  gpg --min-cert-level=1 --export-options export-clean --export $keyID | gpg 
--list-packets | grep -B1 -A3 'sigclass 0x11$'
  gpg --min-cert-level=2 --export-options export-clean --export $keyID | gpg 
--list-packets | grep -B1 -A3 'sigclass 0x11$'

If that behavior isn't consistent, that's a bug in gpg. (And if I got
the manpage right, the cutoff certification level is only relevant when
building the trustdb, hence should be irrelevant when exporting.)

I'd be happy to reassign it myself, but I couldn't a find a key for
which export-clean works as expected.  Would you mind asking the owner
of Key2 if they would like their key to be listed in a bug report and/or
a unit test?

In the mean time, adding ‘min-cert-level 1’ to caff's gnupghome should
help.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#737128: gpg exits with a fatal error about missing trustdb despite successfully having imported a key

2014-06-11 Thread Guilhem Moulin
Control: notfound -1 1.4.16-1.1
Contol: merge -1 735363

This seems to be working now:

  gpg --export $keyID | gpg --homedir $(mktemp -d --tmpdir gpg.XX) 
--trust-model=always --import

-- 
Guilhem.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnupg depends on:
ii  gpgv  1.4.16-1.1
ii  libbz2-1.01.0.6-5
ii  libc6 2.19-1
ii  libreadline6  6.3-6
ii  libusb-0.1-4  2:0.1.12-23.3
ii  zlib1g1:1.2.8.dfsg-1

Versions of packages gnupg recommends:
ii  gnupg-curl 1.4.16-1.1
ii  libldap-2.4-2  2.4.39-1

Versions of packages gnupg suggests:
pn  gnupg-doc none
ii  imagemagick   8:6.7.7.10+dfsg-3
ii  libpcsclite1  1.8.11-3

-- no debconf information


signature.asc
Description: Digital signature


Bug#751266: gnupg2: Fatal error/non-zero exit code returned when --trust-model=always used

2014-06-11 Thread Guilhem Moulin
Package: gnupg2
Version: 2.0.23-1
Severity: important

Dear Maintainer,

gnupg2 is also affected by #735363 (and #737128).

$ gpg --export $keyID | gpg2 --homedir $(mktemp -d) --trust-model=always 
--import
gpg: keyring `/tmp/tmp.CgvawKyhkU/secring.gpg' created
gpg: keyring `/tmp/tmp.CgvawKyhkU/pubring.gpg' created
gpg: Fatal: can't open `/tmp/tmp.CgvawKyhkU/trustdb.gpg': No such file or 
directory
$ echo $?
2

(Other operation that modify the trust database if existing, such as key 
generation or edition, fail in a similar way.) While the issues have 
been dealt with in gnupg, gnupg2 is still affected.

Cheers,
-- 
Guilhem.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gnupg2 depends on:
ii  dpkg 1.17.10
ii  gnupg-agent  2.0.23-1
ii  install-info 5.2.0.dfsg.1-4
ii  libassuan0   2.1.1-1
ii  libbz2-1.0   1.0.6-5
ii  libc62.19-1
ii  libcurl3-gnutls  7.37.0-1+b1
ii  libgcrypt11  1.5.3-4
ii  libgpg-error01.12-0.2
ii  libksba8 1.3.0-3
ii  libreadline6 6.3-6
ii  zlib1g   1:1.2.8.dfsg-1

Versions of packages gnupg2 recommends:
ii  libldap-2.4-2  2.4.39-1

Versions of packages gnupg2 suggests:
pn  gnupg-doc   none
pn  xloadimage  none

-- no debconf information


signature.asc
Description: Digital signature


Bug#751252: caff: doesn't send email found no signed uids

2014-06-11 Thread Guilhem Moulin
On Wed, 11 Jun 2014 at 17:56:50 +0200, Ilario Gelmetti wrote:
 I have to retire my statement on Key2: the problem is present also with
 this key. To verify this I created a new gpg key with an empty pubring
 and tried to sign with caff that Key2 and it didn't work. With my main
 key I didn't see the problem because in the past I signed a few userids
 of that key (with cert-level=3).

I see.  In fact gpg's manpage says that “signatures that are not usable”
are not exported with option ‘export-clean’, so I manually set (in
revision 638) the cutoff level to 1 in such cases.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#751394: busybox: please provide a way to disable buffering in STDOUT

2014-06-12 Thread Guilhem Moulin
Package: busybox
Version: 1:1.22.0-6
Severity: wishlist

Dear Maintainer,

In udebs, it is common to redirect the standard output of a command to
a fifo, and use that to display progress bars in the installer.

trap 'kill $pid' EXIT
/path/to/command $fifo 

while read -u 7 n; do
  db_progress SET $n
done 7 $fifo

rm -f $fifo
trap - EXIT

However, if the command buffers its standard output, which for instance
is what cryptsetup(8) does, and/or if the standard output needs to be
piped through sed(1) (which also buffers its standard streams), it's
hard to make sense of the progress bar, which suddenly jumps from 0% to
100% while nothing happens in the meantime.

cryptsetup -q --key-file=$keyfile luksFormat $device | \
sed -nr 's/^Generating key \(([0-9]+)% done\)\.$/\1/p'  $fifo 

It'd be convenient to provide a way to disable buffering in STDOUT, in
the fashion of stdbuf(1) from GNU coreutils [1].  If the full blown
stdbuf(1) is overkill, it might still be desirable to add a strip down
version disabling buffering only, as found in [2]:

:/lib/stdbuf.c
#include stdio.h

__attribute__ ((constructor)) void
QLqxcKVd20zweBii () {
setvbuf (stdout, NULL, _IOLBF, 0);
}


$ gcc -Wall -x c -s /lib/stdbuf.c -fPIC -shared -o /lib/stdbuf.so
:/bin/stdbuf
#!/bin/sh
LD_PRELOAD=/lib/stdbuf.so $@

Then buffering of STDOUT could be disabled as follows:

stdbuf cryptsetup -q --key-file=$keyfile luksFormat $device | \
stdbuf sed -nr 's/^Generating key \(([0-9]+)% done\)\.$/\1/p'  $fifo 

Thanks!
Cheers,
-- 
Guilhem.

[1] http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/stdbuf.c
[2] https://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00138.html


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages busybox depends on:
ii  libc6  2.19-1

busybox recommends no packages.

busybox suggests no packages.

-- no debconf information


signature.asc
Description: Digital signature


Bug#751485: pinentry-curses: concurent calls mess up the terminal (locking missing)

2014-06-13 Thread Guilhem Moulin
Package: pinentry-curses
Version: 0.8.3-2
Severity: normal
Tags: upstream

Dear Maintainer,

When two parallel instance gpg(1) prompt the user for a passphrase,
there should be a locking mechanism to avoid both pinentry to try to
modify the TTY at the same time.

The problem is visible in the following example:

$ killall -u $(whoami) -HUP gpg-agent
$ echo blah | gpg --recipient $keyID --encrypt \
  | gpg --use-agent --decrypt | gpg --use-agent --sign /dev/null

(Another example is where one decrypts a file and sends the cleartext
to a remote machine through SSH, where the SSH key is in fact an OpenPGP
subkey with Authentication capability, which is decrypted using
a ProxyCommand.)

Thanks!
Cheers,
-- 
Guilhem.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.14-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages pinentry-curses depends on:
ii  libc6 2.19-1
ii  libncursesw5  5.9+20140118-1
ii  libtinfo5 5.9+20140118-1

pinentry-curses recommends no packages.

Versions of packages pinentry-curses suggests:
pn  pinentry-doc  none

-- no debconf information


signature.asc
Description: Digital signature


Bug#741213: mutt: pgpring displays an incorrect length for DSA and Elgamal keys

2014-03-09 Thread Guilhem Moulin
Package: mutt
Version: 1.5.22-1
Severity: normal
Tags: patch

Dear Maintainer,

As signing-party's pgpring, Mutt's does not look at the right field as
key lengh for DSA and Elgamal keys, which results to an incorrect
output similar to that reported in #602284.  The attached patch, adapted 
from Fabrizio Tarizzo's, fixes the issue; see

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602284

for details.

Cheers,
-- 
Guilhem.


-- Package-specific info:
Mutt 1.5.22 (2013-10-16)
Copyright (C) 1996-2009 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.

System: Linux 3.13-1-686-pae (i686)
ncurses: ncurses 5.9.20140118 (compiled with 5.9)
libidn: 1.28 (compiled with 1.28)
hcache backend: tokyocabinet 1.4.48

Compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-linux-gnu/4.8/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.8.2-14' 
--with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs 
--enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr 
--program-suffix=-4.8 --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls 
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug 
--enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap 
--enable-plugin --with-system-zlib --disable-browser-plugin 
--enable-java-awt=gtk --enable-gtk-cairo 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386/jre --enable-java-home 
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386 
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-i386 
--with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--enable-objc-gc --enable-targets=all --enable-multiarch --with-arch-32=i586 
--with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release 
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.8.2 (Debian 4.8.2-14) 

Configure options: '--prefix=/usr' '--sysconfdir=/etc' 
'--mandir=/usr/share/man' '--with-docdir=/usr/share/doc' 
'--with-mailpath=/var/mail' '--disable-dependency-tracking' 
'--enable-compressed' '--enable-debug' '--enable-fcntl' '--enable-hcache' 
'--enable-gpgme' '--enable-imap' '--enable-smtp' '--enable-pop' '--with-curses' 
'--with-gnutls' '--with-gss' '--with-idn' '--with-mixmaster' '--with-sasl' 
'--without-gdbm' '--without-bdb' '--without-qdbm' '--build' 'i486-linux-gnu' 
'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 
'LDFLAGS=-Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2 -I/usr/include/qdbm'

Compilation CFLAGS: -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wall

Compile options:
-DOMAIN
+DEBUG
-HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +DL_STANDALONE  +USE_FCNTL  -USE_FLOCK   
+USE_POP  +USE_IMAP  +USE_SMTP  
-USE_SSL_OPENSSL  +USE_SSL_GNUTLS  +USE_SASL  +USE_GSS  +HAVE_GETADDRINFO  
+HAVE_REGCOMP  -USE_GNU_REGEX  
+HAVE_COLOR  +HAVE_START_COLOR  +HAVE_TYPEAHEAD  +HAVE_BKGDSET  
+HAVE_CURS_SET  +HAVE_META  +HAVE_RESIZETERM  
+CRYPT_BACKEND_CLASSIC_PGP  +CRYPT_BACKEND_CLASSIC_SMIME  +CRYPT_BACKEND_GPGME  
-EXACT_ADDRESS  -SUN_ATTACHMENT  
+ENABLE_NLS  -LOCALES_HACK  +COMPRESSED  +HAVE_WC_FUNCS  +HAVE_LANGINFO_CODESET 
 +HAVE_LANGINFO_YESEXPR  
+HAVE_ICONV  -ICONV_NONTRANS  +HAVE_LIBIDN  +HAVE_GETSID  +USE_HCACHE  
-ISPELL
SENDMAIL=/usr/sbin/sendmail
MAILPATH=/var/mail
PKGDATADIR=/usr/share/mutt
SYSCONFDIR=/etc
EXECSHELL=/bin/sh
MIXMASTER=mixmaster
To contact the developers, please mail to mutt-...@mutt.org.
To report a bug, please visit http://bugs.mutt.org/.

0001-__misc__am-maintainer-mode.patch
0002-__features__ifdef.patch
0003-__features__xtitles.patch
0004-__features__trash-folder.patch
0005-__features__purge-message.patch
0006-__features__imap_fast_trash.patch
0007-__features__sensible_browser_position.patch
0008-__features-old__patch-1.5.4.vk.pgp_verbose_mime.patch
0009-__features__compressed-folders.patch
0010-__features__compressed-folders.debian.patch
0011-__debian-specific__Muttrc.patch
0012-__debian-specific__Md.etc_mailname_gethostbyname.patch
0013-__debian-specific__use_usr_bin_editor.patch
0014-__debian-specific__correct_docdir_in_man_page.patch
0015-__debian-specific__dont_document_not_present_feature.patch
0016-__debian-specific__document_debian_defaults.patch
0017-__debian-specific__assumed_charset-compat.patch
0018-__debian-specific__467432-write_bcc.patch
0019-__debian-specific__566076-build_doc_adjustments.patch
0020-__misc__define-pgp_getkeys_command.patch
0021-__misc__gpg.rc-paths.patch
0022-__misc__smime.rc.patch
0023-__misc__fix-configure-test-operator.patch

Bug#602284: pgpring displays wrong key length for some key

2014-03-09 Thread Guilhem Moulin
On Tue, 21 Nov 2010 at 20:51:12 +0100, Franck Joncourt wrote:
 Is there a proper document which explains to us how the fields are organized 
 in a
 keyblock according to the algorithm used? I have looked at the gnupg sources,
 and found a bit of information in build_packet.c, but this is still confused.

The description of OpenPGP public-key packets, as GnuPG implements it, 
can be found in RFC 4880 section 5.5.2 [1].  (I find it easier to read 
than C code :-P)

The meaning of the first 6 octets is identical for all algorithms.  The 
public-key algorithm itself is given by the 6th byte as per RFC 4880 
section 9.1.  Then follows a number of multiprecision integers (MPI) 
depending on the algorithm: RSA (algorithm 1 to 3) public keys have 
2 MPIs, DSA (algorithm 17) public keys have 4, and Elgamal (algorithm 16 
and 20) public keys have 3.

Now, what is commonly called length of the key is always the length of 
the first of said MPIs (public modulus in case of RSA, prime p in case 
of DSA and Elgamal).

So Fabrizio's patch seems to fix the issue.  I pushed (a slightly 
simplified version of) it to trunk (rev 563).

 By the way, I have found that a pgpring program is also provided by the mutt
 package (/usr/lib/mutt/pgpring), whose source files are a bit different :( But
 at a first look, there are enhancements, and the program still displays the 
 wrong
 key length.

Filed as #741213.

Cheers,
-- 
Guilhem.

[1] https://tools.ietf.org/html/rfc4880#section-5.5.2


signature.asc
Description: Digital signature


Bug#703355: signing-party: include gpg-import-imap script

2014-03-17 Thread Guilhem Moulin
Control: tag -1 moreinfo

Hi Nik,

mutt is capable of tagging messages matching a given pattern, and of
applying an action on all tagged messages, hence your second motivating
point is untrue IMHO.

That said, I believe your tool can be of interest, and possibly to mutt
users as well.  I've got a wishlist, though:

 * It would be great to be able to use a pre-authenticated tunnel to the
   IMAP server.  In my setup for instance, I use ‘/usr/lib/dovecot/imap’
   as a tunnel and rely on unix permissions for authentication; the IMAP
   server is not directly exposed to the network.

 * It might be preferable to dump the certification signature (and
   import them all at once using … | gpg --import), since the user can
   then use the --import-options of her choice.

 * I think the default selector, on the Subject: header, is too
   restrictive and not flexible enough.  Alternatives to caff such as
   PIUS or monkeysign may have other subjects, and it would be great to
   select messages that were manually crafted as well.  However calls to
   GnuPG are expensive, so ideally certification signatures should be
   detected without false positive.  It's probably hard to come up with
   a list of all MIME Content-Type used to send signatures by email, but
   after a quick look my own inbox here is what I found already:

1/ Encrypted message (multipart/encrypted) with attachment
   (application/pgp-keys or text/plain).

2/ Clear or armored message (multipart/mixed) with encrypted,
   non-armored, attachment (application/octet-stream).

3/ Clear or armored message (multipart/mixed) with encrypted,
   armored, attachment (application/pgp-encrypted).

4/ Clear message (text/plain) with armored signature in the body
   (text/plain).

5/ Signed message (multipart/signed) with armored signature in the
   body (text/plain).

   (This list is non exhaustive obviously, so please complete/correct
   it.) I therefore propose the following algorithm to detect emails
   containing certification signatures:

 * If the message is not multipart, or if the MIME Content-Type is
   text/plain or application/pgp-keys:
 - If the first non-blank line matches /^-+BEGIN PGP PUBLIC KEY 
BLOCK-+$/,
   import the data and stop.
   (Corresponds to an armored public key.)

 * If the MIME Content-Type is application/octet-stream or
   application/pgp-keys:
 - Read the first 8 bytes; if it matches the beginning of an
   OpenPGP header (see RFC 4880 sections 4.2 and 5.5), import
   the data and stop.
   (Corresponds to a non-armored public key.)

 * If the message is not multipart, or if the MIME Content-Type is
   text/plain or application/pgp-encrypted:
 - If the first non-blank line matches /^-+BEGIN PGP MESSAGE-+$/,
   try to decrypt, and upon success loop with the decrypted
   content.
   (Corresponds to armored encrypted message.)

 * If the MIME Content-Type is application/octet-stream or
   application/pgp-encrypted:
 - Read the first byte; if it matches the beginning of an
   OpenPGP header (see RFC 4880 sections 4.2, 5.1 and 5.3 ), try
   to decrypt, and upon success loop with the decrypted content.
   (Corresponds to non-armored encrypted message.)

 * If the MIME Content-Type is multipart/signed, loop on each part
   for which the Content-Type is not application/pgp-signature.
   (Corresponds to a PGP/MIME signed message.)

 * If the MIME Content-Type is multipart/mixed, loop on each part.
   (Corresponds to a clear message.)

 * If the MIME Content-Type is multipart/encrypted, try to decrypt
   the message, and upon success loop on each part.
   (Corresponds to a PGP/MIME (sign)encrypted message.)

 * Otherwise, drop the message or MIME part and stop.

  That's just a sketch, but I believe it does cover all the
  situations described above.  (And that's *more* than what mutt's ^K
  binding is able to detect ;-)  It's unclear how that would scale in
  practice though, so it might be good to keep selectors based on
  headers. (Or perhaps something more flexible, based on the IMAP SEARCH
  command as defined in RFC 3501 section 6.4.4? :-)


Regarding the parsing of OpenPGP packets headers in non-armored byte
streams, let x be the first byte. It MUST match the mask 0x80 (i.e., the
most significant bit must be set).

 * For public keys, if $x also matches the mask 0x40, then $x MUST be
   0xc6.  Otherwise, $x  0xfc MUST be 0x98.  If selecting based on the
   first byte only leads to too many false positive, one might need to
   parse the full header and read the first byte of the packet, which
   MUST be 0x03 or 0x04.  (see gpg --export $keyID | hexdump -n8 -ve
   '8/1 %02X\n'.)

 * For asymmetrically encrypted data, if $x also matches the mask 0x40,
   then $x MUST be 0xc1.  Otherwise, $x  0xfc MUST be 0x84.  If
   selecting 

Bug#742046: mysql-server: please add a debconf variable to identify root using the 'auth_socket' plugin

2014-03-18 Thread Guilhem Moulin
Package: mysql-server
Version: 5.5.35+dfsg-2
Severity: normal

Dear Maintainer,

When installing a MySQL server in a non-interactive environment (for
instance using a configuration manager):

  DEBIAN_FRONTEND=noninteractive apt-get install mysql-server

The post-install hook currently creates a root user without a password, making
any local user able to connect as root:

  guilhem@fresti: ~$ mysql -u root mysql
  […]
  mysql SELECT user,host,password,plugin FROM user;
  
+--+---+---++
  | user | host  | password  | 
plugin |
  
+--+---+---++
  | root | localhost |   |  
  |
  | root | fresti|   |  
  |
  | root | 127.0.0.1 |   |  
  |
  | root | ::1   |   |  
  |
  | debian-sys-maint | localhost | *0B79AE943CB9D2719FACD42B17D2550398AB |  
  |
  
+--+---+---++

Since as far as I'm concerned I don't have a use-case where a user should
connect to MySQL as root unless she already has UNIX root privileges, I would
like to use the Socket Peer-Credential Authentication Plugin [1].

Of course I could manually remove all hosts that are not ‘localhost’ and force
authentication using said plugin:

  mysql DROP USER 'root'@'fresti';
  mysql DROP USER 'root'@'127.0.0.1';
  mysql DROP USER 'root'@'::1';
  mysql INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
  mysql UPDATE user SET plugin = 'auth_socket', password = '' WHERE user = 
'root' AND host = 'localhost';
  mysql FLUSH PRIVILEGES;
  mysql SELECT user,host,password,plugin FROM user;
  
+--+---+---+-+
  | user | host  | password  | 
plugin  |
  
+--+---+---+-+
  | root | localhost |   | 
auth_socket |
  | debian-sys-maint | localhost | *0B79AE943CB9D2719FACD42B17D2550398AB |  
   |
  
+--+---+---+-+
  mysql QUIT;

  guilhem@fresti: ~$ mysql -u root mysql
  ERROR 1698 (28000): Access denied for user 'root'@'localhost'

However the race condition opens an obvious insecure windows, during which any
user can connect as root and (for instance) add another MySQL user and GRANT it
ALL PRIVILEGES.


IMHO the best way to overcome the issue would be to add a debconf variable to
force Socket Peer-Credential Authentication for the root user.  (Or perhaps
that should be the default when the password is left blank?  Or perhaps even
the password should be disabled by default, and only activated if explicitly
asked at the installation?)

Thanks!
Cheers,
-- 
Guilhem.

[1] https://dev.mysql.com/doc/refman/5.5/en/socket-authentication-plugin.html

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.13-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mysql-server depends on:
ii  mysql-server-5.5  5.5.35+dfsg-2

mysql-server recommends no packages.

mysql-server suggests no packages.

-- no debconf information


signature.asc
Description: Digital signature


Bug#742056: slapd: please add a debconf variable to disable RootPW and use unix permissions instead

2014-03-18 Thread Guilhem Moulin
Package: slapd
Version: 2.4.39-1
Severity: wishlist

Dear Maintainer,

When installing slapd in a non-interactive environment (for instance
using a configuration manager):

  DEBIAN_FRONTEND=noninteractive apt-get install slapd

Currently a new database ‘olcDatabase={1}hdb,cn=config’ is automatically
created, and a ‘cn=admin,…’ entry of objectClass simpleSecurityObject is added
to the directory, and its DN (resp. userPassword attribute) is used as RootDN
(resp.  RootPW) attribute on the database.

  root@fresti: ~# slapcat -n0 -s 'olcDatabase={1}hdb,cn=config' | grep ^olcRoot
  olcRootDN: cn=admin,dc=guilhem,dc=org
  olcRootPW:: e1NTSEF9a3FzRjFJRDdDR3YvZE02bWZOOGFFMWhabGo0NmRwSHY=
  root@fresti: ~# slapcat -n1 -s cn=admin,dc=guilhem,dc=org | grep ^userPassword
  userPassword:: e1NTSEF9a3FzRjFJRDdDR3YvZE02bWZOOGFFMWhabGo0NmRwSHY=

That password being randomly generated upon installation of a fresh directory,
it's not so useful (unless it is preseeded, which is arguably insecure).
Fortunately cn=config (DB #0) is writable by root, so she can reset the RootDN
(and RootPW) on DB #1 to the value of her choice, but it would be convenient to
have a debconf variable disabling password generation altogether and instead set

  olcRootDN: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth

so that only the UNIX root have unrestricted access to DB #1 when SASL-binding
to the ldapi:// socket.  (That also removes the need to add a olcRootPW
attribute, or a cn=admin,… entry.)

Thanks!
Cheers,
-- 
Guilhem.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.13-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages slapd depends on:
ii  adduser 3.113+nmu3
ii  coreutils   8.21-1
ii  debconf [debconf-2.0]   1.5.52
ii  libc6   2.18-4
ii  libdb5.35.3.28-3
ii  libgcrypt11 1.5.3-3
ii  libgnutls26 2.12.23-13
ii  libldap-2.4-2   2.4.39-1
ii  libltdl72.4.2-1.7
ii  libodbc12.3.1-1
ii  libperl5.18 5.18.2-2+b1
ii  libsasl2-2  2.1.26.dfsg1-9
ii  libslp1 1.2.1-9
ii  libwrap07.6.q-25
ii  lsb-base4.1+Debian12
ii  multiarch-support   2.18-4
ii  perl [libmime-base64-perl]  5.18.2-2+b1
ii  psmisc  22.21-1

Versions of packages slapd recommends:
ii  libsasl2-modules  2.1.26.dfsg1-9

Versions of packages slapd suggests:
ii  ldap-utils  2.4.39-1

-- debconf information:
  slapd/move_old_database: true
  slapd/dump_database: when needed
  slapd/no_configuration: false
  slapd/backend: HDB
  slapd/dump_database_destdir: /var/backups/slapd-VERSION
  slapd/upgrade_slapcat_failure:
  slapd/purge_database: false
  slapd/password_mismatch:
  shared/organization: guilhem.org
  slapd/domain: guilhem.org
  slapd/invalid_config: true
  slapd/allow_ldap_v2: false


signature.asc
Description: Digital signature


Bug#759784: debian-maintainers: Please add Guilhem Moulin as a Debian Maintainer

2014-09-02 Thread Guilhem Moulin
Oh by the way, please note that the email address I use for packaging,
namely guil...@guilhem.org, is not that of the primary UID of my OpenPGP
key 7420 DF86 BCE1 5A45 8DCE  9976 3927 8DA8 109E 6244.

Thanks!
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#753671: caff: please support gpg2

2014-10-01 Thread Guilhem Moulin
gnupg2 2.0.26-3 has been packaged today, and includes a fix for #751266.
Setting $CONFIG{'gpg'} to be 'gpg2' in the .caffrc is working again.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#316131: gpg-key2latex (replacement for gpg-key2ps)

2014-11-06 Thread Guilhem Moulin
Hi there,

FYI, the soon to be 1.1.11 release of signing-party includes a new
script ‘gpg-key2latex’, which hopefully will solve the following
limitations inherent to the PS format:

  - Support for Unicode in User ID (xelatex might be required for CJK
characters, though).

  - Support for UAT (Photo ID) and QR codes.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#768503: unblock: signing-party/1.1.10-1+deb8u1

2014-11-07 Thread Guilhem Moulin
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: unblock

Please unblock package signing-party

Hi there,

I would like to upload the attached changes: a regression bug has been
introduced in signing-party 1.1.10-1, making caff violate RFC 2822 when
sending messages with a non-English locale.  This fixes bug #767371.

unblock signing-party/1.1.10-1+deb8u1

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.16-3-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Thanks!
Cheers,
-- 
Guilhem.
diff -Nru signing-party-1.1.10/caff/caff signing-party-1.1.10/caff/caff
--- signing-party-1.1.10/caff/caff  2014-10-11 23:11:14.0 +0200
+++ signing-party-1.1.10/caff/caff  2014-11-07 22:17:51.0 +0100
@@ -383,7 +383,7 @@
 use IO::Select;
 use Getopt::Long;
 use GnuPG::Interface;
-use POSIX qw{strftime};
+use POSIX qw{strftime setlocale};
 
 my %CONFIG;
 my $REVISION = '$Rev: 710 $';
@@ -908,7 +908,7 @@
};
 
$message_entity-head-add(From, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
-   $message_entity-head-add(Date, strftime(%a, %e %b %Y %H:%M:%S %z, 
localtime));
+   $message_entity-head-add(Date, strfCtime(%a, %e %b %Y %H:%M:%S 
%z, localtime));
$message_entity-head-add(Subject, Your signed PGP key 0x$key_id);
$message_entity-head-add(To, email_to_ascii($address));
$message_entity-head-add(Sender, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
@@ -1175,6 +1175,18 @@
return 0;
 }
 
+##
+# A non-localized version of POSIX::strftime.
+#
+sub strfCtime($@) {
+my $lc_time = setlocale(POSIX::LC_TIME);
+setlocale(POSIX::LC_TIME, 'C');
+my $str = strftime(@_);
+setlocale(POSIX::LC_TIME, $lc_time);
+return $str;
+}
+
+
 ###
 # argument handling
 ###
diff -Nru signing-party-1.1.10/debian/changelog 
signing-party-1.1.10/debian/changelog
--- signing-party-1.1.10/debian/changelog   2014-10-11 23:09:24.0 
+0200
+++ signing-party-1.1.10/debian/changelog   2014-11-07 22:17:51.0 
+0100
@@ -1,3 +1,13 @@
+signing-party (1.1.10-1+deb8u1) unstable; urgency=medium
+
+  [ Guilhem Moulin ]
+  * caff:
++ Fix RCF 2822 violation: Never localize the Date header, regarless of
+  the LC_ALL, LC_TIME and LANG in use.  Regression introduced in r698.
+  (Closes: #767371)
+
+ -- Guilhem Moulin guil...@guilhem.org  Fri, 07 Nov 2014 21:35:13 +0100
+
 signing-party (1.1.10-1) unstable; urgency=low
 
   * debian.compat:


signature.asc
Description: Digital signature


Bug#768503: unblock: signing-party/1.1.10-1+deb8u1

2014-11-07 Thread Guilhem Moulin
Control: retitle -1 unblock: signing-party/1.1.10-2

unblock signing-party/1.1.10-2

On Fri, 07 Nov 2014 at 23:26:24 +0100, Niels Thykier wrote:
 On 2014-11-07 22:36, Guilhem Moulin wrote:
 I would like to upload the attached changes: a regression bug has been
 introduced in signing-party 1.1.10-1, making caff violate RFC 2822 when
 sending messages with a non-English locale.  This fixes bug #767371.
 
 Please do and let us know once it has been accepted in sid.

Grmbl, I should have waited the package being accepted before filing
that unblock request, actually…  The package being native I didn't
modifying the source would lead to a REJECT due to conflicting
.orig.tar.gz.  Sorry for the mess.

Anyway, signing-party 1.1.10-2 has just been ACCEPTed in sid. Here is
the new debdiff, with version number fixed to 1.1.10-2.

Cheers,
-- 
Guilhem.
diff -Nru signing-party-1.1.10/debian/changelog 
signing-party-1.1.10/debian/changelog
--- signing-party-1.1.10/debian/changelog   2014-10-11 23:09:24.0 
+0200
+++ signing-party-1.1.10/debian/changelog   2014-11-07 23:49:54.0 
+0100
@@ -1,3 +1,13 @@
+signing-party (1.1.10-2) unstable; urgency=medium
+
+  [ Guilhem Moulin ]
+  * caff:
++ Fix RCF 2822 violation: Never localize the Date header, regarless of
+  the LC_ALL, LC_TIME and LANG in use.  Regression introduced in r698.
+  (Closes: #767371)
+
+ -- Guilhem Moulin guil...@guilhem.org  Fri, 07 Nov 2014 21:35:13 +0100
+
 signing-party (1.1.10-1) unstable; urgency=low
 
   * debian.compat:
diff -Nru signing-party-1.1.10/debian/patches/bug767371.diff 
signing-party-1.1.10/debian/patches/bug767371.diff
--- signing-party-1.1.10/debian/patches/bug767371.diff  1970-01-01 
01:00:00.0 +0100
+++ signing-party-1.1.10/debian/patches/bug767371.diff  2014-11-07 
23:49:54.0 +0100
@@ -0,0 +1,41 @@
+diff --git a/caff/caff b/caff/caff
+index 696c0c1..ae4bffd 100755
+--- a/caff/caff
 b/caff/caff
+@@ -383,7 +383,7 @@ use Fcntl;
+ use IO::Select;
+ use Getopt::Long;
+ use GnuPG::Interface;
+-use POSIX qw{strftime};
++use POSIX qw{strftime setlocale};
+ 
+ my %CONFIG;
+ my $REVISION = '$Rev$';
+@@ -908,7 +908,7 @@ sub create_mail($$$@) {
+   };
+ 
+   $message_entity-head-add(From, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
+-  $message_entity-head-add(Date, strftime(%a, %e %b %Y %H:%M:%S %z, 
localtime));
++  $message_entity-head-add(Date, strfCtime(%a, %e %b %Y %H:%M:%S 
%z, localtime));
+   $message_entity-head-add(Subject, Your signed PGP key 0x$key_id);
+   $message_entity-head-add(To, email_to_ascii($address));
+   $message_entity-head-add(Sender, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
+@@ -1175,6 +1175,18 @@ sub import_keys_to_sign() {
+   return 0;
+ }
+ 
++##
++# A non-localized version of POSIX::strftime.
++#
++sub strfCtime($@) {
++my $lc_time = setlocale(POSIX::LC_TIME);
++setlocale(POSIX::LC_TIME, 'C');
++my $str = strftime(@_);
++setlocale(POSIX::LC_TIME, $lc_time);
++return $str;
++}
++
++
+ ###
+ # argument handling
+ ###


signature.asc
Description: Digital signature


Bug#768579: unblock: signing-party/1.1.10-3

2014-11-08 Thread Guilhem Moulin
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: unblock

Please unblock package signing-party

Hi there,

I would like to upload the attached changes: a regression bug has been
introduced in signing-party 1.1.10-1, making caff violate RFC 2822 when
sending messages with a non-English locale.  This fixes bug RC #767371.

(A previous unblock request has been filled — #768503, but the version
to unblock, namely 1.1.10-2, was not fixing RC #767371 bug. My bad,
sorry for that.)

unblock signing-party/1.1.10-3

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (800, 'testing'), (700, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.16-3-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Thanks!
Cheers,
-- 
Guilhem.
diff -Nru signing-party-1.1.10/debian/changelog 
signing-party-1.1.10/debian/changelog
--- signing-party-1.1.10/debian/changelog   2014-10-11 23:09:24.0 
+0200
+++ signing-party-1.1.10/debian/changelog   2014-11-08 02:02:16.0 
+0100
@@ -1,3 +1,13 @@
+signing-party (1.1.10-3) unstable; urgency=medium
+
+  [ Guilhem Moulin ]
+  * caff:
++ Fix RCF 2822 violation: Never localize the Date header, regarless of
+  the LC_ALL, LC_TIME and LANG in use.  Regression introduced in r698.
+  (Closes: #767371)
+
+ -- Guilhem Moulin guil...@guilhem.org  Fri, 07 Nov 2014 21:35:13 +0100
+
 signing-party (1.1.10-1) unstable; urgency=low
 
   * debian.compat:
diff -Nru signing-party-1.1.10/debian/patches/bug767371.diff 
signing-party-1.1.10/debian/patches/bug767371.diff
--- signing-party-1.1.10/debian/patches/bug767371.diff  1970-01-01 
01:00:00.0 +0100
+++ signing-party-1.1.10/debian/patches/bug767371.diff  2014-11-08 
02:02:16.0 +0100
@@ -0,0 +1,47 @@
+From: Guilhem Moulin guil...@guilhem.org
+Subject: [PATCH] Cherry-pick r721 to fix RC bug #767371.
+Date: Thu Oct 30 16:54:16 2014 +
+
+Fix RCF 2822 violation: Never localize the Date header.
+
+diff --git a/caff/caff b/caff/caff
+index 696c0c1..ae4bffd 100755
+--- a/caff/caff
 b/caff/caff
+@@ -383,7 +383,7 @@ use Fcntl;
+ use IO::Select;
+ use Getopt::Long;
+ use GnuPG::Interface;
+-use POSIX qw{strftime};
++use POSIX qw{strftime setlocale};
+ 
+ my %CONFIG;
+ my $REVISION = '$Rev: 710 $';
+@@ -908,7 +908,7 @@ sub create_mail($$$@) {
+   };
+ 
+   $message_entity-head-add(From, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
+-  $message_entity-head-add(Date, strftime(%a, %e %b %Y %H:%M:%S %z, 
localtime));
++  $message_entity-head-add(Date, strfCtime(%a, %e %b %Y %H:%M:%S 
%z, localtime));
+   $message_entity-head-add(Subject, Your signed PGP key 0x$key_id);
+   $message_entity-head-add(To, email_to_ascii($address));
+   $message_entity-head-add(Sender, Encode::encode('MIME-Q', 
$CONFIG{'owner'}).' '.$CONFIG{'email'}.'');
+@@ -1175,6 +1175,18 @@ sub import_keys_to_sign() {
+   return 0;
+ }
+ 
++##
++# A non-localized version of POSIX::strftime.
++#
++sub strfCtime($@) {
++my $lc_time = setlocale(POSIX::LC_TIME);
++setlocale(POSIX::LC_TIME, 'C');
++my $str = strftime(@_);
++setlocale(POSIX::LC_TIME, $lc_time);
++return $str;
++}
++
++
+ ###
+ # argument handling
+ ###
diff -Nru signing-party-1.1.10/debian/patches/series 
signing-party-1.1.10/debian/patches/series
--- signing-party-1.1.10/debian/patches/series  2014-10-11 23:09:24.0 
+0200
+++ signing-party-1.1.10/debian/patches/series  2014-11-08 02:02:16.0 
+0100
@@ -1 +1,2 @@
 gpgwrap_makefile.diff
+bug767371.diff


signature.asc
Description: Digital signature


Bug#769890: caff: Does not show fingerprint for verification when multiple uids are present

2014-11-17 Thread Guilhem Moulin
Control: severity -1 wishlist

Hi Matthijs,

If no UID(s) is (are) selected, gpg wants to make sure you really intend
to sign all UIDs.  So a workaround is to preselect all UIDs; with gpg2
it's can be done in one go with a single command in the prompt: ‘uid *’
(OTOH if you use the 1.4 branch, as of 1.4.18 you'll have to select each
UID manually.)

So it could be done by starting your gpg2 prompt as follows: 

  gpg2 --local-user 3798AF15A1565658 \
   --homedir=/home/matthijs/.caff/gnupghome \
   --secret-keyring /home/matthijs/.gnupg/secring.gpg \
   --no-auto-check-trustdb --trust-model=always \
   --edit-key 98E0D178DCB90C1945C50DB1ED0DD3368DE40924 \
   showphoto 'uid *' sign

I'll think of the possible drawbacks of making it the default (with gpg2
at least).  Another possibility would be to have a configuration option
containing all commands at once:

  $CONFIG{'gpg-command'} = [ 'showphoto', 'uid *', 'sign', 'save' ];

Suggestions welcome ;-)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#769954: signing-party: Support homedir

2014-11-17 Thread Guilhem Moulin
Hej Nelson,

On Mon, 17 Nov 2014 at 19:15:58 -0200, Nelson A. de Oliveira wrote:
 Couldn't gpg-key2* support a homedir option like gpg?

In indeed, and so could caff, gpglist, gpgsigs and probably other tools
in the signing-party package ;-)  But is there really a use case that's
not covered already by exporting a suitable GNUPGHOME?

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: signing-party: using gpg2, signing is skipped with 'No secret key'

2014-12-02 Thread Guilhem Moulin
Control: severity -1 wishlist
Control: retitle -1 Please support GnuPG 2.1

Hi Brian,

On Tue, 02 Dec 2014 at 17:23:21 -0500, Brian Minton wrote:
 If I have the gpg config entry set to gpg2 (with or without the path)
 version 2.1, I get the following message:

(I'm assuming you're talking about caff here.)  At the very last support
for the 2.1 branch of GnuPG will be added when it enters sid, but
hopefully before that.  (GnuPG 2.1 is only available in experimental
right now.)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771436: caff: Support e-mail subject customization

2014-12-02 Thread Guilhem Moulin
Control: tags -1 + pending

Hi Nelson,

On Sat, 29 Nov 2014 at 13:17:35 -0200, Nelson A. de Oliveira wrote:
 caff has a hardcoded e-mail subject.
 It would be good if we could also customize it (in .caffrc)

Done in r739:
https://anonscm.debian.org/viewvc/pgp-tools?view=revisionrevision=739

There is only one extension defined at the moment: %k, which expands
to the long key ID.  More can be added if needed, feel free to reopen
and/or to file another bug.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: signing-party: using gpg2, signing is skipped with 'No secret key'

2014-12-02 Thread Guilhem Moulin
On Tue, 02 Dec 2014 at 17:23:21 -0500, Brian Minton wrote:
 If I have the gpg config entry set to gpg2 (with or without the path)
 version 2.1, I get the following message:
 
 gpg: skipped 0424DC19B678A1A9: No secret key
 
 0424DC19B678A1A9 is my key, the private key of which is usable by gpg2
 and gpg.

On second thought, this might be an issue with the 2.0 and 1.4 branches
as well.  gpg exits the edit prompt with return value 2 whenever some
secret key doesn't have its public part in the public keyring.

Really sign all user IDs? (y/N) y
gpg: error checking usability status of 
gpg: key : secret key without public key - skipped
gpg q
$ echo $?
2

caff uses the default secret keyring (configurable with
$CONFIG{'secret-keyring'}) but has its own public keyring.  Right now
only $CONFIG{'keyid'} is imported from the normal public keyring.  Is
0424DC19B678A1A9 the key used as $CONFIG{'keyid'} in your .caffrc?  If
not, can you try

gpg --export 0424DC19B678A1A9 | gpg --homedir=$HOME/.caff/gnupghome --import

If that fixes the problem, I've got a proper fix ready ;-)

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: 771857

2014-12-02 Thread Guilhem Moulin
On Tue, 02 Dec 2014 at 19:20:22 -0500, Brian Minton wrote:
 Update: That did not in fact fix the problem.  I had removed the gpg2 line
 from the config file.  When I put it back in, it still gives the message.

I just pushed a fix (r741) for the branches 1.4 and 2.0 of GnuPG.  The
2.1 branch has a different keystore and will have to wait :-P

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#772854: signing-party: QR code: too small quiet zone on large QR code

2014-12-11 Thread Guilhem Moulin
Control: tags -1 + pending

Hi Peter,

On Thu, 11 Dec 2014 at 19:28:29 +0100, Peter Lebbing wrote:
 I noticed that the quiet zone is only about 2 modules, and that's
 assuming you cut it exactly at the lines. My phone had no problem
 scanning the picture even on a starkly contrasting background, but it's
 not according to spec, so I wonder why the option -m0 is specified in
 the first place?

Oops I have to confess I didn't read the spec :-/  (The margin was removed to
properly align the code with the text, I didn't realize I was breaking the
standard here.)  Fixed in r745.

 By the way, the reportbug-generated dependency versions below seem to
 have a little multiarch related bug; the version of my python:any
 package is 2.7.8-1 (amd64 arch).

Thanks, adding dh-python to Build-Depends should fix it.  Fixed in r743.


On Thu, 11 Dec 2014 at 21:42:21 +0100, Peter Lebbing wrote:
 By the way, currently the QR code has a (L)ow error correction level. You can
 raise that to a (M)edium error correction level without the QR code getting 
 any
 larger (the size of the fingerprint is fixed, so this will generally be true 
 for
 an OPENPGP4FPR: URI). qrencode accepts an argument -lM to specify a medium 
 error
 correction level. So you get a more resilient QR code for free.

Thanks for the suggestion!  Pushed as well (r746).

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: caff: Please support GnuPG 2.1

2014-12-29 Thread Guilhem Moulin
This is due to GnuPG 2.1 ignoring --secret-keyring:

--secret-keyring file
This is an obsolete option and ignored.  All secret keys are
stored in the private-keys-v1.d directory below the GnuPG home
directory.

But caff has its own GnuPG home (~/.caff/gnupghome by default), and
there is currently no configuration option to specify
‘~/.gnupg/private-keys-v1.d’ as the location for private keys.  I'll
file a wishlist bug for that.  A dirty fix in the meantime is to symlink
the directory:

rmdir ~/.caff/gnupghome/private-keys-v1.d
ln -s ~/.gnupg/private-keys-v1.d ~/.caff/gnupghome

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: caff: Please support GnuPG 2.1

2015-01-03 Thread Guilhem Moulin
Following http://lists.gnupg.org/pipermail/gnupg-devel/2015-January/029301.html
caff's $CONFIG{'secret-keyring'} has been deprecated, and the symlinks
are automatically created when the secret keyrings are not present.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#644472: caff: Support sending mails via MUA (such as mutt)

2015-02-03 Thread Guilhem Moulin
I'm a bit reluctant to make caff non-interactive by default, and would
rather let users specify the MUA and their options themselves, rather
than hardcoding a bunch of supported MUAs in caff.  My 'mail-cmd'
proposal above seems to achieve the same thing (let users interact with
their MUA to add personal messages or something).  It should also
support any MUA that can get body, attachment, subject and recipient
from the command line.  And it's not hard to implement :-); I can
probably hack something up in the next couple of days if people are
interested.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#775702: caff: Using gpg-agent without GPG_TTY causes silent caff failures

2015-01-20 Thread Guilhem Moulin
Hi Ewen,

Your report says you have signing-party 1.1.4-1, but your patch seems to
be against a more recent version :-P  But anyway I agree that the
standard output shouldn't be thrown away like that.  That said the
absence of GPG_TTY in the environment doesn't seem to bother my gpg(1);
doesn't the following work for you?

   gpg --version
   gpg --trust-model=always --no-auto-check-trustdb --fingerprint --with-colons 
--list-public-keys --no-tty --batch -- KEYID /dev/null

That should be the faulting command; it works here, even after a ‘unset
GPG_TTY’.  And yes I do use gpg-agent, but I can't see how it can be
relevant here as AFAICT caff doesn't choke on private material.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#775702: caff: Using gpg-agent without GPG_TTY causes silent caff failures

2015-01-20 Thread Guilhem Moulin
Control: retitle -1 caff: The absence of GPG_TTY causes silent caff failures in 
OSX
Control: tag -1 + pending

On Wed, 21 Jan 2015 at 11:12:44 +1300, Ewen McNeill wrote:
 - MacPorts (OS X) (gpg 1.4.18): works _without_ sderr redirected, fails with
 stderr redirected (no output, exit code 1), unless GPG_TTY is set then it
 works again.

Wow that's odd.

 I'll take the works on Debian, fails on OS X back to the MacPorts ticket
 (https://trac.macports.org/ticket/46601).  But I do think it'd be helpful if
 caff would either (a) not redirect stderr or (b) ensure that GPG_TTY is set
 when stderr is being redirected.  Since those seem to be the two safe ways
 to run gpg reliably.

I can't remember of a reason to redirect stderr, and right now it
doesn't seem like a good idea to me.  I'm a bit reluctant to modify the
environment though, especially since it's a weird behavior of GnuPG –
and OSX specific :-P — IMHO.  So all in all I pushed your patch in r760.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#775702: caff: Using gpg-agent without GPG_TTY causes silent caff failures

2015-01-22 Thread Guilhem Moulin
On Wed, 21 Jan 2015 at 15:52:45 +1300, Ewen McNeill wrote:
 if (defined($ENV{MACHTYPE}) 
$ENV{MACHTYPE} =~ /apple/  ! defined($ENV{'GPG_TTY'})) {
  warn warning: Certain gpg actions may fail if GPG_TTY is not set, ,
   causing silent caff failures.\n;
 }
 
 But maybe there should be some other conditional on it (eg, if it's a gpg
 build option that is the real trigger).  (FTR: $MACHTYPE =
 x86_64-apple-darwin13 on my OS X 10.9 system.)

Yeah, it'd be great to dig that further.  So far I only grepped the
GnuPG source for must be set in shell, but it didn't help.  I guess
the next step would be to mail gnupg-de...@gnupg.org, at least if the
culprit is not the OSX maintainer (I dunno how things work there;
assuming these macports are not built by upstream).

 So all in all I pushed your patch in r760.
 
 Thanks.   For future reference, there seems to be at least one other set of
 gpg commands that caff uses (after the keys are signed, to figure out what
 to send) which also fails without GPG_TTY set, but I didn't debug that one
 as thoroughly once I'd guessed that setting GPG_TTY was a viable workaround.

Alright.  How about an error then?  I mean, caff tends to produce a
somewhat verbose output, and it's easy to overlook warnings (there has
been some complaints about that in the past).

 My blog post about caff on OS/X may possibly help someone else running into
 the same issue:
 
 http://ewen.mcneill.gen.nz/blog/entry/2015-01-19-keysigning-with-caff/
 
 (and it also has a reasonable guide to Mail::Mailer settings for doing SMTP
 Auth to an external mail server.)

Great.  The manpage includes some of it already, but TBH I didn't know
SSL_CERT_DIR/SSL_CERT_FILE would affect the server authentication.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#771857: caff: Please support GnuPG 2.1

2015-02-20 Thread Guilhem Moulin
In fact I changed that (r773) to symlink the agent's socket(s) instead;
it's much cleaner as it doesn't spawn multiple agent in
~/.caff/gnupghome and the temporary directories.  However caff won't
work with gpg = 2.1.2, due to gpg not flushing its standard output
before the status prompts during the pruning.  This bug has already been
fixed upstream, see

  http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=d2a70fd8


-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#784982: mysql-server: False positive when checking for insecure root accounts

2015-05-11 Thread Guilhem Moulin
Package: mysql-server
Version: 5.5.42-1
Severity: normal

Dear Maintainer,

When checking for insecure root accounts, ‘debian-start.inc.sh’ merely
lists root accounts with an empty password:

SELECT COUNT(*) FROM mysql.user WHERE user='root' and password='';

However, such an account can be perfectly secure if e.g., it is
associated with the ‘auth_socket’ plugin [1] (the client would have to
connect to Unix socket and use SO_PEERCRED).

The query could be amended as follows:

SELECT COUNT(*) FROM mysql.user WHERE user='root' and password='' and 
plugin!='auth_socket';

However some other plugins such as PAM could be considered secure as
well.

Cheers,
-- 
Guilhem.

[0] https://dev.mysql.com/doc/refman/5.5/en/pluggable-authentication.html
[1] https://dev.mysql.com/doc/refman/5.5/en/socket-authentication-plugin.html


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


signature.asc
Description: Digital signature


Bug#785343: linux-image-4.0.0-1-686-pae: /@/initrd.img not found, due to the symlink /initrd.img having an absolute target

2015-05-14 Thread Guilhem Moulin
Package: src:linux
Version: 4.0.2-1
Severity: important

Dear Maintainer,

I have the following — probably not so common — configuration:
- libreboot BIOS (a deblobed coreboot) with a GRUB2 payload
- root is BTRFS, with rootflags=subvol=@

Since I don't want to flash a new payload onto the BIOS chip at each
kernel upgrade, I'm using the following static grub.cfg:

linux  /@/vmlinuz root=UUID=[…] rootflags=subvol=@ resume=UUID=[…] ro
initrd /@/initrd.img

This used to work great until 3.16.0.  However my system no longer boots
since the 4.0.0 upgrade, due to the symlink /initrd.img now having an
absolute target: since GRUB doesn't understand BTRFS subvolumes, it
needs to be pointed to /@/boot/initrd.img-4.0.0-1-686-pae somehow.

Of course the quickfix on my side is to edit the GRUB script to load
‘initrd /@/boot/initrd.img-4.0.0-1-686-pae’ instead, but it would be
nice to make /initrd.img's target relative again in the post-install
script (/vmlinuz doesn't have this problem by the way).

Cheers,
-- 
Guilhem.


-- Package-specific info:
** Version:
Linux version 4.0.0-1-686-pae (debian-ker...@lists.debian.org) (gcc version 
4.9.2 (Debian 4.9.2-16) ) #1 SMP Debian 4.0.2-1 (2015-05-11)

** Command line:
BOOT_IMAGE=/@/vmlinuz root=UUID=a17c2310-b308-4dd0-8cef-a7f8ca750081 
rootflags=subvol=@ resume=UUID=102accd9-30dd-4081-8a7f-a1310ad9a1ee ro

** Not tainted

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 4.0.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- debconf information excluded


signature.asc
Description: Digital signature


Bug#785343: linux-image-4.0.0-1-686-pae: /@/initrd.img not found, due to the symlink /initrd.img having an absolute target

2015-05-15 Thread Guilhem Moulin
On Fri, 15 May 2015 at 13:47:59 +0100, Ben Hutchings wrote:
 On Fri, 2015-05-15 at 05:24 +0200, Guilhem Moulin wrote:
 On Fri, 15 May 2015 at 03:57:35 +0100, Ben Hutchings wrote:
 GRUB knows how to do this properly, so you're just making things
 difficult for yourself.
 
 Since there is always a risk of bricking the board when flashing the
 BIOS chip, I don't want to add a hook add flash it whenever I upgrade
 the kernel.
 [...]
 
 Why would you need to flash the whole chip?  Isn't the configuration in
 its own flash partition?

Not that I know of.  At the moment the format doesn't allow “support
multiple CBFSes per firmware image” [0].  My current way of upgrading
the grub.cf is to replace the grub.cfg in the ROM, then flash the whole
chip [1]:

cbfstool libreboot.rom remove -n grub.cfg
cbfstool libreboot.rom add -t raw -n grub.cfg -f grub.cfg
flashrom -p internal -w libreboot.rom

And using flashrom on the go makes me sweaty ;-)  As the coreboot wiki
says: “Disadvantages: more risky if you have no way to recover ”.

-- 
Guilhem.

[0] http://www.coreboot.org/CBFS#FMAP
[1] http://www.coreboot.org/GRUB2#combining_with_coreboot


signature.asc
Description: Digital signature


Bug#785343: linux-image-4.0.0-1-686-pae: /@/initrd.img not found, due to the symlink /initrd.img having an absolute target

2015-05-14 Thread Guilhem Moulin
On Fri, 15 May 2015 at 03:57:35 +0100, Ben Hutchings wrote:
 GRUB knows how to do this properly, so you're just making things
 difficult for yourself.

Since there is always a risk of bricking the board when flashing the
BIOS chip, I don't want to add a hook add flash it whenever I upgrade
the kernel.  And in case you meant I could make GRUB reads its config
file on disk, this unfortunately doesn't apply here since it's fully
encrypted (including /boot; decryption takes place in GRUB).

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#782696: dput: Please give a way to specify the path to the gpg(1) binary

2015-04-16 Thread Guilhem Moulin
Package: dput
Version: 0.9.6.4
Severity: normal

Dear Maintainer,

dput uses a hardcoded ‘/usr/bin/gpg’ when checking signatures.  This no
longer works if the user uses GnuPG 2.1 (currently available in
experimental) has migrated her keyring to the keybox format, since this
format is not readable by the 1.4 and 2.0 branches.

It would be great to have a way to point dput to gpg2 instead.  dcut
delegates the signing operation to debsign which uses the
DEBSIGN_PROGRAM from ~/.devscripts; maybe dput should use that as well?

Thanks,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-06-27 Thread Guilhem Moulin
Package: sponsorship-requests
Severity: normal

Dear mentors,

I am looking for a sponsor for my package dropbear

* Package name: dropbear
  Version : 2015.67-1.1
  Upstream Author : Matt Johnston m...@ucc.asn.au
* URL : http://matt.ucc.asn.au/dropbear/
* License : MIT
  Section : net

It builds those binary packages:

  dropbear - transitional dummy package for dropbear-{run,initramfs}
  dropbear-bin - lightweight SSH2 server and client - command line tools
  dropbear-initramfs - lightweight SSH2 server and client - initramfs 
integration
  dropbear-run - lightweight SSH2 server and client - startup scripts

To access further information about this package, please visit the following 
URL:

  http://mentors.debian.net/package/dropbear

Alternatively, one can download the package with dget using this command:
   
  dget -x 
http://mentors.debian.net/debian/pool/main/d/dropbear/dropbear_2015.67-1.1.dsc

More information about dropbear can be obtained from 
http://matt.ucc.asn.au/dropbear/ .
The maintainer told me to go ahead a proceed with the NMU [0].

Changes since the last upload:

  * Non-maintainer upload.

  [ Matt Johnston ]
  * New upstream release.  (Closes: #775222.)

  [ Guilhem Moulin ]
  * debian/source/format: 3.0 (quilt)
  * debian/compat: 9
  * debian/control: bump Standards-Version to 3.9.6 (no changes necessary).
  * debian/copyright: add machine-readable file.
  * Split up package in dropbear-bin (binaries), dropbear-run (init scripts)
and dropbear-initramfs (initramfs integration).  'dropbear' is now a
transitional dummy package depending on on dropbear-run and
dropbear-initramfs.  (Closes: #692932.)
  * Refactorize the package using dh_* tools, including dh_autoreconf.
(Closes: #689618, #777324.)
  * dropbear-run:
+ Add a status option to the /etc/init.d script.
+ Pass key files with -r not -d in /etc/init.d script.  (Closes: #761143.)
+ Post-installation script: Generate missing ECDSA in addition to RSA and
  DSS host keys.  (Closes: #776976.)
  * dropbear-initramfs:
+ Don't mark /usr/share/initramfs-tools/conf-hooks.d/dropbear as a
  configuration file, since it violates the Debian Policy Manual section
  10.7.2.  (Regression from 2014.64-1.)
+ Delete debian/initramfs/premount-devpts, since /dev/pts in mounted by
  init since initramfs-tools 0.94.  (Closes: #632656.)
+ Auto-generate host keys in the postinstall script, not when runing
  update-initramfs.  Pass the '-R' option (via $PKGOPTION_dropbear_OPTION)
  for the old behavior.  Also, print fingerprint and ASCII art for
  generated keys (if ssh-keygen is available).
+ Revert ad2fb1c and remove warning about changing host key.  Users
  shouldn't be encouraged to use the same keys in the encrypted partition
  and in the initramfs.  The proper fix is to use an alternative port or
  UserKnownHostFile.
+ Set ~root to `mktemp -d $DESTDIR/root-XX` to avoid collisions with
  $rootmnt.  (Closes: #558115.)
+ Exit gracefully if $IP is 'none' or 'off'.  (Closes: #692932.)
+ Start dropbear with flag -s to explicitly disable password logins.
+ Terminate all children before killing dropbear, to avoid stalled SSH
  connections.  (Closes: #735203.)
+ Run configure_networking in the foreground.  (Closes: #584780, #626181,
  #739519.)
+ Bring down interfaces and flush network configuration before existing
  the ramdisk, to avoid misconfigured network in the regular kernel.
  (Closes: #715048, #720987, #720988.)
+ Add a script '/bin/unlock' to the initramfs to make remote unlocking
  easier and possibly as a forced-command restrictions in authorized_keys.

Cheers,
-- 
Guilhem.

[0] https://lists.debian.org/debian-devel/2015/06/msg00285.html


signature.asc
Description: Digital signature


Bug#715048: Patch to add support for an indpendendent initramfs networking config

2015-06-16 Thread Guilhem Moulin
On Mon, 01 Jun 2015 at 07:53:28 -0500, Karl O. Pinc wrote:
 On Mon, 1 Jun 2015 13:46:26 +0200 Guilhem Moulin guil...@guilhem.org wrote:
 On Sun, 31 May 2015 at 21:30:25 -0500, Karl O. Pinc wrote:
 On Mon, 1 Jun 2015 03:30:36 +0200 Guilhem Moulin guil...@guilhem.org 
 wrote:
 
 I'd rather not having to manually edit these scripts, and follow your
 original patch to add a new configuration variable DROPBEAR_IFDOWN.
 (Perhaps unset by default for NFS mounts, and set to “all” otherwise.)
 
 You're right, a configuration variable is the way to go.
 
 My thoughts are in order to support nfs mounts it should not bring
 down and flush everything, but instead work only on specific addresses
 of specific interfaces.  This means using ip addr flush dev ethX to
 address.

Why that?  Dropbear and nfs both use initramfs-tools's
‘configure_networking’ function, so AFAICT it doesn't make any
difference to the network configuration if dropbear and nfs are used
alone or together.

Since BOOT=nfs doesn't touch the network configuration after mounting
the root fs, I'd say we should do the same here, and only bring the
interfaces down for BOOT=local.  (The proper place for that is  in a
local-bottom script as you initially proposed, and not init-bottom as I
suggested earlier.)

 I've been thinking more deeply.  To answer
 my own question, ipconfig is required to support
 the various configuration protocols, like dhcp.
 But it does not need to support bringing the
 interface down, the klibc patch is unnecessary.

Oh yes, indeed.
 
 Regards using ip to bring down and de-configure the
 interface: I think the scripts need to first bring the
 interface down then flush them.  After poking around
 the flush code I see that it first empties the buffers
 and then does something to de-configure the interface
 (I think).  So if you don't bring the interface
 down first you'll have a race condition where you
 empty the buffers but more arrives before the
 configuration is removed.  (Maybe.)

Fair enough.  The following snippet (from a local-bottom script) seems
to work fine here:

[ ${DROPBEAR_IFDOWN:-all} != all ] || DROPBEAR_IFDOWN=$(ls /sys/class/net)
for IFACE in $DROPBEAR_IFDOWN; do
ip linkset   dev $IFACE down
ip address flush dev $IFACE
ip route   flush dev $IFACE
done

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#584780: dropbear script for initramfs-tools breaks DNS (and any fixed-address) server

2015-06-16 Thread Guilhem Moulin
‘configure_networking’ was moved to the background in commit a3b7a7d6.
According to debian/changelog it was meant to be a fix for #514213 and
#524728.  I'd say the proper fix would be to follow Simon McVittie's
suggestion [0] and split the dropbear package as follows:

  * dropbear-bin (executable, private libraries if any)
  * dropbear (init integration goo) Depends: dropbear-bin
  * dropbear-initramfs Depends: dropbear-bin, Suggests: dropbear

That way dropbear users that are not using the cryptroot remote
unlocking feature would simply not install dropbear-initramfs.

-- 
Guilhem.

[0] https://lists.debian.org/debian-devel/2015/05/msg00685.html


signature.asc
Description: Digital signature


Bug#558115: dropbear: uses root fs mountpoint for root's home

2015-06-16 Thread Guilhem Moulin
Control: tags -1 patch

Here is a patch setting the homedir to $(mktemp -d /root-XX).

-- 
Guilhem.
--- /home/guilhem/initramfs-tools/hooks/dropbear	2014-08-12 00:15:40.0 +0200
+++ /usr/share/initramfs-tools/hooks/dropbear	2015-06-16 23:11:27.060710678 +0200
@@ -31,8 +31,9 @@
 		for so in $(find ${LIBC_DIR} -name 'libnss_compat*'); do
 			copy_exec ${so}
 		done
+		home=$(mktemp -d $DESTDIR/root-XX)
 		echo 'passwd: compat'  ${DESTDIR}/etc/nsswitch.conf
-		echo root:x:0:0:root:/root:/bin/sh  ${DESTDIR}/etc/passwd
+		echo root:x:0:0:root:${home#$DESTDIR}:/bin/sh  ${DESTDIR}/etc/passwd
 		for keytype in dss rsa; do
 			if [ ! -f /etc/initramfs-tools/etc/dropbear/dropbear_${keytype}_host_key ]; then
 mkdir -p /etc/initramfs-tools/etc/dropbear
@@ -53,8 +54,8 @@
 			fi
 			cat /etc/initramfs-tools/root/.ssh/id_rsa.pub  /etc/initramfs-tools/root/.ssh/authorized_keys
 		fi
-		mkdir -p ${DESTDIR}/root/.ssh
-		cp /etc/initramfs-tools/root/.ssh/authorized_keys ${DESTDIR}/root/.ssh/
+		mkdir -p $home/.ssh
+		cp /etc/initramfs-tools/root/.ssh/authorized_keys $home/.ssh/
 	fi
 fi
 


signature.asc
Description: Digital signature


Bug#692932: dropbear: no support for a different initramfs network config from that of the normal system

2015-06-16 Thread Guilhem Moulin
On Fri, 29 May 2015 at 19:47:43 +0200, Guilhem Moulin wrote:
 I believe the issue it that the init-premount script sets $IPOPTS while
 ‘configure_networking’ uses $IP to pick and configure interfaces.

Forget about that.  IP is assigned properly by the ‘init’ script, and
IPOPTS isn't used anywhere.  So the whole for loop could be removed, and
replaced by a test on $IP.

That said I think the proper way to use dropbear without the cryptroot
remote unlocking feature would be to follow Simon McVittie's suggestion
[0] and split the dropbear package as follows:

  * dropbear-bin (executable, private libraries if any)
  * dropbear (init integration goo) Depends: dropbear-bin
  * dropbear-initramfs Depends: dropbear-bin, Suggests: dropbear

-- 
Guilhem.

[0] https://lists.debian.org/debian-devel/2015/05/msg00685.html
--- a/usr/share/initramfs-tools/scripts/init-premount/dropbear
+++ b/usr/share/initramfs-tools/scripts/init-premount/dropbear
@@ -13,22 +13,14 @@
 	;;
 esac
 
-. /scripts/functions
+[ $IP != off -a $IP != none -a -x /sbin/dropbear ] || exit 0
 
-[ -x /sbin/dropbear ] || exit 0
+. /scripts/functions
 
 log_begin_msg Starting dropbear
 
 . /conf/initramfs.conf
 
-for x in $(cat /proc/cmdline); do
-	case $x in
-		ip=*)
-			IPOPTS=${x#ip=}
-			;;
-	esac
-done
-
 configure_networking 
 
 mkdir -p /var/run


signature.asc
Description: Digital signature


Bug#632656: dropbear: duplicate mount /dev/pts in initramfs

2015-06-16 Thread Guilhem Moulin
In fact /dev/pts is mounted in the ‘init’ initramfs script since commit
261811b5 [0], so we could simply remove ‘scripts/init-premount/devpts’.

-- 
Guilhem.

[0] 
https://anonscm.debian.org/cgit/kernel/initramfs-tools.git/commit/init?id=261811b5d0524c7fe579bf4ca22915c2dc4b636f


signature.asc
Description: Digital signature


Bug#735203: dropbear does not exit properly in initrd

2015-06-15 Thread Guilhem Moulin
Control: tags -1 patch
Control: retitle -1 Stalled SSH connections after existing initrd due to 
remaining dropbear children processes

To terminate all existing SSH sessions, it's somewhat cleaner to kill
all children before exiting the server.

Cheers,
-- 
Guilhem.
--- dropbear/dropbear	2015-06-01 03:27:45.946440539 +0200
+++ /tmp/dropbear	2015-06-16 01:21:55.167304668 +0200
@@ -19,5 +19,6 @@
 
 log_begin_msg Stopping dropbear
 
-kill `cat /var/run/dropbear.pid`
-
+pid=$(cat /var/run/dropbear.pid)
+ps -eo ppid,pid | sed -nr s/^\s*$pid\s+([0-9]+)\s*$/\1/p | xargs -r kill
+kill $pid


signature.asc
Description: Digital signature


Bug#715048: Patch to add support for an indpendendent initramfs networking config

2015-05-31 Thread Guilhem Moulin
On Fri, 29 May 2015 at 23:35:26 -0500, Karl O. Pinc wrote:
 Or maybe adding a flush after the ipconfig brings the
 interface down.
 
 Hopefully this would remove the old boot-temporary ip
 netmask, routes, etc. and leave the interface clean
 and ready to get it's normal configuration.
 
 Unfortunately I just don't have time right now to try this.
 Any help would be appreciated.

My test was probably not exhaustive, but added the following two lines
to a init-bottom script did the trick for me:

ip addr flush dev eth0
ip link set dev eth0 down

I tried to boot with kernel parameter ‘ip=192.168.1.200:eth0:off’.
Without the init-bottom script the normal network configuration seems
to be ignored (it keeps IP 192.168.1.200 instead), while with the script
eth0 is configured properly (following the /etc/network/interfaces).

I'll see if the linux-initramfs-tool would be willing to accept an
‘unconfigure_networking’ function using ip(1).

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#715048: Patch to add support for an indpendendent initramfs networking config

2015-06-01 Thread Guilhem Moulin
On Sun, 31 May 2015 at 21:30:25 -0500, Karl O. Pinc wrote:
 On Mon, 1 Jun 2015 03:30:36 +0200 Guilhem Moulin guil...@guilhem.org wrote:
 I'll see if the linux-initramfs-tool would be willing to accept an
 ‘unconfigure_networking’ function using ip(1).
 
 I haven't looked at all the pieces in a long time.
 The idea of a function is appealing, but no matter
 what the sysadm is going to have to be involved
 in bringing the interface down and de-configuring
 it (per
 https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;att=1;bug=715487;filename=README.Debian.downnet.patch
 , right?  Possibly a little extra editing on the
 part of a sysadm in this corner case is worth
 not having a function.

I'd rather not having to manually edit these scripts, and follow your
original patch to add a new configuration variable DROPBEAR_IFDOWN.
(Perhaps unset by default for NFS mounts, and set to “all” otherwise.)

 But all this raises a question in my mind.
 If ip is available then why does ipconfig
 exist at all and why is it used?  Why would
 it even be necessary to patch klibc/ipconfig?

/sbin/ip is provided by busybox, which is not required.  However it is
for remote rootfs unlocking, since a shell is needed to type in the
command or execute the SSH_COMMAND.

 Patching ipconfig would only be useful in those
 environments where ip is not available, and in
 those environments the ip flush functionality
 would need to be built into ipconfig.  In this
 case the right thing to do is not to add
 a function to linux-intramfs-tool but to
 dig around in the ip code and port the flush
 part back into ipconfig.  With luck this won't be that
 hard now that we know where to look.
 (I think the down part is already done.)

It's true that the linux-initramfs-tool maintainers might be reluctant
to use ip in ‘unconfigure_networking’ while ‘configure_networking’ uses
ipconfig.  And using only ip is probably not acceptable since it's not
guaranteed to be present.  However I doubt I have the skills to patch
klibc :-/  I'd say using ip in dropbear's init-bottom script is fine in
the meantime.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#632656: dropbear: duplicate mount /dev/pts in initramfs

2015-05-29 Thread Guilhem Moulin
An arguably simpler alternative to copying mountpoint(1) is to grep
through /proc/mounts.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#632656: dropbear: duplicate mount /dev/pts in initramfs

2015-05-29 Thread Guilhem Moulin
On Fri, 29 May 2015 at 19:18:04 +0200, Guilhem Moulin wrote:
 An arguably simpler alternative to copying mountpoint(1) is to grep
 through /proc/mounts.

Forgot the patch, sorry.

-- 
Guilhem.
--- a/usr/share/initramfs-tools/scripts/init-premount/devpts
+++ b/usr/share/initramfs-tools/scripts/init-premount/devpts
@@ -13,15 +13,13 @@
 	;;
 esac
 
-. /scripts/functions
-
-grep -E [[:space:]]+devpts$ /proc/filesystems /dev/null 21 || exit 0
+grep -qE '\sdevpts$' /proc/filesystems || exit 0
 
 # If /dev/pts is already mounted, don't re-mount it.
-mountpoint -q /dev/pts || exit 0
+! grep -qE '^devpts\s+/dev/pts\s+devpts\s' /proc/mounts || exit 0
 
+. /scripts/functions
 log_begin_msg Mounting devpts
 
 mkdir -p /dev/pts
 mount -t devpts none /dev/pts
-


signature.asc
Description: Digital signature


Bug#692932: dropbear: no support for a different initramfs network config from that of the normal system

2015-05-29 Thread Guilhem Moulin
tags -1 patch
thanks

I believe the issue it that the init-premount script sets $IPOPTS while
‘configure_networking’ uses $IP to pick and configure interfaces.

-- 
Guilhem.
--- a/usr/share/initramfs-tools/scripts/init-premount/dropbear
+++ b/usr/share/initramfs-tools/scripts/init-premount/dropbear
@@ -24,7 +24,7 @@
 for x in $(cat /proc/cmdline); do
 	case $x in
 		ip=*)
-			IPOPTS=${x#ip=}
+			IP=${x#ip=}
 			;;
 	esac
 done


signature.asc
Description: Digital signature


Bug#715048: Patch to add support for an indpendendent initramfs networking config

2015-05-29 Thread Guilhem Moulin
Hi,

 The problem is that, while klibc can bring up and down network
 interfaces, the interface configuration does not go away.

What doesn't go away exactly?  (What do you mean by “interface
configuration”?)  I wonder if ip(8) could help, by the way.  It's
included in the initrd, can flush routes (‘ip addr flush dev $DEVICE’)
and bring down interfaces (‘ip link set dev $DEVICE down’).

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#786415: /usr/bin/caff: missing perl module PavamVal.pm

2015-05-21 Thread Guilhem Moulin
The MIME::Field::ParamVal module is provided by libmime-tools-perl, on
which caff depends.

$ dpkg -L libmime-tools-perl | grep ParamVal.pm
/usr/share/perl5/MIME/Field/ParamVal.pm
$ dpkg -l | grep libmime-tools-perl
ii  libmime-tools-perl  5.505-1 all  Perl5 modules 
for MIME-compliant messages

Could it be a partial installation of your libmime-tools-perl?

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-08-08 Thread Guilhem Moulin
Hi Helmut,

On Fri, 31 Jul 2015 at 07:46:26 +0200, Helmut Grohne wrote:
 That was quick. Let me answer some of your comments already. I intend
 to take another stab at the upload when I find more time, but that
 shall not prevent other interested sponsors from uploading it earlier.
 Possibly Gerrit replied by then.

I still have a hope to make it to Debconf (I'm currently on the waiting
list :-/).  Would be great to make it happen there!

FYI upstream made a new release today.  That includes a fix to the two
issues you reported in #27;  my own patches included in patches/series
have been applied as well.

  http://lists.ucc.gu.uwa.edu.au/pipermail/dropbear/2015q3/001777.html

However, this time I didn't pull in the changes (although Debian is now 3
releases behind…)

 On Fri, Jul 31, 2015 at 05:44:09AM +0200, Guilhem Moulin wrote:
 Alright, this one is new to me.  I'm not sure how blindly I can follow
 
https://wiki.debian.org/Multiarch/Implementation#dh.281.29_and_autotools
 
 because dropbear-bin ships an executable ‘/usr/lib/dropbear/dropbearconvert’.
 So checked the package source for openssh and found that openssh-server
 uses Multi-Arch:foreign, but openssh-sftp-server, which ships
 ‘/usr/lib/openssh/sftp-server’, doesn't.  So all in all I'm unsure what
 to in my case.
 
 It is actually much easier than that. Since dropbear does not ship any
 libraries or similar, the only Multi-Arch tag that makes sense is
 foreign. So this is mostly a matter of asking: Does a package expose
 its architecture via one of its public interfaces? If the answer is
 no, then foreign is appropriate.
 […]
 I didn't spot any reason for not marking all of the dropbear packages
 M-A:foreign, but this probably warrants a closer look.

Thanks for the explanation.  Yes, ‘Multi-Arch: foreign’ is the right tag
in that case.  I have updated my debian/control, but I'll wait for a
second round of feedback before uploading the package to mentors.

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-08-19 Thread Guilhem Moulin
Hi there,

On Thu, 30 Jul 2015 at 22:21:21 +0200, Helmut Grohne wrote:
 In general, I'd find sponsoring this NMU much easier if the package
 split and the fixing of those many bugs could happen in separate
 uploads. Each part is complex and the fallout is hard to estimate. I
 understand that such a separation would mean more work for you. Do you
 think that doing this in two steps is worth the added effort?

Alright, would it help moving forward if I were doing that?  Reverting
to 2014.65 is easy, and the current 2015.68-1 could always be uploaded
once 2014.65-1 has entered testing.  It'd be quite sad to upload known
bugs in a package containing multiple lintian warnings and errors [0],
but if someone is willing to review and upload the package, but only
with the split of dropbear-{bin,run,initramfs} and without the many
extra bug fixes, then I'm ready to clean, test and release [1].

Cheers,
-- 
Guilhem.

[0] https://lintian.debian.org/full/p...@smarden.org.html#dropbear_2014.65-1
[1] 
https://gitweb.guilhem.org/dropbear?p=dropbear;a=commit;h=64ea640134b67e68daad2096d54afc91b0722895


signature.asc
Description: Digital signature


Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-08-21 Thread Guilhem Moulin
Hi Gianfranco,

On Thu, 20 Aug 2015 at 07:23:55 +, Gianfranco Costamagna wrote:
 I didn't follow the thread, and seems that other DDs are already caring of
 this one, so I would just put my .02$ (and let me know if you need a review
 or help).

Thanks!  So far only Helmut has given feedback and offered to have
another look when time allows.  I'll ping you if there is no follow-up
by the end of the month or so.  (That said I wouldn't mind more eyeballs
looking at the package either ;-)

 2) what about updating to the latest version and upload on experimental?
 
 I don't see all this need to go for unstable, I might even sponsor an 
 experimental upload
 because if Gerrit is not satisfied he can continue and upload his version to 
 unstable,
 and experimental will disappear automagically.
 
 Isn't this one the experimental suite pourpose?
 We are still in the Stretch early stage, we might delay unstable until other 
 folks tested it.

If by “update to the latest version” you meant my dropbear-{bin,run,initramfs} 
packages,
you'll find them there:

  dget -x 
http://mentors.debian.net/debian/pool/main/d/dropbear/dropbear_2015.68-0.1.dsc

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#796664: signing-party: gpglist does not show all valid identities

2015-08-24 Thread Guilhem Moulin
Control: tags -1 pending

Hi Tomasz,

On Sun, 23 Aug 2015 at 12:47:01 +0200, Tomasz Buchert wrote:
 my gpg key is paticular: it has an uid that has been revoked and then
 subsequently recreated. As a result, it does not show up in the output of
 gpglist.
 
 I've created a patch that fixes that. It slightly changes
 the output of gpglist to show the status of each identity.

I'd rather avoid that if possible.  Your UID doesn't show up because
gpglist(1) currently prunes revoked UIDs, while it should keep those
with a subsequent selfsig.  I pushed a simpler fix in r815.

 I attach another patch as well, that adds an option (--show-revoked) that 
 shows
 all identities.

Thanks, pushed a slightly modified version of your patch in r816.

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#793917: dropbear FTCBFS: runs wrong arch strip

2015-07-29 Thread Guilhem Moulin
Hi Helmut,

On Tue, 28 Jul 2015 at 23:01:57 +0200, Helmut Grohne wrote:
 dropbear has two problems concerning cross compilation:
 
 * It runs a build arch strip which cannot handle the crossed binaries.
 Thus the build fails (see attached log).
 * It does not run dpkg-shlibdeps, thus Depends are wrong.

There is an ongoing effort to refactor and split the dropbear package in
order to isolate the binary, service files and initramfs parts.
   
https://tracker.debian.org/pkg/dropbear
https://lists.debian.org/debian-devel/2015/06/msg00285.html
https://mentors.debian.net/package/dropbear

The resulting packages (not in the NEW queue yet, I'm waiting for a sponsor)
are built using dh_strip and dh_shlibdeps hence should the first item while
making the Depends line meaningful.

dget -x 
http://mentors.debian.net/debian/pool/main/d/dropbear/dropbear_2015.67-1.1.dsc

Cheers,
-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-07-30 Thread Guilhem Moulin
Hi Helmut,

On Thu, 30 Jul 2015 at 22:21:21 +0200, Helmut Grohne wrote:
 Thanks for your work on dropbear. Much appreciated.

And thanks for the extensive feedback!  I know it's quite a heavy
changelog, so I didn't really expect anyone other than Gerrit perhaps to
check it out that closely.

 On Sat, Jul 11, 2015 at 03:20:52PM +0200, Guilhem Moulin wrote:
 Note that while the current maintainer (Gerrit, CC'ed) told me to go
 ahead and proceed with a NMU, they are not able to sponsor me at the
 moment.  Furthermore I'm currently a DM and would be open to
 co-maintenance once time is ripe.
 
 My reading of Gerrit's mail is a bit more limited. He wrote to d-devel:
 | Unfortunately I cannot support you, but don't hesitate to NMU the
 | dropbear package to be able to proceed.
 
 May be this is hair-splitting, but I'd read this as NMUing specifically
 for the purpose of splitting out the initramfs stuff (and then moving it
 to a different source package). I'd not assume that doing a new upstream
 release is covered by the above. Maybe Gerrit can clarify that or we can
 go via a delayed queue.

Yeah true, I might have taken too much liberty here.  I noticed upstream
was already two releases ahead so I wildly pulled in the new tarball :-/
(plus it fixed #775222 ;-)  Then I couldn't split the package without
doing major refactoring (which thanks to debhelper automatically solved
#689618, #692932, #777324, #793006, #793917).  And later I guess I got
carried away with enthusiasm on the way and decided to try to fix the
remaining bugs (some of them were quite old, and most fixes were rather
easy; at least the one relevant to the initramfs feature, which didn't
seem to be maintained anymore, and which bothered me personally since I
use this feature myself) :-P

 Despite me having lots of comments, your changes are actually of high
 quality. Don't get scared! Some comments are picky/matter of taste. Feel
 free to disagree.

No worries.  Constructive criticism never hurts anyway ;-)

 Since you bump the upstream release your NMU version should be -0.1
 instead of -1.1.

Thanks, fixed.

 I note that the new tilde expansion functionality in the upstream
 release is a bit strange. If my own home is /home/helmut, it will
 expand ~/foo to /home/helmut//foo (note the double slash). Worse, it
 will expand expand ~otheruser/foo to /home/helmut/otheruser/foo,
 which does not match the general expectation of tilde expansion.

Well spotted.  I guess one ought to file a bug.

 Gerrit asked for the binaries to be located in dropbear, but you place
 them in dropbear-bin. Maybe Gerrit can also ack this? (It was stated
 as a preference.)

In fact in a later mail in the d-d thread Gerrit agreed to make
“dropbear” a transitional package and place binaries to “dropbear-bin”,
as suggested to me by Adam Borowski:

https://lists.debian.org/debian-devel/2015/06/msg00290.html
 
 Since dropbear-initramfs relies on initramfs-tools 0.94 features, the
 dependency should be versioned.

Thanks, fixed.  (Didn't think it mattered since even oldoldstable has
said feature.)

 If you disable password logins by default, please mention in a NEWS
 entry!

It was never enabled in the initramfs (disabling it without notice would
have been foolish otherwise, indeed).  The change I made (initramfs-only
only) is to no longer make the server *advertise* it, so that clients
won't prompt for a password and try to send it to the server (which is
bound to reject it anyway).  Sorry for the confusion.
 
 Would it make sense to install the NEWS file to the transitional package
 only? (i.e. mv debian/NEWS debian/dropbear.NEWS)

Yes it would!  Fixed, thanks for the suggestion.
 
 It might be safer in the future if dropbear-{initramfs,run} use a (=
 ${binary:Version}) dependency on dropbear-bin. Will you remember to bump
 such a dependency when dropbear-run starts to use a new option? (But
 --link-doc incurs this dependency anyway.)

You mean if upstream starts deprecate options used in
dropbear-{initramfs,run}?  Which by the way seems to happen right now
with ‘-d’ with is now an alias for ‘-r’ but has been removed from the
manpage, see #761143.  (And now I realize I could have written a note
regarding s/-d/-r/ in the NEWS regarding that change :-/)

Yeah that makes sense, I tightened the dependency by specifying the
${binary:Version}.

 Please consider whether Multi-Arch:foreign markings are appropriate for
 some packages.

Alright, this one is new to me.  I'm not sure how blindly I can follow

https://wiki.debian.org/Multiarch/Implementation#dh.281.29_and_autotools

because dropbear-bin ships an executable ‘/usr/lib/dropbear/dropbearconvert’.
So checked the package source for openssh and found that openssh-server
uses Multi-Arch:foreign, but openssh-sftp-server, which ships
‘/usr/lib/openssh/sftp-server’, doesn't.  So all in all I'm unsure what
to in my case.

 Why are dropbear-{initramfs,run} marked as Architecture:any? Do they
 contain any architecture specific

Bug#790125: RFS: dropbear/2015.67-1.1 NMU

2015-07-17 Thread Guilhem Moulin
Hi Vincent, Gerrit,

On Tue, 14 Jul 2015 at 18:42:53 -0700, Vincent Cheng wrote:
 NMUs are intended to be minimally intrusive and be targeted to fix
 specific bugs (and usually RC/important ones); that means that in
 general, you should avoid things like new upstream releases and
 extensive packaging changes, and your proposed debdiff should be as
 small as possible.

Yes I know: I intended to split the initramfs stuff, but I couldn't make
multiple binary packages into the same source package without major
refactoring.

 Your changes are more in scope of a package adoption than a NMU.

I'd be open for adoption of dropbear-initramfs indeed, but it's best to
keep the same source package for the three dropbear-*, hence my offer to
co-maintenance instead ;-)

 While I don't want to discourage you from doing extensive work to
 improve dropbear, you'll likely find it difficult to find a DD other
 than the maintainer who's willing to sponsor this as a NMU.

Fair enough, I'll wait then.  Thanks for you answer anyway :-)

-- 
Guilhem.


signature.asc
Description: Digital signature


Bug#793006: dropbear: please make build reproducible

2015-07-20 Thread Guilhem Moulin
Hi,

On Mon, 20 Jul 2015 at 13:55:35 +0200, Maria Valentina Marin wrote:
 While working on the “reproducible builds” effort [1], we have noticed
 that dropbear could not be built reproducibly.

There is an ongoing effort to refactor and split the dropbear package in
order to isolate the binary, service files and initramfs parts.

https://tracker.debian.org/pkg/dropbear
https://lists.debian.org/debian-devel/2015/06/msg00285.html

The resulting packages (not in the NEW queue yet) should be reproducible
already.

dget -x 
http://mentors.debian.net/debian/pool/main/d/dropbear/dropbear_2015.67-1.1.dsc

Cheers,
-- 
Guilhem.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#805327: irssi-plugin-otr: Can't configure the statusbar templates with `/format OTR stb_*`

2015-11-16 Thread Guilhem Moulin
Package: irssi-plugin-otr
Version: 1.0.0-1+b2
Severity: normal

Dear Maintainer,

‘src/otr-formats.c’ defines a couple of irssi templates to be configured
with ‘/format otr ’.  The list of templates and their current
values is listed by the ‘/format otr’ command:

[Statusbar]
stb_plaintext = {sb plaintext}
stb_finished = {sb %yfinished%n}
stb_unknown = {sb {hilight state unknown (BUG!)}}
stb_untrusted = {sb %GOTR%n (%runverified%n)}
stb_trust = {sb %GOTR%n}

I'm able to change these value using

/format otr stb_trust {sb %2OTR%n}

However, possibly due to a compiler optimization in irssi-plugin-otr,
this has no impact on the actual template used in the statusbar.

Cheers,
-- 
Guilhem.


-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages irssi-plugin-otr depends on:
ii  irssi0.8.17-1+b1
ii  libc62.19-22
ii  libgcrypt20  1.6.4-3
ii  libotr5  4.1.0-2

irssi-plugin-otr recommends no packages.

irssi-plugin-otr suggests no packages.

-- no debconf information


signature.asc
Description: PGP signature


Bug#803993: RFS: netmask/2.4.3-1 - helps determine network masks

2015-11-03 Thread Guilhem Moulin
Package: sponsorship-requests
Severity: normal

Dear mentors,

I am looking for a sponsor for my package "netmask"

* Package name: netmask
  Version : 2.4.3-1
  Upstream Author : Robert Stone <ta...@trap.mtview.ca.us>
* URL : https://github.com/talby-/netmask
* License : GPL-2+
  Section : net

It builds those binary packages:

  netmask - helps determine network masks

To access further information about this package, please visit the following 
URL:

  http://mentors.debian.net/package/netmask

Alternatively, one can download the package with dget using this command:

  dget -x 
http://mentors.debian.net/debian/pool/main/n/netmask/netmask_2.4.3-1.dsc

Changes since the last upload:

  [ Robert Stone ]
  * New upstream release.  (Closes: #802884.)

  [ Guilhem Moulin ]
  * debian/patches:
+ Make the build reproducible: setting --version twice no longer prints
  the build timestamp.
  * debian/control:
+ Change 'Vcs-Git' and 'Vcs-Browser' fields to use collab-maint.
+ Set 'Multi-Arch: foreign'.
  * debian/patches:
+ Remove 'Add foreign to AM_INIT_AUTOMAKE macro' patch, applied upstream.
  * Fix debian/watch file.

Cheers,
-- 
Guilhem.


signature.asc
Description: PGP signature


Bug#801973: error 255 on package configuration

2015-10-16 Thread Guilhem Moulin
Hi,

On Fri, 16 Oct 2015 at 16:01:21 +0200, e-mmanuel wrote:
> During upgrade of roundcube (from 1.1.2+dfsg.1-4 to 1.1.2+dfsg.1-5),
> aptitude reports errors and upgrade stops.

Hmm odd.  The 1.1.2+dfsg.1-4 → 1.1.2+dfsg.1-5 upgrade works just file in a
clean(+dialog) sid chroot:

~# echo 'deb http://snapshot.debian.org/archive/debian/20150911T101115Z/ 
unstable main' >/etc/apt/sources.list
~# apt -o Acquire::Check-Valid-Until=false update
~# apt install dialog
~# apt install --install-recommends roundcube roundcube-sqlite3
~# dpkg -l | sed -nr 's/^(ii\s+roundcube\S*\s+\S+).*/\1/p'
ii  roundcube 1.1.2+dfsg.1-4
ii  roundcube-core1.1.2+dfsg.1-4
ii  roundcube-sqlite3 1.1.2+dfsg.1-4

~# echo 'deb http://ftp.debian.org/debian unstable main' >/etc/apt/sources.list
~# apt update
~# apt upgrade; echo $?
[…]
0
~# dpkg -l | sed -nr 's/^(ii\s+roundcube\S*\s+\S+).*/\1/p'
ii  roundcube 1.1.2+dfsg.1-5
ii  roundcube-core1.1.2+dfsg.1-5
ii  roundcube-sqlite3 1.1.2+dfsg.1-5

-- 
Guilhem.


signature.asc
Description: PGP signature


  1   2   3   4   5   6   7   8   9   10   >