Skip to content

Commit 8890a5d

Browse files
Mapping Extract Functions
Mapping Extract fucntions Cleaning up c code Signed-off-by: Elijah Swift <elijah.swift@ibm.com>
1 parent 0227bf8 commit 8890a5d

File tree

2 files changed

+68
-10
lines changed

2 files changed

+68
-10
lines changed

pyracf/common/irrsmo00.c

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ typedef struct {
1313
char str[8];
1414
} VarStr_T;
1515

16+
static char* null_byte_fix(char* string) {
17+
for (int i = 1; i < rsp_len; i++){
18+
if (rsp[i] == 0) {
19+
if (rsp[i-1] == 0x6E) {
20+
break;
21+
}
22+
else {
23+
rsp[i] = 0x40;
24+
}
25+
}
26+
}
27+
}
28+
1629
static PyObject* call_irrsmo00(PyObject* self, PyObject* args, PyObject *kwargs) {
1730
const unsigned int xml_len;
1831
const unsigned int input_opts;
@@ -55,16 +68,7 @@ static PyObject* call_irrsmo00(PyObject* self, PyObject* args, PyObject *kwargs)
5568
rsp
5669
);
5770

58-
for (int i = 1; i < rsp_len; i++){
59-
if (rsp[i] == 0) {
60-
if (rsp[i-1] == 0x6E) {
61-
break;
62-
}
63-
else {
64-
rsp[i] = 0x40;
65-
}
66-
}
67-
}
71+
rsp = null_byte_fix(rsp);
6872
return Py_BuildValue("y", rsp);
6973
}
7074

pyracf/resource/resource_admin.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,60 @@ def __init__(
180180
"tme:roles": "racf:roles",
181181
},
182182
}
183+
self._extracted_key_value_pair_segment_traits_map = {
184+
"cdtinfo": {
185+
"case": "caseAllowed",
186+
"defaultrc": "defaultRacrouteReturnCode",
187+
"first": "validFirstCharacters",
188+
"generic": "generic",
189+
"genlist": "genlist",
190+
"grouping": "groupingClassName",
191+
"keyqual": "keyQualifiers",
192+
"macprocessing": "manditoryAccessControlProcessing",
193+
"maxlenx": "maxLength",
194+
"maxlength": "maxLengthEntityx",
195+
"member": "memberClassName",
196+
"operations": "operations",
197+
"other": "validOtherCharacters",
198+
"posit": "positNumber",
199+
"profilesallowed": "profilesAllowed",
200+
"raclist": "raclistAllowed",
201+
"signal": "sendEnfSignalOnProfileCreation",
202+
"seclabelrequired": "securityLabelRequired",
203+
"defaultuacc": "defaultUniversalAccess",
204+
},
205+
"cfdef": {
206+
"type": "customFieldDataType",
207+
"first": "validFirstCharacters",
208+
"help": "helpText",
209+
"listhead": "listHeadingText",
210+
"mixed": "mixedCaseAllowed",
211+
"minvalue": "minNumericValue",
212+
"mxlength": "maxFieldLength",
213+
"maxvalue": "maxNumericValue",
214+
"other": "validOtherCharacters",
215+
"cfvalrx": "validationRexxExec",
216+
},
217+
"kerb": {
218+
"checkaddrs": "validateAddresses",
219+
"deftktlife": "defaultTicketLife",
220+
"encrypt": "encryptionAlgorithms",
221+
"kerbname": "realmName",
222+
"maxtktlf": "maxTicketLife",
223+
"mintklife": "minTicketLife",
224+
},
225+
"session": {
226+
"convsec": "securityCheckingLevel",
227+
"interval": "sessionKeyInterval",
228+
"lock": "locked",
229+
"sesskey": "sessionKey",
230+
},
231+
"sigver": {
232+
"failload": "failProgramLoadCondition",
233+
"sigaudit": "logSignatureVerificationEvents",
234+
"sigrequired": "signatureRequired",
235+
},
236+
}
183237
super().__init__(
184238
"resource",
185239
debug=debug,

0 commit comments

Comments
 (0)