View | Details | Raw Unified | Return to bug 6679
Collapse All | Expand All

(-)a/C4/Auth_with_ldap.pm (-13 / +12 lines)
Lines 47-53 BEGIN { Link Here
47
# ~ then gets the LDAP entry
47
# ~ then gets the LDAP entry
48
# ~ and calls the memberadd if necessary
48
# ~ and calls the memberadd if necessary
49
49
50
sub ldapserver_error ($) {
50
sub ldapserver_error {
51
	return sprintf('No ldapserver "%s" defined in KOHA_CONF: ' . $ENV{KOHA_CONF}, shift);
51
	return sprintf('No ldapserver "%s" defined in KOHA_CONF: ' . $ENV{KOHA_CONF}, shift);
52
}
52
}
53
53
Lines 70-77 my %config = ( Link Here
70
       update => defined($ldap->{update}   ) ? $ldap->{update}    : 1,  # update from LDAP to Koha database for existing user
70
       update => defined($ldap->{update}   ) ? $ldap->{update}    : 1,  # update from LDAP to Koha database for existing user
71
);
71
);
72
72
73
sub description ($) {
73
sub description {
74
	my $result = shift or return undef;
74
	my $result = shift or return;
75
	return "LDAP error #" . $result->code
75
	return "LDAP error #" . $result->code
76
			. ": " . $result->error_name . "\n"
76
			. ": " . $result->error_name . "\n"
77
			. "# " . $result->error_text . "\n";
77
			. "# " . $result->error_text . "\n";
Lines 197-203 return(1, $cardnumber, $userid); Link Here
197
# Edit KOHA_CONF so $memberhash{'xxx'} fits your ldap structure.
197
# Edit KOHA_CONF so $memberhash{'xxx'} fits your ldap structure.
198
# Ensure that mandatory fields are correctly filled!
198
# Ensure that mandatory fields are correctly filled!
199
#
199
#
200
sub ldap_entry_2_hash ($$) {
200
sub ldap_entry_2_hash {
201
	my $userldapentry = shift;
201
	my $userldapentry = shift;
202
	my %borrower = ( cardnumber => shift );
202
	my %borrower = ( cardnumber => shift );
203
	my %memberhash;
203
	my %memberhash;
Lines 209-215 sub ldap_entry_2_hash ($$) { Link Here
209
			hashdump("LDAP key: ",$userldapentry->{$_});
209
			hashdump("LDAP key: ",$userldapentry->{$_});
210
		}
210
		}
211
	}
211
	}
212
	my $x = $userldapentry->{attrs} or return undef;
212
	my $x = $userldapentry->{attrs} or return;
213
	foreach (keys %$x) {
213
	foreach (keys %$x) {
214
		$memberhash{$_} = join ' ', @{$x->{$_}};	
214
		$memberhash{$_} = join ' ', @{$x->{$_}};	
215
		$debug and print STDERR sprintf("building \$memberhash{%s} = ", $_, join(' ', @{$x->{$_}})), "\n";
215
		$debug and print STDERR sprintf("building \$memberhash{%s} = ", $_, join(' ', @{$x->{$_}})), "\n";
Lines 242-248 sub ldap_entry_2_hash ($$) { Link Here
242
	return %borrower;
242
	return %borrower;
243
}
243
}
244
244
245
sub exists_local($) {
245
sub exists_local {
246
	my $arg = shift;
246
	my $arg = shift;
247
	my $dbh = C4::Context->dbh;
247
	my $dbh = C4::Context->dbh;
248
	my $select = "SELECT borrowernumber,cardnumber,userid,password FROM borrowers ";
248
	my $select = "SELECT borrowernumber,cardnumber,userid,password FROM borrowers ";
Lines 271-286 sub _do_changepassword { Link Here
271
		my ($md5password, $cardnum) = $sth->fetchrow;
271
		my ($md5password, $cardnum) = $sth->fetchrow;
272
        ($digest eq $md5password) and return $cardnum;
272
        ($digest eq $md5password) and return $cardnum;
273
		warn "Password mismatch after update to cardnumber=$cardnum (borrowernumber=$borrowerid)";
273
		warn "Password mismatch after update to cardnumber=$cardnum (borrowernumber=$borrowerid)";
274
		return undef;
274
		return;
275
	}
275
	}
276
	die "Unexpected error after password update to userid/borrowernumber: $userid / $borrowerid.";
276
	die "Unexpected error after password update to userid/borrowernumber: $userid / $borrowerid.";
277
}
277
}
278
278
279
sub update_local($$$$) {
279
sub update_local {
280
	my   $userid   = shift             or return undef;
280
	my   $userid   = shift             or return;
281
	my   $digest   = md5_base64(shift) or return undef;
281
	my   $digest   = md5_base64(shift) or return;
282
	my $borrowerid = shift             or return undef;
282
	my $borrowerid = shift             or return;
283
	my $borrower   = shift             or return undef;
283
	my $borrower   = shift             or return;
284
	my @keys = keys %$borrower;
284
	my @keys = keys %$borrower;
285
	my $dbh = C4::Context->dbh;
285
	my $dbh = C4::Context->dbh;
286
	my $query = "UPDATE  borrowers\nSET     " . 
286
	my $query = "UPDATE  borrowers\nSET     " . 
287
- 

Return to bug 6679