Wireshark-bugs: [Wireshark-bugs] [Bug 3892] New: Fix for MIOP dissector for GIOP < 1.2
Date: Thu, 13 Aug 2009 03:21:38 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3892

           Summary: Fix for MIOP dissector for GIOP < 1.2
           Product: Wireshark
           Version: SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: steve@xxxxxxxxxxxxx


Build Information:
TShark 1.3.0 (SVN Rev 29392 from /trunk)

Copyright 1998-2009 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled with GLib 2.16.6, with libpcap 0.9.8, with libz 1.2.3.3, without POSIX
capabilities, without libpcre, without SMI, without c-ares, without ADNS,
without Lua, without Python, with GnuTLS 2.4.2, with Gcrypt 1.4.1, without
Kerberos, without GeoIP.
NOTE: this build doesn't support the "matches" operator for Wireshark filter
syntax.

Running on Linux 2.6.26-2-amd64, with libpcap version 0.9.8, GnuTLS 2.4.2,
Gcrypt 1.4.1.

Built using gcc 4.3.2.

--
For GIOP 1.2 MIOP used the request header TargetAddress union type to
encode it's profile as an address of type ProfileAddr. From the IDL:

  union TargetAddress switch (AddressingDisposition) {
  case KeyAddr: sequence <octet> object_key;
  case ProfileAddr: IOP::TaggedProfile profile;
  case ReferenceAddr: IORAddressingInfo ior;
  };

  struct RequestHeader_1_2 {
    unsigned long request_id;
    octet response_flags;
    octet reserved[3];
    TargetAddress target;
    string operation;
    // Principal not in GIOP 1.2
    IOP::ServiceContextList service_context; // 1.2 change
  };

However prior to GIOP 1.2 TargetAddress was not supported so MIOP profiles are
encoded where an object_key is normally expected, prefixed by the magic byte
sequence of 'MIOP'. From the IDL:

  struct RequestHeader_1_1 {
    IOP::ServiceContextList service_context;
    unsigned long request_id;
    boolean response_expected;
    octet reserved[3]; // Added in GIOP 1.1
    sequence <octet> object_key;
    string operation;
    CORBA::Principal requesting_principal;
  };

The patch adds decoding for MIOP profiles encoded in this way.


-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.