#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 }
|
1.4.2