Moved into its own package userdir-ldap-cgi
[mirror/userdir-ldap.git] / web / login.cgi
diff --git a/web/login.cgi b/web/login.cgi
deleted file mode 100755 (executable)
index 0058aa9..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/perl
-
-# $Id: login.cgi,v 1.8 2003/03/13 04:25:56 rmurray Exp $
-# (c) 1999 Randolph Chung. Licensed under the GPL. <tausq@debian.org>
-
-use lib '.';
-use strict;
-#use Apache::Registry;
-use CGI;
-use Util;
-use URI::Escape;
-use Crypt::Blowfish;
-use Net::LDAP qw(:all);
-
-my %config = &Util::ReadConfigFile;
-
-my $query = new CGI;
-my $proto = ($ENV{HTTPS} ? "https" : "http");
-
-if ($proto eq "http" || !($query->param('username')) || !($query->param('password'))) {
-  print "Location: https://$ENV{SERVER_NAME}/$config{webloginurl}\n\n";
-  exit;
-}
-
-my $key = &Util::CreateKey($config{blowfishkeylen}); # human-readable version of the key
-my $hrkey = unpack("H".($config{blowfishkeylen}*2), $key);
-my $cipher = new Crypt::Blowfish $key;
-
-my $ldap = Net::LDAP->new($config{ldaphost}) || &Util::HTMLError($!);
-
-my $username = $query->param('username');
-my $password = $query->param('password');
-my $binddn = "uid=$username,$config{basedn}";
-
-my $mesg = $ldap->bind($binddn, password => $password);
-$mesg->sync;
-
-if ($mesg->code == LDAP_SUCCESS) {
-  # HACK HACK HACK
-  # Check for md5 password, and update as necessary
-  $mesg = $ldap->search(base   => $config{basedn}, 
-                        filter => "(uid=$username)");
-  $mesg->code && &Util::HTMLError($mesg->error);
-  my $entries = $mesg->as_struct;
-  my $dn = (keys %$entries)[0];
-  my $oldpassword = $entries->{$dn}->{userpassword}->[0];
-  if ($oldpassword !~ /^{crypt}\$1\$/) {
-    # Update their password to md5
-    open (LOG, ">>$config{weblogfile}");
-    print LOG scalar(localtime);
-    print LOG ": Updating MD5 password for $dn\n";
-    close LOG;
-    my $newpassword = '{crypt}'.crypt($password, &Util::CreateCryptSalt(1));
-    &Util::LDAPUpdate($ldap, $dn, 'userPassword', $newpassword);
-  }
-  ## END HACK HACK HACK
-  
-  my $cryptid = &Util::SavePasswordToFile($username, $password, $cipher);
-
-  if ($query->param('update')) {
-    my $url = "$proto://$ENV{SERVER_NAME}/$config{webupdateurl}?id=$username&authtoken=$cryptid,$hrkey&editdn=";
-    $url .= uri_escape("uid=$username,$config{basedn}", "\x00-\x40\x7f-\xff");
-    print "Location: $url\n\n";
-  } else {
-    my $url = "$proto://$ENV{SERVER_NAME}/$config{websearchurl}?id=$username&authtoken=$cryptid,$hrkey";
-    print "Location: $url\n\n";
-  }
-
-  $ldap->unbind;
-} else {
-  print "Content-type: text/html\n\n";
-  print "<html><body><h1>Not authenticated</h1></body></html>\n";
-}
-