Esempio n. 1
0
 def __init__(self, data=''):
     self.set_netname(0)
     self.set_remark(0)
     self.set_path(0)
     self.set_passwd(0)
     if data:
         p_netname, self._type, p_remark, self._permissions, self._max_uses, \
                    self._current_uses, p_path, p_passwd = unpack('<LLLLLLLL', data[: 8 * 4])
         data = data[8 * 4:]
         if p_netname:
             self.set_netname(ndrutils.NDRString(data))
             dlen = self.get_netname().get_max_len() * 2
             pad = 0
             if dlen % 4:
                 pad = 4 - dlen % 4
             data = data[12 + dlen + pad:]
         if p_remark:
             self.set_remark(ndrutils.NDRString(data))
             dlen = self.get_remark().get_max_len() * 2
             pad = 0
             if dlen % 4:
                 pad = 4 - dlen % 4
             data = data[12 + dlen + pad:]
         if p_path:
             self.set_path(ndrutils.NDRString(data))
             dlen = self.get_path().get_max_len() * 2
             pad = 0
             if dlen % 4:
                 pad = 4 - dlen % 4
             data = data[12 + dlen + pad:]
         if p_passwd:
             self.set_passwd(ndrutils.NDRString(data))
             dlen = self.get_passwd().get_max_len() * 2
             pad = 0
             if dlen % 4:
                 pad = 4 - dlen % 4
             data = data[12 + dlen + pad:]
Esempio n. 2
0
 def set_server(self, name):
     ss = ndrutils.NDRString()
     ss.set_string(name)
     self.__sptr.set_pointer(ss)
     data = self.__sptr.rawData()
     self.get_bytes()[:-4] = array.array('B', data)