| defaults_entry ',' defaults_list
defaults_entry : WORD {
- if (defaults_matches && !set_default($1, NULL, 1)) {
+ if (defaults_matches == TRUE &&
+ !set_default($1, NULL, 1)) {
yyerror(NULL);
YYERROR;
}
free($1);
}
| '!' WORD {
- if (defaults_matches && !set_default($2, NULL, 0)) {
+ if (defaults_matches == TRUE &&
+ !set_default($2, NULL, 0)) {
yyerror(NULL);
YYERROR;
}
}
| WORD '=' WORD {
/* XXX - need to support quoted values */
- if (defaults_matches && !set_default($1, $3, 1)) {
+ if (defaults_matches == TRUE &&
+ !set_default($1, $3, 1)) {
yyerror(NULL);
YYERROR;
}
short *yysslim;
YYSTYPE *yyvs;
int yystacksize;
-#line 816 "parse.yacc"
+#line 819 "parse.yacc"
#define MOREALIASES (32)
aliasinfo *aliases = NULL;
case 20:
#line 293 "parse.yacc"
{
- if (defaults_matches && !set_default(yyvsp[0].string, NULL, 1)) {
+ if (defaults_matches == TRUE &&
+ !set_default(yyvsp[0].string, NULL, 1)) {
yyerror(NULL);
YYERROR;
}
}
break;
case 21:
-#line 300 "parse.yacc"
+#line 301 "parse.yacc"
{
- if (defaults_matches && !set_default(yyvsp[0].string, NULL, 0)) {
+ if (defaults_matches == TRUE &&
+ !set_default(yyvsp[0].string, NULL, 0)) {
yyerror(NULL);
YYERROR;
}
}
break;
case 22:
-#line 307 "parse.yacc"
+#line 309 "parse.yacc"
{
/* XXX - need to support quoted values */
- if (defaults_matches && !set_default(yyvsp[-2].string, yyvsp[0].string, 1)) {
+ if (defaults_matches == TRUE &&
+ !set_default(yyvsp[-2].string, yyvsp[0].string, 1)) {
yyerror(NULL);
YYERROR;
}
}
break;
case 25:
-#line 321 "parse.yacc"
+#line 324 "parse.yacc"
{
/*
* We already did a push if necessary in
}
break;
case 26:
-#line 336 "parse.yacc"
+#line 339 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
host_matches = yyvsp[0].BOOLEAN;
}
break;
case 27:
-#line 340 "parse.yacc"
+#line 343 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
host_matches = ! yyvsp[0].BOOLEAN;
}
break;
case 28:
-#line 345 "parse.yacc"
+#line 348 "parse.yacc"
{
yyval.BOOLEAN = TRUE;
}
break;
case 29:
-#line 348 "parse.yacc"
+#line 351 "parse.yacc"
{
if (addr_matches(yyvsp[0].string))
yyval.BOOLEAN = TRUE;
}
break;
case 30:
-#line 355 "parse.yacc"
+#line 358 "parse.yacc"
{
if (netgr_matches(yyvsp[0].string, user_host, user_shost, NULL))
yyval.BOOLEAN = TRUE;
}
break;
case 31:
-#line 362 "parse.yacc"
+#line 365 "parse.yacc"
{
if (hostname_matches(user_shost, user_host, yyvsp[0].string) == 0)
yyval.BOOLEAN = TRUE;
}
break;
case 32:
-#line 369 "parse.yacc"
+#line 372 "parse.yacc"
{
aliasinfo *aip = find_alias(yyvsp[0].string, HOST_ALIAS);
}
break;
case 35:
-#line 397 "parse.yacc"
+#line 400 "parse.yacc"
{
/*
* Push the entry onto the stack if it is worth
}
break;
case 36:
-#line 424 "parse.yacc"
+#line 427 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
cmnd_matches = yyvsp[0].BOOLEAN;
}
break;
case 37:
-#line 428 "parse.yacc"
+#line 431 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 38:
-#line 436 "parse.yacc"
+#line 439 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
cmnd_matches = ! yyvsp[0].BOOLEAN;
}
break;
case 39:
-#line 442 "parse.yacc"
+#line 445 "parse.yacc"
{
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE) {
}
break;
case 40:
-#line 465 "parse.yacc"
+#line 468 "parse.yacc"
{
runas_matches = (yyvsp[0].BOOLEAN == TRUE ? TRUE : FALSE);
}
break;
case 41:
-#line 470 "parse.yacc"
+#line 473 "parse.yacc"
{ ; }
break;
case 42:
-#line 471 "parse.yacc"
+#line 474 "parse.yacc"
{
/* Later entries override earlier ones. */
if (yyvsp[0].BOOLEAN != -1)
}
break;
case 43:
-#line 480 "parse.yacc"
+#line 483 "parse.yacc"
{ ; }
break;
case 44:
-#line 481 "parse.yacc"
+#line 484 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 45:
-#line 489 "parse.yacc"
+#line 492 "parse.yacc"
{
/* Set $$ to the negation of runasuser */
yyval.BOOLEAN = (yyvsp[0].BOOLEAN == -1 ? -1 : ! yyvsp[0].BOOLEAN);
}
break;
case 46:
-#line 494 "parse.yacc"
+#line 497 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 47:
-#line 508 "parse.yacc"
+#line 511 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 48:
-#line 522 "parse.yacc"
+#line 525 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 49:
-#line 536 "parse.yacc"
+#line 539 "parse.yacc"
{
aliasinfo *aip = find_alias(yyvsp[0].string, RUNAS_ALIAS);
}
break;
case 50:
-#line 565 "parse.yacc"
+#line 568 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 51:
-#line 577 "parse.yacc"
+#line 580 "parse.yacc"
{
/* Inherit NOPASSWD/PASSWD status. */
if (printmatches == TRUE && host_matches == TRUE &&
}
break;
case 52:
-#line 587 "parse.yacc"
+#line 590 "parse.yacc"
{
no_passwd = TRUE;
if (printmatches == TRUE && host_matches == TRUE &&
}
break;
case 53:
-#line 593 "parse.yacc"
+#line 596 "parse.yacc"
{
no_passwd = FALSE;
if (printmatches == TRUE && host_matches == TRUE &&
}
break;
case 54:
-#line 601 "parse.yacc"
+#line 604 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
}
break;
case 55:
-#line 618 "parse.yacc"
+#line 621 "parse.yacc"
{
aliasinfo *aip;
}
break;
case 56:
-#line 647 "parse.yacc"
+#line 650 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE) {
}
break;
case 59:
-#line 679 "parse.yacc"
+#line 682 "parse.yacc"
{ push; }
break;
case 60:
-#line 679 "parse.yacc"
+#line 682 "parse.yacc"
{
if ((host_matches != -1 || pedantic) &&
!add_alias(yyvsp[-3].string, HOST_ALIAS, host_matches))
}
break;
case 65:
-#line 695 "parse.yacc"
+#line 698 "parse.yacc"
{
push;
if (printmatches == TRUE) {
}
break;
case 66:
-#line 704 "parse.yacc"
+#line 707 "parse.yacc"
{
if ((cmnd_matches != -1 || pedantic) &&
!add_alias(yyvsp[-3].string, CMND_ALIAS, cmnd_matches))
}
break;
case 67:
-#line 716 "parse.yacc"
+#line 719 "parse.yacc"
{ ; }
break;
case 71:
-#line 724 "parse.yacc"
+#line 727 "parse.yacc"
{
if (printmatches == TRUE) {
in_alias = TRUE;
}
break;
case 72:
-#line 732 "parse.yacc"
+#line 735 "parse.yacc"
{
if ((yyvsp[0].BOOLEAN != -1 || pedantic) &&
!add_alias(yyvsp[-3].string, RUNAS_ALIAS, yyvsp[0].BOOLEAN))
}
break;
case 75:
-#line 747 "parse.yacc"
+#line 750 "parse.yacc"
{ push; }
break;
case 76:
-#line 747 "parse.yacc"
+#line 750 "parse.yacc"
{
if ((user_matches != -1 || pedantic) &&
!add_alias(yyvsp[-3].string, USER_ALIAS, user_matches))
}
break;
case 79:
-#line 760 "parse.yacc"
+#line 763 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
user_matches = yyvsp[0].BOOLEAN;
}
break;
case 80:
-#line 764 "parse.yacc"
+#line 767 "parse.yacc"
{
if (yyvsp[0].BOOLEAN != -1)
user_matches = ! yyvsp[0].BOOLEAN;
}
break;
case 81:
-#line 769 "parse.yacc"
+#line 772 "parse.yacc"
{
if (strcmp(yyvsp[0].string, user_name) == 0)
yyval.BOOLEAN = TRUE;
}
break;
case 82:
-#line 776 "parse.yacc"
+#line 779 "parse.yacc"
{
if (usergr_matches(yyvsp[0].string, user_name))
yyval.BOOLEAN = TRUE;
}
break;
case 83:
-#line 783 "parse.yacc"
+#line 786 "parse.yacc"
{
if (netgr_matches(yyvsp[0].string, NULL, NULL, user_name))
yyval.BOOLEAN = TRUE;
}
break;
case 84:
-#line 790 "parse.yacc"
+#line 793 "parse.yacc"
{
aliasinfo *aip = find_alias(yyvsp[0].string, USER_ALIAS);
}
break;
case 85:
-#line 810 "parse.yacc"
+#line 813 "parse.yacc"
{
yyval.BOOLEAN = TRUE;
}
break;
-#line 1788 "sudo.tab.c"
+#line 1791 "sudo.tab.c"
}
yyssp -= yym;
yystate = *yyssp;