#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 20 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(). 00021 {
00022 sprintf(string, "%c%c%c%c%c%c",
00023 flags & PF_PAX_PAGEEXEC ? 'P' : 'p',
00024 flags & PF_PAX_EMUTRAMP ? 'E' : 'e',
00025 flags & PF_PAX_MPROTECT ? 'M' : 'm',
00026 flags & PF_PAX_RANDMMAP ? 'R' : 'r',
00027 flags & PF_PAX_RANDEXEC ? 'X' : 'x',
00028 flags & PF_PAX_SEGMEXEC ? 'S' : 's');
00029 return string;
00030 }
|
|
||||||||||||
|
Definition at line 33 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. 00034 {
00035 char * p = string;
00036 rsbac_pax_flags_t add_flags = 0;
00037 rsbac_pax_flags_t remove_flags = 0;
00038
00039 if(!p)
00040 return init_flags;
00041 while(*p)
00042 {
00043 switch(*p)
00044 {
00045 case 'P':
00046 add_flags |= PF_PAX_PAGEEXEC;
00047 break;
00048 case 'p':
00049 remove_flags |= PF_PAX_PAGEEXEC;
00050 break;
00051 case 'E':
00052 add_flags |= PF_PAX_EMUTRAMP;
00053 break;
00054 case 'e':
00055 remove_flags |= PF_PAX_EMUTRAMP;
00056 break;
00057 case 'M':
00058 add_flags |= PF_PAX_MPROTECT;
00059 break;
00060 case 'm':
00061 remove_flags |= PF_PAX_MPROTECT;
00062 break;
00063 case 'R':
00064 add_flags |= PF_PAX_RANDMMAP;
00065 break;
00066 case 'r':
00067 remove_flags |= PF_PAX_RANDMMAP;
00068 break;
00069 case 'X':
00070 add_flags |= PF_PAX_RANDEXEC;
00071 break;
00072 case 'x':
00073 remove_flags |= PF_PAX_RANDEXEC;
00074 break;
00075 case 'S':
00076 add_flags |= PF_PAX_SEGMEXEC;
00077 break;
00078 case 's':
00079 remove_flags |= PF_PAX_SEGMEXEC;
00080 break;
00081 case 'z':
00082 remove_flags = RSBAC_PAX_ALL_FLAGS;
00083 break;
00084 case 'a':
00085 add_flags = RSBAC_PAX_ALL_FLAGS;
00086 break;
00087 default:
00088 break;
00089 }
00090 p++;
00091 }
00092 return (init_flags | add_flags) & ~remove_flags;
00093 }
|
1.4.2