aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/c_src
AgeCommit message (Collapse)Author
2018-12-06Handle erroneous length during decode (BER only) without crashingKenneth Lundin
2018-08-02Fix NIF stack recursion bug and enforce a limitRaimo Niskanen
Fix recursion bug when decoding Constructed value within another value - here the allowed buffer for the recursed decode shall only be the size of the enclosing value, not the whole buffer. Return ASN1_ERROR if BER decode recurses more than about 8 kWords.
2017-05-04Update copyright yearRaimo Niskanen
2017-03-14asn1_erl_nif.c: Correct handling of tags >= 16384Björn Gustavsson
Tags number above 16383 were not decoded correctly in ber_decode_tag(). We could fix the problem, but there does not seem to be any need. First, the only way that high tag numbers can be created is with manual tagging; after 1994 manual tagging is no longer recommended. Second, the ASN.1 playground (http://asn1-playground.oss.com) only supports tags up to 16383 (the same is presumably true for OSS Nokalva's other tools). Therefore, clean up the existing code and make it an explicit 'invalid_tag' error when tags above 13383 are encountered (instead of an implicit 'wrong_tag' error).
2016-09-19Use more correct delimiters for erl_nif.h includeTuncer Ayaz
Anywhere but the beam sources we shouldn't #include "erl_nif.h", because what "erl_nif.h" does is: (1) fail to find it outside of -I dirs, (2) then treat it as if it was written like <erl_nif.h>. Using <erl_nif.h> skips (1). More information can be found in 6.10.2 of the C standard. Because the examples use "erl_nif.h", NIF projects in the Erlang ecosystem copy this verbatim and make the same mistake.
2016-03-15update copyright-yearHenrik Nord
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-06-18Change license text to APLv2Bruce Yinhe
2014-09-29BER decoding: Don't allow primitives with indefinite lengthsBjörn Gustavsson
According to the BER encoding rules, only constructed values may have indefinite lengths. A primitive value must be encoded with a definite length. Reported-by: Simon Cornish
2014-08-11BER decoding: Improve error checking for indefinite lengthBjörn Gustavsson
When an indefinite length was given, the decoder could look beyond the end of the buffer for the 0,0 that signals the end of the value.
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
2013-08-21erts: Add option to include nifs staticallyLukas Larsson
Both crypto and asn1 are supported.
2013-02-07Merge branch 'maint'Björn Gustavsson
* maint: Prepare release Don't run testX420/1 on old slow Sparc systems testX420: Pass Options to the ASN.1 compiler asn1_erl_nif: Correct broken length encoding asn1_SUITE: Mend broken test_modified_x420/1 Revert "Prepare release" Conflicts: lib/asn1/doc/src/notes.xml lib/asn1/test/asn1_SUITE.erl
2013-02-04asn1_erl_nif: Correct broken length encodingBjörn Gustavsson
The ber_bin_v2 backend calls a NIF function to decode all tags and lengths. Even open types that should not be decoded will also be decoded, which makes it necessary to later re-encode the data using a NIF function. The NIF function incorrectly encoded lengths.
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-22BER: Correct bug in 'undec_rest'Björn Gustavsson
enif_make_new_binary() cannot return NULL, so while at it, remove the check for return value of enif_make_new_binary() being NULL.
2013-01-22Correct error handling for the NIF functionsBjörn Gustavsson
Also make sure that the error handling is contained within the asn1rt_nif module and does not leak out to generated code.
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2012-08-31Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: lib/diameter/autoconf/vxworks/sed.general xcomp/README.md
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-07-19asn1: Remove VxWorksBjörn-Egil Dahlberg
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-02-29[asn1] Refactor test cases and remove extra suitesAdam Lindberg
2012-01-03asn1: Remove unused variable in asn1_erl_nif.cBjörn-Egil Dahlberg
2011-10-13asn1: Fix typo that caused failure of 'make release' on WindowsBjörn Gustavsson
2011-08-08Merge branch 'bjorn/parallel-make/OTP-9451' into majorBjörn Gustavsson
* bjorn/parallel-make/OTP-9451: (28 commits) erl_interface: Support parallel make dialyzer: Remove special-case build in the top Makefile pcre: Rename Makefile.in to pcre.mk and include it cos*/src/Makefile: Support parallel make ic: Support parallel make orber: Support parallel make .gitignore: Ignore IDL-GENERATED public_key: Support parallel make ssh: Support parallel make os_mon: Support parallel make diameter: Support parallel make snmp: Support parallel make megaco: Support parallel make megaco/src/flex/Makefile.in: Support parallel make */c_src/Makefile*: Support parallel make eunit: Support parallel make gs: Support parallel make common_test Makefile: Support parallel make erts/emulator/Makefile.in: Support parallel make erts: Fix dependency generation ...
2011-08-08*/c_src/Makefile*: Support parallel makeBjörn Gustavsson
Create directories first, not within implicit rules. If two 'install' instances runs at the same time attempting to create a directory, one of them may fail with an "File exists" error. I tried to use order-only prerequisites to create the directories, but run into two problems: First, order-only prerequisites are only implemented in Make 3.80 and later. Second, on a computer running Solaris/Intel 2.8 (with Make 3.80), order-only prerequisites seemed to work like ordinary prerequisites, causing targets to be re-built if the timestamp for the directory changed. Therefore, using a shell command to run mkdir seems to be the more portable solution.
2011-08-01Update to use enif_alloc instead of mallocLukas Larsson
2011-08-01Fix bug in counting length of empty composite typesLukas Larsson
2011-08-01Fix bug where composite types with more then one element would be encoded in ↵Lukas Larsson
reverse
2011-08-01Update ber encode nif to use a linked list memry bufferLukas Larsson
The encoded ber binary is now a linked list of memory buffers which is written to from the back while allocating more segments as needed
2011-08-01Create a nif for ber encodeLukas Larsson
2011-08-01Update tag to be ints instead of longsLukas Larsson
This is in order to circumvent a bug in enif_make_ulong in R14B03 for halfword
2011-08-01Update asn1 nif to handle calls with an empty binaryLukas Larsson
2011-08-01Cannot be a binary as decode creates tuplesLukas Larsson
2011-08-01Remove DRIVER target from opt targetLukas Larsson
2011-08-01return 0 as error code when an unknown error happensLukas Larsson
2011-08-01Remove all modules relating to drivers and make all functions obsolete.Lukas Larsson
2011-08-01Add load, upgrade and purge functions for asn1 nifsLukas Larsson
2011-08-01Add better error messages to nifsLukas Larsson
2011-08-01Add asn1 nif for ber decode and per encodeLukas Larsson
2011-05-20Fixed DRIVER_INIT prototypeKenneth Lundin
2011-05-19Corrected handling of long length in driver and updated test suitesKenneth Lundin
2010-08-13Remove unused variablesMartti Kuparinen
2010-04-15Fix shared libraries installationPeter Lemenkov
Several shared libraries (asn1_erl_drv.so, megaco_flex_scanner_drv_mt.so, megaco_flex_scanner_drv.so, wxe_driver.so) were installed as data files previously. Signed-off-by: Peter Lemenkov <[email protected]>
2010-02-18OTP-8451 Harmless buffer overflow by one byte in asn1 and ram_file_drv.Sverker Eriksson
2010-02-03OTP-8323 Cross compilation improvements and other build systemRickard Green
improvements. Most notable: Lots of cross compilation improvements. The old cross compilation support was more or less non-existing as well as broken. Please, note that the cross compilation support should still be considered as experimental. Also note that old cross compilation configurations cannot be used without modifications. For more information on cross compiling Erlang/OTP see the $ERL_TOP/xcomp/README file. Support for staged install using <url href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed. For more information see the $ERL_TOP/README file. Documentation of the release target of the top Makefile. For more information see the $ERL_TOP/README file. make install now by default creates relative symbolic links instead of absolute ones. For more information see the $ERL_TOP/README file. $ERL_TOP/configure --help=recursive now works and prints help for all applications with configure scripts. Doing make install, or make release directly after make all no longer triggers miscellaneous rebuilds. Existing bootstrap system is now used when doing make install, or make release without a preceding make all. The crypto and ssl applications use the same runtime library path when dynamically linking against libssl.so and libcrypto.so. The runtime library search path has also been extended. The configure scripts of erl_interface and odbc now search for thread libraries and thread library quirks the same way as erts do. The configure script of the odbc application now also looks for odbc libraries in lib64 and lib/64 directories when building on a 64-bit system. The config.h.in file in the erl_interface application is now automatically generated in instead of statically updated which reduces the risk of configure tests without any effect.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP