Commit 59b22050 authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

more about ITS#6645

parent 58bf3de5
...@@ -66,6 +66,7 @@ int nocanon = 0; ...@@ -66,6 +66,7 @@ int nocanon = 0;
int referrals = 0; int referrals = 0;
int verbose = 0; int verbose = 0;
int ldif = 0; int ldif = 0;
ber_len_t ldif_wrap = LDIF_LINE_WIDTH;
char *prog = NULL; char *prog = NULL;
/* connection */ /* connection */
...@@ -312,6 +313,7 @@ N_(" -N do not use reverse DNS to canonicalize SASL host name\n"), ...@@ -312,6 +313,7 @@ N_(" -N do not use reverse DNS to canonicalize SASL host name\n"),
N_(" -O props SASL security properties\n"), N_(" -O props SASL security properties\n"),
N_(" -o <opt>[=<optparam] general options\n"), N_(" -o <opt>[=<optparam] general options\n"),
N_(" nettimeout=<timeout> (in seconds, or \"none\" or \"max\")\n"), N_(" nettimeout=<timeout> (in seconds, or \"none\" or \"max\")\n"),
N_(" ldif-wrap=<width> (in columns, or \"no\" for no wrapping)\n"),
N_(" -p port port on LDAP server\n"), N_(" -p port port on LDAP server\n"),
N_(" -Q use SASL Quiet mode\n"), N_(" -Q use SASL Quiet mode\n"),
N_(" -R realm SASL realm\n"), N_(" -R realm SASL realm\n"),
...@@ -775,11 +777,30 @@ tool_args( int argc, char **argv ) ...@@ -775,11 +777,30 @@ tool_args( int argc, char **argv )
prog, (long)nettimeout.tv_sec ); prog, (long)nettimeout.tv_sec );
exit( EXIT_FAILURE ); exit( EXIT_FAILURE );
} }
} else if ( strcasecmp( control, "ldif-wrap" ) == 0 ) {
if ( cvalue == 0 ) {
ldif_wrap = LDIF_LINE_WIDTH;
} else if ( strcasecmp( cvalue, "no" ) == 0 ) {
ldif_wrap = LDIF_LINE_WIDTH_MAX;
} else {
unsigned int u;
if ( lutil_atou( &u, cvalue ) ) {
fprintf( stderr,
_("Unable to parse ldif-wrap=\"%s\"\n"), cvalue );
exit( EXIT_FAILURE );
}
ldif_wrap = (ber_len_t)u;
}
} else { } else {
fprintf( stderr, "Invalid general option name: %s\n", fprintf( stderr, "Invalid general option name: %s\n",
control ); control );
usage(); usage();
} }
ber_memfree(control);
break; break;
case 'O': case 'O':
#ifdef HAVE_CYRUS_SASL #ifdef HAVE_CYRUS_SASL
...@@ -2273,7 +2294,7 @@ tool_write_ldif( int type, char *name, char *value, ber_len_t vallen ) ...@@ -2273,7 +2294,7 @@ tool_write_ldif( int type, char *name, char *value, ber_len_t vallen )
{ {
char *ldif; char *ldif;
if (( ldif = ldif_put( type, name, value, vallen )) == NULL ) { if (( ldif = ldif_put_wrap( type, name, value, vallen, ldif_wrap )) == NULL ) {
return( -1 ); return( -1 );
} }
......
...@@ -56,6 +56,7 @@ extern int dont; ...@@ -56,6 +56,7 @@ extern int dont;
extern int referrals; extern int referrals;
extern int verbose; extern int verbose;
extern int ldif; extern int ldif;
extern ber_len_t ldif_wrap;
extern char *prog; extern char *prog;
/* connection */ /* connection */
......
...@@ -27,7 +27,7 @@ ldapwhoami * DE**HI** NO QR UVWXYZ def*h*** *nop* vwxy ...@@ -27,7 +27,7 @@ ldapwhoami * DE**HI** NO QR UVWXYZ def*h*** *nop* vwxy
-h host -h host
-n no-op -n no-op
-N no (SASLprep) normalization of simple bind password -N no (SASLprep) normalization of simple bind password
-o general connection options (currently nettimeout only) -o general options (currently nettimeout and ldif-wrap only)
-p port -p port
-v verbose -v verbose
-V version -V version
......
...@@ -742,7 +742,7 @@ ldif_put_wrap( ...@@ -742,7 +742,7 @@ ldif_put_wrap(
} }
p = buf; p = buf;
ldif_sput( &p, type, name, val, vlen ); ldif_sput_wrap( &p, type, name, val, vlen, wrap );
*p = '\0'; *p = '\0';
return( buf ); return( buf );
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment