MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / from_bytes

Method from_bytes

pager_lib/smb/security_descriptors.py:300–315  ·  view source on GitHub ↗
(cls, data)

Source from the content-addressed store, hash-verified

298
299 @classmethod
300 def from_bytes(cls, data):
301 revision = None
302 aces = []
303
304 header_size = struct.calcsize(cls.HEADER_FORMAT)
305 header, remaining = data[:header_size], data[header_size:]
306 revision, sbz1, size, count, sbz2 = struct.unpack(cls.HEADER_FORMAT, header)
307
308 assert len(data) >= size
309
310 for i in range(count):
311 ace_size = struct.unpack('<H', remaining[2:4])[0]
312 ace_data, remaining = remaining[:ace_size], remaining[ace_size:]
313 aces.append(ACE.from_bytes(ace_data))
314
315 return cls(revision, aces)
316
317
318class SecurityDescriptor(object):

Callers

nothing calls this directly

Calls 3

rangeFunction · 0.85
appendMethod · 0.80
from_bytesMethod · 0.45

Tested by

no test coverage detected