diff options
author | Noèl Köthe <noel@debian.org> | 2006-02-21 22:23:56 +0100 |
---|---|---|
committer | Unit 193 <unit193@ubuntu.com> | 2019-12-05 16:35:10 -0500 |
commit | d9616469b8c78909d6ee34be21e2f5e060dd7206 (patch) | |
tree | 4ae8dc23fb12e39581071e76f9adb0a1453cb7ea | |
parent | b8815138539a86864aafe56f7a4c9eaef6fe4ac2 (diff) | |
parent | e287e05850046efa72cfd8bf5f6fe564c6cfd8e2 (diff) | |
download | listadmin-d9616469b8c78909d6ee34be21e2f5e060dd7206.tar.bz2 listadmin-d9616469b8c78909d6ee34be21e2f5e060dd7206.tar.xz listadmin-d9616469b8c78909d6ee34be21e2f5e060dd7206.tar.zst |
Import Debian changes 2.30-1debian/2.30-1
listadmin (2.30-1) unstable; urgency=low
* new upstream release from 2006-02-19
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rwxr-xr-x | listadmin.pl | 68 | ||||
-rw-r--r-- | listadmin.txt | 3 |
4 files changed, 48 insertions, 33 deletions
@@ -1,7 +1,7 @@ SHELL = /bin/sh INSTALL = install -c -VERSION = 2.29 +VERSION = 2.30 PREFIX = /usr/local BINDIR = $(PREFIX)/bin @@ -18,7 +18,7 @@ install: listadmin.txt: listadmin.man # Note the verbatim backspace in the sed command - env TERM=dumb nroff -man $< | sed 's/.//g' | uniq > $@.tmp + env TERM=dumb nroff -man $< | sed -e '/^XXX/d' -e 's/.//g' | uniq > $@.tmp mv $@.tmp $@ TARFILE = listadmin-$(VERSION).tar.gz diff --git a/debian/changelog b/debian/changelog index 96f32b7..c4c81ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +listadmin (2.30-1) unstable; urgency=low + + * new upstream release from 2006-02-19 + + -- Noèl Köthe <noel@debian.org> Tue, 21 Feb 2006 22:23:56 +0100 + listadmin (2.29-1) unstable; urgency=low * new upstream release from 2006-02-17 diff --git a/listadmin.pl b/listadmin.pl index a4c7949..42da77b 100755 --- a/listadmin.pl +++ b/listadmin.pl @@ -1,6 +1,6 @@ #! /usr/bin/perl -w # -# listadmin version 2.29 +# listadmin version 2.30 # Written 2003 - 2006 by # Kjetil Torgrim Homme <kjetilho+listadmin@ifi.uio.no> # @@ -94,19 +94,36 @@ for (@lists) { } my $info = {}; - print "fetching data for $list\n"; + my $tries = 0; + print "\nfetching data for $list ... "; do { - if ($pw eq "" || $info->{'autherror'}) { + if (-t && ($pw eq "" || $info->{'autherror'})) { + print "\n" unless $tries++; $pw = prompt_password("Enter password" . ($user ? " for $user: ": ": ")); + next if $pw eq ""; } - $info = get_list ($list, $config->{$list}, $pw) if $pw; - } while ($info->{'autherror'} && $pw); + $info = get_list($list, $config->{$list}, $pw); + if ($info->{'autherror'}) { + print "\n" unless $tries++; + print STDERR "ERROR: Username or password for $list incorrect\n"; + } + } while (-t && $info->{'autherror'} && $tries < 9); + if ($info->{'servererror'}) { + print "\n"; + printf STDERR ("ERROR: fetching %s\n", $info->{'url'}); + printf STDERR ("ERROR: Server returned '%s' -- skipping list\n", + $info->{'servererror'}); next; } elsif ($info->{'autherror'}) { - print "no password, skipping...\n" unless $pw; + print "giving up, proceeding to next list\n"; next; + } elsif (! %{$info}) { + print "nothing in queue\n"; + next; + } else { + print "\n"; } my %change = (); @@ -441,20 +458,24 @@ sub get_list { my $starttime = time; my $mmver; my ($page, $page_appr, $resp_appr); - my $resp = $ua->post(mailman_url($list, $config->{"adminurl"}), - mailman_params($config->{"user"}, $pw)); + my $url = mailman_url($list, $config->{"adminurl"}); + my $resp = $ua->post($url, mailman_params($config->{"user"}, $pw)); unless ($resp->is_success) { - print STDERR $resp->error_as_HTML; - return {'servererror' => 1}; + return {'servererror' => $resp->status_line, 'url' => $url}; } $page = $resp->content; + my $dumpdir = $config->{"dumpdir"}; + if (defined $dumpdir) { + if (open (DUMP, ">$dumpdir/dump-$list.html")) { + print DUMP $page; + close (DUMP); + } + } my $parse = HTML::TokeParser->new(\$page) || die; $parse->get_tag ("title") || die; my $title = $parse->get_trimmed_text ("/title") || die; if ($title =~ /authentication/i) { - print STDERR - "Unable to log in. Is your username and password correct?\n"; return {'autherror' => 1}; } @@ -471,23 +492,14 @@ sub get_list { if ($mmver ge "2.1") { # Mailman does not look for "details" in parameters, so it # must be part of the query string. - $resp = $ua->post(mailman_url($list, $config->{"adminurl"}, - "details=all"), - mailman_params($config->{"user"}, $pw)); + $url = mailman_url($list, $config->{"adminurl"}, "details=all"); + $resp = $ua->post($url, mailman_params($config->{"user"}, $pw)); unless ($resp->is_success) { - print STDERR $resp->error_as_HTML; - return {'servererror' => 1}; + return {'servererror' => $resp->status_line, 'url' => $url}; } $page_appr = $resp->content; - } - - my $dumpdir = $config->{"dumpdir"}; - if (defined $dumpdir) { - if (open (DUMP, ">$dumpdir/dump-subs-$list.html")) { - print DUMP $page; - close (DUMP); - } - if ($page_appr && open (DUMP, ">$dumpdir/dump-held-$list.html")) { + if (defined $dumpdir && + open (DUMP, ">$dumpdir/dump-details-$list.html")) { print DUMP $page_appr; close (DUMP); } @@ -500,7 +512,7 @@ sub get_list { } else { $data = parse_pages_mm_old($mmver, $config, $parse); } - set_param_values($mmver, $data); + set_param_values($mmver, $data) if %{$data}; return $data; } @@ -510,7 +522,7 @@ sub parse_pages_mm_old { my %data = (); my $token; $parse->get_tag ("hr"); - $parse->get_tag ("h2") || return (); + $parse->get_tag ("h2") || return \%data; my $headline = $parse->get_trimmed_text ("/h2") || die; if ($headline =~ /subscription/i) { parse_subscriptions ($mmver, $config, $parse, \%data); diff --git a/listadmin.txt b/listadmin.txt index c8c4790..c4bd60c 100644 --- a/listadmin.txt +++ b/listadmin.txt @@ -1,6 +1,3 @@ -XXX -XXX WARNING: old character encoding and/or character set -XXX LISTADMIN(1) LISTADMIN(1) NAME |