Commit graph

540 commits

Author SHA1 Message Date
Ronnie Sahlberg
748784dc6b Export AuthorityInfoAccessSyntax from pkix1implicit
svn path=/trunk/; revision=12616
2004-11-29 07:57:19 +00:00
Anders Broman
d607cdb1e4 From LEGO if Mate is pressent call it.
svn path=/trunk/; revision=12615
2004-11-28 20:52:52 +00:00
Anders Broman
d7f54a23e8 Bugfixes- handle zero length bytecode, handle end-off-message with implied parameters(udvm initialised to zero).
svn path=/trunk/; revision=12614
2004-11-28 19:41:17 +00:00
Ronnie Sahlberg
43f6f484ac new protocol : RFC3820 PKIXProxy
svn path=/trunk/; revision=12610
2004-11-28 04:26:27 +00:00
Gerald Combs
a0ad7be1d1 The recent length check added to proto_tree_add_string() revealed a
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-11-28 04:21:30 +00:00
Ronnie Sahlberg
a95e6e0407 it appears that a SES_REFUSE spdu actually contains a CMIP-A-ASSOCIATE and not a CMIP-A-ABORT
svn path=/trunk/; revision=12608
2004-11-27 00:11:52 +00:00
Ronnie Sahlberg
c0e68bf50c prettify the printing of the octet_format field which is really just a BCD
svn path=/trunk/; revision=12607
2004-11-26 23:14:30 +00:00
Ronnie Sahlberg
c4b39a818f New protocol: RFC3709 LogotypeCertificateExtensions
svn path=/trunk/; revision=12606
2004-11-26 00:56:22 +00:00
Ronnie Sahlberg
222ba89923 update dissection of unknown blobs to try to dissect even more stuff.
svn path=/trunk/; revision=12605
2004-11-25 22:27:52 +00:00
Ronnie Sahlberg
43045f122d updates to prettify a bit when attempting to dissect an unknown blob
svn path=/trunk/; revision=12604
2004-11-25 21:30:38 +00:00
Ronnie Sahlberg
d10fa2e070 try to print an IPAddress as an ip address and not as a 4 byte octet string
svn path=/trunk/; revision=12603
2004-11-25 21:00:17 +00:00
Ronnie Sahlberg
9d81458421 from Stig: change the draft number for NAT-D
svn path=/trunk/; revision=12602
2004-11-25 20:44:17 +00:00
Ronnie Sahlberg
311c02124c From Giles Scott : updates to packet-nt-sonmp.c
svn path=/trunk/; revision=12601
2004-11-25 20:38:10 +00:00
Ronnie Sahlberg
776ca2b654 From LEGO: make the request id and operation filterable
svn path=/trunk/; revision=12599
2004-11-24 21:26:52 +00:00
Anders Broman
a8487d1bc3 add some 3gpp2 AVP:s to packet-radius.c and use "vendor" table packet-3g-a11.c
svn path=/trunk/; revision=12595
2004-11-24 12:25:37 +00:00
Guy Harris
7c3027c5e9 Export two versions of the Ethereal dissector, for use with encapsulated
Ethernet frames, one for encapsulated frames that include an FCS and one
for encapsulated frames that don't include an FCS.  Use the appropriate
versions.

In the ISL dissector, do the same sort of processing we do in the
Ethernet dissector to figure out whether the frame has a trailer or not
and whether it has an FCS or not.

svn path=/trunk/; revision=12593
2004-11-24 09:13:52 +00:00
Guy Harris
b3b1679a57 Fix some typoes.
svn path=/trunk/; revision=12592
2004-11-24 09:00:23 +00:00
Guy Harris
ad2583dcd9 Only interpret a frame as an FW1 header if it looks like one, as per a
patch from Yaniv Kaul.

svn path=/trunk/; revision=12590
2004-11-24 06:04:43 +00:00
Guy Harris
f0bb45622b From Yaniv Kaul: the authentication token might be NTLMSSP or it might
be GSS-API.

svn path=/trunk/; revision=12589
2004-11-24 04:14:56 +00:00
Guy Harris
8747b8e544 From Lane Hu: add support for more IPMI commands.
svn path=/trunk/; revision=12588
2004-11-24 03:54:40 +00:00
Guy Harris
ff3efbb9ff From Francisco Alcoba: handle RTP over IPv6.
svn path=/trunk/; revision=12586
2004-11-24 03:18:30 +00:00
Guy Harris
b0993663a1 From Jeff Morriss: SSCOP over UDP and SSCF-NNI support.
svn path=/trunk/; revision=12585
2004-11-24 02:59:49 +00:00
Guy Harris
eb0a24bbad Updates from Erwin Rol.
svn path=/trunk/; revision=12584
2004-11-24 02:36:14 +00:00
Anders Broman
cacec2985d Make it possible to fileter on partial_state create and access.
svn path=/trunk/; revision=12583
2004-11-23 22:03:28 +00:00
Anders Broman
c45f9fee60 Fix some memmory leaks
svn path=/trunk/; revision=12580
2004-11-22 22:19:03 +00:00
Guy Harris
077423bc83 Get rid of an unused variable.
svn path=/trunk/; revision=12577
2004-11-22 10:26:45 +00:00
Guy Harris
dabae881cd From Yaniv Kaul: increment the offset pointer *after* you use it to put
into the protocol tree the field you're incrementing past.

Update a comment.

svn path=/trunk/; revision=12576
2004-11-22 08:23:00 +00:00
Guy Harris
696a6dce64 Fix a spelling error.
svn path=/trunk/; revision=12575
2004-11-22 08:12:42 +00:00
Guy Harris
0271280470 Put the value of the length field in a variable-length token, not the
length of the token, into the protocol tree as the length value.

svn path=/trunk/; revision=12574
2004-11-22 08:11:31 +00:00
Ronnie Sahlberg
f102c20151 New protocol: RFC2634 ExtendedSecurityServices
updates to cms to accomodate the new protocol

add author to some files


svn path=/trunk/; revision=12573
2004-11-22 03:36:26 +00:00
Guy Harris
117d9d7ee4 Tag the compression protocol item as such.
The compression option isn't just the compression protocol, it can
include options for the protocol, so name the ett_ variable for its tree
appropriately.

svn path=/trunk/; revision=12572
2004-11-22 02:12:43 +00:00
Guy Harris
2f72f30630 In code that checks whether to accept a packet, first check to make sure
the data being checked exists.

svn path=/trunk/; revision=12571
2004-11-22 01:58:21 +00:00
Ronnie Sahlberg
f833c77dff cmip update add all remaining functions Arguments and Results
svn path=/trunk/; revision=12570
2004-11-21 23:25:04 +00:00
Guy Harris
6ec445bfe4 Set the length of the tvbuff to be handed to the subdissector
appropriately (minimum of reported length and length of data left
in the parent).

svn path=/trunk/; revision=12569
2004-11-21 23:02:36 +00:00
Guy Harris
4956f5fba1 From Bill Meier:
1. Add Preferences:

   a. To allow specification of a hint as to TDS protocol being decoded 
      (Unspecified/TDS4/TDS5/TDS7/TDS8); Default: 'unspecified'

      The 'hint' is used only when needed to do a correct decode.

      If the protocol is unspecified, the decode is as previous.

   b. To allow specification of 'ranges' of TCP ports to be treated as 
      'TDS tcp ports'; i.e. if the source or destination port of a tcp
      connection matches a specified range, then the connection should be
      considered to be TDS.

   c. To allow specification of a hint as to whether TDS being decoded is 
      'little-endian' or 'big-endian'. Default: 'little-endian'.

      A hint is just that; E.G. if TDS7+ packets are encountered the decode
      is always 'little-endian'.

2, Register tcp MS SQL default ports (1433, 2433) as TDS ports
   ('dissector_add'). This also enables TDS as a choice for 'decode as'.

3. 'netlib_check_login_pkt' changed to check 'TDS tcp port' range(s) as 
    entered in preferences;

4. Change 'dissect_tds_query_packet' to handle TDS4 ascii in addition to
   TDS7/8 UCS-16.

5. Change 'dissect_tds_rpc' to:

   a. handle TDS4 ascii RPC in addition to TDS7/8 UCS-16 RPC;
   b. handle Microsoft 'encoded' rpc_name;
   c. fix memory leak (not freeing memory obtained using
      'tvb_fake_unicode');

6. Change 'dissect_tds_response' to:

   a. handle tds4 tokens 'tds_col_name' and 'tds_col_info';
   b. dissect tokens 'tds_doneinproc' and tds 'doneproc' similarly to
      'tds_done'
   c. reclaim memory allocated for 'tds_col' structures when finished 
      processing response
           (Additional memory was being allocated each time a 
            tokenized tds5 response was processed)

7. New function 'dissect_tds_col_info_token' (similar to
   'read_results_tds5') associated with handling TDS4 responses.

8. New functions 'dissect_tds_query5_packet', 'dissect_tds5_lang_token'

9. Rework TDS token size calculation; Some TDS tokens have a length field
   of other than 2 bytes. (e.g.: the length field 
   for TDS_LANG_TOKEN is 4 bytes)

10. Update token definitions and usages;

   a. Update based upon info from current version of FreeTDS 'tds.h' 
      as well as info from Sybase TDS5 document;
      example: TDS_124_TOKEN renamed to TDS_PROCID_TOKEN

   b. TDS_124_TOKEN [TDS_PROCID] was incorrectly not considered 
      a 'fixed-size' token in function 'tds_is_fixed_token'

svn path=/trunk/; revision=12566
2004-11-21 22:03:33 +00:00
Anders Broman
81a790ca83 If message for SIP port starts with F8 it's a SIGCOMP message - decode it.
svn path=/trunk/; revision=12565
2004-11-21 21:47:51 +00:00
Ronnie Sahlberg
7bd55170ac update to cmip
add functions  m-action and m-action-confirmed


svn path=/trunk/; revision=12564
2004-11-21 21:29:10 +00:00
Guy Harris
acc3b28324 From Yaniv Kaul: yet *another* place where an NTLMSSP rather than GSSAPI
blob can appear.

svn path=/trunk/; revision=12563
2004-11-21 21:23:30 +00:00
Guy Harris
aada868cd8 From Shingo Horisawa:
add the "unknown sequence number" flag;

	fix dissection of unreachable destinations in RERR messages;

	fix prefix size in draft-perkins-manet-aodv6-01 RREP
	messages to be 7 bits, not 5 bits;

	put the message dissection under the top-level AODV tree rather
	than at the top level;

	fix labeling of source IPv6 address in RREP messages.

Update the comments at the beginning (AODV is now RFC 3561), and note
that RFC 3561 says that, for IPv6, the only change is that the address
fields are enlarged.

Rename RREQ_DEST and RREQ_GRAT to more fully indicate what they are.

Fix the name of the draft in the description of the
draft-perkins-manet-aodv6-01 messages.

Fix description of Gratuitous RREP flag in RREQ messages.

svn path=/trunk/; revision=12562
2004-11-21 21:05:16 +00:00
Ronnie Sahlberg
dc7aaa104b add a new oid
svn path=/trunk/; revision=12560
2004-11-21 11:12:20 +00:00
Ronnie Sahlberg
c47d1f0aa6 with the autogenerated export conformance files we need a small change to packet-ber.c
asn2eth  generates exports for CHOICE as of BER_CLASS_UNI  while the handgenerated ones specified the calss as BER_CLASS_ANY.

make dissect_ber_sequence()  look at the tag as well and if -1 its a wildcard and anything goes.



svn path=/trunk/; revision=12559
2004-11-21 10:34:08 +00:00
Ronnie Sahlberg
00e3474dec cleanup for x509af
svn path=/trunk/; revision=12558
2004-11-21 10:16:06 +00:00
Ronnie Sahlberg
dab0c0fa2c cleanup for x509ce
svn path=/trunk/; revision=12557
2004-11-21 10:00:40 +00:00
Ronnie Sahlberg
b48e26b8df SelectedAttributeTypes are now almost completely implemented also here i added a small makefile to reduce boring typing on the commandline
svn path=/trunk/; revision=12556
2004-11-21 08:56:09 +00:00
Ronnie Sahlberg
8b9b044698 update to x509if autogenerate the exports conformance file and create a small makefile since i am tired of typing that long command line every time
svn path=/trunk/; revision=12555
2004-11-21 08:22:21 +00:00
Ronnie Sahlberg
e097f046b5 From Yaniv Kaul : New Protocol: X509 Certificates over HTTP
svn path=/trunk/; revision=12554
2004-11-21 07:21:17 +00:00
Ronnie Sahlberg
7119af2815 Add a whole bunch of dissector to X509IF and export them.
X509if is now almost complete.



svn path=/trunk/; revision=12553
2004-11-21 06:40:02 +00:00
Ronnie Sahlberg
2c25e3c6f6 add dissection of AuthorityInfoAccessSyntax
svn path=/trunk/; revision=12552
2004-11-21 05:21:26 +00:00
Guy Harris
2ad42a55fc From Bart Braem: add support for the "destination only" flag.
svn path=/trunk/; revision=12551
2004-11-21 03:21:02 +00:00
Ronnie Sahlberg
ed107b8938 add the oids for id-kp-xxx key purpose identifier to the pkix dissector
svn path=/trunk/; revision=12549
2004-11-20 21:26:08 +00:00
Ronnie Sahlberg
649398d952 get rid of some compiler warnings
svn path=/trunk/; revision=12548
2004-11-20 07:11:08 +00:00
Ronnie Sahlberg
e216cc55f3 updates to sat to make the template smaller.
svn path=/trunk/; revision=12546
2004-11-20 06:54:45 +00:00
Ronnie Sahlberg
a6d6309361 ean up SAT a bit remove the unneccesary implementation of DirectoryStr4ing in the template and make the export of it correct.
svn path=/trunk/; revision=12545
2004-11-20 05:58:13 +00:00
Ronnie Sahlberg
2ba488f839 When we have a BER blob but we dont have the dissector for that oid implemented in ethereal (yet),
call a new function to start dissecting what unknown fields we can dissect.

Currently only PrintableString and INTEGER implemented but it will be easy to add other BER Universal types as needed later



svn path=/trunk/; revision=12544
2004-11-18 10:46:27 +00:00
Guy Harris
105c252b03 Don't create a dissector handle that we don't use.
svn path=/trunk/; revision=12543
2004-11-18 03:35:43 +00:00
Guy Harris
f6024ff41e Don't set a string pointer to point to a constant string if that pointer
will later be handed to a free-memory routine - g_strdup() the constant
string.

svn path=/trunk/; revision=12542
2004-11-17 20:09:11 +00:00
Anders Broman
7e6f597dd5 From Martin Regner add the possibillity to disscet BICC over SCTP
svn path=/trunk/; revision=12539
2004-11-17 19:33:31 +00:00
Guy Harris
745937933a Add IPv6 address<->name mappings for AAAA records.
svn path=/trunk/; revision=12538
2004-11-17 10:03:14 +00:00
Guy Harris
366ff47474 Rename some routines and structures to reflect that they're specific to
IPv4; use different data structures for port numbers.

svn path=/trunk/; revision=12536
2004-11-17 08:53:20 +00:00
Ronnie Sahlberg
bd1a1e3ae1 New protocol : SMRSE ShortMessageRelayService
svn path=/trunk/; revision=12535
2004-11-17 08:42:31 +00:00
Gerald Combs
75ce5ae404 Fix a cut/paste error.
svn path=/trunk/; revision=12533
2004-11-16 23:29:09 +00:00
Anders Broman
ffdb8be766 Implemented state-create, handling of g_hash_table at redesection needs more work.
svn path=/trunk/; revision=12532
2004-11-16 22:15:58 +00:00
Anders Broman
9d981ba8b9 Add some more OID string translations
svn path=/trunk/; revision=12529
2004-11-15 19:06:10 +00:00
Ronnie Sahlberg
e7b85d2760 New protocol PKIXQualified from RFC3739
svn path=/trunk/; revision=12528
2004-11-14 09:50:24 +00:00
Ronnie Sahlberg
e7082f5194 Since we can now handle SEQUENCE OF ANY uncomment this "difficult" field from
the Attribute SEQUENCE to make it more complete.



svn path=/trunk/; revision=12527
2004-11-14 09:48:11 +00:00
Ronnie Sahlberg
27df480915 make SEQUENCE OF understand a sequence of ANY
svn path=/trunk/; revision=12526
2004-11-14 09:45:04 +00:00
Ronnie Sahlberg
4222121cc6 export GeneralName from X509CE
svn path=/trunk/; revision=12525
2004-11-14 08:51:49 +00:00
Ronnie Sahlberg
20697638ac make octet string also allow for utf8strings
svn path=/trunk/; revision=12524
2004-11-14 08:50:37 +00:00
Ronnie Sahlberg
9f9a03119c theis is the actual dissector for the new protocol : CMIP
svn path=/trunk/; revision=12523
2004-11-14 06:13:15 +00:00
Ronnie Sahlberg
9c965a4c07 various changes in the generated dissectors after asn2eth was patched.
i think it is high time to put makefiles down in asn1/   since this autogenerating dissectors "experiment" have payed off so well   and it actual;ly works!


i dont know anything about how autogen stuff works  :-(




svn path=/trunk/; revision=12522
2004-11-14 05:15:09 +00:00
Ronnie Sahlberg
ede6ed2e8e New protocol for the telco people to play with : CMIP
Only one function is implemented so fat   M-Get   but it would be trivial to add all the missing ones once there are example captures.



svn path=/trunk/; revision=12521
2004-11-14 05:12:49 +00:00
Ronnie Sahlberg
bb0cf08d8c Major update of the ber helpers to fix a lot of bugs and make the handling of implicit_tags more sane.
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
2004-11-14 05:10:44 +00:00
Ronnie Sahlberg
2e13664c4b add new integer dissector helper that is aware of implicit tags
svn path=/trunk/; revision=12519
2004-11-13 14:16:06 +00:00
Ronnie Sahlberg
a638e3681b fix bug in handling an optional item
svn path=/trunk/; revision=12518
2004-11-13 10:06:15 +00:00
Guy Harris
9ffe5f9243 Get rid of an unused prameter and an unused variable.
Use %u, not %d, for unsigned variables.

svn path=/trunk/; revision=12517
2004-11-12 23:14:49 +00:00
Ronnie Sahlberg
1d85091b92 By popular request,
make ethereal be able to measure the time it took to transfer a PDU atop TCP.

This is great for analyzing performance issues caused by network/frame loss/congestion.


See  http://wiki.ethereal.com/TcpPduTime


svn path=/trunk/; revision=12516
2004-11-12 22:04:19 +00:00
Guy Harris
0284f4d4f5 From Ignacio Goyret: decode RFC 2509 and RFC 3544 IPCP options.
Fix up the AUTHORS file.

svn path=/trunk/; revision=12514
2004-11-12 10:17:13 +00:00
Guy Harris
5289391300 From Mark Phillips: optionally support decoding the payload of ESP
packets using null encryption (with a heuristic to detect null
encryption).

svn path=/trunk/; revision=12513
2004-11-12 10:03:53 +00:00
Guy Harris
f7042f6a52 From Yuriy Sidelnikov: remove some unused value_string tables, and fix
typos in other tables.

svn path=/trunk/; revision=12512
2004-11-12 09:56:12 +00:00
Guy Harris
8c53b99707 For dynamic DNS updates, give the counts in the message the appropriate
names.

For RRs with a data length of 0 - as can appear in dynamic DNS updates -
don't attempt to display the data.

svn path=/trunk/; revision=12511
2004-11-12 09:46:31 +00:00
Anders Broman
384cbd6977 From Nils Ohlmeier : patch for packet-sip.c which looks if the
Contact header in the REGISTER reply contains more then one binding.  
Details: up to now each Contact header was counted as one binding. But that 
is not correct, because several Contact headers (as several other SIP headers 
as well) can be written in one line separated by commatas.

svn path=/trunk/; revision=12507
2004-11-10 22:15:58 +00:00
Guy Harris
bcaceaf20e From Rich Coe:
fix the heuristic code -- sometimes a conversation already
	    exists;
	fix the dissect code to display all the tags in the PDU.

svn path=/trunk/; revision=12504
2004-11-10 10:28:43 +00:00
Guy Harris
4b3a0e98a5 From Greg Morris:
support 6 additional login message verbs;

	correct a problem with displaying proper return code values in
	the reply packets.

Clean up white space.

Use "tvb_reported_length_remaining()" instead of
"tvb_length_remaining()", and don't use either one to avoid throwing an
exception on a short or malformed packet.

Use "val_to_str()" rather than "match_strval()", so we don't crash if a
value happens not to be valid.

svn path=/trunk/; revision=12503
2004-11-10 10:03:42 +00:00
Anders Broman
50ccc513e4 From Luis Ontanon: Use hf_isup_parameter_type insted of hf_isup_message_type.
svn path=/trunk/; revision=12499
2004-11-09 20:16:17 +00:00
Anders Broman
d885b845c4 Add some OID string names
svn path=/trunk/; revision=12497
2004-11-09 07:03:04 +00:00
Anders Broman
f1b5065273 Make it possible to print name of OID strings for PER coded OID:s as well.
svn path=/trunk/; revision=12496
2004-11-09 06:49:35 +00:00
Ronnie Sahlberg
d26b93eb56 export RDNSequence from x509if
svn path=/trunk/; revision=12494
2004-11-06 05:31:03 +00:00
Ronnie Sahlberg
eb3f657847 export DistinguishedName from x509if
svn path=/trunk/; revision=12493
2004-11-06 05:26:31 +00:00
Ronnie Sahlberg
ed1a11f34f make x509if use the new ANY type and get rid of the workaround
svn path=/trunk/; revision=12492
2004-11-06 02:13:38 +00:00
Ronnie Sahlberg
d1e31a5c20 make CMS use the new ANY type and get rid of the workaround
svn path=/trunk/; revision=12491
2004-11-06 02:06:55 +00:00
Ronnie Sahlberg
05cf6b7ced Make X509AF use the new support for ANY type and remove the workaround
svn path=/trunk/; revision=12490
2004-11-06 02:03:14 +00:00
Guy Harris
6e10679910 Move smb.trans2.cmd and smb.nt.function near the top of the hf[] array,
so they show up near the top of the list of fields in the dialog box for
adding a field to a filter - those are probably quite likely to be used
in filter expressions where you don't happen to remember the name of the
field, and those should show up at the top so you don't have to scroll
through the entire list of fields to find them.  (I suspect most other
fields either will rarely be filtered on at all, or would be filtered
only mainly with the "Match" or "Prepare" filter items, where you don't
need to know the name or even the text of the field.)

svn path=/trunk/; revision=12489
2004-11-05 21:39:31 +00:00
Guy Harris
019dc30543 Fix some typoes and clean up whitespace a bit.
svn path=/trunk/; revision=12487
2004-11-03 23:19:09 +00:00
Anders Broman
6dbef66b2d Added some value strings and started to add mobile-ip changes from latest draft.
svn path=/trunk/; revision=12486
2004-11-03 22:32:07 +00:00
Anders Broman
f4035c429a Add SIP headers from: http://www.ietf.org/internet-drafts/draft-ietf-sip-resource-priority-05.txt
svn path=/trunk/; revision=12485
2004-11-03 22:16:20 +00:00
Guy Harris
0384ceeeb6 Check for ISL frames before checking for ETHERTYPE_UNK, as ISL fields
might have 0 in what would be the Ethernet type field.

Also, handle the first 5 octets of the destination address of an ISL
frame being 0C-00-0C-00-00.

svn path=/trunk/; revision=12484
2004-11-03 20:20:45 +00:00
Guy Harris
2a12cdec29 Add a new URL for ISL information.
svn path=/trunk/; revision=12483
2004-11-03 20:18:30 +00:00
Guy Harris
dc5d1958a1 From Giles Scott: make the chunk size and data length unsigned so we
handle values > 2^31-1.

svn path=/trunk/; revision=12482
2004-11-03 20:01:53 +00:00
Guy Harris
d7c83086ff From Yuriy Sidelnikov:
take stuff that has to be done regardless of whether a protocol
	tree is being built outside "if (tree)";

	handle PDUs with both data and control units.

svn path=/trunk/; revision=12481
2004-11-03 19:52:24 +00:00
Guy Harris
92f52c4e1c From Yuriy Sidelnikov: take stuff that has to be done regardless of
whether a protocol tree is being built outside "if (tree)".

svn path=/trunk/; revision=12480
2004-11-03 19:46:09 +00:00