Skip to content
Snippets Groups Projects
Commit cc475f4b authored by Luke Howard's avatar Luke Howard
Browse files

Allow arbitrary exop data to be base64 encoded

Argument matches LDIF, ie <oid|oid:data|oid::b64data>
parent 57233907
No related branches found
No related tags found
No related merge requests found
......@@ -42,7 +42,7 @@ void
usage( void )
{
fprintf( stderr, _("Issue LDAP extended operations\n\n"));
fprintf( stderr, _("usage: %s [options] [oid[:data]]\n"), prog);
fprintf( stderr, _("usage: %s [options] <oid|oid:data|oid::b64data>\n"), prog);
tool_common_usage();
exit( EXIT_FAILURE );
}
......@@ -190,17 +190,32 @@ main( int argc, char *argv[] )
}
p = strchr( argv[ 0 ], ':' );
if ( p == argv[ 0 ] ) {
usage();
}
if ( p != NULL )
*p++ = '\0';
if ( tool_is_oid( argv[ 0 ] ) ) {
struct berval reqdata;
if ( p ) {
reqdata.bv_val = p;
reqdata.bv_len = strlen( reqdata.bv_val );
struct berval reqdata;
struct berval type;
struct berval value;
int freeval;
if ( p != NULL ) {
p[ -1 ] = ':';
ldif_parse_line2( argv[ 0 ], &type, &value, &freeval );
p[ -1 ] = '\0';
if ( freeval ) {
reqdata = value;
} else {
ber_dupbv( &reqdata, &value );
}
}
tool_server_controls( ld, NULL, 0 );
rc = ldap_extended_operation( ld, argv[ 0 ], p ? &reqdata : NULL, NULL, NULL, &id );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment