Exemple #1
0
 def __setitem__(self, key, value):
     if key == 'Data':
         self.fields[key] = value
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #2
0
 def __setitem__(self, key, value):
     if key == 'Data':
         self.fields[key] = value
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #3
0
 def __getitem__(self, key):
     if key == 'Data':
         try:
             return self.fields[key].decode('utf-8')
         except UnicodeDecodeError:
             # if we could't decode it, we assume it is a raw buffer
             return self.fields[key]
     else:
         return NDR.__getitem__(self, key)
 def __getitem__(self, key):
     if key == 'Data':
         try:
             return ''.join([six.unichr(i) for i in self.fields[key]])
         except ValueError as e:
             LOG.debug("ValueError Exception", exc_info=True)
             LOG.error(str(e))
     else:
         return NDR.__getitem__(self,key)
Exemple #5
0
    def __setitem__(self, key, value):
        if key == 'Data':
            try:
                self.fields[key] = value.encode('utf-16le')
            except UnicodeDecodeError:
                import sys
                self.fields[key] = value.decode(sys.getfilesystemencoding()).encode('utf-16le')

            self.data = None        # force recompute
        else:
            return NDR.__setitem__(self, key, value)
Exemple #6
0
    def __setitem__(self, key, value):
        if key == 'Data':
            try:
                self.fields[key] = value.encode('utf-16le')
            except UnicodeDecodeError:
                import sys
                self.fields[key] = value.decode(sys.getfilesystemencoding()).encode('utf-16le')

            self.data = None        # force recompute
        else:
            return NDR.__setitem__(self, key, value)
Exemple #7
0
 def __setitem__(self, key, value):
     if key == 'Data':
         try:
             self.fields[key] = value.encode('utf-16le')
         except UnicodeDecodeError:
             import sys
             self.fields[key] = value.decode(sys.stdin.encoding).encode('utf-16le')
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #8
0
    def __getitem__(self, key):
        if key == 'Data':
            try:
                return ''.join([chr(i) for i in self.fields[key]])
            except ValueError:
                # We might have Unicode chars in here, let's use unichr instead
                LOG.debug('ValueError exception on %s' % self.fields[key])
                LOG.debug('Switching to unichr()')
                return ''.join([unichr(i) for i in self.fields[key]])

        else:
            return NDR.__getitem__(self,key)
Exemple #9
0
    def __getitem__(self, key):
        if key == 'Data':
            try:
                return ''.join([chr(i) for i in self.fields[key]])
            except ValueError:
                # We might have Unicode chars in here, let's use unichr instead
                LOG.debug('ValueError exception on %s' % self.fields[key])
                LOG.debug('Switching to unichr()')
                return ''.join([unichr(i) for i in self.fields[key]])

        else:
            return NDR.__getitem__(self,key)
Exemple #10
0
 def __setitem__(self, key, value):
     #input('WSTR setitem! key: %s value: %s' % (key, value))
     if key == 'Data':
         try:
             self.fields[key] = value.encode('utf-16le')
         except UnicodeDecodeError:
             import sys
             self.fields[key] = value.decode(sys.getfilesystemencoding()).encode('utf-16le')
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #11
0
    def __setitem__(self, key, value):
        if key == "Data":
            try:
                self.fields[key] = value.encode("utf-16le")
            except UnicodeDecodeError:
                import sys

                self.fields[key] = value.decode(sys.getfilesystemencoding()).encode("utf-16le")
            self.fields["MaximumCount"] = None
            self.fields["ActualCount"] = None
            self.data = None  # force recompute
        else:
            return NDR.__setitem__(self, key, value)
Exemple #12
0
 def __setitem__(self, key, value):
     if key == 'Data':
         try:
             if not isinstance(value, binary_type):
                 self.fields[key] = value.encode('utf-8')
             else:
                 # if it is a binary type (str in Python 2, bytes in Python 3), then we assume it is a raw buffer
                 self.fields[key] = value
         except UnicodeDecodeError:
             import sys
             self.fields[key] = value.decode(sys.getfilesystemencoding()).encode('utf-8')
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
 def __setitem__(self, key, value):
     if key == 'Data':
         try:
             if not isinstance(value, bytes):
                 self.fields[key] = value.encode('utf-8')
             else:
                 self.fields[key] = value
         except UnicodeDecodeError:
             import sys
             self.fields[key] = value.decode(
                 sys.getfilesystemencoding()).encode('utf-8')
         self.fields['MaximumCount'] = None
         self.fields['ActualCount'] = None
         self.data = None  # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #14
0
 def __getitem__(self, key):
     if key == 'Data':
         return self.fields[key].decode('utf-16le')
     else:
         return NDR.__getitem__(self, key)
Exemple #15
0
 def __getitem__(self, key):
     if key == "Data":
         return self.fields[key].decode("utf-16le")
     else:
         return NDR.__getitem__(self, key)
Exemple #16
0
 def getData(self, soFar = 0):
     if self['pTriggers'] != 0:
         self['cTriggers'] = len(self['pTriggers'])
     return NDR.getData(self, soFar)
Exemple #17
0
 def getData(self, soFar = 0):
     if self['pDataItems'] != 0:
         self['cDataItems'] = len(self['pDataItems'])
     return NDR.getData(self, soFar)
Exemple #18
0
 def getData(self, soFar = 0):
     self['cbRequiredPrivileges'] = len(self['pRequiredPrivileges'])
     return NDR.getData(self, soFar = 0)
Exemple #19
0
 def __init__(self, data = None, isNDR64 = False):
     NDR.__init__(self,None,isNDR64)
     self.fields['Data'].item = SC_ACTION
     if data is not None:
         self.fromString(data)
Exemple #20
0
 def __init__(self, data=None, isNDR64=False):
     NDR.__init__(self, None, isNDR64)
     self.fields["Data"].item = LPWSTR
     if data is not None:
         self.fromString(data)
Exemple #21
0
 def getData(self, soFar=0):
     if self["pTriggers"] != 0:
         self["cTriggers"] = len(self["pTriggers"])
     return NDR.getData(self, soFar)
Exemple #22
0
 def getData(self, soFar=0):
     self['cbRequiredPrivileges'] = len(self['pRequiredPrivileges'])
     return NDR.getData(self, soFar=0)
 def __getitem__(self, key):
     if key == 'Data':
         return ''.join([chr(i) for i in self.fields[key]])
     else:
         return NDR.__getitem__(self, key)
Exemple #24
0
 def getData(self, soFar=0):
     if self['pTriggers'] != 0:
         self['cTriggers'] = len(self['pTriggers'])
     return NDR.getData(self, soFar)
Exemple #25
0
 def getData(self, soFar=0):
     if self["pDataItems"] != 0:
         self["cDataItems"] = len(self["pDataItems"])
     return NDR.getData(self, soFar)
Exemple #26
0
 def __setitem__(self, key, value):
     if key == 'Data':
         self.fields[key] = value.encode('utf-16le')
         self.data = None        # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #27
0
 def __init__(self, data=None, isNDR64=False):
     NDR.__init__(self, None, isNDR64)
     self.fields['Data'].item = SC_ACTION
     if data is not None:
         self.fromString(data)
 def __setitem__(self, key, value):
     if key == 'Data':
         self.fields[key] = value.encode('utf-16le')
         self.data = None  # force recompute
     else:
         return NDR.__setitem__(self, key, value)
Exemple #29
0
 def getData(self, soFar=0):
     if self['pDataItems'] != 0:
         self['cDataItems'] = len(self['pDataItems'])
     return NDR.getData(self, soFar)
Exemple #30
0
 def getData(self, soFar=0):
     self["cbRequiredPrivileges"] = len(self["pRequiredPrivileges"])
     return NDR.getData(self, soFar=0)
Exemple #31
0
 def __getitem__(self, key):
     if key == "Data":
         return "".join([chr(i) for i in self.fields[key]])
     else:
         return NDR.__getitem__(self, key)
Exemple #32
0
 def __getitem__(self, key):
     if key == 'Data':
         return self.fields[key].decode('utf-16le')
     else:
         return NDR.__getitem__(self,key)