From a8c57b57660d7f459f7dcc3404d47fc938a4d8d1 Mon Sep 17 00:00:00 2001 From: tausq <> Date: Tue, 11 Jan 2000 03:52:53 +0000 Subject: [PATCH] Adds echelon support --- Util.pm | 12 ++++++++++++ search.cgi | 9 +++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Util.pm b/Util.pm index 1127c63..b1b85f3 100644 --- a/Util.pm +++ b/Util.pm @@ -203,6 +203,18 @@ sub FormatTimestamp { return sprintf("%04d/%02d/%02d %02d:%02d:%02d UTC", $1,$2,$3,$4,$5,$6); } +sub FormatLastSeen { +# Format: +# [Tue, 11 Jan 2000 02:37:18] "Joey Hess " " archive/latest/7130" "<20000110181924.H19910@kitenet.net>" +# [Mon, 10 Jan 2000 21:48:19] "9E1E 1052 F8BB A351 0606 5527 50BB 2974 2D59 A7D2" " archive/latest/58632" "<20000110200506.13257.qmail@master.debian.org>" + my $lastseen = shift; + return "No activity detected" if (!$lastseen); + + my ($date,$user,$list,$msgid) = ($lastseen =~ /^\[(.+?)\]\s+"(.+?)"\s+"<(.+?)>.+?"\s+"<(.+?)>"/); + + return "$list
Message ID: $msgid"; +} + sub LookupCountry { my $in = shift; my ($abbrev, $country); diff --git a/search.cgi b/search.cgi index 5bd31ec..3afb03a 100755 --- a/search.cgi +++ b/search.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -# $Id: search.cgi,v 1.3 1999/12/11 07:03:45 tausq Exp $ +# $Id: search.cgi,v 1.4 2000/01/11 04:52:53 tausq Exp $ # (c) 1999 Randolph Chung. Licensed under the GPL. use lib '.'; @@ -116,7 +116,7 @@ if (!$dosearch) { $data = $entries->{$dn}; # These are local variables.. i have enough global vars as it is... - my ($ufdn, $login, $name, $email, $fingerprint, $address, $latlong, $vacation, $created, $modified) = undef; + my ($ufdn, $login, $name, $email, $fingerprint, $address, $latlong, $vacation, $created, $modified, $lastseen) = undef; $ufdn = $dn; # Net::LDAP does not have a dn2ufn function, but this is close enough :) @@ -153,6 +153,10 @@ if (!$dosearch) { $modified = &Util::FormatTimestamp($data->{modifytimestamp}->[0]); $created = &Util::FormatTimestamp($data->{createtimestamp}->[0]); + # Last seen information (Echelon) + $lastseen = &Util::FormatLastSeen($data->{"activity-pgp"}->[0] || + $data->{"activity-from"}->[0]); + # Link in the debian login id $login = $data->{uid}->[0]."\@debian.org"; $login = "$login"; @@ -183,6 +187,7 @@ if (!$dosearch) { $outsub{searchresults} .= FormatEntry($dataspecref->{latlong}, $latlong); $outsub{searchresults} .= FormatEntry($dataspecref->{phone}, $data->{telephonenumber}->[0] || "- unlisted -"); $outsub{searchresults} .= FormatEntry($dataspecref->{fax}, $data->{fascimiletelephonenumber}->[0] || "- unlisted -"); + $outsub{searchresults} .= FormatEntry($dataspecref->{lastseen}, $lastseen); } $outsub{searchresults} .= FormatEntry($dataspecref->{created}, $created); $outsub{searchresults} .= FormatEntry($dataspecref->{modified}, $modified); -- 2.20.1