Patch [was: cabot alioth]

Laurent Fousse laurent@komite.net
Thu, 25 Mar 2004 00:19:54 +0100


--UHN/qo2QbUvPLonB
Content-Type: multipart/mixed; boundary="envbJBWh7q8WU6mo"
Content-Disposition: inline


--envbJBWh7q8WU6mo
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Le Wed, Mar 24, 2004 at 07:09:08PM +0100, Peter Palfrader =E9crivait:
> > I ran recovery, but now the files are owned by me.  Fun.  Pestering
> > root@ on irc to fix.
>=20
> Fixed.

Thanks. Please comment and/or commit the included patch. This makes
the current svn snapshot installable :-) (debian packages are ready to
upload).

And I've been able to test one full challenge response cycle. Btw, do
you know how I can easily delete a signature selected by the keyid of
the signer ? When I use delsig gpg prompts me with every signature
available in turn, and of course the signature from my dummy test key
is the last...

Commit log would be :
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

- ca-dosign send signed key in attachment using OpenPGP MIME format.
- Cabot.pm is installed.
- Perl scripts import required symbols from Cabot.pm.
- Cleaned README file :
  * add pointer the webpage,
  * dropped redundant configuration instructions,
  * point to the two configuration howtos.
- Added pointer to the configuration howtos in cabot-config

End of commit log.

Cheers,

Laurent.

--envbJBWh7q8WU6mo
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff-cabot
Content-Transfer-Encoding: quoted-printable

Index: ca-recv
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ca-recv	(revision 114)
+++ ca-recv	(working copy)
@@ -23,7 +23,7 @@
=20
 use strict;
 use File::Path;
-use Cabot;
+use Cabot qw(%CONFIG getkeydir ask);
=20
 umask(0007);
=20
Index: ca-config
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ca-config	(revision 114)
+++ ca-config	(working copy)
@@ -114,6 +114,12 @@
=20
 ca-bot(7)
=20
+Ideas how to setup ca-bot can be found in
+/usr/[local/]share/doc/cabot/ca-bot-noroot.txt (setup with procmail)
+and /usr/[local/]share/doc/cabot/cabot-micro-howto.txt.gz (setup with
+special user cabot). The first method is recommended, as it doesn't
+require root access.
+
 =3Dhead1 VERSION
=20
 This manpage: $Id$
Index: ca-createsendout
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ca-createsendout	(revision 114)
+++ ca-createsendout	(working copy)
@@ -26,7 +26,7 @@
 use IO::Handle;
 use English;
 use File::Path;
-use Cabot;
+use Cabot qw(%CONFIG makekeydir mkfds ask readwritegpg);
=20
 my $config =3D $ENV{'HOME'} . '/.cabotrc';
 -f $config or die "No file $config present.  See ca-config(5).\n";
Index: README
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- README	(revision 114)
+++ README	(working copy)
@@ -3,40 +3,24 @@
 See INSTALL for generic installation instructions.
=20
=20
-CONFIGURING CABOT
+HOMEPAGE
=20
-After having installed, set up cabot.  We'll show one way to do this (of
-course, there are more).
+The homepage for the project is located here :
=20
-- Create a useraccount "cabot".  If you have the Debian adduser package
-  installed, you can do this by running
+ http://www.palfrader.org/cabot/
=20
-     # adduser --system --home /usr/local/var/lib/cabot \
-          --shell /bin/false --group john --disabled-password \
-          --disabled-login --gecos "CA Bot" cabot
=20
-  where 'john' is your primary group.
+CONFIGURING CABOT
=20
-  (Use
+After having installed, set up cabot. There are currently two
+documented ways of doing this :
=20
-    # su -s /bin/sh - cabot
+- in ca-bot-noroot.txt are instructions to set up cabot without root
+  access (probably the prefered way).
=20
-  to run a shell as the cabot user.)
+- in cabot-micro-howto.txt are instructions to set up cabot with a
+  dedicated system account.
=20
-- Now, as the cabot user, create a file ~/.cabotrc: copy
-  /usr/local/share/doc/cabot/examples/cabotrc and adjust it to your needs.=
  See
-  ca-config(5) for details about the file.  You might want to use "cat" fo=
r the
-  sendmail pipe, when testing your setup.  Furthermore, under your own
-  useraccount, having access to your private key, do
-
-    you@yourhost ~$ ln -s ~cabot/.cabotrc
-
-  so that, when running ca-dosign(1) under your own userid, you have a sane
-  ~/.cabotrc.
-
-- Read cabot-micro-howto.txt, for hints on how to configure your mail setup
-  to deal with cabot stuff.
-
 See the ca-bot pot file for usage info and more.  Run
=20
   ./configure && make ca-bot.txt
@@ -49,10 +33,11 @@
 Those who'd like to change the cabot internals, or want to build cabot fro=
m a
 fresh CVS tree, should refer to the file ./bootstrap .
=20
-Public CVS read access is available from subversions.gnu.org:/cvsroot/cabo=
t ,
-see https://savannah.nongnu.org/cvs/?group=3Dcabot .
+The latest development version can be fetched with subversion :
=20
+ svn co svn://svn.debian.org/cabot/trunk/ cabot
=20
+
 SIMILAR PROJECTS
=20
 Other software automating keysigning tasks:
Index: ca-sendout
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ca-sendout	(revision 114)
+++ ca-sendout	(working copy)
@@ -26,7 +26,7 @@
 use English;
 use IO::Handle;
 use File::Path;
-use Cabot;
+use Cabot qw(%CONFIG genrandstring getkeydir makekeydir mkfds ask readwrit=
egpg);
=20
 my $config =3D $ENV{'HOME'} . '/.cabotrc';
 -f $config or die "No file $config present.  See ca-config(5).\n";
Index: ca-dosign
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ca-dosign	(revision 114)
+++ ca-dosign	(working copy)
@@ -26,7 +26,7 @@
 use IO::Handle;
 use English;
 use File::Path;
-use Cabot;
+use Cabot qw(%CONFIG getkeydir makekeydir mkfds ask genrandstring readwrit=
egpg);
=20
 $OUTPUT_AUTOFLUSH =3D 1;=20
=20
@@ -38,8 +38,12 @@
=20
 my $revision =3D '$Revision: 1.17 $'; # FIXME
=20
-sub send_mail($$$;$) {
-	my ($to, $subject, $body, $not_really) =3D @_;
+sub send_mail($$$$;$) {
+	my ($to, $subject, $body, $key, $not_really) =3D @_;
+
+        my $boundary =3D "foo";
+        $boundary =3D genrandstring(8)
+         while (grep /$boundary/, $body.$key);
 =09
 	my $msg =3D << "EOF";
 Subject: $subject
@@ -48,9 +52,19 @@
 From: $CONFIG{'bot'}
 User-Agent: cabot $revision, (c) 1998 Ian Jackson, (c) 2001, 2003 Peter Pa=
lfrader
 X-URL: http://www.palfrader.org/cabot/
-Content-Type: text/plain
+Content-Type: multipart/mixed; boundary=3D"$boundary"
=20
+--$boundary
+Content-type: text/plain
+
 $body
+
+--$boundary
+Content-type: application/pgp-keys
+
+$key
+
+--$boundary--
 EOF
 	unless (defined $not_really && $not_really) {
 		open(MAIL, $CONFIG{'sendmail'}) || die ("Cannot execute sendmail: $!\n");
@@ -216,7 +230,7 @@
 Thanks
 $CONFIG{'name'}
=20
-Key follows:
+Key included as attachment.
=20
 EOF
 	my $key;
@@ -234,7 +248,7 @@
=20
 	my $to =3D join ', ', @uids;
 	print "Sending mail..\n";
-	my $mail =3D send_mail($to, "PGP/GPG key exchange", $text.$key, !$send_ma=
il);
+	my $mail =3D send_mail($to, "PGP/GPG key exchange", $text, $key, !$send_m=
ail);
 	print $send_mail ? "done.\n" : "not really.\n";
=20
 	unless ( -d $CONFIG{'done'} ) {
Index: Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- Makefile.am	(revision 114)
+++ Makefile.am	(working copy)
@@ -21,6 +21,10 @@
 VERSION =3D @PACKAGE_VERSION@
 PACKAGE =3D @PACKAGE_TARNAME@
=20
+# Perl module
+perlmoddir =3D $(datadir)/perl5
+perlmod_DATA =3D Cabot.pm
+
 SUBDIRS =3D doc
=20
 bin_SCRIPTS =3D ca-createsendout ca-dosign ca-recv ca-sendout
@@ -40,7 +44,8 @@
 examplesdir =3D $(docdir)/examples
 examples_DATA =3D cabotrc
=20
-EXTRA_DIST =3D bootstrap setversion VERSION.m4 $(bin_SCRIPTS) cabotrc ca-c=
onfig
+EXTRA_DIST =3D bootstrap setversion VERSION.m4 $(bin_SCRIPTS) cabotrc ca-c=
onfig\
+             $(perlmod_DATA)
 CLEANFILES =3D $(man_MANS) $(tmpfiles)
 DISTCLEANFILES =3D $(CLEANFILES) $(txts) $(htmls)
=20

--envbJBWh7q8WU6mo--

--UHN/qo2QbUvPLonB
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAYheaRoAVF6FpbSsRAm+wAJ9U3iPvYj9Wn91eXP7WX4XEXu9toQCeMbQH
lGhg54CUXU1FhmtjEKGwDFw=
=iIFS
-----END PGP SIGNATURE-----

--UHN/qo2QbUvPLonB--