ldif2api.awk
Generated on Tue Dec 05 17:39:05 Eastern Standard Time 2006 from ldif2api.awk
# Program : LDIF2API.AWK
# Purpose : Convert LDIF file created by LDAPSEARCH.EXE into an API file for use by GWAPI
# Date : 7 July 2005
# Author : Bob Jonkman
function unfold( currentline) { currentline = $0 ;
getline ;
while(substr($0,1,1) ~ "[[:space:]]")
{
currentline = currentline ltrim($0) ;
getline ;
}
return(currentline) ;
}
BEGIN { # Output the API file headers
print("WPC-API= 1.2; ");
print("Header-Char= T50; ");
print("Msg-Type= ADMIN; ");
print("");
}
(1) {
while ($0 != "")
{
line = unfold() ; # Ensure we've got the whole multi-line record
split(line, field, ":") ;
# print("##### DEBUG ##### field[1]= " field[1]);
# print("##### DEBUG ##### field[2]= " field[2]);
record[field[1]] = ltrim(field[2]) ;
}
# print("##### DEBUG ##### " FNR " EOR");
print("DS-USER=") ;
print(" Operation= Modify ;" ) ;
print(" Domain= " record["dn"] ";") ;
print(" Post-Office= ;" ) ;
print(" Object= " record["uid"] ";" ) ;
print(" Visibility= System;" ) ;
print(" Last-Name= " record["sn"] ";" ) ;
print(" First-Name= " record["givenname"] ";" ) ;
print(" Title= " record["title"] ";" ) ;
print(" Department= ;" ) ; # Department
print(" User-Def-2= ;" ) ; # Division
print(" User-Def-7= " record["ou"] ";" ) ; # Section
print(" User-Def-8= ;" ) ; # Unit
print(" User-Def-1= " record["postaladdress"] ";" ) ;
print(" Phone= " record["telephonenumber"] ";" ) ;
print(" Fax= " record["facsimiletelephonenumber"] ";" ) ;
print(" User-Def-3= " record["mobile"] ";" ) ;
print(" User-Def-4= " record["pager"] ";" ) ;
print(" Gw-Alias=" ) ;
print(" Type= gwia;" ) ;
print(" External-Name= " record["mail"] ";" ) ;
print(" ;" ) ;
print("") ;
}
END { print("-END- ") # Output the API file footer
}
# EOF: LDIF2API.AWK
1 files processed.