#!/opt/bin/perl

# Print out a content-type for HTTP/1.0 compatibility
# print "Content-type: text/html\n\n";
print "Pragma: no-cache\n";

# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-value pairs
@pairs = split(/&/, $buffer);

foreach $pair (@pairs)
{
    ($name, $value) = split(/=/, $pair);

    # Un-Webify plus signs and %-encoding
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

    # Stop people from using subshells to execute commands
    # Not a big deal when using sendmail, but very important
    # when using UCB mail (aka mailx).
    # $value =~ s/~!/ ~!/g; 

    # Uncomment for debugging purposes
    # print "Setting $name to $value<P>";

    $FORM{$name} = $value;
}

if ($FORM{'userid'})
   {
   if ($FORM{'userid'} =~ /=/)
   {
      ($dummy, $uid) = split(/=/, $FORM{'userid'});
      $uid = $uid."*";
   } else {
      $uid = $FORM{'userid'}."*";
   } 
   print "Location: http://donald2.duc.auburn.edu:8888/o%3dAuburn%20University%2c%20c%3dUS?%3FS=cn%3D$uid","\n\n";
} else {
   if ($FORM{'lastname'} =~ /=/)
   {
      ($dummy, $lname) = split(/=/, $FORM{'lastname'});
      $lname = $lname."*";
   } else {
      $lname = $FORM{'lastname'}."*";
   } 
   if ($FORM{'firstname'})
   {
      if ($FORM{'firstname'} =~ /=/)
      {
         ($dummy, $fname) = split(/=/, $FORM{'firstname'});
         $fname = $fname."*";
      } else {
         $fname = $FORM{'firstname'}."*";
      } 
      print "Location: http://donald2.duc.auburn.edu:8888/o%3dAuburn%20University%2c%20c%3dUS?%3FS=cn%3D$fname%20$lname","\n\n";
   } else {
      print "Location: http://donald2.duc.auburn.edu:8888/o%3dAuburn%20University%2c%20c%3dUS?%3FS=sn%3D$lname","\n\n";
   }
}
