[DO-973] harfbuzz package (!10)
Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech> Reviewed-on: https://git.avroid.tech/Conan/conan_build/pulls/10
This commit is contained in:
507
recipes/libselinux/all/patches/0001-fix-fno-common-2.9.patch
Normal file
507
recipes/libselinux/all/patches/0001-fix-fno-common-2.9.patch
Normal file
@@ -0,0 +1,507 @@
|
||||
libsepol: fix CIL_KEY_* build errors with -fno-common
|
||||
|
||||
GCC 10 comes with -fno-common enabled by default - fix the CIL_KEY_*
|
||||
global variables to be defined only once in cil.c and declared in the
|
||||
header file correctly with the 'extern' keyword, so that other units
|
||||
including the file don't generate duplicate definitions.
|
||||
|
||||
see https://github.com/SELinuxProject/selinux/commit/a96e8c59ecac84096d870b42701a504791a8cc8c
|
||||
|
||||
--- a/cil/src/cil.c
|
||||
+++ b/cil/src/cil.c
|
||||
@@ -77,6 +77,167 @@ int cil_sym_sizes[CIL_SYM_ARRAY_NUM][CIL_SYM_NUM] = {
|
||||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||||
};
|
||||
|
||||
+char *CIL_KEY_CONS_T1;
|
||||
+char *CIL_KEY_CONS_T2;
|
||||
+char *CIL_KEY_CONS_T3;
|
||||
+char *CIL_KEY_CONS_R1;
|
||||
+char *CIL_KEY_CONS_R2;
|
||||
+char *CIL_KEY_CONS_R3;
|
||||
+char *CIL_KEY_CONS_U1;
|
||||
+char *CIL_KEY_CONS_U2;
|
||||
+char *CIL_KEY_CONS_U3;
|
||||
+char *CIL_KEY_CONS_L1;
|
||||
+char *CIL_KEY_CONS_L2;
|
||||
+char *CIL_KEY_CONS_H1;
|
||||
+char *CIL_KEY_CONS_H2;
|
||||
+char *CIL_KEY_AND;
|
||||
+char *CIL_KEY_OR;
|
||||
+char *CIL_KEY_NOT;
|
||||
+char *CIL_KEY_EQ;
|
||||
+char *CIL_KEY_NEQ;
|
||||
+char *CIL_KEY_CONS_DOM;
|
||||
+char *CIL_KEY_CONS_DOMBY;
|
||||
+char *CIL_KEY_CONS_INCOMP;
|
||||
+char *CIL_KEY_CONDTRUE;
|
||||
+char *CIL_KEY_CONDFALSE;
|
||||
+char *CIL_KEY_SELF;
|
||||
+char *CIL_KEY_OBJECT_R;
|
||||
+char *CIL_KEY_STAR;
|
||||
+char *CIL_KEY_TCP;
|
||||
+char *CIL_KEY_UDP;
|
||||
+char *CIL_KEY_DCCP;
|
||||
+char *CIL_KEY_SCTP;
|
||||
+char *CIL_KEY_AUDITALLOW;
|
||||
+char *CIL_KEY_TUNABLEIF;
|
||||
+char *CIL_KEY_ALLOW;
|
||||
+char *CIL_KEY_DONTAUDIT;
|
||||
+char *CIL_KEY_TYPETRANSITION;
|
||||
+char *CIL_KEY_TYPECHANGE;
|
||||
+char *CIL_KEY_CALL;
|
||||
+char *CIL_KEY_TUNABLE;
|
||||
+char *CIL_KEY_XOR;
|
||||
+char *CIL_KEY_ALL;
|
||||
+char *CIL_KEY_RANGE;
|
||||
+char *CIL_KEY_GLOB;
|
||||
+char *CIL_KEY_FILE;
|
||||
+char *CIL_KEY_DIR;
|
||||
+char *CIL_KEY_CHAR;
|
||||
+char *CIL_KEY_BLOCK;
|
||||
+char *CIL_KEY_SOCKET;
|
||||
+char *CIL_KEY_PIPE;
|
||||
+char *CIL_KEY_SYMLINK;
|
||||
+char *CIL_KEY_ANY;
|
||||
+char *CIL_KEY_XATTR;
|
||||
+char *CIL_KEY_TASK;
|
||||
+char *CIL_KEY_TRANS;
|
||||
+char *CIL_KEY_TYPE;
|
||||
+char *CIL_KEY_ROLE;
|
||||
+char *CIL_KEY_USER;
|
||||
+char *CIL_KEY_USERATTRIBUTE;
|
||||
+char *CIL_KEY_USERATTRIBUTESET;
|
||||
+char *CIL_KEY_SENSITIVITY;
|
||||
+char *CIL_KEY_CATEGORY;
|
||||
+char *CIL_KEY_CATSET;
|
||||
+char *CIL_KEY_LEVEL;
|
||||
+char *CIL_KEY_LEVELRANGE;
|
||||
+char *CIL_KEY_CLASS;
|
||||
+char *CIL_KEY_IPADDR;
|
||||
+char *CIL_KEY_MAP_CLASS;
|
||||
+char *CIL_KEY_CLASSPERMISSION;
|
||||
+char *CIL_KEY_BOOL;
|
||||
+char *CIL_KEY_STRING;
|
||||
+char *CIL_KEY_NAME;
|
||||
+char *CIL_KEY_SOURCE;
|
||||
+char *CIL_KEY_TARGET;
|
||||
+char *CIL_KEY_LOW;
|
||||
+char *CIL_KEY_HIGH;
|
||||
+char *CIL_KEY_LOW_HIGH;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_DENY;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_REJECT;
|
||||
+char *CIL_KEY_MACRO;
|
||||
+char *CIL_KEY_IN;
|
||||
+char *CIL_KEY_MLS;
|
||||
+char *CIL_KEY_DEFAULTRANGE;
|
||||
+char *CIL_KEY_BLOCKINHERIT;
|
||||
+char *CIL_KEY_BLOCKABSTRACT;
|
||||
+char *CIL_KEY_CLASSORDER;
|
||||
+char *CIL_KEY_CLASSMAPPING;
|
||||
+char *CIL_KEY_CLASSPERMISSIONSET;
|
||||
+char *CIL_KEY_COMMON;
|
||||
+char *CIL_KEY_CLASSCOMMON;
|
||||
+char *CIL_KEY_SID;
|
||||
+char *CIL_KEY_SIDCONTEXT;
|
||||
+char *CIL_KEY_SIDORDER;
|
||||
+char *CIL_KEY_USERLEVEL;
|
||||
+char *CIL_KEY_USERRANGE;
|
||||
+char *CIL_KEY_USERBOUNDS;
|
||||
+char *CIL_KEY_USERPREFIX;
|
||||
+char *CIL_KEY_SELINUXUSER;
|
||||
+char *CIL_KEY_SELINUXUSERDEFAULT;
|
||||
+char *CIL_KEY_TYPEATTRIBUTE;
|
||||
+char *CIL_KEY_TYPEATTRIBUTESET;
|
||||
+char *CIL_KEY_EXPANDTYPEATTRIBUTE;
|
||||
+char *CIL_KEY_TYPEALIAS;
|
||||
+char *CIL_KEY_TYPEALIASACTUAL;
|
||||
+char *CIL_KEY_TYPEBOUNDS;
|
||||
+char *CIL_KEY_TYPEPERMISSIVE;
|
||||
+char *CIL_KEY_RANGETRANSITION;
|
||||
+char *CIL_KEY_USERROLE;
|
||||
+char *CIL_KEY_ROLETYPE;
|
||||
+char *CIL_KEY_ROLETRANSITION;
|
||||
+char *CIL_KEY_ROLEALLOW;
|
||||
+char *CIL_KEY_ROLEATTRIBUTE;
|
||||
+char *CIL_KEY_ROLEATTRIBUTESET;
|
||||
+char *CIL_KEY_ROLEBOUNDS;
|
||||
+char *CIL_KEY_BOOLEANIF;
|
||||
+char *CIL_KEY_NEVERALLOW;
|
||||
+char *CIL_KEY_TYPEMEMBER;
|
||||
+char *CIL_KEY_SENSALIAS;
|
||||
+char *CIL_KEY_SENSALIASACTUAL;
|
||||
+char *CIL_KEY_CATALIAS;
|
||||
+char *CIL_KEY_CATALIASACTUAL;
|
||||
+char *CIL_KEY_CATORDER;
|
||||
+char *CIL_KEY_SENSITIVITYORDER;
|
||||
+char *CIL_KEY_SENSCAT;
|
||||
+char *CIL_KEY_CONSTRAIN;
|
||||
+char *CIL_KEY_MLSCONSTRAIN;
|
||||
+char *CIL_KEY_VALIDATETRANS;
|
||||
+char *CIL_KEY_MLSVALIDATETRANS;
|
||||
+char *CIL_KEY_CONTEXT;
|
||||
+char *CIL_KEY_FILECON;
|
||||
+char *CIL_KEY_IBPKEYCON;
|
||||
+char *CIL_KEY_IBENDPORTCON;
|
||||
+char *CIL_KEY_PORTCON;
|
||||
+char *CIL_KEY_NODECON;
|
||||
+char *CIL_KEY_GENFSCON;
|
||||
+char *CIL_KEY_NETIFCON;
|
||||
+char *CIL_KEY_PIRQCON;
|
||||
+char *CIL_KEY_IOMEMCON;
|
||||
+char *CIL_KEY_IOPORTCON;
|
||||
+char *CIL_KEY_PCIDEVICECON;
|
||||
+char *CIL_KEY_DEVICETREECON;
|
||||
+char *CIL_KEY_FSUSE;
|
||||
+char *CIL_KEY_POLICYCAP;
|
||||
+char *CIL_KEY_OPTIONAL;
|
||||
+char *CIL_KEY_DEFAULTUSER;
|
||||
+char *CIL_KEY_DEFAULTROLE;
|
||||
+char *CIL_KEY_DEFAULTTYPE;
|
||||
+char *CIL_KEY_ROOT;
|
||||
+char *CIL_KEY_NODE;
|
||||
+char *CIL_KEY_PERM;
|
||||
+char *CIL_KEY_ALLOWX;
|
||||
+char *CIL_KEY_AUDITALLOWX;
|
||||
+char *CIL_KEY_DONTAUDITX;
|
||||
+char *CIL_KEY_NEVERALLOWX;
|
||||
+char *CIL_KEY_PERMISSIONX;
|
||||
+char *CIL_KEY_IOCTL;
|
||||
+char *CIL_KEY_UNORDERED;
|
||||
+char *CIL_KEY_SRC_INFO;
|
||||
+char *CIL_KEY_SRC_CIL;
|
||||
+char *CIL_KEY_SRC_HLL;
|
||||
+
|
||||
static void cil_init_keys(void)
|
||||
{
|
||||
/* Initialize CIL Keys into strpool */
|
||||
--- a/cil/src/cil_internal.h
|
||||
+++ b/cil/src/cil_internal.h
|
||||
@@ -74,165 +74,325 @@ enum cil_pass {
|
||||
/*
|
||||
Keywords
|
||||
*/
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_L1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_L2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_H1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_H2;
|
||||
+extern
|
||||
char *CIL_KEY_AND;
|
||||
+extern
|
||||
char *CIL_KEY_OR;
|
||||
+extern
|
||||
char *CIL_KEY_NOT;
|
||||
+extern
|
||||
char *CIL_KEY_EQ;
|
||||
+extern
|
||||
char *CIL_KEY_NEQ;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_DOM;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_DOMBY;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_INCOMP;
|
||||
+extern
|
||||
char *CIL_KEY_CONDTRUE;
|
||||
+extern
|
||||
char *CIL_KEY_CONDFALSE;
|
||||
+extern
|
||||
char *CIL_KEY_SELF;
|
||||
+extern
|
||||
char *CIL_KEY_OBJECT_R;
|
||||
+extern
|
||||
char *CIL_KEY_STAR;
|
||||
+extern
|
||||
char *CIL_KEY_TCP;
|
||||
+extern
|
||||
char *CIL_KEY_UDP;
|
||||
+extern
|
||||
char *CIL_KEY_DCCP;
|
||||
+extern
|
||||
char *CIL_KEY_SCTP;
|
||||
+extern
|
||||
char *CIL_KEY_AUDITALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_TUNABLEIF;
|
||||
+extern
|
||||
char *CIL_KEY_ALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_DONTAUDIT;
|
||||
+extern
|
||||
char *CIL_KEY_TYPETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_TYPECHANGE;
|
||||
+extern
|
||||
char *CIL_KEY_CALL;
|
||||
+extern
|
||||
char *CIL_KEY_TUNABLE;
|
||||
+extern
|
||||
char *CIL_KEY_XOR;
|
||||
+extern
|
||||
char *CIL_KEY_ALL;
|
||||
+extern
|
||||
char *CIL_KEY_RANGE;
|
||||
+extern
|
||||
char *CIL_KEY_GLOB;
|
||||
+extern
|
||||
char *CIL_KEY_FILE;
|
||||
+extern
|
||||
char *CIL_KEY_DIR;
|
||||
+extern
|
||||
char *CIL_KEY_CHAR;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCK;
|
||||
+extern
|
||||
char *CIL_KEY_SOCKET;
|
||||
+extern
|
||||
char *CIL_KEY_PIPE;
|
||||
+extern
|
||||
char *CIL_KEY_SYMLINK;
|
||||
+extern
|
||||
char *CIL_KEY_ANY;
|
||||
+extern
|
||||
char *CIL_KEY_XATTR;
|
||||
+extern
|
||||
char *CIL_KEY_TASK;
|
||||
+extern
|
||||
char *CIL_KEY_TRANS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLE;
|
||||
+extern
|
||||
char *CIL_KEY_USER;
|
||||
+extern
|
||||
char *CIL_KEY_USERATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_USERATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_SENSITIVITY;
|
||||
+extern
|
||||
char *CIL_KEY_CATEGORY;
|
||||
+extern
|
||||
char *CIL_KEY_CATSET;
|
||||
+extern
|
||||
char *CIL_KEY_LEVEL;
|
||||
+extern
|
||||
char *CIL_KEY_LEVELRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_CLASS;
|
||||
+extern
|
||||
char *CIL_KEY_IPADDR;
|
||||
+extern
|
||||
char *CIL_KEY_MAP_CLASS;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSPERMISSION;
|
||||
+extern
|
||||
char *CIL_KEY_BOOL;
|
||||
+extern
|
||||
char *CIL_KEY_STRING;
|
||||
+extern
|
||||
char *CIL_KEY_NAME;
|
||||
+extern
|
||||
char *CIL_KEY_SOURCE;
|
||||
+extern
|
||||
char *CIL_KEY_TARGET;
|
||||
+extern
|
||||
char *CIL_KEY_LOW;
|
||||
+extern
|
||||
char *CIL_KEY_HIGH;
|
||||
+extern
|
||||
char *CIL_KEY_LOW_HIGH;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_DENY;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_REJECT;
|
||||
+extern
|
||||
char *CIL_KEY_MACRO;
|
||||
+extern
|
||||
char *CIL_KEY_IN;
|
||||
+extern
|
||||
char *CIL_KEY_MLS;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCKINHERIT;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCKABSTRACT;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSORDER;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSMAPPING;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSPERMISSIONSET;
|
||||
+extern
|
||||
char *CIL_KEY_COMMON;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSCOMMON;
|
||||
+extern
|
||||
char *CIL_KEY_SID;
|
||||
+extern
|
||||
char *CIL_KEY_SIDCONTEXT;
|
||||
+extern
|
||||
char *CIL_KEY_SIDORDER;
|
||||
+extern
|
||||
char *CIL_KEY_USERLEVEL;
|
||||
+extern
|
||||
char *CIL_KEY_USERRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_USERBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_USERPREFIX;
|
||||
+extern
|
||||
char *CIL_KEY_SELINUXUSER;
|
||||
+extern
|
||||
char *CIL_KEY_SELINUXUSERDEFAULT;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_EXPANDTYPEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEPERMISSIVE;
|
||||
+extern
|
||||
char *CIL_KEY_RANGETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_USERROLE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLETYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_BOOLEANIF;
|
||||
+extern
|
||||
char *CIL_KEY_NEVERALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEMEMBER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_SENSALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_CATALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_CATALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_CATORDER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSITIVITYORDER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSCAT;
|
||||
+extern
|
||||
char *CIL_KEY_CONSTRAIN;
|
||||
+extern
|
||||
char *CIL_KEY_MLSCONSTRAIN;
|
||||
+extern
|
||||
char *CIL_KEY_VALIDATETRANS;
|
||||
+extern
|
||||
char *CIL_KEY_MLSVALIDATETRANS;
|
||||
+extern
|
||||
char *CIL_KEY_CONTEXT;
|
||||
+extern
|
||||
char *CIL_KEY_FILECON;
|
||||
+extern
|
||||
char *CIL_KEY_IBPKEYCON;
|
||||
+extern
|
||||
char *CIL_KEY_IBENDPORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_PORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_NODECON;
|
||||
+extern
|
||||
char *CIL_KEY_GENFSCON;
|
||||
+extern
|
||||
char *CIL_KEY_NETIFCON;
|
||||
+extern
|
||||
char *CIL_KEY_PIRQCON;
|
||||
+extern
|
||||
char *CIL_KEY_IOMEMCON;
|
||||
+extern
|
||||
char *CIL_KEY_IOPORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_PCIDEVICECON;
|
||||
+extern
|
||||
char *CIL_KEY_DEVICETREECON;
|
||||
+extern
|
||||
char *CIL_KEY_FSUSE;
|
||||
+extern
|
||||
char *CIL_KEY_POLICYCAP;
|
||||
+extern
|
||||
char *CIL_KEY_OPTIONAL;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTUSER;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTROLE;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTTYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROOT;
|
||||
+extern
|
||||
char *CIL_KEY_NODE;
|
||||
+extern
|
||||
char *CIL_KEY_PERM;
|
||||
+extern
|
||||
char *CIL_KEY_ALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_AUDITALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_DONTAUDITX;
|
||||
+extern
|
||||
char *CIL_KEY_NEVERALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_PERMISSIONX;
|
||||
+extern
|
||||
char *CIL_KEY_IOCTL;
|
||||
+extern
|
||||
char *CIL_KEY_UNORDERED;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_INFO;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_CIL;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_HLL;
|
||||
|
||||
/*
|
||||
510
recipes/libselinux/all/patches/0001-fix-fno-common-3.0.patch
Normal file
510
recipes/libselinux/all/patches/0001-fix-fno-common-3.0.patch
Normal file
@@ -0,0 +1,510 @@
|
||||
libsepol: fix CIL_KEY_* build errors with -fno-common
|
||||
|
||||
GCC 10 comes with -fno-common enabled by default - fix the CIL_KEY_*
|
||||
global variables to be defined only once in cil.c and declared in the
|
||||
header file correctly with the 'extern' keyword, so that other units
|
||||
including the file don't generate duplicate definitions.
|
||||
|
||||
see https://github.com/SELinuxProject/selinux/commit/a96e8c59ecac84096d870b42701a504791a8cc8c
|
||||
|
||||
--- a/cil/src/cil.c
|
||||
+++ b/cil/src/cil.c
|
||||
@@ -77,6 +77,168 @@ int cil_sym_sizes[CIL_SYM_ARRAY_NUM][CIL_SYM_NUM] = {
|
||||
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||||
};
|
||||
|
||||
+char *CIL_KEY_CONS_T1;
|
||||
+char *CIL_KEY_CONS_T2;
|
||||
+char *CIL_KEY_CONS_T3;
|
||||
+char *CIL_KEY_CONS_R1;
|
||||
+char *CIL_KEY_CONS_R2;
|
||||
+char *CIL_KEY_CONS_R3;
|
||||
+char *CIL_KEY_CONS_U1;
|
||||
+char *CIL_KEY_CONS_U2;
|
||||
+char *CIL_KEY_CONS_U3;
|
||||
+char *CIL_KEY_CONS_L1;
|
||||
+char *CIL_KEY_CONS_L2;
|
||||
+char *CIL_KEY_CONS_H1;
|
||||
+char *CIL_KEY_CONS_H2;
|
||||
+char *CIL_KEY_AND;
|
||||
+char *CIL_KEY_OR;
|
||||
+char *CIL_KEY_NOT;
|
||||
+char *CIL_KEY_EQ;
|
||||
+char *CIL_KEY_NEQ;
|
||||
+char *CIL_KEY_CONS_DOM;
|
||||
+char *CIL_KEY_CONS_DOMBY;
|
||||
+char *CIL_KEY_CONS_INCOMP;
|
||||
+char *CIL_KEY_CONDTRUE;
|
||||
+char *CIL_KEY_CONDFALSE;
|
||||
+char *CIL_KEY_SELF;
|
||||
+char *CIL_KEY_OBJECT_R;
|
||||
+char *CIL_KEY_STAR;
|
||||
+char *CIL_KEY_TCP;
|
||||
+char *CIL_KEY_UDP;
|
||||
+char *CIL_KEY_DCCP;
|
||||
+char *CIL_KEY_SCTP;
|
||||
+char *CIL_KEY_AUDITALLOW;
|
||||
+char *CIL_KEY_TUNABLEIF;
|
||||
+char *CIL_KEY_ALLOW;
|
||||
+char *CIL_KEY_DONTAUDIT;
|
||||
+char *CIL_KEY_TYPETRANSITION;
|
||||
+char *CIL_KEY_TYPECHANGE;
|
||||
+char *CIL_KEY_CALL;
|
||||
+char *CIL_KEY_TUNABLE;
|
||||
+char *CIL_KEY_XOR;
|
||||
+char *CIL_KEY_ALL;
|
||||
+char *CIL_KEY_RANGE;
|
||||
+char *CIL_KEY_GLOB;
|
||||
+char *CIL_KEY_FILE;
|
||||
+char *CIL_KEY_DIR;
|
||||
+char *CIL_KEY_CHAR;
|
||||
+char *CIL_KEY_BLOCK;
|
||||
+char *CIL_KEY_SOCKET;
|
||||
+char *CIL_KEY_PIPE;
|
||||
+char *CIL_KEY_SYMLINK;
|
||||
+char *CIL_KEY_ANY;
|
||||
+char *CIL_KEY_XATTR;
|
||||
+char *CIL_KEY_TASK;
|
||||
+char *CIL_KEY_TRANS;
|
||||
+char *CIL_KEY_TYPE;
|
||||
+char *CIL_KEY_ROLE;
|
||||
+char *CIL_KEY_USER;
|
||||
+char *CIL_KEY_USERATTRIBUTE;
|
||||
+char *CIL_KEY_USERATTRIBUTESET;
|
||||
+char *CIL_KEY_SENSITIVITY;
|
||||
+char *CIL_KEY_CATEGORY;
|
||||
+char *CIL_KEY_CATSET;
|
||||
+char *CIL_KEY_LEVEL;
|
||||
+char *CIL_KEY_LEVELRANGE;
|
||||
+char *CIL_KEY_CLASS;
|
||||
+char *CIL_KEY_IPADDR;
|
||||
+char *CIL_KEY_MAP_CLASS;
|
||||
+char *CIL_KEY_CLASSPERMISSION;
|
||||
+char *CIL_KEY_BOOL;
|
||||
+char *CIL_KEY_STRING;
|
||||
+char *CIL_KEY_NAME;
|
||||
+char *CIL_KEY_SOURCE;
|
||||
+char *CIL_KEY_TARGET;
|
||||
+char *CIL_KEY_LOW;
|
||||
+char *CIL_KEY_HIGH;
|
||||
+char *CIL_KEY_LOW_HIGH;
|
||||
+char *CIL_KEY_GLBLUB;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_DENY;
|
||||
+char *CIL_KEY_HANDLEUNKNOWN_REJECT;
|
||||
+char *CIL_KEY_MACRO;
|
||||
+char *CIL_KEY_IN;
|
||||
+char *CIL_KEY_MLS;
|
||||
+char *CIL_KEY_DEFAULTRANGE;
|
||||
+char *CIL_KEY_BLOCKINHERIT;
|
||||
+char *CIL_KEY_BLOCKABSTRACT;
|
||||
+char *CIL_KEY_CLASSORDER;
|
||||
+char *CIL_KEY_CLASSMAPPING;
|
||||
+char *CIL_KEY_CLASSPERMISSIONSET;
|
||||
+char *CIL_KEY_COMMON;
|
||||
+char *CIL_KEY_CLASSCOMMON;
|
||||
+char *CIL_KEY_SID;
|
||||
+char *CIL_KEY_SIDCONTEXT;
|
||||
+char *CIL_KEY_SIDORDER;
|
||||
+char *CIL_KEY_USERLEVEL;
|
||||
+char *CIL_KEY_USERRANGE;
|
||||
+char *CIL_KEY_USERBOUNDS;
|
||||
+char *CIL_KEY_USERPREFIX;
|
||||
+char *CIL_KEY_SELINUXUSER;
|
||||
+char *CIL_KEY_SELINUXUSERDEFAULT;
|
||||
+char *CIL_KEY_TYPEATTRIBUTE;
|
||||
+char *CIL_KEY_TYPEATTRIBUTESET;
|
||||
+char *CIL_KEY_EXPANDTYPEATTRIBUTE;
|
||||
+char *CIL_KEY_TYPEALIAS;
|
||||
+char *CIL_KEY_TYPEALIASACTUAL;
|
||||
+char *CIL_KEY_TYPEBOUNDS;
|
||||
+char *CIL_KEY_TYPEPERMISSIVE;
|
||||
+char *CIL_KEY_RANGETRANSITION;
|
||||
+char *CIL_KEY_USERROLE;
|
||||
+char *CIL_KEY_ROLETYPE;
|
||||
+char *CIL_KEY_ROLETRANSITION;
|
||||
+char *CIL_KEY_ROLEALLOW;
|
||||
+char *CIL_KEY_ROLEATTRIBUTE;
|
||||
+char *CIL_KEY_ROLEATTRIBUTESET;
|
||||
+char *CIL_KEY_ROLEBOUNDS;
|
||||
+char *CIL_KEY_BOOLEANIF;
|
||||
+char *CIL_KEY_NEVERALLOW;
|
||||
+char *CIL_KEY_TYPEMEMBER;
|
||||
+char *CIL_KEY_SENSALIAS;
|
||||
+char *CIL_KEY_SENSALIASACTUAL;
|
||||
+char *CIL_KEY_CATALIAS;
|
||||
+char *CIL_KEY_CATALIASACTUAL;
|
||||
+char *CIL_KEY_CATORDER;
|
||||
+char *CIL_KEY_SENSITIVITYORDER;
|
||||
+char *CIL_KEY_SENSCAT;
|
||||
+char *CIL_KEY_CONSTRAIN;
|
||||
+char *CIL_KEY_MLSCONSTRAIN;
|
||||
+char *CIL_KEY_VALIDATETRANS;
|
||||
+char *CIL_KEY_MLSVALIDATETRANS;
|
||||
+char *CIL_KEY_CONTEXT;
|
||||
+char *CIL_KEY_FILECON;
|
||||
+char *CIL_KEY_IBPKEYCON;
|
||||
+char *CIL_KEY_IBENDPORTCON;
|
||||
+char *CIL_KEY_PORTCON;
|
||||
+char *CIL_KEY_NODECON;
|
||||
+char *CIL_KEY_GENFSCON;
|
||||
+char *CIL_KEY_NETIFCON;
|
||||
+char *CIL_KEY_PIRQCON;
|
||||
+char *CIL_KEY_IOMEMCON;
|
||||
+char *CIL_KEY_IOPORTCON;
|
||||
+char *CIL_KEY_PCIDEVICECON;
|
||||
+char *CIL_KEY_DEVICETREECON;
|
||||
+char *CIL_KEY_FSUSE;
|
||||
+char *CIL_KEY_POLICYCAP;
|
||||
+char *CIL_KEY_OPTIONAL;
|
||||
+char *CIL_KEY_DEFAULTUSER;
|
||||
+char *CIL_KEY_DEFAULTROLE;
|
||||
+char *CIL_KEY_DEFAULTTYPE;
|
||||
+char *CIL_KEY_ROOT;
|
||||
+char *CIL_KEY_NODE;
|
||||
+char *CIL_KEY_PERM;
|
||||
+char *CIL_KEY_ALLOWX;
|
||||
+char *CIL_KEY_AUDITALLOWX;
|
||||
+char *CIL_KEY_DONTAUDITX;
|
||||
+char *CIL_KEY_NEVERALLOWX;
|
||||
+char *CIL_KEY_PERMISSIONX;
|
||||
+char *CIL_KEY_IOCTL;
|
||||
+char *CIL_KEY_UNORDERED;
|
||||
+char *CIL_KEY_SRC_INFO;
|
||||
+char *CIL_KEY_SRC_CIL;
|
||||
+char *CIL_KEY_SRC_HLL;
|
||||
+
|
||||
static void cil_init_keys(void)
|
||||
{
|
||||
/* Initialize CIL Keys into strpool */
|
||||
--- a/cil/src/cil_internal.h
|
||||
+++ b/cil/src/cil_internal.h
|
||||
@@ -74,166 +74,327 @@ enum cil_pass {
|
||||
/*
|
||||
Keywords
|
||||
*/
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_T3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_R3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_U3;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_L1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_L2;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_H1;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_H2;
|
||||
+extern
|
||||
char *CIL_KEY_AND;
|
||||
+extern
|
||||
char *CIL_KEY_OR;
|
||||
+extern
|
||||
char *CIL_KEY_NOT;
|
||||
+extern
|
||||
char *CIL_KEY_EQ;
|
||||
+extern
|
||||
char *CIL_KEY_NEQ;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_DOM;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_DOMBY;
|
||||
+extern
|
||||
char *CIL_KEY_CONS_INCOMP;
|
||||
+extern
|
||||
char *CIL_KEY_CONDTRUE;
|
||||
+extern
|
||||
char *CIL_KEY_CONDFALSE;
|
||||
+extern
|
||||
char *CIL_KEY_SELF;
|
||||
+extern
|
||||
char *CIL_KEY_OBJECT_R;
|
||||
+extern
|
||||
char *CIL_KEY_STAR;
|
||||
+extern
|
||||
char *CIL_KEY_TCP;
|
||||
+extern
|
||||
char *CIL_KEY_UDP;
|
||||
+extern
|
||||
char *CIL_KEY_DCCP;
|
||||
+extern
|
||||
char *CIL_KEY_SCTP;
|
||||
+extern
|
||||
char *CIL_KEY_AUDITALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_TUNABLEIF;
|
||||
+extern
|
||||
char *CIL_KEY_ALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_DONTAUDIT;
|
||||
+extern
|
||||
char *CIL_KEY_TYPETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_TYPECHANGE;
|
||||
+extern
|
||||
char *CIL_KEY_CALL;
|
||||
+extern
|
||||
char *CIL_KEY_TUNABLE;
|
||||
+extern
|
||||
char *CIL_KEY_XOR;
|
||||
+extern
|
||||
char *CIL_KEY_ALL;
|
||||
+extern
|
||||
char *CIL_KEY_RANGE;
|
||||
+extern
|
||||
char *CIL_KEY_GLOB;
|
||||
+extern
|
||||
char *CIL_KEY_FILE;
|
||||
+extern
|
||||
char *CIL_KEY_DIR;
|
||||
+extern
|
||||
char *CIL_KEY_CHAR;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCK;
|
||||
+extern
|
||||
char *CIL_KEY_SOCKET;
|
||||
+extern
|
||||
char *CIL_KEY_PIPE;
|
||||
+extern
|
||||
char *CIL_KEY_SYMLINK;
|
||||
+extern
|
||||
char *CIL_KEY_ANY;
|
||||
+extern
|
||||
char *CIL_KEY_XATTR;
|
||||
+extern
|
||||
char *CIL_KEY_TASK;
|
||||
+extern
|
||||
char *CIL_KEY_TRANS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLE;
|
||||
+extern
|
||||
char *CIL_KEY_USER;
|
||||
+extern
|
||||
char *CIL_KEY_USERATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_USERATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_SENSITIVITY;
|
||||
+extern
|
||||
char *CIL_KEY_CATEGORY;
|
||||
+extern
|
||||
char *CIL_KEY_CATSET;
|
||||
+extern
|
||||
char *CIL_KEY_LEVEL;
|
||||
+extern
|
||||
char *CIL_KEY_LEVELRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_CLASS;
|
||||
+extern
|
||||
char *CIL_KEY_IPADDR;
|
||||
+extern
|
||||
char *CIL_KEY_MAP_CLASS;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSPERMISSION;
|
||||
+extern
|
||||
char *CIL_KEY_BOOL;
|
||||
+extern
|
||||
char *CIL_KEY_STRING;
|
||||
+extern
|
||||
char *CIL_KEY_NAME;
|
||||
+extern
|
||||
char *CIL_KEY_SOURCE;
|
||||
+extern
|
||||
char *CIL_KEY_TARGET;
|
||||
+extern
|
||||
char *CIL_KEY_LOW;
|
||||
+extern
|
||||
char *CIL_KEY_HIGH;
|
||||
+extern
|
||||
char *CIL_KEY_LOW_HIGH;
|
||||
+extern
|
||||
char *CIL_KEY_GLBLUB;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_ALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_DENY;
|
||||
+extern
|
||||
char *CIL_KEY_HANDLEUNKNOWN_REJECT;
|
||||
+extern
|
||||
char *CIL_KEY_MACRO;
|
||||
+extern
|
||||
char *CIL_KEY_IN;
|
||||
+extern
|
||||
char *CIL_KEY_MLS;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCKINHERIT;
|
||||
+extern
|
||||
char *CIL_KEY_BLOCKABSTRACT;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSORDER;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSMAPPING;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSPERMISSIONSET;
|
||||
+extern
|
||||
char *CIL_KEY_COMMON;
|
||||
+extern
|
||||
char *CIL_KEY_CLASSCOMMON;
|
||||
+extern
|
||||
char *CIL_KEY_SID;
|
||||
+extern
|
||||
char *CIL_KEY_SIDCONTEXT;
|
||||
+extern
|
||||
char *CIL_KEY_SIDORDER;
|
||||
+extern
|
||||
char *CIL_KEY_USERLEVEL;
|
||||
+extern
|
||||
char *CIL_KEY_USERRANGE;
|
||||
+extern
|
||||
char *CIL_KEY_USERBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_USERPREFIX;
|
||||
+extern
|
||||
char *CIL_KEY_SELINUXUSER;
|
||||
+extern
|
||||
char *CIL_KEY_SELINUXUSERDEFAULT;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_EXPANDTYPEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEPERMISSIVE;
|
||||
+extern
|
||||
char *CIL_KEY_RANGETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_USERROLE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLETYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLETRANSITION;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEATTRIBUTE;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEATTRIBUTESET;
|
||||
+extern
|
||||
char *CIL_KEY_ROLEBOUNDS;
|
||||
+extern
|
||||
char *CIL_KEY_BOOLEANIF;
|
||||
+extern
|
||||
char *CIL_KEY_NEVERALLOW;
|
||||
+extern
|
||||
char *CIL_KEY_TYPEMEMBER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_SENSALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_CATALIAS;
|
||||
+extern
|
||||
char *CIL_KEY_CATALIASACTUAL;
|
||||
+extern
|
||||
char *CIL_KEY_CATORDER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSITIVITYORDER;
|
||||
+extern
|
||||
char *CIL_KEY_SENSCAT;
|
||||
+extern
|
||||
char *CIL_KEY_CONSTRAIN;
|
||||
+extern
|
||||
char *CIL_KEY_MLSCONSTRAIN;
|
||||
+extern
|
||||
char *CIL_KEY_VALIDATETRANS;
|
||||
+extern
|
||||
char *CIL_KEY_MLSVALIDATETRANS;
|
||||
+extern
|
||||
char *CIL_KEY_CONTEXT;
|
||||
+extern
|
||||
char *CIL_KEY_FILECON;
|
||||
+extern
|
||||
char *CIL_KEY_IBPKEYCON;
|
||||
+extern
|
||||
char *CIL_KEY_IBENDPORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_PORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_NODECON;
|
||||
+extern
|
||||
char *CIL_KEY_GENFSCON;
|
||||
+extern
|
||||
char *CIL_KEY_NETIFCON;
|
||||
+extern
|
||||
char *CIL_KEY_PIRQCON;
|
||||
+extern
|
||||
char *CIL_KEY_IOMEMCON;
|
||||
+extern
|
||||
char *CIL_KEY_IOPORTCON;
|
||||
+extern
|
||||
char *CIL_KEY_PCIDEVICECON;
|
||||
+extern
|
||||
char *CIL_KEY_DEVICETREECON;
|
||||
+extern
|
||||
char *CIL_KEY_FSUSE;
|
||||
+extern
|
||||
char *CIL_KEY_POLICYCAP;
|
||||
+extern
|
||||
char *CIL_KEY_OPTIONAL;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTUSER;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTROLE;
|
||||
+extern
|
||||
char *CIL_KEY_DEFAULTTYPE;
|
||||
+extern
|
||||
char *CIL_KEY_ROOT;
|
||||
+extern
|
||||
char *CIL_KEY_NODE;
|
||||
+extern
|
||||
char *CIL_KEY_PERM;
|
||||
+extern
|
||||
char *CIL_KEY_ALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_AUDITALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_DONTAUDITX;
|
||||
+extern
|
||||
char *CIL_KEY_NEVERALLOWX;
|
||||
+extern
|
||||
char *CIL_KEY_PERMISSIONX;
|
||||
+extern
|
||||
char *CIL_KEY_IOCTL;
|
||||
+extern
|
||||
char *CIL_KEY_UNORDERED;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_INFO;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_CIL;
|
||||
+extern
|
||||
char *CIL_KEY_SRC_HLL;
|
||||
|
||||
/*
|
||||
@@ -0,0 +1,45 @@
|
||||
libsepol: remove leftovers of cil_mem_error_handler
|
||||
|
||||
Commit 4459d63 ("libsepol: Remove cil_mem_error_handler() function
|
||||
pointer") replaced cil_mem_error_handler usage with inline contents of
|
||||
the default handler. However, it left over the header declaration and
|
||||
two callers. Convert these as well and remove the header declaration.
|
||||
|
||||
This also fixes a build failure with -fno-common.
|
||||
|
||||
see https://github.com/SELinuxProject/selinux/commit/3d32fc24d6aff360a538c63dad08ca5c957551b0
|
||||
|
||||
--- a/cil/src/cil_mem.h
|
||||
+++ b/cil/src/cil_mem.h
|
||||
@@ -36,7 +36,6 @@ void *cil_calloc(size_t num_elements, size_t element_size);
|
||||
void *cil_realloc(void *ptr, size_t size);
|
||||
char *cil_strdup(const char *str);
|
||||
int cil_asprintf(char **strp, const char *fmt, ...);
|
||||
-void (*cil_mem_error_handler)(void);
|
||||
|
||||
#endif /* CIL_MEM_H_ */
|
||||
|
||||
--- a/cil/src/cil_strpool.c
|
||||
+++ b/cil/src/cil_strpool.c
|
||||
@@ -80,8 +80,8 @@ char *cil_strpool_add(const char *str)
|
||||
int rc = hashtab_insert(cil_strpool_tab, (hashtab_key_t)strpool_ref->str, strpool_ref);
|
||||
if (rc != SEPOL_OK) {
|
||||
pthread_mutex_unlock(&cil_strpool_mutex);
|
||||
- (*cil_mem_error_handler)();
|
||||
- pthread_mutex_lock(&cil_strpool_mutex);
|
||||
+ cil_log(CIL_ERR, "Failed to allocate memory\n");
|
||||
+ exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -104,8 +104,8 @@ void cil_strpool_init(void)
|
||||
cil_strpool_tab = hashtab_create(cil_strpool_hash, cil_strpool_compare, CIL_STRPOOL_TABLE_SIZE);
|
||||
if (cil_strpool_tab == NULL) {
|
||||
pthread_mutex_unlock(&cil_strpool_mutex);
|
||||
- (*cil_mem_error_handler)();
|
||||
- return;
|
||||
+ cil_log(CIL_ERR, "Failed to allocate memory\n");
|
||||
+ exit(1);
|
||||
}
|
||||
}
|
||||
cil_strpool_readers++;
|
||||
11
recipes/libselinux/all/patches/0003-fix-link-pcre.patch
Normal file
11
recipes/libselinux/all/patches/0003-fix-link-pcre.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/utils/Makefile
|
||||
+++ b/utils/Makefile
|
||||
@@ -43,7 +43,7 @@ endif
|
||||
|
||||
override CFLAGS += -I../include -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
|
||||
override LDFLAGS += -L../src
|
||||
-override LDLIBS += -lselinux $(FTS_LDLIBS)
|
||||
+override LDLIBS += -lselinux $(FTS_LDLIBS) $(PCRE_LDLIBS)
|
||||
PCRE_LDLIBS ?= -lpcre
|
||||
|
||||
ifeq ($(ANDROID_HOST),y)
|
||||
@@ -0,0 +1,10 @@
|
||||
--- src/selinux_internal.c
|
||||
+++ src/selinux_internal.c
|
||||
@@ -1,6 +5,7 @@
|
||||
#include "selinux_internal.h"
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <stdint.h>
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From a520f972bce9ec267f4e76b729bc3b7c1bdf13e6 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Mon, 8 Jan 2024 22:03:14 +0100
|
||||
Subject: [PATCH 1/3] libsepol/src/Makefile: fix reallocarray detection
|
||||
|
||||
Pass LDFLAGS when checking for reallocarray to avoid the following
|
||||
static build failure with musl raised since version 3.4 and
|
||||
https://github.com/SELinuxProject/selinux/commit/f0a5f6e33084bd83d409bb7c932256139f471e71
|
||||
because -static is not passed when checking for reallocarray:
|
||||
|
||||
/home/autobuild/autobuild/instance-9/output-1/host/bin/armeb-buildroot-linux-musleabi-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O0 -g0 -static -I. -I../include -D_GNU_SOURCE -I../cil/include -fPIC -c -o assertion.o assertion.c
|
||||
In file included from assertion.c:28:
|
||||
private.h:88:21: error: static declaration of 'reallocarray' follows non-static declaration
|
||||
88 | static inline void* reallocarray(void *ptr, size_t nmemb, size_t size) {
|
||||
| ^~~~~~~~~~~~
|
||||
In file included from ../include/sepol/policydb/mls_types.h:35,
|
||||
from ../include/sepol/policydb/context.h:23,
|
||||
from ../include/sepol/policydb/policydb.h:62,
|
||||
from assertion.c:24:
|
||||
/home/autobuild/autobuild/instance-9/output-1/host/armeb-buildroot-linux-musleabi/sysroot/usr/include/stdlib.h:150:7: note: previous declaration of 'reallocarray' with type 'void *(void *, size_t, size_t)' {aka 'void *(void *, unsigned int, unsigned int)'}
|
||||
150 | void *reallocarray (void *, size_t, size_t);
|
||||
| ^~~~~~~~~~~~
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.org/results/0170032548a38e2c991d62dc5823808458ad03b3
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Acked-by: James Carter <jwcart2@gmail.com>
|
||||
---
|
||||
src/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/Makefile b/src/Makefile
|
||||
index d80a941f..16b9bd5e 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -31,7 +31,7 @@ endif
|
||||
|
||||
# check for reallocarray(3) availability
|
||||
H := \#
|
||||
-ifeq (yes,$(shell printf '${H}define _GNU_SOURCE\n${H}include <stdlib.h>\nint main(void){void*p=reallocarray(NULL, 1, sizeof(char));return 0;}' | $(CC) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
+ifeq (yes,$(shell printf '${H}define _GNU_SOURCE\n${H}include <stdlib.h>\nint main(void){void*p=reallocarray(NULL, 1, sizeof(char));return 0;}' | $(CC) $(LDFLAGS) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
override CFLAGS += -DHAVE_REALLOCARRAY
|
||||
endif
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
[PATCH] libselinux, libsepol: Add CFLAGS and LDFLAGS to Makefile checks
|
||||
@ 2024-03-13 22:48 James Carter
|
||||
0 siblings, 0 replies; only message in thread
|
||||
From: James Carter @ 2024-03-13 22:48 UTC (permalink / raw)
|
||||
To: selinux; +Cc: jordan, winfried_mb2, James Carter
|
||||
|
||||
In libselinux there is an availability check for strlcpy() and
|
||||
in both libselinux and libsepol there are availability checks for
|
||||
reallocarray() in the src Makfiles. CFLAGS and LDFLAGS are needed
|
||||
for cross-compiling, but, unfortunately, the default CFLAGS cause
|
||||
all of these availability checks to fail to compile because of
|
||||
compilationerrors (rather than just the function not being available).
|
||||
|
||||
Add CFLAGS and LDFLAGS to the availibility checks, update the checks
|
||||
so that a compilation error will only happen if the function being
|
||||
checked for is not available, and make checks for the same function
|
||||
the same in both libselinux and libsepol.
|
||||
|
||||
Suggested-by: Jordan Williams <jordan@jwillikers.com>
|
||||
Suggested-by: Winfried Dobbe <winfried_mb2@xmsnet.nl>
|
||||
Signed-off-by: James Carter <jwcart2@gmail.com>
|
||||
---
|
||||
libselinux/src/Makefile | 4 ++--
|
||||
libsepol/src/Makefile | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libselinux-3.6/src/Makefile b/libselinux-3.6/src/Makefile
|
||||
index d3b981fc..41cfbdca 100644
|
||||
--- a/libselinux-3.6/src/Makefile
|
||||
+++ b/libselinux-3.6/src/Makefile
|
||||
@@ -104,13 +104,13 @@ override CFLAGS += -I../include -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS)
|
||||
|
||||
# check for strlcpy(3) availability
|
||||
H := \#
|
||||
-ifeq (yes,$(shell printf '${H}include <string.h>\nint main(void){char*d,*s;strlcpy(d, s, 0);return 0;}' | $(CC) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
+ifeq (yes,$(shell printf '${H}include <string.h>\nint main(void){char d[2];const char *s="a";return (size_t)strlcpy(d,s,sizeof(d))>=sizeof(d);}' | $(CC) $(CFLAGS) $(LDFLAGS) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
override CFLAGS += -DHAVE_STRLCPY
|
||||
endif
|
||||
|
||||
# check for reallocarray(3) availability
|
||||
H := \#
|
||||
-ifeq (yes,$(shell printf '${H}include <stdlib.h>\nint main(void){reallocarray(NULL, 0, 0);return 0;}' | $(CC) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
+ifeq (yes,$(shell printf '${H}include <stdlib.h>\nint main(void){return reallocarray(NULL,0,0)==NULL;}' | $(CC) $(CFLAGS) $(LDFLAGS) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
override CFLAGS += -DHAVE_REALLOCARRAY
|
||||
endif
|
||||
|
||||
diff --git a/libsepol-3.6/src/Makefile b/libsepol-3.6/src/Makefile
|
||||
index 16b9bd5e..7b0e8446 100644
|
||||
--- a/libsepol-3.6/src/Makefile
|
||||
+++ b/libsepol-3.6/src/Makefile
|
||||
@@ -31,7 +31,7 @@ endif
|
||||
|
||||
# check for reallocarray(3) availability
|
||||
H := \#
|
||||
-ifeq (yes,$(shell printf '${H}define _GNU_SOURCE\n${H}include <stdlib.h>\nint main(void){void*p=reallocarray(NULL, 1, sizeof(char));return 0;}' | $(CC) $(LDFLAGS) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
+ifeq (yes,$(shell printf '${H}include <stdlib.h>\nint main(void){return reallocarray(NULL,0,0)==NULL;}' | $(CC) $(CFLAGS) $(LDFLAGS) -x c -o /dev/null - >/dev/null 2>&1 && echo yes))
|
||||
override CFLAGS += -DHAVE_REALLOCARRAY
|
||||
endif
|
||||
|
||||
--
|
||||
2.44.0
|
||||
Reference in New Issue
Block a user