/* extended.c - ldbm backend extended routines */ /* $OpenLDAP: pkg/ldap/servers/slapd/back-ldbm/extended.c,v 1.18.2.2 2006/01/03 22:16:19 kurt Exp $ */ /* This work is part of OpenLDAP Software <http://www.openldap.org/>. * * Copyright 1998-2006 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP * Public License. * * A copy of this license is available in the file LICENSE in the * top-level directory of the distribution or, alternatively, at * <http://www.OpenLDAP.org/license.html>. */ #include "portable.h" #include <stdio.h> #include <ac/socket.h> #include <ac/string.h> #include "slap.h" #include "back-ldbm.h" #include "proto-back-ldbm.h" #include "lber_pvt.h" struct exop { struct berval *oid; BI_op_extended *extended; } exop_table[] = { { NULL, NULL } }; int ldbm_back_extended( Operation *op, SlapReply *rs ) { int i; for( i=0; exop_table[i].extended != NULL; i++ ) { if( ber_bvcmp( exop_table[i].oid, &op->oq_extended.rs_reqoid ) == 0 ) { return exop_table[i].extended( op, rs ); } } rs->sr_text = "not supported within naming context"; return LDAP_UNWILLING_TO_PERFORM; }