ATTRIBUTE Module-Success-Message 1075 string
ATTRIBUTE Module-Failure-Message 1076 string
# X99-Fast 1077 integer
+ATTRIBUTE Rewrite-Rule 1078 string
#
# Non-Protocol Attributes
ATTRIBUTE Module-Success-Message 1075 string
ATTRIBUTE Module-Failure-Message 1076 string
# X99-Fast 1077 integer
+ATTRIBUTE Rewrite-Rule 1078 string
#
# Non-Protocol Attributes
char *replace; /* The replacement */
int nocase; /* Ignore case */
int num_matches; /* Maximum number of matches */
+ char *name; /* The module name */
} rlm_attr_rewrite_t;
{
rlm_attr_rewrite_t *data;
DICT_ATTR *dattr;
+ char *instance_name = NULL;
/*
* Set up a storage area for instance data
return -1;
}
data->attr_num = dattr->attr;
+ /* Add the module instance name */
+ data->name = NULL;
+ instance_name = cf_section_name2(conf);
+ if (instance_name != NULL)
+ data->name = strdup(instance_name);
+
*instance = data;
char replace_STR[MAX_STRING_LEN];
int replace_len = 0;
+ if ((attr_vp = pairfind(request->config_items, PW_REWRITE_RULE)) != NULL){
+ if (data->name == NULL || strcmp(data->name,attr_vp->strvalue))
+ return RLM_MODULE_NOOP;
+ }
+
switch (data->searchin) {
case RLM_REGEX_INPACKET:
if (data->attr_num == PW_USER_NAME)
free(data->attribute);
free(data->search);
free(data->replace);
+ if (data->name)
+ free(data->name);
free(instance);
return 0;