#include <rsbac/types.h>
Go to the source code of this file.
Functions | |
char * | pax_print_flags (char *string, rsbac_pax_flags_t flags) |
rsbac_pax_flags_t | pax_strtoflags (char *string, rsbac_pax_flags_t init_flags) |
|
Definition at line 21 of file pax_getname.c. References PF_PAX_EMUTRAMP, PF_PAX_MPROTECT, PF_PAX_PAGEEXEC, PF_PAX_RANDEXEC, PF_PAX_RANDMMAP, and PF_PAX_SEGMEXEC. Referenced by get_attribute_value_name(). 00022 { 00023 sprintf(string, "%c%c%c%c%c%c", 00024 flags & PF_PAX_PAGEEXEC ? 'P' : 'p', 00025 flags & PF_PAX_EMUTRAMP ? 'E' : 'e', 00026 flags & PF_PAX_MPROTECT ? 'M' : 'm', 00027 flags & PF_PAX_RANDMMAP ? 'R' : 'r', 00028 flags & PF_PAX_RANDEXEC ? 'X' : 'x', 00029 flags & PF_PAX_SEGMEXEC ? 'S' : 's'); 00030 return string; 00031 }
|
|
Definition at line 34 of file pax_getname.c. References PF_PAX_EMUTRAMP, PF_PAX_MPROTECT, PF_PAX_PAGEEXEC, PF_PAX_RANDEXEC, PF_PAX_RANDMMAP, PF_PAX_SEGMEXEC, and RSBAC_PAX_ALL_FLAGS. 00035 { 00036 char * p = string; 00037 rsbac_pax_flags_t add_flags = 0; 00038 rsbac_pax_flags_t remove_flags = 0; 00039 00040 if(!p) 00041 return init_flags; 00042 while(*p) 00043 { 00044 switch(*p) 00045 { 00046 case 'P': 00047 add_flags |= PF_PAX_PAGEEXEC; 00048 break; 00049 case 'p': 00050 remove_flags |= PF_PAX_PAGEEXEC; 00051 break; 00052 case 'E': 00053 add_flags |= PF_PAX_EMUTRAMP; 00054 break; 00055 case 'e': 00056 remove_flags |= PF_PAX_EMUTRAMP; 00057 break; 00058 case 'M': 00059 add_flags |= PF_PAX_MPROTECT; 00060 break; 00061 case 'm': 00062 remove_flags |= PF_PAX_MPROTECT; 00063 break; 00064 case 'R': 00065 add_flags |= PF_PAX_RANDMMAP; 00066 break; 00067 case 'r': 00068 remove_flags |= PF_PAX_RANDMMAP; 00069 break; 00070 case 'X': 00071 add_flags |= PF_PAX_RANDEXEC; 00072 break; 00073 case 'x': 00074 remove_flags |= PF_PAX_RANDEXEC; 00075 break; 00076 case 'S': 00077 add_flags |= PF_PAX_SEGMEXEC; 00078 break; 00079 case 's': 00080 remove_flags |= PF_PAX_SEGMEXEC; 00081 break; 00082 case 'z': 00083 remove_flags = RSBAC_PAX_ALL_FLAGS; 00084 break; 00085 case 'a': 00086 add_flags = RSBAC_PAX_ALL_FLAGS; 00087 break; 00088 default: 00089 break; 00090 } 00091 p++; 00092 } 00093 return (init_flags | add_flags) & ~remove_flags; 00094 }
|