struct interface *interfaces;
int num_interfaces;
char cwd[MAXPATHLEN + 1];
-uid_t uid = -2;
+uid_t uid = (uid_t)-2;
/********************************************************************
case MODE_VALIDATE :
cmnd = "validate";
break;
+ case MODE_LIST :
+ cmnd = "list";
+ break;
}
/*
} else if (sudo_mode == MODE_KILL) {
remove_timestamp(); /* remove the timestamp ticket file */
exit(0);
+ } else if (sudo_mode == MODE_LIST) {
+ (void) validate(); /* list the user's available commands */
+ exit(0);
}
add_env(); /* add in SUDO_* envariables */
case 'k':
ret = MODE_KILL;
break;
+ case 'l':
+ ret = MODE_LIST;
+ break;
case 'V':
ret = MODE_VERSION;
break;
static void usage(exit_val)
int exit_val;
{
- (void) fprintf(stderr, "usage: %s -V | -h | -v | -k | <command>\n", Argv[0]);
+ (void) fprintf(stderr, "usage: %s -V | -h | -l | -v | -k | <command>\n", Argv[0]);
exit(exit_val);
}
}
/* add the SUDO_UID envariable */
- for (len = 1 + (uid < 0), n = (int)uid; (n = n / 10) != 0; )
+ for (len = 1 + ((int)uid < 0), n = (int)uid; (n = n / 10) != 0; )
++len;
uidstr = (char *) malloc(len+1);