path: root/asn1.c
AgeCommit message (Collapse)AuthorFilesLines
2005-02-09Move the following files from /trunk to /trunk/epan:Lars Roland1-1085/+0
asn1.[ch] follow.[ch] ptvcursor.[ch] reassemble.[ch] xmlstub.[ch] fix #include statements accordingly. svn path=/trunk/; revision=13366
2004-11-28The recent length check added to proto_tree_add_string() revealed aGerald Combs1-0/+10
couple of problems when reading the PROTOS SNMP captures. Check for integer overflows in dissect_snmp_pdu and asn1_null_decode. svn path=/trunk/; revision=12609
2004-07-18Set the svn:eol-style property on all text files to "native", so thatGuy Harris1-1/+1
they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. svn path=/trunk/; revision=11400
2003-11-09Fix the type of the "integer" argument to "asn1_uint32_value_decode()",Guy Harris1-2/+2
as per a note by Michael Lum. svn path=/trunk/; revision=8924
2003-10-02From Samuel Qu, Michael Lum, and Jeff Morriss: TCAP support, andGuy Harris1-7/+57
"asn_id_decode1()" variant of "asn_id_decode()". svn path=/trunk/; revision=8586
2003-08-29From Matthijs Melchior: In "asn1_string_value_decode()", put in aGuy Harris1-13/+6
trailing '\0', to simplify use of the resulting data as a C string. svn path=/trunk/; revision=8313
2003-06-24From Matthijs Melchior: when setting "eoc" in "asn1_bits_decode()", getGuy Harris1-2/+2
the offset from before the byte with the number of unused bits is fetched, so that we count that byte. svn path=/trunk/; revision=7920
2003-05-10Expand some comments.Guy Harris1-8/+32
Do the "tvb_ensure_bytes_exist()" check, and the check for a zero-length bit string, in the code to process a bit string. svn path=/trunk/; revision=7659
2003-04-28From Matthijs Melchior: fix "asn1_bits_decode()", and make its API moreGuy Harris1-11/+13
closely resemble that of other decode routines. svn path=/trunk/; revision=7589
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-6/+6
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-9/+1
equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
2002-06-23WinPcap 2.3's <pcap.h> includes <packet32.h>, and WinPcap 2.3'sGuy Harris1-3/+3
<packet32.h> includes <winsock2.h>; we include that rather than <winsock.h>, to avoid errors due to conflicting declarations in <winsock.h> and <winsock2.h>. svn path=/trunk/; revision=5742
2002-06-16From Chris Waters: don't use "bool" as a variable name or structureGuy Harris1-4/+4
member, as it's a C++ keyword. svn path=/trunk/; revision=5677
2002-05-13Add a "tvb_ensure_bytes_exist()", which is like "tvb_bytes_exist()" onlyGuy Harris1-27/+7
it throws the appropriate exception if the bytes don't exist. Use it in the GIOP and ASN.1 code to check whether the bytes to be copied to a buffer exist before allocating the buffer. Make "check_offset_length_no_exception()" check for an overflow, so that it can be used in "tvb_ensure_bytes_exist()" and do all the checking that the code "tvb_ensure_bytes_exist()" replaces did. Make "get_CDR_wchar()" return a "gint", so that if the length octet it fetched has a value between 128 and 255, the length can be returned correctly. Fix some comments not to specify the exception thrown by various routines that can throw various exceptions. svn path=/trunk/; revision=5453
2002-03-05Fix another problem found by the PROTOS captures - inGuy Harris1-4/+12
"asn1_string_value_decode()", don't pass "g_malloc()" an argument of 0, as "g_malloc()" will return NULL in that case, and the callers of "asn1_string_value_decode()" aren't necessarily prepared for a null argument. svn path=/trunk/; revision=4876
2002-03-01Add a routine to "asn1.c" to translate ASN1_ERR_ values to strings. UseGuy Harris1-1/+55
that in the SNMP dissector. Check the return values of ASN.1 routines in the LDAP dissector, and have all the subroutines in that disesctor that can return error indications return ASN1_ERR_ values. Have the routines that can supply a pointer to a newly-created protocol-tree item use the right type for items ("proto_item *", not "proto_tree *", even though they are, at least currently, typedefs for the same type), and use "proto_item" for the type of the item a pointer to which is passed to those routines. Before calling those routines, set the item pointer to null, in case the routine fails. Don't check the return value of "parse_filter_strings()" against -1 - that routine can't return -1. svn path=/trunk/; revision=4833
2002-02-21Be more paranoid, and check to make sure the length of the string or OIDGuy Harris1-1/+17
isn't so large as to cause the end offset to wrap around. svn path=/trunk/; revision=4766
2002-02-20Throw in some sanity checking to make sure a bogus length in an ASN.1Guy Harris1-1/+29
string or OID data type doesn't cause us to hand a bogus length to a memory allocator. svn path=/trunk/; revision=4765
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-4/+3
"epan/..." pathnames, so as to avoid collisions with header files in any of the directories in which we look (e.g., "proto.h", as some other package has its own "proto.h" file which it installs in the top-level include directory). Don't add "-I" flags to search "epan", as that's no longer necessary (and we want includes of "epan" headers to fail if the "epan/" is left out, so that we don't re-introduce includes lacking "epan/"). svn path=/trunk/; revision=4586
2001-04-15Tvbuffify the ASN.1 code and the Kerberos, LDAP, and SNMP dissectors.Guy Harris1-77/+71
Clean up some problems that revealed. svn path=/trunk/; revision=3301
2000-12-24Rename "asn1_octet_string_value_decode()" toGuy Harris1-16/+44
"asn1_string_value_decode()", as it can be used for various character string types as well. Turn "asn1_octet_string_decode()" into "asn1_string_decode()", which takes an additional argument giving the tag expected for the string in question, and make "asn1_octet_string_decode()" a wrapper around it. Clean up the ASN.1 dissection in the Kerberos dissector, making more use of the code in "asn1.c", wrapping more operations up in macros, and doing some more type checking. Use "REP" rather than "RESP" in names and strings; "REP" is what the Kerberos spec uses. Make the routines in the Kerberos dissector not used outside that dissector static. Fix some problems with the dissection of strings in the Kerberos dissector (it was extracting the data from the wrong place in the packet). In Kerberos V5, the "kvno" item in the EncryptedData type is optional; treat it as such. Treat integers as unsigned in the Kerberos dissector. svn path=/trunk/; revision=2777
2000-06-26In "asn1_oid_value_decode()", set "size" directly from "enc_len", ratherGuy Harris1-2/+2
than setting "eoc" from "asn1->pointer" and "enc_len" and then setting "size" from "eoc" and "asn1->pointer", to make it clearer how it's being set. svn path=/trunk/; revision=2090
2000-03-27Note that we may want to add support for the constructed encoding ofGuy Harris1-2/+3
octet strings, as well as the primitive encoding (if we ever run into a protocol where the constructed encoding is allowed). svn path=/trunk/; revision=1751
2000-01-15Merge in the final code to make Ethereal run on Win32, compiledGilbert Ramirez1-1/+5
with MSVC 6.0 and 'nmake', the make tool that comes with MSVC. It compiles, links, and runs. It doesn't run correctly. There's a problem when reading files. I'm getting short reads. I'm not linking in zlib or libsnmp because it first needs to be debugged. I changed the plugin code to use gmodule instead of libltdl, but the Unix build still links ethereal against libltdl. I'll fix that tonight; sorry about leaving it in such a sad state, but I wanted to check in this code before I left work on a Friday night. Ethereal still works, but the building is less than optimal. svn path=/trunk/; revision=1479
1999-12-10Make the SNMP dissector use the ASN.1 code, rather than the SNMP libraryGuy Harris1-10/+17
code, to dissect SNMP PDUs; use the SNMP library code only to translate OIDs into strings. Put into the ASN.1 code an annoying hack to cope with the fact that UCD SNMP makes an OID out of "u_long"s whilst CMU SNMP makes it out of "u_int"s - have the ASN.1 code make it out of "subid_t"s, and typedef "subid_t" appropriately depending on the SNMP library you have. Eventually, we should be able to use "libsmi" instead of a full-blown SNMP library, and thus possibly work around various aggravations with the SNMP libraries. svn path=/trunk/; revision=1280
1999-12-05Check in the ASN.1 code for reference purposes, although the SNMPGuy Harris1-0/+895
dissector doesn't use it yet - Nathan Neulinger might use it for a Kerberos 5 dissector, and it might be of use for other dissectors as well. svn path=/trunk/; revision=1215