#!/usr/bin/perl
-# $Id: ud-fingerserv,v 1.12 1999/10/20 06:01:58 jgg Exp $
+# $Id: ud-fingerserv,v 1.13 1999/11/29 02:44:53 tausq Exp $
# (c) 1999 Randolph Chung. Licensed under the GPL. <tausq@debian.org>
use lib '/var/www/userdir-ldap/';
#use lib '/home/randolph/projects/userdir-ldap/web';
use strict vars;
-#use Apache::Registry;
use IO::Handle;
use IO::Socket;
use POSIX qw(:sys_wait_h);
'email' => 'Email',
'keyfingerprint' => 'Fingerprint',
'key' => 'Key block',
- 'ircnick' => 'IRC nickname'
+ 'ircnick' => 'IRC nickname',
+ 'labeledurl' => 'URL'
);
-my @summarykeys = ('cn', 'mn', 'sn', 'email', 'ircnick', 'keyfingerprint', 'key');
+my @summarykeys = ('cn', 'mn', 'sn', 'email', 'labeledurl', 'ircnick', 'keyfingerprint', 'key');
$SIG{__DIE__} = \&DieHandler;
$SIG{INT} = \&DieHandler;
package Util;
use strict;
-use Crypt::Blowfish;
my $blocksize = 8; # A blowfish block is 8 bytes
my $configfile = "/etc/userdir-ldap/userdir-ldap.conf";
-#my $configfile = "./userdir-ldap.conf";
+#my $configfile = "/home/randolph/projects/userdir-ldap/userdir-ldap.conf";
my %config = &ReadConfigFile;
+my $hascryptix = 1;
+eval 'use Crypt::Blowfish';
+if ($@) {
+ $hascryptix = undef;
+ print "No cryptix\n";
+}
+
sub CreateKey {
my $keysize = shift;
my $input;
$input .= " " x ($blocksize - (length($input) % $blocksize)) if (length($input % $blocksize));
- for ($pos = 0; $pos < length($input); $pos += $blocksize) {
- $output .= unpack("H16", $cipher->encrypt(substr($input, $pos, $blocksize)));
+ for ($pos = 0; $pos < length($input); $pos += $blocksize) {
+ $output .= unpack("H16", $cipher->encrypt(substr($input, $pos, $blocksize))) if ($hascryptix);
}
return $output;
}
for ($pos = 0; $pos < length($input); $pos += $blocksize*2) {
$portion = pack("H16", substr($input, $pos, $blocksize*2));
- $output .= $cipher->decrypt($portion);
+ $output .= $cipher->decrypt($portion) if ($hascryptix);
}
$output =~ s/ +$//;
# Chop off any trailing comments
s/#.*//;
($attr, $setting) = split(/=/, $_, 2);
- $setting =~ s/"//g;
+ $setting =~ s/"//g; #"
$setting =~ s/;$//;
$attr =~ s/^ +//; $attr =~ s/ +$//;
$setting =~ s/^ +//; $setting =~ s/ +$//;