projects
/
virtual-ldap
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
71433a2
)
extract config into hash and display it on startup
author
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 15 Mar 2009 22:00:24 +0000
(22:00 +0000)
committer
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 15 Mar 2009 22:00:24 +0000
(22:00 +0000)
bin/ldap-rewrite.pl
patch
|
blob
|
history
diff --git
a/bin/ldap-rewrite.pl
b/bin/ldap-rewrite.pl
index
58c8222
..
931eebd
100755
(executable)
--- a/
bin/ldap-rewrite.pl
+++ b/
bin/ldap-rewrite.pl
@@
-18,6
+18,21
@@
our $VERSION = '0.2';
use fields qw(socket target);
use YAML qw/LoadFile/;
use fields qw(socket target);
use YAML qw/LoadFile/;
+my $config = {
+ yaml_dir => './yaml/',
+ listen => 'localhost:1389',
+ upstream_ldap => 'ldap.ffzg.hr',
+ upstream_ssl => 1,
+ overlay_prefix => 'ffzg-',
+
+};
+
+if ( ! -d $config->{yaml_dir} ) {
+ warn "DISABLE ", $config->{yaml_dir}," data overlay";
+}
+
+warn "# config = ",dump( $config );
+
sub handle {
my $clientsocket=shift;
my $serversocket=shift;
sub handle {
my $clientsocket=shift;
my $serversocket=shift;
@@
-77,7
+92,7
@@
if(0) {
} @{ $response->{protocolOp}->{searchResEntry}->{attributes} };
}
} @{ $response->{protocolOp}->{searchResEntry}->{attributes} };
}
- my $path =
"yaml/
$uid.yaml";
+ my $path =
$config->{yaml_dir} . "
$uid.yaml";
if ( -e $path ) {
my $data = LoadFile($path);
warn "# yaml = ",dump($data);
if ( -e $path ) {
my $data = LoadFile($path);
warn "# yaml = ",dump($data);
@@
-90,7
+105,7
@@
if(0) {
my @vals = split(/\s*#\s*/, $vals);
push @{ $response->{protocolOp}->{searchResEntry}->{attributes} },
my @vals = split(/\s*#\s*/, $vals);
push @{ $response->{protocolOp}->{searchResEntry}->{attributes} },
- { type =>
"ffzg-$type"
, vals => [ @vals ] };
+ { type =>
$config->{overlay_prefix} . $type
, vals => [ @vals ] };
}
}
}
}
@@
-135,17
+150,18
@@
my $listenersock = IO::Socket::INET->new(
Listen => 5,
Proto => 'tcp',
Reuse => 1,
Listen => 5,
Proto => 'tcp',
Reuse => 1,
- Local
Port => 1389
+ Local
Addr => $config->{listen},
);
);
-my $targetsock = new IO::Socket::INET (
- Proto => 'tcp',
- PeerAddr => 'ldap.ffzg.hr',
- PeerPort => 389,
-);
-
-$targetsock = IO::Socket::SSL->new("ldap.ffzg.hr:ldaps");
+my $targetsock = $config->{upstream_ssl}
+ ? IO::Socket::INET->new(
+ Proto => 'tcp',
+ PeerAddr => $config->{upstream_ldap},
+ PeerPort => 389,
+ )
+ : IO::Socket::SSL->new( $config->{upstream_ldap} . ':ldaps')
+ ;
run_proxy($listenersock,$targetsock);
run_proxy($listenersock,$targetsock);