New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added OBJECT IDENTIFIER and RELATIVE-OID value emission #9
base: master
Are you sure you want to change the base?
Commits on Dec 6, 2010
-
Started modifications of asn1c skeletons, adding OBJECT_IDENTIFIER_* …
…and RELATIVE_OID_* functions. Decided on standardized terminology: ASN.1 notation dot notation BER encoding
Configuration menu - View commit details
-
Copy full SHA for 23a8a70 - Browse repository at this point
Copy the full SHA 23a8a70View commit details -
Configuration menu - View commit details
-
Copy full SHA for f84b258 - Browse repository at this point
Copy the full SHA f84b258View commit details -
Configuration menu - View commit details
-
Copy full SHA for f35f39b - Browse repository at this point
Copy the full SHA f35f39bView commit details -
Configuration menu - View commit details
-
Copy full SHA for af0ada7 - Browse repository at this point
Copy the full SHA af0ada7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 063c538 - Browse repository at this point
Copy the full SHA 063c538View commit details -
Implemented compute_reverse_lengt, which provides the appropriate len…
…gth of bytes to use/allocate for a given range of OID dot notation data. Worked on reverse double dabble algorithm.
Configuration menu - View commit details
-
Copy full SHA for 29f4f2c - Browse repository at this point
Copy the full SHA 29f4f2cView commit details -
Finished implementing reverse double-dabble algorithm with perform_bc…
…d2ber. Tested reverse double-dabble algorithm. It just about works! The one issue has to do with improper counting of the number of bytes to allocate initially.
Configuration menu - View commit details
-
Copy full SHA for d890356 - Browse repository at this point
Copy the full SHA d890356View commit details -
Finished implementing reverse double-dabble algorithm.
Fixed allocation logic error.
Configuration menu - View commit details
-
Copy full SHA for bbf057d - Browse repository at this point
Copy the full SHA bbf057dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 754bcf6 - Browse repository at this point
Copy the full SHA 754bcf6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fbf6d3 - Browse repository at this point
Copy the full SHA 1fbf6d3View commit details -
Added asn1c Xcode project. The Xcode project uses the Makefile external build system. Changed number in asn1p_oid from integer to char* (base 10). Added a new type, TOK_arcnumber, which is a string, and lexical rules for handling it. Fixed a coding error in enber.c regarding the tag class.
Configuration menu - View commit details
-
Copy full SHA for 84e742b - Browse repository at this point
Copy the full SHA 84e742bView commit details -
Messed with asn1c quite a bit to try to get the dumb thing to work.
Improved Xcode project. After much effort, got Value type to parse ObjectIdentifier data. Changed ObjectIdentifier token data to TOK_arcnumber, and made asn1p_oid_t contain a string with the base10-encoded number. Fixed up the asn1print stuff to handle printing Object Identifiers.
Configuration menu - View commit details
-
Copy full SHA for 486c4ae - Browse repository at this point
Copy the full SHA 486c4aeView commit details -
Added and tested output (compilation) using asn1c_lang_C_value_OBJECT…
…_IDENTIFIER. It works, except for actual BER encoding.
Configuration menu - View commit details
-
Copy full SHA for 8df1926 - Browse repository at this point
Copy the full SHA 8df1926View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6553dd0 - Browse repository at this point
Copy the full SHA 6553dd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 906890a - Browse repository at this point
Copy the full SHA 906890aView commit details -
Added ModuleName.h and ModuleName.c output preamble, epilogue, and mi…
…ddle code. Tested the code and got it to output the OBJECT IDENTIFIER and RELATIVE-OID structures correctly! Now the only thing missing is the actual BER encoding data.
Configuration menu - View commit details
-
Copy full SHA for fa100d6 - Browse repository at this point
Copy the full SHA fa100d6View commit details -
Added asn1c_oid.c and .h, which contain asn1c_oid_ber_encode, to conv…
…ert the arg into an appropriate array of bytes. Added code to output the right sequence of uint8_t bytes in C. Adjusted Makefiles so that asn1c_oid compiles. Removed the warning "unber.c:395: warning: format not a string literal and no format arguments".
Configuration menu - View commit details
-
Copy full SHA for c77692c - Browse repository at this point
Copy the full SHA c77692cView commit details -
Fixed stylistic issues in OBJECT_IDENTIFIER.c.
Started work on asn1c_oid_ber_encode.
Configuration menu - View commit details
-
Copy full SHA for 3113956 - Browse repository at this point
Copy the full SHA 3113956View commit details -
Fixed stylistic issues in RELATIVE-OID.c/.h and OBJECT_IDENTIFIER.h.
Added declarations of new functions OBJECT_IDENTIFIER_eq1 and 1eq1.
Configuration menu - View commit details
-
Copy full SHA for e91f517 - Browse repository at this point
Copy the full SHA e91f517View commit details -
Fixed output issues with asn1c_print_ber. Tested the code, and it works great for both OID and R-OID cases! The next step is to handle symbolic references.
Configuration menu - View commit details
-
Copy full SHA for 8090268 - Browse repository at this point
Copy the full SHA 8090268View commit details -
Implemented the first part of symbolic references for OIDs.
Implemented a static function, get_len_of_oid, that encapsulates the recursion. (Careful: a malformed OID value definition may cause infinite recursion!)
Configuration menu - View commit details
-
Copy full SHA for bd8df8b - Browse repository at this point
Copy the full SHA bd8df8bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 96c0aab - Browse repository at this point
Copy the full SHA 96c0aabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95d7290 - Browse repository at this point
Copy the full SHA 95d7290View commit details -
Finished asn1c_oid.c's handling of identifiers in the same module.
Adjusted hexademcial output so that it is capitalized.
Configuration menu - View commit details
-
Copy full SHA for 29fc9fa - Browse repository at this point
Copy the full SHA 29fc9faView commit details -
Got the general code for symbolic lookups to work for getting the OID…
… length, when the symbol is in an import.
Configuration menu - View commit details
-
Copy full SHA for 1c62168 - Browse repository at this point
Copy the full SHA 1c62168View commit details -
Finished implementing OID and ROID compiling, including with referenc…
…es to other modules. Changed sizeof DEF_### to sizeof(DEF_###).
Configuration menu - View commit details
-
Copy full SHA for 8abc8c4 - Browse repository at this point
Copy the full SHA 8abc8c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 979588a - Browse repository at this point
Copy the full SHA 979588aView commit details -
Removed TOK_arcnumber, replacing it with TOK_number.
Changed TOK_number so that it stores both the int (in a_int/tv_int.a_int) and the ascii representation (tv_int.ascii_int). Spelunked through the .y code and .l code to figure out what was wrong with parsing. Determined that ObjectIdentifier: is accepting {}, but that is wrong per X.208 and X.680. Modified the lexer/parser so that only true (non-empty) ObjectIdentifier values are accepted. Added ATV_EMPTY value type, so that {} can be parsed correctly. Noted that {} can only appear for BIT STRING, SEQUENCE [OF], and SET [OF]. Added {} handling for BIT STRING since otherwise the parser/fixer dies on ASN1C-UsefulInformationObjectClasses.asn1.
Configuration menu - View commit details
-
Copy full SHA for 79cd062 - Browse repository at this point
Copy the full SHA 79cd062View commit details -
Removed printf debug statements.
Removed old {} from ObjectIdentifier. Added ATV_EMPTY switch cases. Cleaned up other parts of the code.
Configuration menu - View commit details
-
Copy full SHA for 772ca3d - Browse repository at this point
Copy the full SHA 772ca3dView commit details -
Fixed output so that it includes <OBJECT_IDENTIFIER.h> or <RELATIVE-O…
…ID.h> as-needed in the module headers.
Configuration menu - View commit details
-
Copy full SHA for 015203c - Browse repository at this point
Copy the full SHA 015203cView commit details -
Added support for iterating over all AMT_VALUE data inside each modul…
…e, and emitting appropriate headers when those values are present, in the module header file.
Configuration menu - View commit details
-
Copy full SHA for 46eb597 - Browse repository at this point
Copy the full SHA 46eb597View commit details -
Tried to work out redirecting streams to output the module OID, but i…
…t did not work well.
Configuration menu - View commit details
-
Copy full SHA for 6b6e92c - Browse repository at this point
Copy the full SHA 6b6e92cView commit details -
Reverted prior changes because the code was getting unmanageable and …
…it didn't work anyway.
Configuration menu - View commit details
-
Copy full SHA for dabc59e - Browse repository at this point
Copy the full SHA dabc59eView commit details -
Added OBJECT IDENTIFIER emitting code for module OID directly to asn1…
…c_save.c. Tested the code, and it works!
Configuration menu - View commit details
-
Copy full SHA for d775e95 - Browse repository at this point
Copy the full SHA d775e95View commit details -
Made progress on OBJECT_IDENTIFIER_eq1 and 1eq1.
Added comments on utility functions.
Configuration menu - View commit details
-
Copy full SHA for d79276f - Browse repository at this point
Copy the full SHA d79276fView commit details -
Wrote and tested the implementations of OBJECT_IDENTIFIER_eq1 and 1eq1.
Removed temporary code.
Configuration menu - View commit details
-
Copy full SHA for 48f1599 - Browse repository at this point
Copy the full SHA 48f1599View commit details -
Fixed if ( -> if( styling throughout the code.
Added copyright statements and increased the version.
Configuration menu - View commit details
-
Copy full SHA for db60f97 - Browse repository at this point
Copy the full SHA db60f97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91f5c01 - Browse repository at this point
Copy the full SHA 91f5c01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76dc927 - Browse repository at this point
Copy the full SHA 76dc927View commit details -
Configuration menu - View commit details
-
Copy full SHA for f000578 - Browse repository at this point
Copy the full SHA f000578View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3f2689 - Browse repository at this point
Copy the full SHA e3f2689View commit details -
Merged oid-value into master: now asn1c can parse and emit OBJECT IDE…
…NTIFIER and RELATIVE-OID values. Merge branch 'oid-value' Conflicts: configure configure.ac libasn1parser/asn1p_l.c
Configuration menu - View commit details
-
Copy full SHA for f2dc826 - Browse repository at this point
Copy the full SHA f2dc826View commit details
Commits on Dec 17, 2010
-
Added support for OBJECT IDENTIFIER valuereferences, namely:
id-foo OBJECT IDENTIFIER ::= {1 2 3 4} id-fooref OBJECT IDENTIFIER ::= id-foo Value references are output as #define id_fooref id_foo preprocessor directives. The equivalent in C++ would be to use the reference & type, but the reference type is unavailable in C.
Configuration menu - View commit details
-
Copy full SHA for dd2c6ef - Browse repository at this point
Copy the full SHA dd2c6efView commit details -
Added notes on the operation of asn1fix_compat.c.
Added notes and changes so that OBJECT IDENTIFIER -> OBJECT IDENTIFIER and RELATIVE-OID -> RELATIVE-OID value references are passed through as-is, rather than being converted to their actual values, so that the compiler can optimize and save space. Added support for RELATIVE-OID value references, and tested the code. It works!
Configuration menu - View commit details
-
Copy full SHA for 83a0df2 - Browse repository at this point
Copy the full SHA 83a0df2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b772ef5 - Browse repository at this point
Copy the full SHA b772ef5View commit details -
Fixed ASN_EXPR_TYPE2STR so that it no longer causes gcc to emit the w…
…arnings. Fixed numbers in the asn1fix_retrieve.c file, so that the numbers are stored as "3" not 3 (per the new format).
Configuration menu - View commit details
-
Copy full SHA for 07cb01a - Browse repository at this point
Copy the full SHA 07cb01aView commit details -
Ported the changes to ASN_EXPR_TYPE2STR to the Perl file (not sure wh…
…at it does exactly, though).
Configuration menu - View commit details
-
Copy full SHA for e3e7ae3 - Browse repository at this point
Copy the full SHA e3e7ae3View commit details -
Added declarations of new utility functions in OBJECT_IDENTIFIER.h an…
…d RELATIVE-OID.h.
Configuration menu - View commit details
-
Copy full SHA for 18b852b - Browse repository at this point
Copy the full SHA 18b852bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab17322 - Browse repository at this point
Copy the full SHA ab17322View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca15be6 - Browse repository at this point
Copy the full SHA ca15be6View commit details -
Wrote the specialization OBJECT_IDENTIFIER_common1r1, which is slight…
…ly more efficient than the general case, OBJECT_IDENTIFIER_common1r. Tested the code.
Configuration menu - View commit details
-
Copy full SHA for 27a9368 - Browse repository at this point
Copy the full SHA 27a9368View commit details -
Implemented the RELATIVE-OID constructor functions, which construct a…
… RELATIVE_OID_t structure from differentials between two OIDs; a base number of arcs and a full OID; a base size in bytes (arc-aligned) and a full OID. Added RELATIVE_OID_get_arcs_count, which performs the equivalent operation as OBJECT_IDENTIFIER_get_arcs_count but with RELATIVE-OID semantics. Tested the code. Added documentation.
Configuration menu - View commit details
-
Copy full SHA for bfe34d7 - Browse repository at this point
Copy the full SHA bfe34d7View commit details
Commits on Jun 15, 2011
-
Added asn1fix_oid.c and asn1fix_oid.h to turn ATV_UNPARSED OBJECT IDE…
…NTIFIERs and RELATIVE-OIDs into actual parsed values.
Configuration menu - View commit details
-
Copy full SHA for 7964d0a - Browse repository at this point
Copy the full SHA 7964d0aView commit details -
Reverted parser in libasn1parser so that OBJECT IDENTIFIERs and other…
… values are left as ATV_UNPARSED. Added dependencies on OBJECT_IDENTIFIER.h and RELATIVE-OID.h when values of those types are emitted.
Configuration menu - View commit details
-
Copy full SHA for da57952 - Browse repository at this point
Copy the full SHA da57952View commit details -
Fixed an uninitialized res variable.
Moved the definition of struct RELATIVE_OID from OBJECT_IDENTIFIER.h to RELATIVE-OID.h, because functions in OBJECT_IDENTIFIER.h rely on that definition.
Configuration menu - View commit details
-
Copy full SHA for 9b5cd6e - Browse repository at this point
Copy the full SHA 9b5cd6eView commit details -
Removed #include <RELATIVE-OID.h> from OBJECT_IDENTIFIER.c.
Fixed some warnings encountered during make check with gcc, specifically around pointer sizes: Fixed warning: format %d expects type int, but long int in INTEGER.c. Fixed warning: cast from pointer to integer of different size in constr_SET_OF.c and per_support.c.
Configuration menu - View commit details
-
Copy full SHA for 8324207 - Browse repository at this point
Copy the full SHA 8324207View commit details
Commits on Jun 16, 2011
-
Fixed printf signs in check-03.c. Fixed initialization of rval, fprintf formatting, missing switches, unused variables, and signs in check-119.-fnative-types.-gen-PER.c. Fixed signs in check-30.c. Added intermediate cast to (size_t) in libasn1compiler output for const OID and RELATIVE-OID values to prevent gcc from complaining about const being discarded (after consultation with vlm). It is intentional that the source array is const, because it is an optimization and a check (possibly OS-enforced) to prevent the program from writing to a constant value at runtime. Noted that when the constraint check is ignored, because the constraint matches the natural range of the variable, gcc complains that the variable is not referenced. Fixed the above warning by introducing a comma operator and the void operator, so that cv (or whatever variable name) is referenced.
Configuration menu - View commit details
-
Copy full SHA for 83a8bd6 - Browse repository at this point
Copy the full SHA 83a8bd6View commit details -
Fixed check-119 and check-126 warnings regarding printf format type m…
…ismatches, uninitialized variables, and overshadowed global declarations.
Configuration menu - View commit details
-
Copy full SHA for d2a176b - Browse repository at this point
Copy the full SHA d2a176bView commit details -
Fixed printf formatting sizes, overshadowed declarations, and other w…
…arnings in check-131 and check-35.
Configuration menu - View commit details
-
Copy full SHA for 110dc7b - Browse repository at this point
Copy the full SHA 110dc7bView commit details -
Fixed check-35 (overshadowing), check-41 (signed, overshadowing), che…
…ck-42 (signed, printf sizing), and check-70 (signed, missing ctype.h for isspace).
Configuration menu - View commit details
-
Copy full SHA for 4e0b018 - Browse repository at this point
Copy the full SHA 4e0b018View commit details -
Added er.encoded = 0 in BOOLEAN.c to deal with the fact that the enco…
…ded member is not initialized when the struct is returned. This appears to be the correct behavior based on INTEGER.c and OCTET_STRING.c's handling of encoding uper.
Configuration menu - View commit details
-
Copy full SHA for 832c258 - Browse repository at this point
Copy the full SHA 832c258View commit details -
Advanced the version to 0.9.25 (temporarily--work is still in progress).
Added -fmodule-oids flag, which means that module OIDs will only be emitted when this flag is set. By default, module OIDs are not emitted. Added documentation on -fmodule-oids. Implemented A1C_MODULE_OIDS to emit module OIDs when the flag is present. Discovered that changes to keep track of ASN_MODULE_SOURCES= and ASN_MODULE_HEADERS= was lost from asn1c_save.c, so began to rewrite those changes with the "used_modules" technique. Added attribution and advanced copyright date to 2011.
Configuration menu - View commit details
-
Copy full SHA for b844b86 - Browse repository at this point
Copy the full SHA b844b86View commit details
Commits on Jun 17, 2011
-
Added module_emitted boolean (enum) and removed used_modules iteratio…
…n in asn1c_save.c. Tested the code: it appears to work, for the most part.
Configuration menu - View commit details
-
Copy full SHA for 3e12f24 - Browse repository at this point
Copy the full SHA 3e12f24View commit details -
In support of check-50 (which has value references for types that der…
…ive from INTEGER), added asn1c_lang_C_value_REFERENCE to handle AMT_VALUE A1TC_REFERENCE data. The code does not actually output the value (as that is "complicated") but it does output the declaration for the value. Changed () to <> for the asn1c URL. Added output to ModuleName.h so that it includes the referenced type headers, which is necessary for compiling A1TC_REFERENCE values successfully.
Configuration menu - View commit details
-
Copy full SHA for acd5a52 - Browse repository at this point
Copy the full SHA acd5a52View commit details -
Suppressed output of ; when dealing with references.
Fixed an off-by-one error. Used quotation marks all the time, not <>, for referenced types. Emitted "Including external dependencies" comment.
Configuration menu - View commit details
-
Copy full SHA for ba3370f - Browse repository at this point
Copy the full SHA ba3370fView commit details -
Updated ChangeLog to include a discussion of emission of headers for …
…values of type references and values of raw INTEGERs. Updated the asn1c man page. Moved value reference code into a common, static function, emit_value_reference. Implemented output for INTEGER values (headers only, no definitions). Cleaned up commented-out code. Added stderr output that indicates that the ModuleName.c and ModuleName.h files are compiled.
Configuration menu - View commit details
-
Copy full SHA for fa48781 - Browse repository at this point
Copy the full SHA fa48781View commit details -
Prevented emission of ModuleName sources for ASN.1 values when the mo…
…dules are standard modules (marked interally as MT_STANDARD_MODULE). Added more stuff to .gitignore in support of playing nice with Xcode.
Configuration menu - View commit details
-
Copy full SHA for b333bb4 - Browse repository at this point
Copy the full SHA b333bb4View commit details -
Merge remote branch 'upstream/master'
Synchronized with vlm master, resolving the asn1c ASN1C_ENVIRONMENT_VERSION to 925 in the process. Conflicts: skeletons/asn_internal.h
Configuration menu - View commit details
-
Copy full SHA for 65599f2 - Browse repository at this point
Copy the full SHA 65599f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e23ca9 - Browse repository at this point
Copy the full SHA 6e23ca9View commit details
Commits on Aug 22, 2011
-
Added validity checks to make sure that the dot notation OID is in th…
…e proper format for OBJECT_IDENTIFIER_fromDotNotation. No invalid dot notation OIDs allowed.
Configuration menu - View commit details
-
Copy full SHA for 0609f6a - Browse repository at this point
Copy the full SHA 0609f6aView commit details -
Added a check in OBJECT_IDENTIFIER__dump_body to ensure that invalidl…
…y-encoded OID arcs cause a failure to be noted.
Configuration menu - View commit details
-
Copy full SHA for 55b8a8b - Browse repository at this point
Copy the full SHA 55b8a8bView commit details -
Added check in OBJECT_IDENTIFIER__dump_arc that reports an invalid ra…
…nge (beyond the range of the accumulator) as <INVALID ERANGE>. Added check in OBJECT_IDENTIFIER__dump_body for <INVALID 0-LENGTH> (0-length OID) and <INVALID & 0x80> (where the last octet is >= 0x80). Changed output of original <INVALID> to <INVALID 0x80>.
Configuration menu - View commit details
-
Copy full SHA for 5790fd4 - Browse repository at this point
Copy the full SHA 5790fd4View commit details -
Replaced der_encode_primitive with OBJECT_IDENTIFIER_encode_der in OB…
…JECT_IDENTIFIER.c. Added checks for the three evils: 0-length OID, OID ending in >= 0x80, and first octet in subidentifier series (aka arc) == 0x80.
Configuration menu - View commit details
-
Copy full SHA for 93111e5 - Browse repository at this point
Copy the full SHA 93111e5View commit details -
Added OBJECT_IDENTIFIER_encode_uper.
Added OBJECT_IDENTIFIER__check_valid. Added support for checking for invalid OID values when encoding uper. Tested code for invalid OID values when encoding xer. It works.
Configuration menu - View commit details
-
Copy full SHA for d13326b - Browse repository at this point
Copy the full SHA d13326bView commit details
Commits on Aug 23, 2011
-
Added checks in OBJECT_IDENTIFIER_constraint to handle 0x80 at start …
…of arc (subidentifier) and >= 0x80 at end, since _constraint already checks for size <= 0 (aka size < 1).
Configuration menu - View commit details
-
Copy full SHA for b5d3d3b - Browse repository at this point
Copy the full SHA b5d3d3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4793836 - Browse repository at this point
Copy the full SHA 4793836View commit details