if (strcmp(compat_mode_str, "cistron") == 0) {
compat_mode = TRUE;
}
-
+
entry = users;
while (entry) {
if (compat_mode) {
/*
* If it's a vendor attribute,
- * or it's a wire protocol,
+ * or it's a wire protocol,
* ensure it has '=='.
*/
if (((vp->attribute & ~0xffff) != 0) ||
vp->operator = T_OP_CMP_EQ;
continue;
}
-
+
/*
* Cistron Compatibility mode.
*
vp->operator = T_OP_CMP_EQ;
}
}
-
+
} /* end of loop over check items */
-
-
+
+
/*
* Look for server configuration items
* in the reply list.
log_debug("[%s]:%d WARNING! Check item \"%s\"\n"
"\tfound in reply item list for user \"%s\".\n"
"\tThis attribute MUST go on the first line"
- " with the other check items",
+ " with the other check items",
filename, entry->lineno, vp->name,
entry->name);
}
}
-
+
entry = entry->next;
}
-
+
}
*pair_list = users;
if((mainconfig.do_usercollide) && (strcmp(pl->name, "DEFAULT"))) {
- /*
+ /*
* We have to make sure the password
* matches as well
*/
-
+
/* Save the orginal config items */
check_save = paircopy(request->config_items);
-
+
/* Copy this users check pairs to the request */
check_tmp = paircopy(pl->check);
pairmove(check_pairs, &check_tmp);
pairfree(&check_tmp);
-
+
DEBUG2(" users: Checking %s at %d", pl->name, pl->lineno);
/* Check the req to see if we matched */
if (rad_check_password(request)==0) {
/* Free our saved config items */
pairfree(&check_save);
- /*
- * Already copied check items, so
+ /*
+ * Already copied check items, so
* just copy reply here
*/
reply_tmp = paircopy(pl->reply);
check_pairs = &request->config_items;
continue;
}
-
+
/* No usercollide */
} else {
-
+
DEBUG2(" users: Matched %s at %d", pl->name, pl->lineno);
found = 1;
check_tmp = paircopy(pl->check);
break;
}
}
-
+
/*
* See if we succeeded. If we didn't find the user,
* then exit from the module.
if (vp->flags.do_xlat) {
int rcode;
char buffer[sizeof(vp->strvalue)];
-
+
vp->flags.do_xlat = 0;
rcode = radius_xlat(buffer, sizeof(buffer),
vp->strvalue,
request, NULL);
-
+
/*
* Parse the string into
* a new value.