mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
r2828: Fix for bugzilla #1864 from Brett again.
Add sd->type field to security descriptor Python representation.
This commit is contained in:
parent
a48b3b291c
commit
b157a1b7c3
@ -182,6 +182,10 @@ BOOL py_from_SECDESC(PyObject **dict, SEC_DESC *sd)
|
||||
PyDict_SetItemString(*dict, "revision", obj);
|
||||
Py_DECREF(obj);
|
||||
|
||||
obj = PyInt_FromLong(sd->type);
|
||||
PyDict_SetItemString(*dict, "type", obj);
|
||||
Py_DECREF(obj);
|
||||
|
||||
if (py_from_SID(&obj, sd->owner_sid)) {
|
||||
PyDict_SetItemString(*dict, "owner_sid", obj);
|
||||
Py_DECREF(obj);
|
||||
@ -209,6 +213,7 @@ BOOL py_to_SECDESC(SEC_DESC **sd, PyObject *dict, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
PyObject *obj;
|
||||
uint16 revision;
|
||||
uint16 type = SEC_DESC_SELF_RELATIVE;
|
||||
DOM_SID owner_sid, group_sid;
|
||||
SEC_ACL sacl, dacl;
|
||||
BOOL got_dacl = False, got_sacl = False;
|
||||
@ -222,6 +227,12 @@ BOOL py_to_SECDESC(SEC_DESC **sd, PyObject *dict, TALLOC_CTX *mem_ctx)
|
||||
|
||||
revision = PyInt_AsLong(obj);
|
||||
|
||||
if ((obj = PyDict_GetItemString(dict, "type"))) {
|
||||
if (obj != Py_None) {
|
||||
type = PyInt_AsLong(obj);
|
||||
}
|
||||
}
|
||||
|
||||
if ((obj = PyDict_GetItemString(dict, "owner_sid"))) {
|
||||
|
||||
if (obj != Py_None) {
|
||||
@ -276,7 +287,7 @@ BOOL py_to_SECDESC(SEC_DESC **sd, PyObject *dict, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
size_t sd_size;
|
||||
|
||||
*sd = make_sec_desc(mem_ctx, revision, SEC_DESC_SELF_RELATIVE,
|
||||
*sd = make_sec_desc(mem_ctx, revision, type,
|
||||
got_owner_sid ? &owner_sid : NULL,
|
||||
got_group_sid ? &group_sid : NULL,
|
||||
got_sacl ? &sacl : NULL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user