[Ace-users] NamingService behind proxy not working as expected

Manuel Castro castro.manuel at gmail.com
Tue Feb 12 04:10:53 CST 2008


Hi,
 we've got a problem with a NamingService accessed from an external
client. I'm sure it's not a TAO bug, but a misconfiguration of ours.
We bought the "TAO Developer's Guide 1.4a", but we couldn't find the
solution.
Any help will be welcome.
Thanks in advance.
Manuel Castro

   TAO VERSION: 1.5
    ACE VERSION: 5.5

    HOST MACHINE and OPERATING SYSTEM: Windows2003 Server SP2

    TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
WindowsXP Prof.2002 SP2
    COMPILER NAME AND VERSION (AND PATCHLEVEL): VC++2005 8.0.50727.762
(SP.050727-7600)

    THE $ACE_ROOT/ace/config.h FILE
    #include "ace/config-win32.h"
    #define ACE_HAS_VERSIONED_NAMESPACE 0
    #define ACE_HAS_STANDARD_CPP_LIBRARY 1
    #define ACE_MUST_HELP_DLOPEN_SEARCH_PATH 1


    AREA/CLASS/EXAMPLE AFFECTED: NamingService

    DOES THE PROBLEM AFFECT:
        COMPILATION? No
        LINKING? No
        EXECUTION? Yes, TAO
        OTHER (please specify)?

    SYNOPSIS:
    Host name supplied in IORs is not always the expected one

    DESCRIPTION:
    A CORBA client application connects from outside of our network.
    NamingService is running as a service, at machine 1.2.3.4 with the
following registry entry for "TaoNamingServiceOptions" key:
    -m 0 -ORBListenEndpoints iiop://external.domain.es:15000/portspan=299&hostname_in_ior=external.domain.es
    All traffic to external.domain.es is redirected to machine
1.2.3.4.
    Wireshark is sniffing at 1.2.3.4 host.
    When client application connects, and sniffing GIOP protocolo, we
get a first response:
    IOR::type_id: IDL:omg.org/CosNaming/NamingContextExt:1.0
    IIOP::Profile_host: external.domain.es
    IIOP::Profile_port: 15000
    This is ok.
    Then client application asks for MinDevControl_Factory proxy, but
the response includes the following:
    IOR::type_id: IDL:MinVClient/MinDevControl_Factory:1.0
    IIOP::Profile_host: 1.2.3.4
    IIOP::Profile_port: 15600

    So the client can't connect to 1.2.3.4 since it's an internal IP.
    We thing the response should include something like:
    IOR::type_id: IDL:MinVClient/MinDevControl_Factory:1.0
    IIOP::Profile_host: external.domain.es
    IIOP::Profile_port: 15600

    REPEAT BY:

    SAMPLE FIX/WORKAROUND:
      No workaround so far.


More information about the Ace-users mailing list