[Fedora-directory-users] Unlimited line width for ldapsearch

Richard Megginson rmeggins at redhat.com
Mon Jul 30 18:44:11 UTC 2007


Wilmer Jaramillo M. wrote:
> On 7/30/07, Howard Wilkinson <howard at cohtech.com> wrote:
>   
>>  Wilmer Jaramillo M. wrote:
>>    I found that ../shared/bin/ldasearch only show a output of 76 chars
>> per line, and manual page not described how be longer the output, i
>> want set the line-width used to implement filter in long strings 'OU'
>> in perl scripts. Also i found a very simple patch for ldapsearch of
>> openldap tools in:
>> http://www.openldap.org/lists/openldap-bugs/199912/msg00099.html
>> openldap it does not have support still.
>> 	
>> Probably some method of Net::LDAP can do it, I'm investigating a
>> module or regex that can help me in this, any suggestion? thanks.
>>
>>   Take a look at Net::LDAP::LDIF an option to new is called 'wrap' which is normally set to 78 (one space, 76 printing characters, and the newline for continuation lines) this should give you what you want.
>>
>>     
>
> I'm looking to replace  the following query to a Windows ADS for a
> Perl sintax because the output is limited for line-width:
> my $ldapsearch = "(ldapsearch - x - H ldap: To //$adserver - D "to
> $aduser" - w $adpass - s sub - b "$baseDN"" (cn=*) '| grep - i "ou=" |
> cut - d, - F2 | grep - v - i "CN= " | uniq)`
>   
If you use the ldapsearch bundled with Fedora DS (cd 
/opt/fedora-ds/shared/bin ; ./ldapsearch) rather than openldap 
/usr/bin/ldapsearch, you can use the -T option, which disables line 
wrapping, making it easier to pass the output to scripts such as 
grep/sed/awk/perl without using a separate LDIF parser.  The command 
line options are very similar, just omit the -x.
> I want search in the directory for all entries firts level
> OrganizationalUnit (ou) just now I'm using Mozilla::LDAP::Conn with
> very good results, nevertheless, the searches are very slow, anyway
> that just do right what I need, according to man:
>
> use Mozilla::LDAP::Conn;
> ....
> $conn = new Mozilla::LDAP::Conn($adserver,$adport,$aduser,$adpass);
> die "LDAP not connect $adserver" unless ($conn);
>
> &org_unit($baseDN);
> exit(0);
>
> sub org_unit()
> {
> my ($entry, $dn, $scope, $filter, $dn) = "";
> my (@ouDN, @attrs) = ();
>
>   @attrs = ( "ou" );
>   $scope = "sub";
>   $filter = "(ou=*)";
>
> # Busca en el directorio las entradas ous
> $entry = $conn->search($baseDN, $scope, $filter, 0, @attrs);
> $cld = $conn->getLD();
> $res = $conn->getRes();
> $count = Mozilla::LDAP::API::ldap_count_entries($cld, $res);
> while ($entry) {
>         # Coloca en un array cada entrada DN
>         $ouDN = $entry->getDN();
>         push (@ouDN,$dn);
>         print "$dn\n";
>         $entry = $conn->nextEntry();
> }
> foreach $dn (@ouDNS)
>  {
>     &org_unit($dn)
>  }
> }
>
>
> thanks for all.
>   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.fedoraproject.org/pipermail/389-users/attachments/20070730/3d56e9c4/attachment.bin>


More information about the 389-users mailing list