X-Git-Url: http://git.rot13.org/?p=virtual-ldap;a=blobdiff_plain;f=bin%2Fldap-rewrite.pl;h=dd781c8b91321999c814d30752c27905f72a497b;hp=a6eff6e7791e02ba877f671830ef4ea1e7df8837;hb=e2b49adaa02e6af366f1388c5556097cb08c5892;hpb=24a2710e5e18cee3bbe8e2a3caf00bb7349adcd1 diff --git a/bin/ldap-rewrite.pl b/bin/ldap-rewrite.pl index a6eff6e..dd781c8 100755 --- a/bin/ldap-rewrite.pl +++ b/bin/ldap-rewrite.pl @@ -31,7 +31,10 @@ my $config = { my $log_fh; sub log { - open($log_fh, '>', $config->{log_file}) || die "can't open ", $config->{log_file},": $!"; + if ( ! $log_fh ) { + open($log_fh, '>>', $config->{log_file}) || die "can't open ", $config->{log_file},": $!"; + print $log_fh "# " . time; + } $log_fh->autoflush(1); print $log_fh join("\n", @_),"\n"; } @@ -77,21 +80,21 @@ sub handle { sub log_request { my $pdu=shift; - print '-' x 80,"\n"; - print "Request ASN 1:\n"; - Convert::ASN1::asn_hexdump(\*STDOUT,$pdu); - print "Request Perl:\n"; +# print '-' x 80,"\n"; +# print "Request ASN 1:\n"; +# Convert::ASN1::asn_hexdump(\*STDOUT,$pdu); +# print "Request Perl:\n"; my $request = $LDAPRequest->decode($pdu); - print dump($request); + warn "## request = ",dump($request); } sub log_response { my $pdu=shift; - print '-' x 80,"\n"; - print "Response ASN 1:\n"; - Convert::ASN1::asn_hexdump(\*STDOUT,$pdu); - print "Response Perl:\n"; +# print '-' x 80,"\n"; +# print "Response ASN 1:\n"; +# Convert::ASN1::asn_hexdump(\*STDOUT,$pdu); +# print "Response Perl:\n"; my $response = $LDAPResponse->decode($pdu); if ( defined $response->{protocolOp}->{searchResEntry} ) { @@ -133,7 +136,7 @@ sub log_response { $pdu = $LDAPResponse->encode($response); } - print dump($response); + warn "## response = ", dump($response); return $pdu; } @@ -167,14 +170,12 @@ sub run_proxy { } -$ENV{LANG} = 'C'; # so we don't double-encode utf-8 if LANG is utf-8 - my $listenersock = IO::Socket::INET->new( Listen => 5, Proto => 'tcp', Reuse => 1, LocalAddr => $config->{listen}, -); +) || die "can't open listen socket: $!"; my $targetsock = $config->{upstream_ssl} @@ -184,7 +185,7 @@ my $targetsock = $config->{upstream_ssl} PeerPort => 389, ) : IO::Socket::SSL->new( $config->{upstream_ldap} . ':ldaps') - ; + || die "can't open upstream socket: $!"; run_proxy($listenersock,$targetsock);