- new directive #.SET_TYPE - enforce type for field
- T_... name is based on renamed field (if present) instead of original one
- report unused #.FN_HDR, #.FN_BODY, #.FN_FTR
- new directive #.TF_RENAME - renames type and field together
(example of usage will follow in H225 and H245 dissectors)
svn path=/trunk/; revision=18237
- step to new ASN.1 API - pass asn_ctx_t* through PER dissectors instead of packet_info*
- PER ALIGNED/UNALIGNED flag moved to asn_ctx_t
- PER created tree item pointer moved to asn_ctx_t
- add nbap into PER dissectors in asn1/Makefile.nmake
- use add_oid_str_name() instead of register_ber_oid_name() in H.225 and H.245
- export asn_ctx_init from library
- PER dissectors regenerated
svn path=/trunk/; revision=18209
- remove obsolete -X option from makefiles
- not generate enumerated map table for BER
dissector will be regenerated later
svn path=/trunk/; revision=18199
- new option -u for unaligned PER, add per_aligment_type_callback() into PDU routines
- remove discerning between old and new PER/BER API, the new API will be reached step-by-step, i.e. -X command line option removed
- add support for intersection of constraints (only one level)
- #.MODULE is generated into <prot>-exp.cnf file
- fix bug when comment header was not generated into <prot>-exp.cnf file
svn path=/trunk/; revision=18155
- support for multiple input files
- #.MODULE_IMPORT replaced with #.MODULE (#.MODULE_IMPORT is supported for backward compatibility)
- #.MODULE is used for just compiled modules too
- more debug outputs
svn path=/trunk/; revision=18111
============================ Samba log start ============
svn: When specifying working copy paths, only one target may be given
============================ Samba log end ==============
svn path=/trunk/; revision=17994
Python versions, as it no longer makes only "register.c", it can also
make a "plugin.c" file for a plugin.
When making "plugin.c", there's no need to include "register.h", as it's
not defining any functions declared there.
svn path=/trunk/; revision=17919
Fix the Makefile.nmake files to pass the output type argument to
make-reg-dotc or make-reg-dotc.py.
Make tools/make-reg-dotc executable.
svn path=/trunk/; revision=17904
libetheral or a plugin.c for a plugin, rather than having plugin.c for a
dissector call the routines from register.c. This means we don't ahve
multiple register_all_protocols() and register_all_protocol_handoffs()
routines, and that all the plugin boilerplate is automatically
generated.
svn path=/trunk/; revision=17903
============================ Samba log start ============
svn: When specifying working copy paths, only one target may be given
============================ Samba log end ==============
svn path=/trunk/; revision=17767
Use safe_ versions of <ctype.h> macros, so we don't get hosed by
characters with the 8th bit set.
Define "tplt_linedir()" with a function prototype.
Constify some stuff to squelch compiler warnings.
svn path=/trunk/; revision=17694
Get rid of some function pointer casting.
Get rid of an unused routine, and make some routines static.
Remove trailing white space.
svn path=/trunk/; revision=17693
2002-Mar-10 21:21 1.11 Check-in [425] : Bug fix: updates within a transaction would fail if there was existed a temporary table. By drh. (diff)
2002-Mar-03 02:49 1.10 Check-in [411] : Bug fixes and additional tests for the subquery flattener. By drh. (diff)
svn path=/trunk/; revision=17679
Bugfix Check-in [388] : Bug fix in lemon: 3-way conflicts (SHIFT/REDUCE/REDUCE) were not detected or resolved. This is now fixed. Also, table compression works a little better. By drh. (diff)
http://www.sqlite.org/cvstrac/rlog?f=sqlite/tool/lemon.c
svn path=/trunk/; revision=17668
I noticed that when you run fuzz testing from both a root account and
a user account you can run into problems because the user account tries
to use and delete temp files created by the root account and fails. This
patch uses the same scheme as used for fuzz error files for naming the
tampered file and for the error file to prevent filename/permission
collisions between temp files from different runs.
svn path=/trunk/; revision=17145
Catch a TypeError that gets thrown if we don't use any conversion
specifiers during string formatting.
H.248:
Don't dereference a null pointer. Fixes bug 626.
svn path=/trunk/; revision=16773
fields as BASE_DEC; bitmaps are typically displayed in hex in Ethereal,
so it should generate BASE_HEX instead. (Submitted to
bugzilla.samba.org as bug 3313.)
A couple of the IDL files use "unistr"; define it as "[string] uint16",
so that the resulting dissectors work correctly.
Regenerate dissectors.
svn path=/trunk/; revision=16754
Now the compiler knows where a line comes from and errors point to the .cnf or -template.[ch] file instead of the generated code.
svn path=/trunk/; revision=16654
------------------------------------------------------------------------
r11535 | jelmer | 2005-11-06 14:53:37 +0100 (Sun, 06 Nov 2005) | 2 lines
Changed paths:
M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba/Template.pm
Support void functions when generating templates.
------------------------------------------------------------------------
r11539 | jelmer | 2005-11-06 15:31:01 +0100 (Sun, 06 Nov 2005) | 4 lines
Changed paths:
M /branches/SAMBA_4_0/source/pidl/TODO
M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm
M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba/NDR/Header.pm
M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba/NDR/Server.pm
M /branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba/Template.pm
Fix indentation in templates. Always generate lower-case
UUID strings as GUID_from_string seems to have trouble with
uppercased ones.
------------------------------------------------------------------------
svn path=/trunk/; revision=16479
The ftbp.patch file includes:
a) A fix to acse.cnf which works around an asn2eth bug (it is the AE-qualifier EXPORT I want, but asn2eth doesn't generate the appropriate extern for the values). Also a small cosmetic change for EXTERNAL decodings.
b) New EXPORTs for the FTAM dissector for use in FTBP.
c) A fix to asn2eth to solve the problem if you EXPORT types that include a '-' character in the name (e.g. "AE-qualifier" from acse.cnf, "Date-and-Time-Attribute" from ftam.cnf). The problem is that asn2eth generates the "xxxx-exp.cnf" file using the 'C' name (which has replaced '-' with '_') rather than the original 'ASN' name. The fix just undoes the replacement as I couldn't see the original name being preserved anywhere. There still remains a problem if the type has a '.' in the name - but generally I don't think they do.
* Better ROS handling and registration
* Simplified RTSE registration
* X411 column information, extension naming and use of new RTSE/ROS registration
* X420 notification extensions, warnings removal and export of ExtensionsField (missed from recent FTBP patch).
* Better highlighting of S4406 protocol.
svn path=/trunk/; revision=16296
- dissect_per_bitstring needs to know if extention exists or not.
- Fixes for bitstring sizes up to 16 ( where max = min ).
svn path=/trunk/; revision=16181
TPG now uses the ignore feature of tvbparse
named sub_rules can have cardinality
epan/tvbparse.c:
do not crash on zero cardinality
svn path=/trunk/; revision=16065
Given a bnf-like grammar generate a set of helpers for a dissector
It's not working yet, however I need this checkin as a cheeckpoint
(I'll write the doc when it starts to be ready)
svn path=/trunk/; revision=16021
- #.FN_BODY accepts parameters too
- single line variant of #.FN_PAR is possible
- new parameter FN_VARIANT for OBJECT IDENTIFIER
packet-per.c
- dissect_per_object_identifier() returns value as tvb
- new dissect_per_object_identifier_str() function
PER dissectors adapted and regenerated
svn path=/trunk/; revision=15894
- NAME and ABBREV attributes can be used in #.FIELD_ATTR
- following constraint format is supported (1..10, ..., 11..MAX)
svn path=/trunk/; revision=15634
- asn2eth:
fixed CHOICE tag handling
#.FN_PARS support for BIT STRING and all string types
intersection of SIZE and FROM constraints for string is handled
- new asn2eth features used in h225 and h245
- PER dissectors regeneration
svn path=/trunk/; revision=15408
- asn2eth was updated to support new PER helper functions for SET/SEQUENCE OF
- #.FN_PARS implemented for SET/SEQUENCE OF and REAL
- PER SET/SEQUENCE OF field can be FT_UINTxx to display number of items
- PER dissectors regenerated
svn path=/trunk/; revision=14921
returned quite a list of files. Add them to MAINTAINERCLEANFILES.
Whitespace changes (replace multiple spaces by TABs, in a few cases this
needed to be done at the beginning of Makefile lines.
svn path=/trunk/; revision=14891
- asn2eth: #.FN_PARS support for OCTET STRING
- usage of #.FN_PARS in h225 and h245
- h225: ParallelH245Control support
- h245: better support of NonStandardParameter
- usage of MAX_OID_STR_LEN constant
- all PER dissectors regenerated
svn path=/trunk/; revision=14844
index of the branch taken or -1 to make prettifications easier to implement.
change the signature of dissect_ber_choice and rename it to dissect_ber_CHOICE to catch all
occurences of the use of this function
update asn2eth to use the new name/signature
update all occurences of this function to the new name and new signature.
svn path=/trunk/; revision=14758
Fix bounds checking in lemon.c. Fix up an if/else block in
packet-dcerpc-samr.c. Fix hex printing in packet-gtp.c.
Fix other problems discovered by Steve:
Fix a bounds check in packet-isis-lsp.c. Also, fix netmask printing
on non-little-endian machines. Add a comment about adding a netmask
routine to to_str.c. Add bounds checks to packet-ncp2222.inc.
All of these apply to bug 217.
svn path=/trunk/; revision=14627
printing the blurb twice, like fields2 does.
Add a script, fsanity.py, to check sanity of FT definitions. Right now the
only check is for bitmasks for integer-like fields.
svn path=/trunk/; revision=14454
Limit the amount of VM the process can use (default 500 MB). If we
can't save a capture in libpcap format, try again with the encapsulation
type set to "ether".
svn path=/trunk/; revision=14156
- raise warning if type is not renamed to name with the first letter uppercase
- raise warning if field is not renamed to name with the first letter lowercase
svn path=/trunk/; revision=14147
"./tools/fuzz-test.sh /path/to/capture/files/*" will iterate over the
specified capture files, using editcap to introduce errors and tethereal
to check for bugs. It will do this until tethereal exits abnormally or
a dissector bug is encountered.
svn path=/trunk/; revision=14073
The patch attached fixes it by creating a table of unique files at the
time of file deletion. This way, current asn2eth behaviour is not
modified.
svn path=/trunk/; revision=13943
"dissect_per_restricted_character_string()", which is a guint32, not a
pointer. Re-generate packet-h225.c with the fixed asn2eth.
svn path=/trunk/; revision=13819
files. Do this with GENERATED_HEADER_FILES, GENERATED_C_FILES, and
GENERATED_FILES macros in Makefile.common files, along the lines of what
wiretap/Makefile.common has.
Clean up "*~" files with "make clean" rather than only "make distclean"
in some additional places.
Add "maintainer-clean" rules to the Makefile.nmake files, paralelling
the ones in the automake-generated Makefile.in files, using the
GENERATED_FILES macros from Makefile.common files. In some cases, move
the cleanup of files from "make distclean" to "make maintainer-clean",
and in other cases, put in a comment indicating why we're not doing that
(because some files that are distributed in the source tarballs, namely
Flex output, were built with a UN*X Flex and won't compile on Windows,
so we get rid of them with "make distclean" so you can clean up stuff
that *has* to be re-generated for Windows).
Clean up some *CLEANFILES definitions - get rid of ones that no longer
apply as files were moved or that add to the definition a name that's
already there.
svn path=/trunk/; revision=13402
Find attached a patch for "Voip analysis" to get the LRQ/LCF/LRJ messages included in the H323 calls for Gatekeeper to Gatekeeper configurations
svn path=/trunk/; revision=13338
- few fixes for last changes
Summary of changes during last three revisions
- NULL can be used in #.PDU or #.REGISTER directive
- fix in cyclic dependency handling
- keep <proto>-exp.cnf file regardless of '-k' option
- handling of negative values in SingleValue or ValueRange constraints
- handling of all SEQUONCE/SET (OF) types including SIZE constraint
- rename ber_sequence->ber_sequence_t and ber_choice->ber_choice_t
- rename dissect_ber_integer_new()->dissect_ber_integer()
- fix number of parameters for dissect_per_GeneralString()
svn path=/trunk/; revision=12854
regenerated all dissectors
fixed the choice/sequence struct to use unsigned entities for class and tag
(to reduce some compiler warning and because it should be signed quantities)
svn path=/trunk/; revision=12740
create some missing makefiles for autogenerated dissectors
finish the transition to the new ber integer dissetor helper signature
and regenerate all ber dissectors
svn path=/trunk/; revision=12724
Cygwin this has the side effect of making the Windows "find" command appear
first in the path instead of Cygwin's "find" command. Call /usr/bin/find
explicitly in win32-setup.sh.
svn path=/trunk/; revision=12639
It worked reasonably well mainly, I suspect, due to implicit tags are reasonably uncommon in the dissectors we have already implemented and that the bugs were masking eachothers.
my regression tests (limited test samples though) decodes this new one exactly the same as the old one.
As a bonus by not changing anythiong in the decode is that now it is possible to get dissection of implice items to work properly, hence CMIP
(and also x509 Extensions work now)
make heaps of dissector helpers implicit_tag aware.
change asn2eth to generate code to call the implicit_tag aware integer dissector helper.
svn path=/trunk/; revision=12520
- avoid assignemnt to None which is deprecated in Python 2.3
- fix bug when one field is used both with and without implicit
tag
svn path=/trunk/; revision=12277
- fix for protocol registration (register_dissector() does not return
handle)
- new directive REGISTER which can register PDU more than once
- implicit tagging environment is supported
svn path=/trunk/; revision=12177
- make the default protocol name module-name from input file
- don't use the [##]/(##) mark for index of SET/SEQUENCE item with
original PER/BER API
- allow PDUs to be registered
svn path=/trunk/; revision=12066
- only one function prototype is emitted if type is present in more
than one cyclic dependency
- field decoding functions has to be emitted immediately after a
function prototype in case of cyclic dependency
- few grammar changes
svn path=/trunk/; revision=11535
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
Do not output the value definitions for enumerated integers twice.
the c compiler doesnt like when the same symbol is declared twice.
svn path=/trunk/; revision=11124
- limits for dissect_per_constrained_integer() are passed as unsigned
if possible
- new directive NO_EMIT in conformation file - avoids emitting
function body (or vals or both) into packet-xxxx-fn.c file
- new directive USER_DEFINED in conformation file - emitting of
function body (or vals or both) in the packet-xxxx-fn.c file is
replaced with external declaration
- support for SET OF type for BER
- flag WITH_VALS is default for EXPORTS, USER_DEFINED, NO_EMIT
directives
- the _U_ attribute is used for pinfo parameters
- the offset parameters and return codes are changed from guint32 to
int
svn path=/trunk/; revision=11088
Make the header files declare the "value_string" arrays as "extern", so
as to prevent problems on some platforms when building a shared
libethereal.
Note that, at least currently, we have separate "PER_NOT_DECODED_YET()"
and "BER_NOT_DECODED_YET()" macros, rather than a common
"NOT_DECODED_YET()" macro.
svn path=/trunk/; revision=10996
ASN2ETH compiler and support script for lexical and syntactic analysis.
Will later be used for all those ASN.1 protocols we havent implemented yet
svn path=/trunk/; revision=10983
set. As a result, tethereal cannot run for the generation of the protocol
field list for the ethereal-filter documentation.
Fix this issue when unpacking the ddeveloper ZIP archives.
svn path=/trunk/; revision=10711
tools\win32-setup.sh to
- Check for applications required to build Ethereal
- Download and unpack required packages into $ETHEREAL_LIBS
Update ADNS to the latest version.
Make Python 2.3 the default.
svn path=/trunk/; revision=10567
then make sure that the FIELD can participate in the relation that
is expressed in the display filter.
Note that tvbuff's *should* be able to participate in == comparisons, etc.,
but those functions need to be added to ftype-tvbuff.c first.
svn path=/trunk/; revision=10175
Eventually, -Tps will not force -V, and will print summaries when -V is
not selected. However, work still has to be done there.
svn path=/trunk/; revision=9218
to tethereal. It could be added to Ethereal, but the GUI changes to
allow the user to select PDML as a print format have not been added.
Provide a python module (EtherealXML.py) to help parse PDML.
Provide a sample app (msnchat) which uses tethereal and EtherealXML.py
to reconstruct MSN Chat sessions from packet capture files. It produces
a nice HTML report of the chat sessions.
Document tethereal's PDML and EtherealXML.py usage in doc/README.xml-output
Update tethereal's manpage to reflect the new [-T pdml|ps|text] option
svn path=/trunk/; revision=9180
directory in nmake files persists across targets; presumably all
commands, or, at least, all "cd" commands, are run in the same process.)
svn path=/trunk/; revision=8682
recurse into subdirectories doing "nmake -f Makefile.nmake distclean".
Have "nmake -f Makefile.nmake clean" not remove stuff that "make clean"
doesn't remove (such as Flex/Bison output and config.h files) - and have
"nmake -f Makefile.nmake distclean" remove stuff that "make distclean"
removes, including "tethereal-tap-register.c" and
"ethereal-tap-register.c".
svn path=/trunk/; revision=8672
Besides "STRING", there is now "UNPARSED_STRING", where the distinction
is that "STRING" was a double-quoted string and "UNPARSED_STRING" is just
a sequence of characters that the scanner didn't know how to scan/parse,
so it's up to the Ftype to parse it.
This gives us more flexibility and prepares the dfilter parsing engine
for the upcoming addition of the "contains" operator.
In the process of doing this, I also re-did the double-quoted string
support in the scanner, so that instead of the naively-simple support we
used to have, double-quoted strings now can have embedded dobule-quotes,
embedded octal sequences, and embedded hexadecimal sequences:
"\"" embedded double-quote
"\110" embedded octal
"\x48" embedded hex
Enhance the dfilter unit test script to be able to run a single collection
of tests instead of having to run all of them all the time.
svn path=/trunk/; revision=8083
In the "configure.in" files, add
-D_U_="__attribute__((unused))"
to CFLAGS if we're using GCC, and add
-D_U_=""
otherwise, so _U_ can be used to mark arguments as unused.
Add -D_U_="" arguments to the Makefile.nmake files as well, so _U_ works
with Microsoft Visual C++ as well.
Add comments and RCS IDs to the Makefile.nmake files that don't already
have them.
svn path=/trunk/; revision=4824
and using gdb, extract the packet that was being dissected when the
core file was created. It works in simple cases; it will probably
fail in many other cases. Right now it only creates libpcap files, and uses
text2pcap to do so.
svn path=/trunk/; revision=4767
Add some missing files in the "clean" targets.
Use pod2html rather than man2html to build HTML man pages.
Fix ethereal.nsi.in for recent versions of NSIS, and fix a typo.
svn path=/trunk/; revision=4475
fix a bogus batch mode inference rule of make, so that
"vc60.pdb" files are created in the proper directory;
delete ".pdb" files in a "nmake -f Makefile.nmake clean";
include the text2pcap and mergecap ".pdb" files in the Windows
binary distribution.
svn path=/trunk/; revision=4385
require it. It makes more sense to either put cppmagic with lemon, or
in yet another common directory. I'll just put it with lemon.
svn path=/trunk/; revision=3083
a flattened recursive diff, and unflattens it, so that it can
be applied with "patch -p0". This has tested only against the output
of "cvs diff -u".
Usage:
cvs diff -u | cvsdiff-fix.py > file.diff
svn path=/trunk/; revision=3071
the function have the expected type.
Make the arguments to comparison functions used by the merge sort be
"const void *", not "void *", just as the arguments to the comparison
functions used by "qsort()" are "const void *".
svn path=/trunk/; revision=3040
take fully-prototyped function arguments with types appropriate to
"g_malloc()" and "g_free()", and change the calls to the functions
pointed to by those arguments not pass the extra __FILE__ and __LINE__
arguments.
svn path=/trunk/; revision=3039
LP64 platforms.
Change "lemon" to use function prototypes and the official ANSI C style
of variable-argument-list functions, and to include various system
header files rather than to use non-prototype declaration of various
system functions, to do a lot more type checking.
svn path=/trunk/; revision=3037
"get_opterr()" so they don't collide with "getopt()"s "optarg" and
"opterr" globals (Solaris 2.6's <stdio.h> declares both "optarg" and
"opterr", causing "lemon.c" not to compile).
Define "safe_isXXX()" macros to call "isXXX()" after casting the
argument to "unsigned char" to handle characters with the 8th bit set.
Make some "int" variables used only to hold characters "char" instead.
svn path=/trunk/; revision=2970
into epan/ftypes.
Re-write display filter routines using Lemon parser instead of yacc.
Besides using a different tool, the new grammar is much simpler, while
the display filter engine itself is more powerful and more easily extended.
Add dftest executable, to test display filter "bytecode" generation.
Add option to "configure" to build dftest or randpkt, both of which are not
built by default.
Implement Ed Warnicke's ideas about dranges in the new display filter and
ftype code.
Remove type FT_TEXT_ONLY in favor of FT_NONE, and have protocols registered
as FT_PROTOCOL. Thus, FT_NONE is used only for simple labels in the proto tree,
while FT_PROTOCOL is used for protocols. This was necessary for being
able to make byte slices (ranges) out of protocols, like "frame[0:3]"
Win32 Makefile.nmake's will be added tonight.
svn path=/trunk/; revision=2967