The client tool can read from stdin and produce output on stdout. For example ldapsearch -L -x -f - 'cn=%s' uid
This will read cn values from stdin and produce search results on stdout. But doing this interactively does not produce the immediate feedback because stdout is often buffered. The search results are presented only after a sufficient amount have been buffered, or an EOF is encountered.
It would be very nice if ldapsearch application would flush stdout after each search.
Below is a diff of the ldapsearch client tool with my proposed change.
*************** *** 1,5 **** /* ldapsearch -- a tool for searching LDAP directories */ ! /* $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.234.2.9 2008/02/12 19:59:52 quanah Exp $ */ /* This work is part of OpenLDAP Software http://www.openldap.org/. * * Copyright 1998-2008 The OpenLDAP Foundation. --- 1,5 ---- /* ldapsearch -- a tool for searching LDAP directories */ ! /* $OpenLDAP: pkg/ldap/clients/tools/ldapsearch.c,v 1.234.2.9 2008/02/12 19:59:52 quanah Exp $ */ /* This work is part of OpenLDAP Software http://www.openldap.org/. * * Copyright 1998-2008 The OpenLDAP Foundation. *************** *** 998,1003 **** --- 998,1004 ---- if ( !contoper ) break; } + fflush(stdout); } if ( fp != stdin ) { fclose( fp );