rpms/sudo/F-9 sudo-1.6.9p13-selinuxfix.patch, NONE, 1.1 sudo.spec, 1.66, 1.67
Daniel Kopeček
mildew at fedoraproject.org
Thu Oct 30 13:09:48 UTC 2008
- Previous message: rpms/kernel/F-9 drm-fedora9-rollup.patch,1.3,1.4
- Next message: rpms/ifstat/F-10 ifstat-UTF8.patch, NONE, 1.1 ifstat-destdir.patch, NONE, 1.1 ifstat.spec, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mildew
Update of /cvs/pkgs/rpms/sudo/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv7408
Modified Files:
sudo.spec
Added Files:
sudo-1.6.9p13-selinuxfix.patch
Log Message:
Fixed type/role parsing (#466292)
sudo-1.6.9p13-selinuxfix.patch:
--- NEW FILE sudo-1.6.9p13-selinuxfix.patch ---
diff -up sudo-1.6.9p13/parse.yacc.orig sudo-1.6.9p13/parse.yacc
--- sudo-1.6.9p13/parse.yacc.orig 2008-10-30 14:07:52.000000000 +0100
+++ sudo-1.6.9p13/parse.yacc 2008-10-30 14:06:58.000000000 +0100
@@ -569,6 +569,7 @@ selinux : /* empty */ {
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].role != NULL) {
/* Inherit role. */
cm_list[cm_list_len].role =
estrdup(cm_list[cm_list_len-1].role);
@@ -576,6 +577,12 @@ selinux : /* empty */ {
cm_list[cm_list_len-1].role_len;
cm_list[cm_list_len].role_size =
cm_list[cm_list_len-1].role_len + 1;
+ } else {
+ cm_list[cm_list_len].role = NULL;
+ cm_list[cm_list_len].role_len = 0;
+ cm_list[cm_list_len].role_size = 0;
+ }
+ if (match[top-1].type != NULL) {
/* Inherit type. */
cm_list[cm_list_len].type =
estrdup(cm_list[cm_list_len-1].type);
@@ -583,6 +590,11 @@ selinux : /* empty */ {
cm_list[cm_list_len-1].type_len;
cm_list[cm_list_len].type_size =
cm_list[cm_list_len-1].type_len + 1;
+ } else {
+ cm_list[cm_list_len].type = NULL;
+ cm_list[cm_list_len].type_len = 0;
+ cm_list[cm_list_len].type_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
$$.role = NULL;
@@ -592,6 +604,7 @@ selinux : /* empty */ {
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].type != NULL) {
/* Inherit type. */
cm_list[cm_list_len].type =
estrdup(cm_list[cm_list_len-1].type);
@@ -599,6 +612,11 @@ selinux : /* empty */ {
cm_list[cm_list_len-1].type_len;
cm_list[cm_list_len].type_size =
cm_list[cm_list_len-1].type_len + 1;
+ } else {
+ cm_list[cm_list_len].type = NULL;
+ cm_list[cm_list_len].type_len = 0;
+ cm_list[cm_list_len].type_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
$$.role = $1;
@@ -608,6 +626,7 @@ selinux : /* empty */ {
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].role != NULL) {
/* Inherit role. */
cm_list[cm_list_len].role =
estrdup(cm_list[cm_list_len-1].role);
@@ -615,6 +634,11 @@ selinux : /* empty */ {
cm_list[cm_list_len-1].role_len;
cm_list[cm_list_len].role_size =
cm_list[cm_list_len-1].role_len + 1;
+ } else {
+ cm_list[cm_list_len].role = NULL;
+ cm_list[cm_list_len].role_len = 0;
+ cm_list[cm_list_len].role_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
$$.type = $1;
diff -up sudo-1.6.9p13/sudo.tab.c.orig sudo-1.6.9p13/sudo.tab.c
--- sudo-1.6.9p13/sudo.tab.c.orig 2008-10-30 13:54:08.000000000 +0100
+++ sudo-1.6.9p13/sudo.tab.c 2008-10-30 14:08:17.000000000 +0100
@@ -1,20 +1,22 @@
#ifndef lint
-/*static char yysccsid[] = "from: @(#)yaccpar 1.9 (Berkeley) 02/21/93";*/
-static char yyrcsid[]
-#if __GNUC__ >= 2
- __attribute__ ((unused))
-#endif /* __GNUC__ >= 2 */
- = "$OpenBSD: skeleton.c,v 1.28 2007/09/03 21:14:58 deraadt Exp $";
+static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
#endif
+
#include <stdlib.h>
+
#define YYBYACC 1
#define YYMAJOR 1
#define YYMINOR 9
-#define YYLEX yylex()
-#define YYEMPTY -1
-#define yyclearin (yychar=(YYEMPTY))
-#define yyerrok (yyerrflag=0)
-#define YYRECOVERING() (yyerrflag!=0)
+#define YYPATCH 20070509
+
+#define YYEMPTY (-1)
+#define yyclearin (yychar = YYEMPTY)
+#define yyerrok (yyerrflag = 0)
+#define YYRECOVERING (yyerrflag != 0)
+
+extern int yyparse(void);
+
+static int yygrowstack(void);
#define YYPREFIX "yy"
#line 2 "parse.yacc"
/*
@@ -88,7 +90,7 @@ static char yyrcsid[]
#endif /* HAVE_LSEARCH */
#ifndef lint
-__unused static const char rcsid[] = "$Sudo: sudo.tab.c,v 1.76.2.13 2008/02/11 14:49:28 millert Exp $";
+__unused static const char rcsid[] = "$Sudo: parse.yacc,v 1.204.2.12 2008/02/11 14:49:28 millert Exp $";
#endif /* lint */
/*
@@ -265,8 +267,6 @@ yyerror(s)
parse_error = TRUE;
}
#line 251 "parse.yacc"
-#ifndef YYSTYPE_DEFINED
-#define YYSTYPE_DEFINED
typedef union {
char *string;
int BOOLEAN;
@@ -274,8 +274,7 @@ typedef union {
int tok;
struct selinux_info seinfo;
} YYSTYPE;
-#endif /* YYSTYPE_DEFINED */
-#line 279 "sudo.tab.c"
+#line 278 "sudo.tab.c"
#define COMMAND 257
#define ALIAS 258
#define DEFVAR 259
@@ -304,12 +303,7 @@ typedef union {
#define TYPE 282
#define ROLE 283
#define YYERRCODE 256
-#if defined(__cplusplus) || defined(__STDC__)
-const short yylhs[] =
-#else
-short yylhs[] =
-#endif
- { -1,
+short yylhs[] = { -1,
0, 0, 10, 10, 12, 10, 10, 10, 10, 10,
10, 18, 19, 21, 19, 22, 19, 24, 19, 20,
20, 25, 25, 25, 25, 25, 13, 13, 26, 28,
@@ -322,12 +316,7 @@ short yylhs[] =
44, 43, 11, 11, 45, 45, 6, 6, 6, 6,
6,
};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yylen[] =
-#else
-short yylen[] =
-#endif
- { 2,
+short yylen[] = { 2,
1, 2, 1, 2, 0, 3, 2, 2, 2, 2,
1, 2, 1, 0, 3, 0, 3, 0, 3, 1,
3, 1, 2, 3, 3, 3, 1, 3, 3, 1,
@@ -340,12 +329,7 @@ short yylen[] =
0, 4, 1, 3, 1, 2, 1, 1, 1, 1,
1,
};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yydefred[] =
-#else
-short yydefred[] =
-#endif
- { 0,
+short yydefred[] = { 0,
0, 13, 18, 14, 16, 3, 0, 0, 0, 0,
0, 1, 0, 11, 0, 4, 0, 0, 0, 75,
0, 73, 81, 0, 79, 91, 0, 89, 87, 0,
@@ -362,24 +346,14 @@ short yydefred[] =
0, 0, 0, 0, 0, 49, 50, 45, 44, 64,
65, 66, 67, 68, 69, 40,
};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yydgoto[] =
-#else
-short yydgoto[] =
-#endif
- { 11,
+short yydgoto[] = { 11,
110, 52, 62, 63, 64, 39, 130, 131, 132, 12,
40, 13, 75, 27, 21, 24, 30, 14, 15, 44,
18, 19, 76, 17, 45, 77, 116, 54, 117, 123,
118, 135, 111, 119, 85, 22, 65, 25, 67, 112,
31, 71, 28, 69, 41,
};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yysindex[] =
-#else
-short yysindex[] =
-#endif
- { -247,
+short yysindex[] = { -247,
-248, 0, 0, 0, 0, 0, -211, -210, -205, -201,
-247, 0, 62, 0, -33, 0, 89, 62, 114, 0,
2, 0, 0, 3, 0, 0, 4, 0, 0, 6,
@@ -394,13 +368,9 @@ short yysindex[] =
0, 36, 23, 24, 0, 37, 0, -185, -221, -20,
0, 114, -268, 0, 0, 0, 24, 21, 25, 0,
-195, -193, -175, -174, 274, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yyrindex[] =
-#else
-short yyrindex[] =
-#endif
- { 141,
+ 0, 0, 0, 0, 0, 0,
+};
+short yyrindex[] = { 141,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
156, 0, 0, 181, 0, 0, 206, 0, 0, 236,
@@ -415,13 +385,9 @@ short yyrindex[] =
0, 52, 78, 104, 0, 130, 0, -29, 0, 0,
0, 0, 340, 0, 0, 0, 313, 0, 0, 0,
365, 391, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yygindex[] =
-#else
-short yygindex[] =
-#endif
- { 0,
+ 0, 0, 0, 0, 0, 0,
+};
+short yygindex[] = { 0,
-27, 40, 12, 7, -87, 56, 0, -36, -32, 87,
-16, 0, 0, 0, 0, 0, 0, 0, 0, 18,
0, 0, -14, 0, 0, 5, 0, 19, -19, 0,
@@ -429,12 +395,7 @@ short yygindex[] =
35, 0, 42, 0, 34,
};
#define YYTABLESIZE 666
-#if defined(__cplusplus) || defined(__STDC__)
-const short yytable[] =
-#else
-short yytable[] =
-#endif
- { 43,
+short yytable[] = { 43,
22, 55, 53, 51, 51, 114, 33, 19, 1, 34,
35, 36, 109, 128, 129, 74, 2, 3, 4, 5,
84, 15, 17, 37, 79, 76, 80, 16, 6, 7,
@@ -503,12 +464,7 @@ short yytable[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
48, 48, 48, 48, 48, 48,
};
-#if defined(__cplusplus) || defined(__STDC__)
-const short yycheck[] =
-#else
-short yycheck[] =
-#endif
- { 33,
+short yycheck[] = { 33,
0, 18, 17, 33, 33, 93, 258, 33, 256, 261,
262, 263, 33, 282, 283, 44, 264, 265, 266, 267,
44, 33, 33, 275, 43, 0, 45, 276, 276, 277,
@@ -583,12 +539,7 @@ short yycheck[] =
#endif
#define YYMAXTOKEN 283
#if YYDEBUG
-#if defined(__cplusplus) || defined(__STDC__)
-const char * const yyname[] =
-#else
-char *yyname[] =
-#endif
- {
+char *yyname[] = {
"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
"'!'",0,0,0,0,0,0,0,0,0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,"':'",0,0,
"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -601,12 +552,8 @@ char *yyname[] =
"NOEXEC","EXEC","SETENV","NOSETENV","ALL","COMMENT","HOSTALIAS","CMNDALIAS",
"USERALIAS","RUNASALIAS","ERROR","TYPE","ROLE",
};
-#if defined(__cplusplus) || defined(__STDC__)
-const char * const yyrule[] =
-#else
-char *yyrule[] =
-#endif
- {"$accept : file",
+char *yyrule[] = {
+"$accept : file",
"file : entry",
"file : file entry",
"entry : COMMENT",
@@ -710,32 +657,40 @@ char *yyrule[] =
"user : ALL",
};
#endif
+#if YYDEBUG
+#include <stdio.h>
+#endif
+
+/* define the initial stack-sizes */
#ifdef YYSTACKSIZE
#undef YYMAXDEPTH
-#define YYMAXDEPTH YYSTACKSIZE
+#define YYMAXDEPTH YYSTACKSIZE
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
-#define YYSTACKSIZE 10000
-#define YYMAXDEPTH 10000
+#define YYSTACKSIZE 500
+#define YYMAXDEPTH 500
#endif
#endif
-#define YYINITSTACKSIZE 200
-/* LINTUSED */
-int yydebug;
-int yynerrs;
-int yyerrflag;
-int yychar;
-short *yyssp;
+
+#define YYINITSTACKSIZE 500
+
+int yydebug;
+int yynerrs;
+int yyerrflag;
+int yychar;
+short *yyssp;
YYSTYPE *yyvsp;
-YYSTYPE yyval;
-YYSTYPE yylval;
-short *yyss;
-short *yysslim;
-YYSTYPE *yyvs;
-int yystacksize;
-#line 1053 "parse.yacc"
+YYSTYPE yyval;
+YYSTYPE yylval;
+
+/* variables for the parser stack */
+static short *yyss;
+static short *yysslim;
+static YYSTYPE *yyvs;
+static int yystacksize;
+#line 1077 "parse.yacc"
#define MOREALIASES (32)
aliasinfo *aliases = NULL;
@@ -1101,13 +1056,9 @@ init_parser()
if (printmatches == TRUE)
expand_match_list();
}
-#line 1053 "sudo.tab.c"
+#line 1060 "sudo.tab.c"
/* allocate initial stack or double stack size, up to YYMAXDEPTH */
-#if defined(__cplusplus) || defined(__STDC__)
static int yygrowstack(void)
-#else
-static int yygrowstack()
-#endif
{
int newsize, i;
short *newss;
@@ -1119,40 +1070,27 @@ static int yygrowstack()
return -1;
else if ((newsize *= 2) > YYMAXDEPTH)
newsize = YYMAXDEPTH;
+
i = yyssp - yyss;
-#ifdef SIZE_MAX
-#define YY_SIZE_MAX SIZE_MAX
-#else
-#define YY_SIZE_MAX 0x7fffffff
-#endif
- if (newsize && YY_SIZE_MAX / newsize < sizeof *newss)
- goto bail;
- newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :
- (short *)malloc(newsize * sizeof *newss); /* overflow check above */
- if (newss == NULL)
- goto bail;
- yyss = newss;
+ newss = (yyss != 0)
+ ? (short *)realloc(yyss, newsize * sizeof(*newss))
+ : (short *)malloc(newsize * sizeof(*newss));
+ if (newss == 0)
+ return -1;
+
+ yyss = newss;
yyssp = newss + i;
- if (newsize && YY_SIZE_MAX / newsize < sizeof *newvs)
- goto bail;
- newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :
- (YYSTYPE *)malloc(newsize * sizeof *newvs); /* overflow check above */
- if (newvs == NULL)
- goto bail;
+ newvs = (yyvs != 0)
+ ? (YYSTYPE *)realloc(yyvs, newsize * sizeof(*newvs))
+ : (YYSTYPE *)malloc(newsize * sizeof(*newvs));
+ if (newvs == 0)
+ return -1;
+
yyvs = newvs;
yyvsp = newvs + i;
yystacksize = newsize;
yysslim = yyss + newsize - 1;
return 0;
-bail:
- if (yyss)
- free(yyss);
- if (yyvs)
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
- return -1;
}
#define YYABORT goto yyabort
@@ -1160,31 +1098,23 @@ bail:
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
int
-#if defined(__cplusplus) || defined(__STDC__)
yyparse(void)
-#else
-yyparse()
-#endif
{
- int yym, yyn, yystate;
+ register int yym, yyn, yystate;
#if YYDEBUG
-#if defined(__cplusplus) || defined(__STDC__)
- const char *yys;
-#else /* !(defined(__cplusplus) || defined(__STDC__)) */
- char *yys;
-#endif /* !(defined(__cplusplus) || defined(__STDC__)) */
+ register const char *yys;
- if ((yys = getenv("YYDEBUG")))
+ if ((yys = getenv("YYDEBUG")) != 0)
{
yyn = *yys;
if (yyn >= '0' && yyn <= '9')
yydebug = yyn - '0';
}
-#endif /* YYDEBUG */
+#endif
yynerrs = 0;
yyerrflag = 0;
- yychar = (-1);
+ yychar = YYEMPTY;
if (yyss == NULL && yygrowstack()) goto yyoverflow;
yyssp = yyss;
@@ -1221,7 +1151,7 @@ yyloop:
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
- yychar = (-1);
+ yychar = YYEMPTY;
if (yyerrflag > 0) --yyerrflag;
goto yyloop;
}
@@ -1232,16 +1162,16 @@ yyloop:
goto yyreduce;
}
if (yyerrflag) goto yyinrecovery;
-#if defined(lint) || defined(__GNUC__)
- goto yynewerror;
-#endif
-yynewerror:
+
yyerror("syntax error");
-#if defined(lint) || defined(__GNUC__)
+
+#ifdef lint
goto yyerrlab;
#endif
+
yyerrlab:
++yynerrs;
+
yyinrecovery:
if (yyerrflag < 3)
{
@@ -1290,9 +1220,10 @@ yyinrecovery:
YYPREFIX, yystate, yychar, yys);
}
#endif
- yychar = (-1);
+ yychar = YYEMPTY;
goto yyloop;
}
+
yyreduce:
#if YYDEBUG
if (yydebug)
@@ -1637,6 +1568,7 @@ case 46:
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].role != NULL) {
/* Inherit role. */
cm_list[cm_list_len].role =
estrdup(cm_list[cm_list_len-1].role);
@@ -1644,6 +1576,12 @@ case 46:
cm_list[cm_list_len-1].role_len;
cm_list[cm_list_len].role_size =
cm_list[cm_list_len-1].role_len + 1;
+ } else {
+ cm_list[cm_list_len].role = NULL;
+ cm_list[cm_list_len].role_len = 0;
+ cm_list[cm_list_len].role_size = 0;
+ }
+ if (match[top-1].type != NULL) {
/* Inherit type. */
cm_list[cm_list_len].type =
estrdup(cm_list[cm_list_len-1].type);
@@ -1651,6 +1589,11 @@ case 46:
cm_list[cm_list_len-1].type_len;
cm_list[cm_list_len].type_size =
cm_list[cm_list_len-1].type_len + 1;
+ } else {
+ cm_list[cm_list_len].type = NULL;
+ cm_list[cm_list_len].type_len = 0;
+ cm_list[cm_list_len].type_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
yyval.seinfo.role = NULL;
@@ -1658,11 +1601,12 @@ case 46:
}
break;
case 47:
-#line 591 "parse.yacc"
+#line 603 "parse.yacc"
{
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].type != NULL) {
/* Inherit type. */
cm_list[cm_list_len].type =
estrdup(cm_list[cm_list_len-1].type);
@@ -1670,6 +1614,11 @@ case 47:
cm_list[cm_list_len-1].type_len;
cm_list[cm_list_len].type_size =
cm_list[cm_list_len-1].type_len + 1;
+ } else {
+ cm_list[cm_list_len].type = NULL;
+ cm_list[cm_list_len].type_len = 0;
+ cm_list[cm_list_len].type_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
yyval.seinfo.role = yyvsp[0].string;
@@ -1677,11 +1626,12 @@ case 47:
}
break;
case 48:
-#line 607 "parse.yacc"
+#line 625 "parse.yacc"
{
#ifdef HAVE_SELINUX
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE && runas_matches == TRUE) {
+ if (match[top-1].role != NULL) {
/* Inherit role. */
cm_list[cm_list_len].role =
estrdup(cm_list[cm_list_len-1].role);
@@ -1689,6 +1639,11 @@ case 48:
cm_list[cm_list_len-1].role_len;
cm_list[cm_list_len].role_size =
cm_list[cm_list_len-1].role_len + 1;
+ } else {
+ cm_list[cm_list_len].role = NULL;
+ cm_list[cm_list_len].role_len = 0;
+ cm_list[cm_list_len].role_size = 0;
+ }
}
#endif /* HAVE_SELINUX */
yyval.seinfo.type = yyvsp[0].string;
@@ -1696,21 +1651,21 @@ case 48:
}
break;
case 49:
-#line 623 "parse.yacc"
+#line 647 "parse.yacc"
{
yyval.seinfo.role = yyvsp[-1].string;
yyval.seinfo.type = yyvsp[0].string;
}
break;
case 50:
-#line 627 "parse.yacc"
+#line 651 "parse.yacc"
{
yyval.seinfo.type = yyvsp[-1].string;
yyval.seinfo.role = yyvsp[0].string;
}
break;
case 51:
-#line 633 "parse.yacc"
+#line 657 "parse.yacc"
{
if (printmatches == TRUE && host_matches == TRUE &&
user_matches == TRUE) {
@@ -1737,17 +1692,17 @@ case 51:
}
break;
case 52:
-#line 657 "parse.yacc"
+#line 681 "parse.yacc"
{
runas_matches = yyvsp[0].BOOLEAN;
}
break;
case 53:
-#line 662 "parse.yacc"
+#line 686 "parse.yacc"
{ ; }
break;
case 54:
-#line 663 "parse.yacc"
+#line 687 "parse.yacc"
{
/* Later entries override earlier ones. */
if (yyvsp[0].BOOLEAN != NOMATCH)
@@ -1757,11 +1712,11 @@ case 54:
}
break;
case 55:
-#line 672 "parse.yacc"
+#line 696 "parse.yacc"
{ ; }
break;
case 56:
-#line 673 "parse.yacc"
+#line 697 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1773,14 +1728,14 @@ case 56:
}
break;
case 57:
-#line 681 "parse.yacc"
+#line 705 "parse.yacc"
{
/* Set $$ to the negation of runasuser */
yyval.BOOLEAN = (yyvsp[0].BOOLEAN == NOMATCH ? NOMATCH : ! yyvsp[0].BOOLEAN);
}
break;
case 58:
-#line 687 "parse.yacc"
+#line 711 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1798,7 +1753,7 @@ case 58:
}
break;
case 59:
-#line 702 "parse.yacc"
+#line 726 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1816,7 +1771,7 @@ case 59:
}
break;
case 60:
-#line 717 "parse.yacc"
+#line 741 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1834,7 +1789,7 @@ case 60:
}
break;
case 61:
-#line 732 "parse.yacc"
+#line 756 "parse.yacc"
{
aliasinfo *aip = find_alias(yyvsp[0].string, RUNAS_ALIAS);
@@ -1867,7 +1822,7 @@ case 61:
}
break;
case 62:
-#line 762 "parse.yacc"
+#line 786 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1880,7 +1835,7 @@ case 62:
}
break;
case 63:
-#line 774 "parse.yacc"
+#line 798 "parse.yacc"
{
/* Inherit {NO,}{PASSWD,EXEC,SETENV} status. */
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1901,7 +1856,7 @@ case 63:
}
break;
case 64:
-#line 792 "parse.yacc"
+#line 816 "parse.yacc"
{
no_passwd = TRUE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1910,7 +1865,7 @@ case 64:
}
break;
case 65:
-#line 798 "parse.yacc"
+#line 822 "parse.yacc"
{
no_passwd = FALSE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1919,7 +1874,7 @@ case 65:
}
break;
case 66:
-#line 804 "parse.yacc"
+#line 828 "parse.yacc"
{
no_execve = TRUE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1928,7 +1883,7 @@ case 66:
}
break;
case 67:
-#line 810 "parse.yacc"
+#line 834 "parse.yacc"
{
no_execve = FALSE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1937,7 +1892,7 @@ case 67:
}
break;
case 68:
-#line 816 "parse.yacc"
+#line 840 "parse.yacc"
{
setenv_ok = TRUE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1946,7 +1901,7 @@ case 68:
}
break;
case 69:
-#line 822 "parse.yacc"
+#line 846 "parse.yacc"
{
setenv_ok = FALSE;
if (printmatches == TRUE && host_matches == TRUE &&
@@ -1955,7 +1910,7 @@ case 69:
}
break;
case 70:
-#line 830 "parse.yacc"
+#line 854 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE)
@@ -1976,7 +1931,7 @@ case 70:
}
break;
case 71:
-#line 848 "parse.yacc"
+#line 872 "parse.yacc"
{
aliasinfo *aip;
@@ -2008,7 +1963,7 @@ case 71:
}
break;
case 72:
-#line 877 "parse.yacc"
+#line 901 "parse.yacc"
{
if (printmatches == TRUE) {
if (in_alias == TRUE) {
@@ -2035,11 +1990,11 @@ case 72:
}
break;
case 75:
-#line 907 "parse.yacc"
+#line 931 "parse.yacc"
{ push; }
break;
case 76:
-#line 907 "parse.yacc"
+#line 931 "parse.yacc"
{
if ((MATCHED(host_matches) || pedantic) &&
!add_alias(yyvsp[-3].string, HOST_ALIAS, host_matches)) {
@@ -2050,7 +2005,7 @@ case 76:
}
break;
case 81:
-#line 925 "parse.yacc"
+#line 949 "parse.yacc"
{
push;
if (printmatches == TRUE) {
@@ -2063,7 +2018,7 @@ case 81:
}
break;
case 82:
-#line 934 "parse.yacc"
+#line 958 "parse.yacc"
{
if ((MATCHED(cmnd_matches) || pedantic) &&
!add_alias(yyvsp[-3].string, CMND_ALIAS, cmnd_matches)) {
@@ -2078,11 +2033,11 @@ case 82:
}
break;
case 83:
-#line 948 "parse.yacc"
+#line 972 "parse.yacc"
{ ; }
break;
case 87:
-#line 956 "parse.yacc"
+#line 980 "parse.yacc"
{
if (printmatches == TRUE) {
in_alias = TRUE;
@@ -2094,7 +2049,7 @@ case 87:
}
break;
case 88:
-#line 964 "parse.yacc"
+#line 988 "parse.yacc"
{
if ((yyvsp[0].BOOLEAN != NOMATCH || pedantic) &&
!add_alias(yyvsp[-3].string, RUNAS_ALIAS, yyvsp[0].BOOLEAN)) {
@@ -2108,11 +2063,11 @@ case 88:
}
break;
case 91:
-#line 981 "parse.yacc"
+#line 1005 "parse.yacc"
{ push; }
break;
case 92:
-#line 981 "parse.yacc"
+#line 1005 "parse.yacc"
{
if ((MATCHED(user_matches) || pedantic) &&
!add_alias(yyvsp[-3].string, USER_ALIAS, user_matches)) {
@@ -2124,19 +2079,19 @@ case 92:
}
break;
case 95:
-#line 996 "parse.yacc"
+#line 1020 "parse.yacc"
{
SETMATCH(user_matches, yyvsp[0].BOOLEAN);
}
break;
case 96:
-#line 999 "parse.yacc"
+#line 1023 "parse.yacc"
{
SETNMATCH(user_matches, yyvsp[0].BOOLEAN);
}
break;
case 97:
-#line 1004 "parse.yacc"
+#line 1028 "parse.yacc"
{
if (userpw_matches(yyvsp[0].string, user_name, sudo_user.pw))
yyval.BOOLEAN = TRUE;
@@ -2146,7 +2101,7 @@ case 97:
}
break;
case 98:
-#line 1011 "parse.yacc"
+#line 1035 "parse.yacc"
{
if (usergr_matches(yyvsp[0].string, user_name, sudo_user.pw))
yyval.BOOLEAN = TRUE;
@@ -2156,7 +2111,7 @@ case 98:
}
break;
case 99:
-#line 1018 "parse.yacc"
+#line 1042 "parse.yacc"
{
if (netgr_matches(yyvsp[0].string, NULL, NULL, user_name))
yyval.BOOLEAN = TRUE;
@@ -2166,7 +2121,7 @@ case 99:
}
break;
case 100:
-#line 1025 "parse.yacc"
+#line 1049 "parse.yacc"
{
aliasinfo *aip = find_alias(yyvsp[0].string, USER_ALIAS);
@@ -2191,12 +2146,12 @@ case 100:
}
break;
case 101:
-#line 1047 "parse.yacc"
+#line 1071 "parse.yacc"
{
yyval.BOOLEAN = TRUE;
}
break;
-#line 2148 "sudo.tab.c"
+#line 2155 "sudo.tab.c"
}
yyssp -= yym;
yystate = *yyssp;
@@ -2246,24 +2201,13 @@ to state %d\n", YYPREFIX, *yyssp, yystat
*++yyssp = yystate;
*++yyvsp = yyval;
goto yyloop;
+
yyoverflow:
yyerror("yacc stack overflow");
+
yyabort:
- if (yyss)
- free(yyss);
- if (yyvs)
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
return (1);
+
yyaccept:
- if (yyss)
- free(yyss);
- if (yyvs)
- free(yyvs);
- yyss = yyssp = NULL;
- yyvs = yyvsp = NULL;
- yystacksize = 0;
return (0);
}
Index: sudo.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sudo/F-9/sudo.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- sudo.spec 22 May 2008 14:52:53 -0000 1.66
+++ sudo.spec 30 Oct 2008 13:09:18 -0000 1.67
@@ -1,7 +1,7 @@
Summary: Allows restricted root access for specified users
Name: sudo
Version: 1.6.9p13
-Release: 5%{?dist}.1
+Release: 6%{?dist}
License: BSD
Group: Applications/System
URL: http://www.courtesan.com/sudo/
@@ -27,6 +27,7 @@
Patch3: sudo-1.6.9p4-getgrouplist.patch
Patch4: sudo-1.6.9p12-noPam.patch
Patch5: sudo-1.6.9p13-audit.patch
+Patch6: sudo-1.6.9p13-selinuxfix.patch
%description
Sudo (superuser do) allows a system administrator to give certain
@@ -46,6 +47,7 @@
%patch3 -p1 -b .getgrouplist
%patch4 -p1 -b .noPam
%patch5 -p1 -b .audit
+%patch6 -p1 -b .selinuxfix
autoreconf
@@ -132,6 +134,9 @@
/bin/chmod 0440 /etc/sudoers || :
%changelog
+* Thu Oct 30 2008 Daniel Kopecek <dkopecek at redhat.com> 1.6.9p13-6
+- Fixed type/role parsing (#466292)
+
* Thu May 22 2008 Dennis Gilmore <dennis at ausil.us> 1.6.9p13-5.1
- minor rebuild for sparc
- Previous message: rpms/kernel/F-9 drm-fedora9-rollup.patch,1.3,1.4
- Next message: rpms/ifstat/F-10 ifstat-UTF8.patch, NONE, 1.1 ifstat-destdir.patch, NONE, 1.1 ifstat.spec, NONE, 1.1 import.log, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list