* http.h, http.c (send_request): Pass in srvtag and make its presence
[gnupg.git] / keyserver / gpg2keys_mailto.in
index 4d5f627..959f0e7 100755 (executable)
@@ -7,7 +7,7 @@
 #
 # GnuPG is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # GnuPG is distributed in the hope that it will be useful,
@@ -16,9 +16,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 use Getopt::Std;
 $Getopt::Std::STANDARD_HELP_VERSION=1;
 $sendmail="@SENDMAIL@ -t";
@@ -54,10 +52,6 @@ if(@ARGV)
     open(STDIN,$ARGV[0]) || die "Can't open input file $ARGV[0]\n";
 }
 
-($login,$name)=(getpwuid($<))[0,6];
-
-$from="$name <$login>";
-
 while(<STDIN>)
 {
     last if($_ eq "\n");
@@ -87,9 +81,24 @@ while(<STDIN>)
        {
            $verbose--;
        }
+       elsif($1=~/^mail-from=(.+)$/i)
+       {
+           $from=$1;
+       }
+       elsif($1=~/^no-mail-from$/i)
+       {
+           undef $from;
+       }
+
     }
 }
 
+if(!defined($from))
+{
+    ($login,$name)=(getpwuid($<))[0,6];
+    $from="$name <$login>";
+}
+
 $program="(unknown)" if(!defined($program));
 
 if(!defined($address))
@@ -98,29 +107,6 @@ if(!defined($address))
     exit(1);
 }
 
-# decode $address
-
-($address,$args)=split(/\?/,$address);
-
-if(defined($args))
-{
-    @pairs = split(/&/, $args);
-    foreach $pair (@pairs)
-    {
-       ($hdr, $val) = split(/=/, $pair);
-       $hdr =~ tr/+/ /;
-       $hdr =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-       $val =~ tr/+/ /;
-       $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
-# we only handle "from" right now
-       if($hdr=~/^from$/i)
-       {
-           $from=$val;
-           last;
-       }
-    }
-}
-
 while(<STDIN>)
 {
     last if($_ eq "\n");