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--