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;
}
Esempio n. 2
0
/***************************************************************************
*
* __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;
}