Exemplo n.º 1
0
def test_sample():
	# Samples from X.690-0207
	Name=asn1.TYPE(asn1.IMPLICIT(1,cls=asn1.APPLICATION_FLAG), asn1.SEQUENCE([('givenName', None, asn1.VisibleString, 0),
		('initial', None, asn1.VisibleString, 0),
		('familyName', None, asn1.VisibleString, 0)], seq_name = 'Name'))
	EmployeeNumber=asn1.TYPE(asn1.IMPLICIT(2,cls=asn1.APPLICATION_FLAG), asn1.INTEGER_class([],0,2147483647))
	Date=asn1.TYPE(asn1.IMPLICIT(3,cls=asn1.APPLICATION_FLAG), asn1.VisibleString)
	ChildInformation=asn1.SEQUENCE([('name',None,Name,0),('dateOfBirth',asn1.EXPLICIT(0,cls=asn1.CONTEXT_FLAG),Date,0)], seq_name = 'ChildInformation')
	
	PersonnelRecord=asn1.TYPE(asn1.IMPLICIT(0,cls=asn1.APPLICATION_FLAG), asn1.SEQUENCE([
		('name',None,Name,0),
		('title',None,asn1.TYPE(asn1.EXPLICIT(0,cls=asn1.CONTEXT_FLAG),asn1.VisibleString),0),
		('number',None,EmployeeNumber,1),
		('dateOfHire',None,asn1.TYPE(asn1.EXPLICIT(1,cls=asn1.CONTEXT_FLAG),Date),0),
		('nameOfSpouse',None,asn1.TYPE(asn1.EXPLICIT(2,cls=asn1.CONTEXT_FLAG),Name),0),
		('children',None,asn1.TYPE(asn1.EXPLICIT(3,cls=asn1.CONTEXT_FLAG),asn1.SEQUENCE_OF(ChildInformation)),0),
		], seq_name = 'PersonnelRecord'))
	
	decoded = {
		'name': { 'givenName': 'John', 'initial': 'P', 'familyName': 'Smith' },
		'title': 'Director',
		'number': 51,
		'dateOfHire': '19710917',
		'nameOfSpouse': { 'givenName': 'Mary', 'initial': 'T', 'familyName': 'Smith' },
		'children': [
			{ 'name': { 'givenName': 'Ralph', 'initial': 'T', 'familyName': 'Smith' },
			  'dateOfBirth': '19571111' },
			{ 'name': { 'givenName': 'Susan', 'initial': 'B', 'familyName': 'Jones' },
			  'dateOfBirth': '19590717' },
		]}
	
	pdu = PersonnelRecord
	print "Encoded:"
	encoded = asn1.encode(pdu, decoded)
	print oo(encoded)
	print "Decoded:"
	redecoded = asn1.decode(pdu, encoded)
	print repr(redecoded)
	assert(redecoded == decoded)
	print "Re-encoded:"	
	reencoded = asn1.encode(pdu, redecoded)
	print oo(reencoded)
	print "Original:"
	print oo(encoded)
	assert(encoded == reencoded)
Exemplo n.º 2
0
# Auto-generated at Thu, 09 Sep 2010 13:15:00 +0000
# with the following command line:
# ./py_output.py --implicit asn/tcap.asn
import Yapasn1 as asn1
#module TCAPMessages None
P_AbortCause = asn1.TYPE(
    asn1.IMPLICIT(10, cls=asn1.APPLICATION_FLAG),
    asn1.INTEGER_class([('unrecognizedMessageType', 0),
                        ('unrecognizedTransactionID', 1),
                        ('badlyFormattedTransactionPortion', 2),
                        ('incorrectTransactionPortion', 3),
                        ('resourceLimitation', 4)], 0, 127))
InvokeIdType = asn1.INTEGER_class([], -128, 127)
ERROR = asn1.CHOICE([('localValue', None, asn1.INTEGER_class([], None, None)),
                     ('globalValue', None, asn1.OBJECT_IDENTIFIER)])
ReturnResultProblem = asn1.INTEGER_class([('unrecognizedInvokeID', 0),
                                          ('returnResultUnexpected', 1),
                                          ('mistypedParameter', 2)], None,
                                         None)
Parameter = asn1.ANY
ReturnError = asn1.SEQUENCE([('invokeID', None, InvokeIdType, 0, None),
                             ('errorCode', None, ERROR, 0, None),
                             ('parameter', None, Parameter, 1, None)],
                            seq_name='ReturnError')
ReturnErrorProblem = asn1.INTEGER_class([('unrecognizedInvokeID', 0),
                                         ('returnErrorUnexpected', 1),
                                         ('unrecognizedError', 2),
                                         ('unexpectedError', 3),
                                         ('mistypedParameter', 4)], None, None)
InvokeProblem = asn1.INTEGER_class([('duplicateInvokeID', 0),
                                    ('unrecognizedOperation', 1),
Exemplo n.º 3
0
    ('dialogue-service-provider', None,
     asn1.TYPE(
         asn1.EXPLICIT(2, cls=asn1.CONTEXT_FLAG),
         asn1.INTEGER_class([('null', 0), ('no-reason-given', 1),
                             ('no-common-dialogue-portion', 2)], None, None)))
])
Associate_result = asn1.INTEGER_class([('accepted', 0),
                                       ('reject-permanent', 1)], None, None)
Release_request_reason = asn1.INTEGER_class([('normal', 0), ('urgent', 1),
                                             ('user-defined', 30)], None, None)
Release_response_reason = asn1.INTEGER_class([('normal', 0),
                                              ('not-finished', 1),
                                              ('user-defined', 30)], None,
                                             None)
AARQ_apdu = asn1.TYPE(
    asn1.IMPLICIT(0, cls=asn1.APPLICATION_FLAG),
    asn1.SEQUENCE(
        [('protocol-version', None,
          asn1.TYPE(asn1.IMPLICIT(0, cls=asn1.CONTEXT_FLAG),
                    asn1.BITSTRING_class([('version1', 0)], None,
                                         None)), 1, 'version1'),
         ('application-context-name', None,
          asn1.TYPE(asn1.EXPLICIT(1, cls=asn1.CONTEXT_FLAG),
                    asn1.OBJECT_IDENTIFIER), 0, None),
         ('user-information', None,
          asn1.TYPE(asn1.IMPLICIT(30, cls=asn1.CONTEXT_FLAG),
                    asn1.SEQUENCE_OF(asn1.EXTERNAL)), 1, None)],
        seq_name='AARQ-apdu'))
ABRT_source = asn1.INTEGER_class([('dialogue-service-user', 0),
                                  ('dialogue-service-provider', 1)], None,
                                 None)
Exemplo n.º 4
0
# Auto-generated at Mon, 08 Oct 2012 15:05:58 +0000
# with the following command line:
# ./py_output.py --explicit asn/RFC2578-SMIv2.asn
import Yapasn1 as asn1
#module COMMUNITY-BASED-SNMPv2 None
Opaque = asn1.TYPE(asn1.IMPLICIT(4, cls=asn1.APPLICATION_FLAG), asn1.OCTSTRING)
TimeTicks = asn1.TYPE(asn1.IMPLICIT(3, cls=asn1.APPLICATION_FLAG),
                      asn1.INTEGER_class([], 0, 4294967295))
NotificationName = asn1.OBJECT_IDENTIFIER
IpAddress = asn1.TYPE(asn1.IMPLICIT(0, cls=asn1.APPLICATION_FLAG),
                      asn1.OCTSTRING)
Counter64 = asn1.TYPE(asn1.IMPLICIT(6, cls=asn1.APPLICATION_FLAG),
                      asn1.INTEGER_class([], 0, 18446744073709551615))
Unsigned32 = asn1.TYPE(asn1.IMPLICIT(2, cls=asn1.APPLICATION_FLAG),
                       asn1.INTEGER_class([], 0, 4294967295))
Gauge32 = asn1.TYPE(asn1.IMPLICIT(2, cls=asn1.APPLICATION_FLAG),
                    asn1.INTEGER_class([], 0, 4294967295))
Integer32 = asn1.INTEGER_class([], -2147483648, 2147483647)
ObjectName = asn1.OBJECT_IDENTIFIER
SimpleSyntax = asn1.CHOICE([('integer-value', None,
                             asn1.INTEGER_class([], -2147483648, 2147483647)),
                            ('string-value', None, asn1.OCTSTRING),
                            ('objectID-value', None, asn1.OBJECT_IDENTIFIER)])
Counter32 = asn1.TYPE(asn1.IMPLICIT(1, cls=asn1.APPLICATION_FLAG),
                      asn1.INTEGER_class([], 0, 4294967295))
ApplicationSyntax = asn1.CHOICE([('ipAddress-value', None, IpAddress),
                                 ('counter-value', None, Counter32),
                                 ('timeticks-value', None, TimeTicks),
                                 ('arbitrary-value', None, Opaque),
                                 ('big-counter-value', None, Counter64),
                                 ('unsigned-integer-value', None, Unsigned32)])
Exemplo n.º 5
0
# Auto-generated at Mon, 08 Oct 2012 15:04:21 +0000
# with the following command line:
# ./py_output.py --explicit asn/RFC1157-SMI.asn
import Yapasn1 as asn1
#module RFC1157-SNMP None
Counter=asn1.TYPE(asn1.IMPLICIT(1,cls=asn1.APPLICATION_FLAG),asn1.INTEGER_class ([],0,4294967295))
ObjectName=asn1.OBJECT_IDENTIFIER
Opaque=asn1.TYPE(asn1.IMPLICIT(4,cls=asn1.APPLICATION_FLAG),asn1.OCTSTRING)
TimeTicks=asn1.TYPE(asn1.IMPLICIT(3,cls=asn1.APPLICATION_FLAG),asn1.INTEGER_class ([],0,4294967295))
SimpleSyntax=asn1.CHOICE ([('number',None,asn1.INTEGER_class ([],None,None)),
    ('string',None,asn1.OCTSTRING),
    ('object',None,asn1.OBJECT_IDENTIFIER),
    ('empty',None,asn1.NULL)])
Gauge=asn1.TYPE(asn1.IMPLICIT(2,cls=asn1.APPLICATION_FLAG),asn1.INTEGER_class ([],0,4294967295))
IpAddress=asn1.TYPE(asn1.IMPLICIT(0,cls=asn1.APPLICATION_FLAG),asn1.OCTSTRING)
NetworkAddress=asn1.CHOICE ([('internet',None,IpAddress)])
ApplicationSyntax=asn1.CHOICE ([('address',None,NetworkAddress),
    ('counter',None,Counter),
    ('gauge',None,Gauge),
    ('ticks',None,TimeTicks),
    ('arbitrary',None,Opaque)])
ObjectSyntax=asn1.CHOICE ([('simple',None,SimpleSyntax),
    ('application-wide',None,ApplicationSyntax)])
VarBind=asn1.SEQUENCE ([('name',None,ObjectName,0,None),
    ('value',None,ObjectSyntax,0,None)], seq_name = 'VarBind')
VarBindList=asn1.SEQUENCE_OF (VarBind)
PDU=asn1.SEQUENCE ([('request-id',None,asn1.INTEGER_class ([],None,None),0,None),
    ('error-status',None,asn1.INTEGER_class ([('noError',0),('tooBig',1),('noSuchName',2),('badValue',3),('readOnly',4),('genErr',5)],None,None),0,None),
    ('error-index',None,asn1.INTEGER_class ([],None,None),0,None),
    ('variable-bindings',None,VarBindList,0,None)], seq_name = 'PDU')
GetRequest_PDU=asn1.TYPE(asn1.IMPLICIT(0,cls=asn1.CONTEXT_FLAG),PDU)