"-p Verify primary user group as well\n");
fprintf(stderr,
"-s Strip NT domain from usernames\n");
+ fprintf(stderr,
+ "-r Strip Kerberos realm from usernames\n");
}
int
char *user, *suser, *p;
char buf[HELPER_INPUT_BUFFER];
char **grents = NULL;
- int check_pw = 0, ch, ngroups = 0, i, j = 0, strip_dm = 0;
+ int check_pw = 0, ch, ngroups = 0, i, j = 0, strip_dm = 0, strip_rm = 0;
/* make standard output line buffered */
setvbuf(stdout, NULL, _IOLBF, 0);
/* get user options */
- while ((ch = getopt(argc, argv, "dspg:")) != -1) {
+ while ((ch = getopt(argc, argv, "dsrpg:")) != -1) {
switch (ch) {
case 'd':
debug_enabled = 1;
case 's':
strip_dm = 1;
break;
+ case 'r':
+ strip_rm = 1;
+ break;
case 'p':
check_pw = 1;
break;
if (!suser) suser = strchr(user, '/');
if (suser && suser[1]) user = suser + 1;
}
+ if (strip_rm) {
+ suser = strchr(user, '@');
+ if (suser) *suser = '\0';
+ }
/* check groups supplied by Squid */
while ((p = strtok(NULL, " ")) != NULL) {
rfc1738_unescape(p);