Python pyasn1.compat.octets.null() Examples
The following are 30
code examples of pyasn1.compat.octets.null().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pyasn1.compat.octets
, or try the search function
.
Example #1
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if value == 0: # shortcut for zero value if self.supportCompactZero: # this seems to be a correct way for encoding zeros return null, 0 else: # this seems to be a widespread way for encoding zeros return ints2octs((0,)), 0 octets = [] value = int(value) # to save on ops on asn1 type while 1: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value = value >> 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or \ octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return ints2octs(octets), 0
Example #2
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize*8: r = {}; l = len(value); p = 0; j = 7 while p < l: i, j = divmod(p, 8) r[i] = r.get(i,0) | value[p]<<(7-j) p = p + 1 keys = list(r); keys.sort() return int2oct(7-j) + ints2octs([r[k] for k in keys]), 0 else: pos = 0; substrate = null while 1: # count in octets v = value.clone(value[pos*8:pos*8+maxChunkSize*8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1
Example #3
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if value == 0: # shortcut for zero value if self.supportCompactZero: # this seems to be a correct way for encoding zeros return null, 0 else: # this seems to be a widespread way for encoding zeros return ints2octs((0,)), 0 octets = [] value = int(value) # to save on ops on asn1 type while 1: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value = value >> 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or \ octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return ints2octs(octets), 0
Example #4
Source File: encoder.py From nzb-subliminal with GNU General Public License v3.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if value == 0: # shortcut for zero value if self.supportCompactZero: # this seems to be a correct way for encoding zeros return null, 0 else: # this seems to be a widespread way for encoding zeros return ints2octs((0,)), 0 octets = [] value = int(value) # to save on ops on asn1 type while 1: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value = value >> 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or \ octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return ints2octs(octets), 0
Example #5
Source File: encoder.py From nzb-subliminal with GNU General Public License v3.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize*8: r = {}; l = len(value); p = 0; j = 7 while p < l: i, j = divmod(p, 8) r[i] = r.get(i,0) | value[p]<<(7-j) p = p + 1 keys = list(r); keys.sort() return int2oct(7-j) + ints2octs([r[k] for k in keys]), 0 else: pos = 0; substrate = null while 1: # count in octets v = value.clone(value[pos*8:pos*8+maxChunkSize*8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1
Example #6
Source File: encoder.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): value.setDefaultComponents() value.verifySizeSpec() substrate = null idx = len(value) while idx > 0: idx -= 1 if value[idx] is None: # Optional component continue component = value.getDefaultComponentByPosition(idx) if component is not None and component == value[idx]: continue substrate = encodeFun( value[idx], defMode, maxChunkSize ) + substrate return substrate, 1
Example #7
Source File: encoder.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize * 8: out_len = (len(value) + 7) // 8 out_list = out_len * [0] j = 7 i = -1 for val in value: j += 1 if j == 8: i += 1 j = 0 out_list[i] |= val << (7 - j) return int2oct(7 - j) + ints2octs(out_list), 0 else: pos = 0 substrate = null while True: # count in octets v = value.clone(value[pos * 8:pos * 8 + maxChunkSize * 8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos += maxChunkSize return substrate, 1
Example #8
Source File: encoder.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if value == 0: # shortcut for zero value if self.supportCompactZero: # this seems to be a correct way for encoding zeros return null, 0 else: # this seems to be a widespread way for encoding zeros return ints2octs((0,)), 0 octets = [] value = int(value) # to save on ops on asn1 type while True: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value >>= 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return ints2octs(octets), 0
Example #9
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 6 votes |
def getCmd(self, authData, transportTarget, varNames, cbInfo, lookupNames=False, lookupValues=False, contextEngineId=None, contextName=null): def __cbFun(snmpEngine, sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbInfo): cbFun, cbCtx = cbInfo cbFun(sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbCtx) # for backward compatibility if contextName is null and authData.contextName: contextName = authData.contextName return getCmd( self.snmpEngine, authData, transportTarget, ContextData(contextEngineId, contextName), *[(x, self._null) for x in varNames], **dict(cbFun=__cbFun, cbCtx=cbInfo, lookupMib=lookupNames or lookupValues) )
Example #10
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 6 votes |
def nextCmd(self, authData, transportTarget, varNames, cbInfo, lookupNames=False, lookupValues=False, contextEngineId=None, contextName=null): def __cbFun(snmpEngine, sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbInfo): cbFun, cbCtx = cbInfo return cbFun(sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbCtx) # for backward compatibility if contextName is null and authData.contextName: contextName = authData.contextName return nextCmd( self.snmpEngine, authData, transportTarget, ContextData(contextEngineId, contextName), *[(x, self._null) for x in varNames], **dict(cbFun=__cbFun, cbCtx=cbInfo, lookupMib=lookupNames or lookupValues) )
Example #11
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 6 votes |
def bulkCmd(self, authData, transportTarget, nonRepeaters, maxRepetitions, *varNames, **kwargs): if 'lookupNames' not in kwargs: kwargs['lookupNames'] = False if 'lookupValues' not in kwargs: kwargs['lookupValues'] = False if 'lexicographicMode' not in kwargs: kwargs['lexicographicMode'] = False varBindTable = [] for errorIndication, \ errorStatus, errorIndex, \ varBinds \ in sync.bulkCmd(self.snmpEngine, authData, transportTarget, ContextData(kwargs.get('contextEngineId'), kwargs.get('contextName', null)), nonRepeaters, maxRepetitions, *[ (x, self._null) for x in varNames ], **kwargs): if errorIndication or errorStatus: return errorIndication, errorStatus, errorIndex, varBinds varBindTable.append(varBinds) return errorIndication, errorStatus, errorIndex, varBindTable
Example #12
Source File: encoder.py From oss-ftp with MIT License | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if value == 0: # shortcut for zero value if self.supportCompactZero: # this seems to be a correct way for encoding zeros return null, 0 else: # this seems to be a widespread way for encoding zeros return ints2octs((0,)), 0 octets = [] value = int(value) # to save on ops on asn1 type while 1: octets.insert(0, value & 0xff) if value == 0 or value == -1: break value = value >> 8 if value == 0 and octets[0] & 0x80: octets.insert(0, 0) while len(octets) > 1 and \ (octets[0] == 0 and octets[1] & 0x80 == 0 or \ octets[0] == 0xff and octets[1] & 0x80 != 0): del octets[0] return ints2octs(octets), 0
Example #13
Source File: encoder.py From oss-ftp with MIT License | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize*8: out_len = (len(value) + 7) // 8 out_list = out_len * [0] j = 7 i = -1 for val in value: j += 1 if j == 8: i += 1 j = 0 out_list[i] = out_list[i] | val << (7-j) return int2oct(7-j) + ints2octs(out_list), 0 else: pos = 0; substrate = null while 1: # count in octets v = value.clone(value[pos*8:pos*8+maxChunkSize*8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1
Example #14
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 6 votes |
def nextCmd(self, authData, transportTarget, *varNames, **kwargs): if 'lookupNames' not in kwargs: kwargs['lookupNames'] = False if 'lookupValues' not in kwargs: kwargs['lookupValues'] = False if 'lexicographicMode' not in kwargs: kwargs['lexicographicMode'] = False varBindTable = [] for errorIndication, \ errorStatus, errorIndex, \ varBinds \ in sync.nextCmd(self.snmpEngine, authData, transportTarget, ContextData(kwargs.get('contextEngineId'), kwargs.get('contextName', null)), *[ (x, self._null) for x in varNames ], **kwargs): if errorIndication or errorStatus: return errorIndication, errorStatus, errorIndex, varBinds varBindTable.append(varBinds) return errorIndication, errorStatus, errorIndex, varBindTable
Example #15
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 6 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): if not maxChunkSize or len(value) <= maxChunkSize*8: out_len = (len(value) + 7) // 8 out_list = out_len * [0] j = 7 i = -1 for val in value: j += 1 if j == 8: i += 1 j = 0 out_list[i] = out_list[i] | val << (7-j) return int2oct(7-j) + ints2octs(out_list), 0 else: pos = 0; substrate = null while 1: # count in octets v = value.clone(value[pos*8:pos*8+maxChunkSize*8]) if not v: break substrate = substrate + encodeFun(v, defMode, maxChunkSize) pos = pos + maxChunkSize return substrate, 1
Example #16
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 6 votes |
def setCmd(self, authData, transportTarget, varBinds, cbInfo, lookupNames=False, lookupValues=False, contextEngineId=None, contextName=null): def __cbFun(snmpEngine, sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbInfo): cbFun, cbCtx = cbInfo cbFun(sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbCtx) # for backward compatibility if contextName is null and authData.contextName: contextName = authData.contextName return setCmd( self.snmpEngine, authData, transportTarget, ContextData(contextEngineId, contextName), *varBinds, **dict(cbFun=__cbFun, cbCtx=cbInfo, lookupMib=lookupNames or lookupValues) )
Example #17
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 5 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): value.verifySizeSpec() substrate = null; idx = len(value) while idx > 0: idx = idx - 1 substrate = encodeFun( value[idx], defMode, maxChunkSize ) + substrate return substrate, 1
Example #18
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 5 votes |
def encodeValue(self, encodeFun, client, defMode, maxChunkSize): if isinstance(client, univ.SequenceAndSetBase): client.setDefaultComponents() client.verifySizeSpec() substrate = null; idx = len(client) # This is certainly a hack but how else do I distinguish SetOf # from Set if they have the same tags&constraints? if isinstance(client, univ.SequenceAndSetBase): # Set comps = [] while idx > 0: idx = idx - 1 if client[idx] is None: # Optional component continue if client.getDefaultComponentByPosition(idx) == client[idx]: continue comps.append(client[idx]) comps.sort(key=lambda x: isinstance(x, univ.Choice) and \ x.getMinTagSet() or x.getTagSet()) for c in comps: substrate += encodeFun(c, defMode, maxChunkSize) else: # SetOf compSubs = [] while idx > 0: idx = idx - 1 compSubs.append( encodeFun(client[idx], defMode, maxChunkSize) ) compSubs.sort() # perhaps padding's not needed substrate = null for compSub in compSubs: substrate += compSub return substrate, 1
Example #19
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 5 votes |
def encodeLength(self, length, defMode): if not defMode and self.supportIndefLenMode: return int2oct(0x80) if length < 0x80: return int2oct(length) else: substrate = null while length: substrate = int2oct(length&0xff) + substrate length = length >> 8 substrateLen = len(substrate) if substrateLen > 126: raise Error('Length octets overflow (%d)' % substrateLen) return int2oct(0x80 | substrateLen) + substrate
Example #20
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 5 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): return null, 0
Example #21
Source File: encoder.py From aqua-monitor with GNU Lesser General Public License v3.0 | 5 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): value.setDefaultComponents() value.verifySizeSpec() substrate = null; idx = len(value) while idx > 0: idx = idx - 1 if value[idx] is None: # Optional component continue component = value.getDefaultComponentByPosition(idx) if component is not None and component == value[idx]: continue substrate = encodeFun( value[idx], defMode, maxChunkSize ) + substrate return substrate, 1
Example #22
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 5 votes |
def _encodeEndOfOctets(self, encodeFun, defMode): if defMode or not self.supportIndefLenMode: return null else: return encodeFun(eoo.endOfOctets, defMode)
Example #23
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 5 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): return null, 0
Example #24
Source File: decoder.py From learn_python3_spider with MIT License | 5 votes |
def indefLenValueDecoder(self, substrate, asn1Spec, tagSet=None, length=None, state=None, decodeFun=None, substrateFun=None, **options): if substrateFun and substrateFun is not self.substrateCollector: asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options) return substrateFun(asn1Object, substrate, length) # All inner fragments are of the same type, treat them as octet string substrateFun = self.substrateCollector header = null while substrate: component, substrate = decodeFun(substrate, self.protoComponent, substrateFun=substrateFun, allowEoo=True, **options) if component is eoo.endOfOctets: break header += component else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) return self._createComponent(asn1Spec, tagSet, header, **options), substrate
Example #25
Source File: encoder.py From baidupan_shell with GNU General Public License v2.0 | 5 votes |
def encodeValue(self, encodeFun, value, defMode, maxChunkSize): return null, 0
Example #26
Source File: context.py From scalyr-agent-2 with Apache License 2.0 | 5 votes |
def getMibInstrum(self, contextName=null): contextName = univ.OctetString(contextName).asOctets() if contextName not in self.contextNames: debug.logger & debug.flagIns and debug.logger('getMibInstrum: contextName %r not registered' % contextName) raise error.PySnmpError( 'Missing contextName %s' % contextName ) else: debug.logger & debug.flagIns and debug.logger('getMibInstrum: contextName %r, mibInstum %r' % (contextName, self.contextNames[contextName])) return self.contextNames[contextName]
Example #27
Source File: decoder.py From bash-lambda-layer with MIT License | 5 votes |
def indefLenValueDecoder(self, substrate, asn1Spec, tagSet=None, length=None, state=None, decodeFun=None, substrateFun=None, **options): if substrateFun and substrateFun is not self.substrateCollector: asn1Object = self._createComponent(asn1Spec, tagSet, noValue, **options) return substrateFun(asn1Object, substrate, length) # All inner fragments are of the same type, treat them as octet string substrateFun = self.substrateCollector header = null while substrate: component, substrate = decodeFun(substrate, self.protoComponent, substrateFun=substrateFun, allowEoo=True, **options) if component is eoo.endOfOctets: break header += component else: raise error.SubstrateUnderrunError( 'No EOO seen before substrate ends' ) return self._createComponent(asn1Spec, tagSet, header, **options), substrate
Example #28
Source File: context.py From scalyr-agent-2 with Apache License 2.0 | 5 votes |
def __init__(self, snmpEngine, contextEngineId=None): snmpEngineId,= snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder.importSymbols('__SNMP-FRAMEWORK-MIB', 'snmpEngineID') if contextEngineId is None: # Default to local snmpEngineId self.contextEngineId = snmpEngineId.syntax else: self.contextEngineId = snmpEngineId.syntax.clone(contextEngineId) debug.logger & debug.flagIns and debug.logger('SnmpContext: contextEngineId \"%r\"' % (self.contextEngineId,)) self.contextNames = { null: snmpEngine.msgAndPduDsp.mibInstrumController # Default name }
Example #29
Source File: context.py From scalyr-agent-2 with Apache License 2.0 | 5 votes |
def registerContextName(self, contextName, mibInstrum=None): contextName = univ.OctetString(contextName).asOctets() if contextName in self.contextNames: raise error.PySnmpError( 'Duplicate contextName %s' % contextName ) debug.logger & debug.flagIns and debug.logger('registerContextName: registered contextName %r, mibInstrum %r' % (contextName, mibInstrum)) if mibInstrum is None: self.contextNames[contextName] = self.contextNames[null] else: self.contextNames[contextName] = mibInstrum
Example #30
Source File: cmdgen.py From scalyr-agent-2 with Apache License 2.0 | 5 votes |
def getCmd(self, authData, transportTarget, *varNames, **kwargs): if 'lookupNames' not in kwargs: kwargs['lookupNames'] = False if 'lookupValues' not in kwargs: kwargs['lookupValues'] = False for x in sync.getCmd(self.snmpEngine, authData, transportTarget, ContextData(kwargs.get('contextEngineId'), kwargs.get('contextName', null)), *[ (x, self._null) for x in varNames ], **kwargs): return x