-#ifdef LDAP_SLAPI
- getPluginFunc( &reqoid, &funcAddr ); /* NS-SLAPI extended operation */
- if( !funcAddr && !(ext = find_extop(supp_ext_list, &reqoid )))
-#else
- if( !(ext = find_extop(supp_ext_list, &reqoid )))
-#endif
- {
-#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;