+++ /dev/null
-#!/usr/bin/perl
-#
-# This is very simple method to get data from LDAP and
-# converts it to abook readable format.
-# Script get only first email of any person. This is, probably,
-# primary address.
-# If you have better/simpler method - send me, please.
-#
-# You MUST have ldap-utils installed on your system to
-# use this script. Without ldapsearch script does not work!
-#
-# Author: Mariusz Balewski <M.Balewski@wp.pl>
-# 03.06.2004
-# 29.08.2005 Tried to fix insecure tempfile handling (untested)
-#
-# GPL licensed
-# Feel free to send me your comments
-#
-# I'm not programmer, so REMEMBER:
-# YOU USE THIS SCRIPT ON YOUR OWN RISK!!!
-#
-
-# Change this section to your local settings
- # Your LDAP host
- $HOST="ldaphost.com";
-
- # Base dn to search
- $BASEDN="\"-b ou=example,dc=com\"";
-
- # dn which contains email addresses
- $FINDDN="mail";
-
- # for example "-D \"cn=admin,dc=com\"" (if needed)
- $AUTHDN="";
-
- # ldap password (if needed), or -w to force script
- # to password prompting
- $PASS="";
-
- # use -x if your ldaphost accept simple authentication
- # or leave empty
- $SIMPLEAUTH="";
-
- # Where you want to put results?
- # In this example results will be putted to
- # your home directory, to abookFromLDAP file.
- # If you wish to use abook with this file, simply run:
- # abook --datafile $HOME/abookFromLDAP
- $DESTFILE="$ENV{'HOME'}/abookFromLDAP";
-
- # If you wish to see communiats in english or polish
- # link comms.pl-en to comms.pl to english or
- # comms.pl-pl to polish
-
-# End of configuration
-###############################
-###############################
-
-use File::Temp qw/ :mktemp /;
-$file = mktemp("/tmp/tmpfileXXXXXXX");
-
-
-require 'comms.pl';
-
-system("ldapsearch -h $HOST $SIMPLEAUTH $AUTHDN $PASS \"$FINDDN=*\" $BASEDN -LLL > $file");
-
-$i=0;
-open(F1,"<$file") || die "$TMPERR";
-open(F2,">$DESTFILE") || die "$DESTFILEERR";
- flock(F1,8);
- flock(F2,8);
- while(<F1>){
- if ($_ =~ m/^gecos/g){
- s/^ //g;
- s/^gecos: /name=/g;
- print F2 "[$i]\n";
- print F2 $_;
- $i++;
- }
- elsif ($_ =~ m/^mail/g){
- s/^mail: /email=/g;
- print F2 "$_\n";
- }
- }
- flock(F2,2);
- flock(F1,2);
-close(F2);
-close(F1);
-
-unlink($file);
-
-print "\n$i ";
-print "$REPORT\n\n";
-
-#== END