Ethereal-dev: Re: [ethereal-dev] ISAKMP/IKE protocol dumps

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Mon, 29 Nov 1999 18:44:04 -0800
> -static void dissect_transform(const u_char *, int, frame_data *, proto_tree *);
> +static void dissect_transform(const u_char *, int, frame_data *, proto_tree *,
> +		guint8);

"dissect_transform()" is also called from "dissect_isakmp()", through a
pointer in the "strfuncs[]" array:

    if (hdr->next_payload < NUM_LOAD_TYPES)
      (*strfuncs[hdr->next_payload].func)(pd, offset, fd, isakmp_tree);
    else
      dissect_data(pd, offset, fd, isakmp_tree);

Those pointers are all to functions that take, as arguments:

	const u_char *

	int

	frame_data *

	proto_tree *

so the call in question will *not* pass the new "protocol_id" argument.

"dissect_transform()" always uses the "protocol_id" argument; what value
should be passed to it in that situation?