[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
killing server with a bad request (ITS#1305)
Full_Name: Jean-Christian Hassler
Version: 2.0.11
OS: redhat linux 6.2
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (217.128.93.52)
While I was programming a client for changing passwords using the Netscape
SDK's, I generate a incorrect request which killed the server each time it was
sent, so I believe it must be a bug. I give the code of the bad request and of
the good one.
I use SSL connection with server authentification only.
Here's the code of the killing request :
/* The connection is already open with a valid user, the handle is ld */
int rc,id;
BerElement *ber;
struct berval *bv = NULL;
ber = ber_alloc_t(0x01);
ber_printf( ber, "{" );
ber_printf( ber, "ts",LDAP_TAG_EXOP_X_MODIFY_PASSWD_NEW,
NewPassword);
---> ber_printf( ber, "N}" );
rc = ber_flatten( ber, &bv );
ber_free( ber, 1 );
rc = ldap_extended_operation( ld,
LDAP_EXOP_X_MODIFY_PASSWD, bv,
NULL, NULL, &id );
ber_bvfree( bv );
if ( rc != LDAP_SUCCESS ) {
printf("Error\n");
} else {
printf("Succes\n");
}
Here's the code of the correct request :
/* The connection is already open with a valid user, the handle is ld */
int rc,id;
BerElement *ber;
struct berval *bv = NULL;
ber = ber_alloc_t(0x01);
ber_printf( ber, "{" );
ber_printf( ber, "ts",LDAP_TAG_EXOP_X_MODIFY_PASSWD_NEW,
NewPassword);
---> ber_printf( ber, "}" );
rc = ber_flatten( ber, &bv );
ber_free( ber, 1 );
rc = ldap_extended_operation( ld,
LDAP_EXOP_X_MODIFY_PASSWD, bv,
NULL, NULL, &id );
ber_bvfree( bv );
if ( rc != LDAP_SUCCESS ) {
printf("Error\n");
} else {
printf("Succes\n");
}