1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-18 00:23:50 +03:00

r3588: Fix bug in converting SIDs containing large unsigned integers from Python.

This commit is contained in:
Tim Potter
2004-11-07 00:41:43 +00:00
committed by Gerald (Jerry) Carter
parent 358f641063
commit a46aba4354
2 changed files with 15 additions and 3 deletions

View File

@@ -119,9 +119,9 @@ uint32 uint32_from_python(PyObject *obj, char *name)
}
if (PyLong_Check(obj))
return (uint32)PyLong_AsLong(obj);
else
return (uint32)PyInt_AsLong(obj);
return (uint32)PyLong_AsUnsignedLongMask(obj);
return (uint32)PyInt_AsLong(obj);
}
PyObject *uint32_to_python(uint32 obj)

View File

@@ -864,6 +864,18 @@ def test_LongInt(pipe):
result = dcerpc.samr_Connect(pipe, r)
# Test that we can parse a SID that contains a sub_auth that can't
# be held in a python int.
r = {}
r['connect_handle'] = result['connect_handle']
r['access_mask'] = 0x02000000
r['sid'] = {'sid_rev_num': 1, 'id_auth': [0, 0, 0, 0, 0, 5],
'num_auths': 4,
'sub_auths': [21, 737922324, 3002806791L, 1285293260]}
result = dcerpc.samr_OpenDomain(pipe, r)
def runtests(binding, domain, username, password):
print 'Testing SAMR pipe'