-#if !defined(LDAP_SLAPI)
- if( !(ext = find_extop(supp_ext_list, &reqoid)) ) {
-#else /* defined(LDAP_SLAPI) */
- /* Netscape extended operation */
- getPluginFunc( &reqoid, &funcAddr );
-
- if( !(ext = find_extop(supp_ext_list, &reqoid)) && !(funcAddr) ) {
-#endif /* defined(LDAP_SLAPI) */
-#ifdef NEW_LOGGING
- LDAP_LOG( OPERATION, ERR,
- "do_extended: conn %d unsupported operation \"%s\"\n",
- conn->c_connid, reqoid.bv_val, 0 );
-#else
- Debug( LDAP_DEBUG_ANY, "do_extended: unsupported operation \"%s\"\n",
- reqoid.bv_val, 0 ,0 );
-#endif
- send_ldap_result( conn, op, rc = LDAP_PROTOCOL_ERROR,
- NULL, "unsupported extended operation", NULL, NULL );
+ if ( ber_scanf( op->o_ber, "{m" /*}*/, &op->ore_reqoid ) == LBER_ERROR ) {
+ Debug( LDAP_DEBUG_ANY, "%s do_extended: ber_scanf failed\n",
+ op->o_log_prefix, 0, 0 );
+ send_ldap_discon( op, rs, LDAP_PROTOCOL_ERROR, "decoding error" );
+ rs->sr_err = SLAPD_DISCONNECT;