Ethereal-dev: Re: [ethereal-dev] Re: Adding NetInfo (ONC RPC proto) support to ethereal
> What is the protocol to follow to get patches incorporated into
> Ethereal?
Post the diffs and wait for somebody to commit them.
> ***************
> *** 836,848 ****
> conversation = find_conversation(&null_address, &pi.dst,
> pi.ptype, pi.srcport, pi.destport);
> if (conversation == NULL) {
> - conversation = find_conversation(&null_address,
> - &pi.dst, pi.ptype, 111, pi.destport);
> /* We haven't seen an RPC call for that conversation,
> so we can't check for a reply to that call. */
> ! if (conversation == NULL) {
> ! return FALSE;
> ! }
> }
>
> /* The XIDs of the call and reply must match. */
> --- 836,844 ----
> conversation = find_conversation(&null_address, &pi.dst,
> pi.ptype, pi.srcport, pi.destport);
> if (conversation == NULL) {
> /* We haven't seen an RPC call for that conversation,
> so we can't check for a reply to that call. */
> ! return FALSE;
> }
>
> /* The XIDs of the call and reply must match. */
Yes, port 111 is the well-known port for the portmapper under TCP and
UDP, but is there a way of doing this without wiring that in? (ONC RPC
can run atop other transports, although I don't know how often it's run
over, say, the OSI transport protocols.)
> ***************
> *** 67,322 ****
>
> static struct true_false_string yesno = { "Yes", "No" };
>
> - /* Stolen from packet-rpc.c:dissect_rpc_uint32() */
> - int
> - dissect_rpc_guint32_val(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, char* name, char* type, guint32 * val)
> - {
> - guint32 value;
> -
> - if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
> - value = EXTRACT_UINT(pd, offset+0);
> -
> - if (tree && name) {
> - proto_tree_add_text(tree, offset, 4,
> - "%s: %u", name, value);
> - }
> -
> - offset += 4;
> - *val = value;
> - return offset;
> - }
Hmm. It's a bit ugly to have a copy of "dissect_rpc_uint32()" here;
perhaps "dissect_rpc_guint32_val()" should be moved to "packet-rpc.c",
and "dissect_rpc_uint32()" made a wrapper around it that throws away the
value? Uwe?