From nobody Mon Feb 13 22:17:49 2023 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PFzHK4Pkjz3qTNF for ; Mon, 13 Feb 2023 22:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PFzHK4DPsz3CnJ; Mon, 13 Feb 2023 22:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676326669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Uu7NtRrey7YyKlZyKvsUZxJHHx1ssP2mbWB8DSmtaI=; b=eNzXJiKb7NJrslZWqISbX+6/frGuxkHjFSV4m54Ca4S47Oh+OMG5eTlKmbT3qj2YEH0Vo3 VSw51mJXlO7gSfX3rs2L9OyOIsXTFBM6HkTUW3bnKnAAl9/GNBpj5UyNGWV763ZvQu9mne AaFyazLT0qwiIS1AzPzCALkX2gnQ1jqHnhLoZh1CWQBrLDZJE6JkFlNk+DPwhMlEjxTwmq wL35zzU/DxXly/AF2dTRs7vlPLCfHWocJ/N1IGESxP6rs2xy9TIrlC66YqeQf9ryOfldyL PJy9aqa4xUgVrpGHmEiDSHCLV+HLT5N3GzuKOV/vvHnZAZ7CTYUokzmmXXbz8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1676326669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Uu7NtRrey7YyKlZyKvsUZxJHHx1ssP2mbWB8DSmtaI=; b=jCjG8UsvLmd/v9trJ+11Y9LGtoHoag4z76GOO+hW6AJtNaO326t5GSSqkON/cSWmTQUpj8 YCz7pujctzUngxO5TGSUXU4NYJk4hXTqvNEPo/XKy+ouaBWGZq1q6Z+ra6s8r39Y99l3t0 XrwxQlA5WiOqR2mLr8WOrOmtR0ZzpNN77B6Hys0sXWFYbHC+LKyZTjytHjLahG2JkY5Tub eglz7UFqR4LBDPv8ombkXLxW2mD7JxiVke1dqzYwWL+54+FBy8sjkI4jHeF6zKKGSD2rGM IwumgfdvLJRcwqIOjfDErkDQM++aPpTMwUByMSH8i7nIdKeH1eJAIs2dTbQGng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1676326669; a=rsa-sha256; cv=none; b=Y6V5k1RuyyfCC4lwQUlFTTKMIE4yzCZa0Ybq2kpkRf1QNFR5beB7drA5SG+G+w8ZEEFneo ZjLe8S87eLOtDGsPDfldHGbUC0Wm4mvRqE1KJC465fVReyWamTuuEAQp3LjljjSRasxxZi 0gSLf7a0OEOHxRCEoy9mEdF7NXBnAmaK3FPZkJWZmm5Jr0PcjxW9FZy2Vnsad/yq9Ha8Jp TXxXLKyGGHNX7md/o1I8uvPpBc3Ubs7WiHBK456Lqz280RJa2zDi44k5Ttgzi7mmM0RuCH Wn40JBKyUgvzjypMo4ZL9pByuH9Xp6uAG9FZ1qu3s1jD0nI8ZtMpz5yLGbyFwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PFzHK3J2gzZZS; Mon, 13 Feb 2023 22:17:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 31DMHneH056919; Mon, 13 Feb 2023 22:17:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 31DMHnJQ056918; Mon, 13 Feb 2023 22:17:49 GMT (envelope-from git) Date: Mon, 13 Feb 2023 22:17:49 GMT Message-Id: <202302132217.31DMHnJQ056918@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: 9da657b7c4 - main - refactor out mail archive cgi script List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-doc-all@freebsd.org X-BeenThere: dev-commits-doc-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9da657b7c4bca442735c1563a923c8b3993f3181 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=9da657b7c4bca442735c1563a923c8b3993f3181 commit 9da657b7c4bca442735c1563a923c8b3993f3181 Author: Wolfram Schneider AuthorDate: 2023-02-13 22:16:59 +0000 Commit: Wolfram Schneider CommitDate: 2023-02-13 22:16:59 +0000 refactor out mail archive cgi script The cgi scripts are moved to the mail archive repo along with the current/weekly mail archive maintenance scripts. This makes it much easier to keep them in sync and up to date. --- website/content/en/cgi/getmsg.cgi | 248 ----------------------------------- website/content/en/cgi/mailindex.cgi | 111 ---------------- website/content/en/cgi/mid.cgi | 161 ----------------------- 3 files changed, 520 deletions(-) diff --git a/website/content/en/cgi/getmsg.cgi b/website/content/en/cgi/getmsg.cgi deleted file mode 100755 index 272ad44309..0000000000 --- a/website/content/en/cgi/getmsg.cgi +++ /dev/null @@ -1,248 +0,0 @@ -#!/usr/bin/perl -T -# -# Given a filename, start offset and end offset of a mail message, -# read the message and format it nicely using HTML. -# -# by John Fieber -# February 26, 1998 -# -# $FreeBSD$ -# - -require "./cgi-lib.pl"; -require "./cgi-style.pl"; -use POSIX qw(strftime); -# -# Site design includes setting a:visited to the same as a:link, -# which isn't good in archived messages, e.g., you want to follow -# links in commit messages and know which links you've visited. -# Override it inside the
 that is the message.
-$t_style = qq`
-`;
-
-
-#
-# Files MUST be fully qualified and MUST start with this path.
-#
-$messagepath = "/usr/local/www/mailindex/archive/";
-$messagepathcurrent = "/usr/local/www/mid/archive/";
-$ftparchive = 'ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/mailing-lists/archive';
-
-&ReadParse(*formdata);
-&Fetch($formdata{'fetch'});
-exit 0;
-
-sub Fetch
-{
-    my ($docid) = @_;
-    my ($start, $end, $file, $type) = split(/ /, $docid);
-    my ($message, @finfo);
-
-    #
-    # Check to ensure that (a) the specified file starts
-    # with an approved pathname and (b) that it contains no
-    # relative components (eg ..).  This is so that arbitrary
-    # files cannot be accessed.
-    #
-
-    $file =~ s/\.\.//g;
-    $file =~ s|/+|/|;
-    $file =~ s|^archive/|$messagepath/|;
-
-    my $valid_list_name = '^current/(aic7xxx|archbsd|ctm|cvs|dev|freebsd|netperf|oi|p4|soc|svn|trustedbsd|vendors)(-[a-z0-9-]+)?$';
-
-    # read the full archive 
-    if ($type eq 'archive') {
-	# from the FreeBSD ftp server
-	if ($file =~ s%^$messagepath%%o) {
-	    print "Location: $ftparchive/$file.gz\n";
-	    print "Content-type: text/plain\n\n";     
-	    exit(0);
-	}
-	
-	# from the local mail archive for current mails
-	elsif ($file =~ /$valid_list_name/ &&
-	       open(DATA, "$messagepathcurrent$file")) {
-	    print "Content-type: text/plain\n\n"; 
-	    while() {
-		print;
-	    }
-	    close(DATA);
-	    exit(0);
-	}
-    }
-
-    if (($file =~ /^$messagepath/ && -f $file && open(DATA, $file)) ||
-	($file =~ /$valid_list_name/ &&
-	 open(DATA, "$messagepathcurrent$file")))
-    {
-	@finfo = stat DATA;
-    	seek DATA, $start, 0;
-	if ($end > $start && $start >= 0) {
-	    read DATA, $message, $end - $start;
-	} else {
-	    # Unknown length, guess the end of the E-Mail
-	    my($newline) = 0;
-	    while() {
-		last if ($newline && /^From .* \d{4}/);
-		if (/^$/) { $newline = 1 } else { $newline = 0; }
-		$message .= $_;
-	    }
-	}
-    	close(DATA);
-	print "last-modified: " .
-	    POSIX::strftime("%a, %d %b %Y %T GMT", gmtime($finfo[9])) . "\n";
-
-	# print E-Mail as plain ascii text
-	if ($type eq 'raw') {
-            print "Content-type: text/plain\n\n";
-            print $message;
-	    return;
-        }	
-	$message = &MessageToHTML($message, $file);
-    }
-    else
-    {
-    	$message = "

The specified message cannot be accessed.

\n"; - warn "$0: error open '$file' $!\n"; - } - - print &short_html_header("FreeBSD Mail Archives"); - print $message; - print &html_footer; -} - -sub EscapeHTML -{ - my ($text) = @_; - $text =~ s/&/&/g; - $text =~ s//>/g; - return $text; -} - -sub MessageToHTML -{ - my ($doc, $file) = @_; - my ($header, $body) = split(/\n\n/, $doc, 2); - my ($i, %hdr, $field, $data, $message); - my ($mid) = 'mid.cgi'; - my ($mid_full_url) = 'https://docs.FreeBSD.org/cgi/mid.cgi'; - my ($tmid,$tirt,$tref); - - $body = &AddAnchors(&EscapeHTML($body)); - - $header = &EscapeHTML($header); - $header =~ s/\n[ \t]+/ /g; - - foreach $i (split(/\n/, $header)) { - ($field, $data) = split(/ /, $i, 2); - $field =~ y/A-Z/a-z/; - $hdr{$field} = $data; - } - - $message = "
\n";
-    if (length($hdr{'date:'}) > 0) {
-    	$message .= "Date:      $hdr{'date:'}\n";
-    }
-    if (length($hdr{'from:'}) > 0) {
-    	$message .= "From:      $hdr{'from:'}\n";
-    }
-    if (length($hdr{'to:'}) > 0) {
-    	$message .= "To:        $hdr{'to:'}\n";
-    }
-    if (length($hdr{'cc:'}) > 0) {
-    	$message .= "Cc:        $hdr{'cc:'}\n";
-    }
-#    if (length($hdr{'sender:'}) > 0) {
-#    	$message .= "Sender:    $hdr{'sender:'}\n";
-#    }
-    if (length($hdr{'subject:'}) > 0) {
-    	$message .= "Subject:   $hdr{'subject:'}\n";
-    }
-
-    if ($hdr{'message-id:'}) {
-	$tmid = $hdr{'message-id:'}; 
-	$hdr{'message-id:'} =~ 
-	    s%;([^&]+)&%;$1&%oi;
-	$message .= "Message-ID:  $hdr{'message-id:'}\n";
-    }
-
-    if ($hdr{'resent-message-id:'}) {
-	$hdr{'resent-message-id:'} =~ 
-	    s%;([^&]+)&%;$1&%oi;
-	$message .= "Resent-Message-ID: $hdr{'resent-message-id:'}\n";
-    }
-
-    if ($hdr{'in-reply-to:'}) {
-	$tirt = $hdr{'in-reply-to:'};
-	$hdr{'in-reply-to:'} =~
-	    s%;([^&]+)&%;$1&%oi;
-	$message .= "In-Reply-To: $hdr{'in-reply-to:'}\n";
-    }
-
-    if ($hdr{'references:'}) {
-	$tref = $hdr{'references:'};
-	$hdr{'references:'} =~
-	    s%;([^&\s]+)&%;$1&%goi;
-	$message .= "References:  $hdr{'references:'}\n";
-    }
-
-
-    $message .= "
\n"; - $message .= "
\n"; - - if ($tmid =~ m%;([^&]+)&%) { - $message .= qq{Next in thread\n}; - } - - if ($tirt =~ m%;([^&]+)&% || - $tref =~ m%;([^&]+)&%) { - $message .= qq{| Previous in thread\n}; - } - $message .= qq{| Raw E-Mail\n}; - my $file2 = $file; - if ($file2 =~ s%^$messagepath%archive/%oi || - $file2 =~ /^current/) { - $message .= qq{| Index\n}; - } - $message .= qq{| Archive\n}; - $message .= qq{| Help\n}; - - my $tid = $tmid; - $tid =~ s/^<//; - $tid =~ s/\@.*//; - - $message .= "
\n"; - #$message .= qq{
\n}; - $message .= "
\n$body\n
\n"; - #$message .= qq{
\n}; - - $message .= qq{
\n

Want to link to this message? Use this URL: <}; - $message .= qq{$mid_full_url} . '?' . $tid . qq{>

}; - - return $message; -} - -sub strip_url -{ - my $url = shift; - - # strip trailing characters - $url =~ s/>?$//; - $url =~ s/[.,;>\s\)]*$//; - - return $url; -} - -sub AddAnchors -{ - my ($text) = @_; - - $text =~ s/(http|https|ftp)(:[\S]*?\/?)(\W?\s)/sprintf("%s<\/a>$3", &strip_url("$1$2"), "$1$2", $3)/egoi; - - return $text; -} diff --git a/website/content/en/cgi/mailindex.cgi b/website/content/en/cgi/mailindex.cgi deleted file mode 100755 index 249da5f041..0000000000 --- a/website/content/en/cgi/mailindex.cgi +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/perl -T -# -# Copyright (c) Jan 1999-2011 Wolfram Schneider -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD$ - - -use CGI; -use CGI::Carp; - -require "./cgi-lib.pl"; -require "./cgi-style.pl"; - -$ENV{PATH} = "/bin:/usr/bin:/usr/local/bin"; - -# no sort -my $sortopt = ''; -my $up = 0; - -$| = 1; - -# mail archive location -$maildir = '/home/mail/archive'; - -# mailindex program -$mailindex = '/usr/local/www/mailindex/bin/mailindex'; - - -$query = new CGI(); - -print "Content-type: text/html\n\n"; - -my $reverse; -$sortopt = '--sort-by-subject' if ($query->param('sort') eq 'subject'); -$sortopt = '--sort-by-author' if ($query->param('sort') eq 'author'); -$sortopt = '' if ($query->param('sort') eq 'date'); - -$reverse = '--reverse' if ($query->param('reverse')); - -my $file = $query->param('file'); -if (!$file) { - print "No file name given\n"; - exit; -} - -# forbid link to parent directories -$file =~ s%\.\./%%g; -if ($file =~ m,^([0-9a-z/-]+|[0-9a-z/-]+\.[0-9a-z-]+)$,) { - $file = $1; -} else { - print "Unknown file name given\n"; - exit; -} - - -sub file_not_exists { - my $file = shift; - print "File does not exist: $file\n"; - exit; -} - -if ($file =~ s%^archive/%%) { - $maildir = '/usr/local/www/mailindex/archive'; - &file_not_exists("$maildir/$file") if (! -f "$maildir/$file"); -} elsif ($file =~ s%^current/%% && $file =~ /^(freebsd|cvs|svn|ctm|trustedbsd)-/) { - &file_not_exists("$file") if (! -f "$maildir/$file"); - $up = 0; -} else { - &file_not_exists("$file"); -} - -chdir($maildir) or die "chdir $maildir: $!\n"; - -my @options; -push(@options, ("--up=$up", '--outdir=stdout', '--cgilink=1')); -push(@options, $sortopt) if $sortopt; -push(@options, $reverse) if $reverse; - -open(M, "-|") || exec "$mailindex", @options, $file || do { - print "Cannot open $mailindex: $!\n"; - exit; -}; - -#print "cd $maildir; $mailindex @options $file\n"; -while() { - print; -} - -exit; diff --git a/website/content/en/cgi/mid.cgi b/website/content/en/cgi/mid.cgi deleted file mode 100755 index 12c9f255f3..0000000000 --- a/website/content/en/cgi/mid.cgi +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/perl -T -# -# Copyright (c) March 1998-2021 Wolfram Schneider . Berlin. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# Search a mail by Message-ID, References or In-Reply-To field -# -# $FreeBSD$ - -require "./cgi-lib.pl"; -require "./cgi-style.pl"; - -$home = '/usr/local/www/mailindex'; -$prefix= "/usr/local/www/mailindex/archive"; -$lookupdir = "$home/message-id"; # database(s) directory -$databaseDefault = 'mid'; # default database -$script = $ENV{'SCRIPT_NAME'}; -$shortid = 1; -$lookCommand = "/usr/bin/look"; -$ENV{PATH} = '/bin:/usr/bin'; - -$main::t_style .= qq{\n\n}; - -sub escape($) { $_ = $_[0]; s/&/&/g; s//>/g; $_; } - -sub get_id { - local($query, $db) = @_; - - open(DB, "-|") || - exec("$lookCommand", $query, "$lookupdir/mid-current.$db") || - do { - print &midheader . - "

Cannot connect to Message-ID database.

\n" . &foot; - exit; - }; - - local(@idlist); - while() { - push(@idlist, $_); - } - close DB; - #warn "$lookCommand $query, $lookupdir/mid.$db"; - open(DB, "-|") || - exec("$lookCommand", $query, "$lookupdir/mid.$db") || - do { - print &midheader . - "

Cannot connect to Message-ID database.

\n" . &foot; - exit; - }; - - while() { - push(@idlist, $_); - } - close DB; - - - if ($#idlist < 0) { # nothing found - print &midheader; - if ($db eq 'mid') { - printf "Message-ID: \"%s\" not found\n", escape($query); - } else { - printf "No answers found for: \"%s\"\n", escape($query); - } - print &foot; - - } elsif ($#idlist == 0) { # one hit - local($location) = $ENV{'SCRIPT_NAME'}; - local($id, $file, $start) = split($", $idlist[0]); - $location =~ s%/[^/]+$%%; - local($host) = $ENV{'HTTP_HOST'}; - $location = '//' . $host . $location; - $start =~ s/\s+$//; - - print "Location: $location/getmsg.cgi?fetch=$start+0+" . - ($file =~ /^current/ ? '' : "$prefix/") . "$file\n"; - print "Content-type: text/plain\n\n"; - exit; - - } else { # more than one hit - local($id, $file, $start, $name); - print &midheader; - print "
\n

\n"; - print &foot; - } -} - -sub midheader { - return &short_html_header("FreeBSD Message-ID Mail Archives") . - qq{

Back to the search interface

\n}; -} - -sub foot { return &html_footer; } - -### -# Main -### - -&ReadParse(*input); -$messageid = $input{'id'}; -$database = $input{'db'}; - - -if (!$messageid) { - # for lazy people ;-) - # allow the syntax mid.cgi?messageid - if ($ENV{'QUERY_STRING'} =~ /\-]+\S+$/) { - $messageid = $ENV{'QUERY_STRING'}; - $database = $databaseDefault; - } - - # no message-id given - else { - print &midheader; - print "No input given\n"; - print &foot; exit; - } -} - -$messageid =~ s/^$//; -$messageid =~ s/@.*// if $shortid; -($messageid) = $messageid =~ m|^(\S+)$|; # XXX: can be more strict... - -if ($database =~ m/^(mid|irt)$/) { - $database = $1; -} else { - $database = $databaseDefault; -} - -&get_id($messageid, $database);