int set_default_method (pblock *pb, Session *sn, Request *rq) { char *method = pblock_findval(ACL_ATTR_METHOD, pb); NSErr_t *errp = 0; ACLMethod_t t; ACL_REG(ACL_MethodFind(errp, method, &t), "Method \"%s\" is not registered", method); ACL_MethodSetDefault(errp, t); return REQ_PROCEED; }
/*************************************************************************** * * __acl__RegisterAttributes * * Register all the attributes supported by the DS. * * Input: * None. * * Returns: * ACL_OK - No error * ACL_ERR - in case of errror * * Error Handling: * None. * **************************************************************************/ static int __aclinit__RegisterAttributes(void) { ACLMethod_t methodinfo; NSErr_t errp; int rv; memset (&errp, 0, sizeof(NSErr_t)); rv = ACL_MethodRegister(&errp, DS_METHOD, &methodinfo); if (rv < 0) { acl_print_acllib_err(&errp, NULL); slapi_log_err(SLAPI_LOG_ERR, plugin_name, "__aclinit__RegisterAttributes - Unable to Register the methods\n"); return ACL_ERR; } rv = ACL_MethodSetDefault (&errp, methodinfo); if (rv < 0) { acl_print_acllib_err(&errp, NULL); slapi_log_err(SLAPI_LOG_ERR, plugin_name, "__aclinit__RegisterAttributes - Unable to Set the default method\n"); return ACL_ERR; } rv = ACL_AttrGetterRegister(&errp, ACL_ATTR_IP, DS_LASIpGetter, methodinfo, ACL_DBTYPE_ANY, ACL_AT_FRONT, NULL); if (rv < 0) { acl_print_acllib_err(&errp, NULL); slapi_log_err(SLAPI_LOG_ERR, plugin_name, "__aclinit__RegisterAttributes - Unable to Register Attr ip\n"); return ACL_ERR; } rv = ACL_AttrGetterRegister(&errp, ACL_ATTR_DNS, DS_LASDnsGetter, methodinfo, ACL_DBTYPE_ANY, ACL_AT_FRONT, NULL); if (rv < 0) { acl_print_acllib_err(&errp, NULL); slapi_log_err(SLAPI_LOG_ERR, plugin_name, "__aclinit__RegisterAttributes - Unable to Register Attr dns\n"); return ACL_ERR; } return ACL_OK; }