data type "gint64" really is - should be sufficiient for a %llx format,
and not all compilers that support 64-bit data types have "long long".
svn path=/trunk/; revision=3820
(This fixes an incorrect string for TRANS2_GET_DFS_REFERRAL, which has
the code 0x10 according to the current SNIA CIFS draft spec; I've seen
those in packet captures.)
Create entries in the transaction hash tables only for requests, not for
replies; this means a reply might not have an entry in the table, if the
request didn't appear in the capture, so handle that case.
Make the "last_transact2_command" field of a "smb_request_val" structure
an "int", so it can be given the value -1, which is different from all
the valid 16-bit unsigned values, to indicate that we couldn't get the
transaction code from the request (e.g., because it's too short).
Show the first Setup word in a TRANSACT2 request as the transaction
code, as that's what it is.
"dirn" is a Boolean, so
if (dirn == 1) {
...
}
if (dirn == 0) {
...
}
is equivalent to
if (dirn == 1) {
...
} else {
...
}
and the latter is a bit clearer, so use it.
Distinguish between a TRANSACTION or TRANSACT2 reply where we didn't see
the request and one where we saw the request but didn't see the request
path for TRANSACTION or the request code for TRANSACT2.
Use "g_strdup()" rather than "g_malloc()" followed by "strcpy()".
svn path=/trunk/; revision=3819
"void *" that a dissector can set to point to such a structure; that
means that the stuff in the epan directory doesn't have to know anything
about the protocol-specific private data one dissector passes to
another, and that structure doesn't have to be changed if a dissector
wants to pass some new type of data to another dissector.
svn path=/trunk/; revision=3818
(currently) available on-line.
Updates from Simharajan Srishylam to:
interpret WCCPv2 in the version field;
handle multiple forwarding methods, assignment methods, or
packet return methods being enabled;
treat unknown messages as WCCPv2 messages, and attempt to
dissect the fields common to all v2 messages.
Note that multiple forwarding/assignment/packet return methods should
really be handled as Boolean bitfields.
Fix some signed vs. unsigned comparison issues.
svn path=/trunk/; revision=3817
Use "proto_tree_add_item()" where possible, and use it, rather than
"proto_tree_add_text()", to put the WCCP version into the packet. Make
the version field hex, so the V2 version shows up in a reasonable form.
Show the flags in bit-set capabilities as Boolean bitfields.
Check the length field of capabilities for sanity, and use the length
field to step to the next capability rather than hardwiring in 8.
In the top-level tree item for a capability element, show the type of
element.
Use the correct offsets when putting stuff into the subtree for a
capability element.
Dissect the values of unknown capabilities as opaque arrays of bytes,
not as 4-byte integers.
svn path=/trunk/; revision=3816
(currently) available on-line.
Updates from Simharajan Srishylam to:
interpret WCCPv2 in the version field;
handle multiple forwarding methods, assignment methods, or
packet return methods being enabled;
treat unknown messages as WCCPv2 messages, and attempt to
dissect the fields common to all v2 messages.
Note that multiple forwarding/assignment/packet return methods should
really be handled as Boolean bitfields.
Fix some signed vs. unsigned comparison issues.
svn path=/trunk/; revision=3815
Improve Template and Description for Attribute delegation code
_get_xxx_at() should only be called for Reply with NO_EXCEPTION
_set_xxx_at() should only be called for Request
svn path=/trunk/; revision=3813
"last_data_descrip" fields of an "smb_request_val" structure to null
when you allocate it, so that, when the hash table is cleaned out, we
don't try handing random junk to "g_free()".
svn path=/trunk/; revision=3811
as the MID and the conversation index; the current CIFS spec from the SNIA
Web site says
The multiplex ID (Mid) is used along with the Pid to allow
multiplexing the single client and server connection among the
client's multiple processes, threads, and requests per thread.
Clients may have many outstanding requests (up to the negotiated
number, MaxMpxCount) at one time. Servers MAY respond to
requests in any order, but a response message MUST always
contain the same Mid and Pid values as the corresponding request
message. The client MUST NOT have multiple outstanding requests
to a server with the same Mid and Pid.
(although, in practice, at least as I remember from working on the
NetApp CIFS server N years ago, Windows clients tend to use the same PID
in all requests, so only the MID acts as a transaction ID).
When initializing the dissector, free up all the data attached to
"smb_request_val" structures in the request hash table before destroying
the hash table and the structures in question.
svn path=/trunk/; revision=3809
Show the parameters, data, and padding in transact/transact2 SMBs as
hex, not text; it's usually binary.
"dissect_transact_params()" returns immediately if TransactName is null,
so we don't need to check whether it's null when copying it; just use
"g_strdup()" to copy it.
svn path=/trunk/; revision=3808
packet; this is far from a complete set of checks - the right way to
make this dissector safe is to tvbuffify it - but it's sufficient to
eliminate most cases where my regression tests bogusly reported that the
packet was dissected differently due to different stuff being past the
end of the packet.
svn path=/trunk/; revision=3807
fractions-of-a-second (the units of which are either milliseconds or
microseconds, specified by a Boolean argument), and formats it into a
"DD days, HH hours, MM minutes, SS seconds" using a buffer supplied to
it. Have "time_secs_to_str()" and "time_msecs_to_str()" both use it.
Also, have it correctly handle the case of SS being > 0 but < 1 (which
"time_msecs_to_str()" didn't do).
Rename "rel_time_to_str()" to "rel_time_to_secs_str()", and add a
"rel_time_to_str()" routine that takes a "struct timeval" and hands its
seconds and microseconds values to "time_secs_to_str_buf()". Use
"rel_time_to_secs_str()" to format FT_RELATIVE_TIME values for now; we
might want to use "rel_time_to_str()" for them, though, or make it an
option (either a user option, or a per-field option, using the field
that also holds BASE_ values).
svn path=/trunk/; revision=3806
an older version of the protocol than the one for packets sent to
\MAILSLOT\BROWSE), rather than being LANMAN pipe packets.
svn path=/trunk/; revision=3803
Update Makefile.am and Makefile.nmake files to build it (although it's
not currently built by default; you have to do "make idl2eth.1" on UNIX,
and something similar on Windows.
Put a full copyright notice into "doc/Makefile.nmake", along with a
comment explaining why stuff depends on "../config.h". Also, add
"clean" rules to it to get rid of generated files for mergecap and
text2pcap documentation.
svn path=/trunk/; revision=3801
draft-ietf-aaa-diameter-07. His changenotes:
Changes:
o Flags are now done properly. (I changed it to dissect
them like packet-tcp.c does)
o Completely re-did the dictionary. I think it is much
more maintainable now. And, it is no longer dynamically
generated.
o Added some lookup routines to work with new dictionary.
o Removed lots of old lookup stuff that had been cloned
from packet-radius.c. It's much cleaner now.
svn path=/trunk/; revision=3799
(including the terminating null byte) of a null-terminated string; it
includes the terminating null in the count, and throws an exception if
the string goes past the end of the tvbuff, so we don't have to do
either of those ourselves.
svn path=/trunk/; revision=3797
- Add support for CORBA attributes
- Add support for included files, not just main file
- Fix sequence variable name generation.
- Add support functions for code warnings etc.
i.e.: TODO and WARNING functions, to highlight
if we don't [yet] support a particular CORBA type.
svn path=/trunk/; revision=3795
Defect number: 0011
Date: Jul 26 2001
Releases of Kazlib affected: 1.10 through 1.19
Status: Fixed in 1.20
Modules affected: except.c
Description: Members of the except_t structure needed to be declared
volatile because the structure is automatically allocated in the
except macro, modified after a setjmp() takes place, and accessed
after control returns via longjmp.
Solution: Upgrade to 1.20 or backpatch the fix.
svn path=/trunk/; revision=3793
"--with-pcap", it adds the "include" subdirectory of that directory to
the list of directories to search for include files, rather than adding
the directory itself.
Check whether libpcap defines "pcap_version", and define
HAVE_PCAP_VERSION if it does. Use "pcap_version" iff HAVE_PCAP_VERSION
is defined, rather than special-casing MacOS X.
Don't #define a string for the WinPcap version; just leave
HAVE_PCAP_VERSION undefined on Windows, as WinPcap 2.2beta is out, so we
can no longer assume that the Windows version of Ethereal is using
WinPcap 2.1.
svn path=/trunk/; revision=3792
plugins. (This means that "--with-plugins" with no argument is useless
- if GLib supports loadable modules, plugins are enabled by default, and
if GLib doesn't support loadable modules, plugins can't be enabled - but
with an argument, it lets you specify a different directory into which
to put plugins.)
svn path=/trunk/; revision=3791
disabled, so that the code that passes it to a subroutine compiles (the
subroutine doesn't use that argument if plugin support is disabled - and
shouldn't do so).
svn path=/trunk/; revision=3790
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
with both source and destination addresses - one instance with the
source address, and one instance with the destination address - to allow
display filtering that checks both the source and destination address
against a single value (as the other 802.x dissectors, and the FDDI
dissector, do).
svn path=/trunk/; revision=3785
Throw a very small caltrop in the way of spam-harvesters, by replacing
"@" in e-mail addresses in the AUTHORS file and Ethereal man page with
"[AT]" (although I wouldn't be surprised to find that some of those
harvesters already know about that trick and "fix" those addresses so
you, too, can receive Valuable Information about Viagra, can-fail
Internet investment opportunities and stuff-envelopes-at-home jobs, and
cable descramblers).
Add a couple of items from the AUTHORS file to the Ethereal man page.
svn path=/trunk/; revision=3781
generate such a list from the list of column format information and hand
the resulting list to "put_string_list()" when writing out the preference.
svn path=/trunk/; revision=3779
the format of string lists in a preferences file; rename it to
"put_string_list()", make it take the list as an argument rather than
working only on "prefs.col_list", and put it in "prefs.c".
svn path=/trunk/; revision=3776
in preference settings.
In the process of doing that, fix a memory leak (we were handing a null
pointer, rather than a pointer to the list of strings in
"column.format", to "clear_string_list()").
svn path=/trunk/; revision=3775
determined by the code in "prefs.c", so arguably
"col_format_to_pref_str()" belongs there.
Put in a comment noting that said format includes support for escaping
quotation marks in quoted strings, and that we should handle that.
svn path=/trunk/; revision=3774
to be quoted.
Correctly handle backslash-quoting in string lists.
Return an error if the "get_string_list()" indicates that
"column.format" string list is syntactically invalid or if it doesn't
contain an even number of entries.
svn path=/trunk/; revision=3773