[ 
https://issues.apache.org/jira/browse/PROTON-363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated PROTON-363:
-------------------------------
    Labels: windows  (was: )

> recv.exe fails on Windows XP because getnameinfo returns WSANO_DATA / error 
> 11004
> ---------------------------------------------------------------------------------
>
>                 Key: PROTON-363
>                 URL: https://issues.apache.org/jira/browse/PROTON-363
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.5
>         Environment: Windows XP, Visual Studio 2010
>            Reporter: Jakub Scholz
>              Labels: windows
>
> I build the proton-c library on Windows XP using Visual Studio 10. 
> Afterwards, when trying to run the recv.exe and send.exe examples, the 
> recv.exe always fails with:
> > recv.exe amqp://~0.0.0.0:5672
> getnameinfo: The requested name is valid and was found in the database, but 
> it does not have the correct associated data being resolved for.
> It doesn't fail immediately after start but only when I attempt to connect 
> with send.exe. As a result, the Proton seems to be pretty much not working on 
> my machine.
> ---
> The error seems to originate from the function pn_listener_accept in driver.c 
> and it translates to WSANO_DATA error / error 11004. I did some digging 
> around and playing with the getnameinfo function and it seems to me, that the 
> problem is that the getnameinfo function is unable to recognize the service 
> name based on the port number. And - according to MSDN 
> (http://msdn.microsoft.com/en-us/library/windows/desktop/ms738532(v=vs.85).aspx)
>  - that on Windows Server 2003 and earlier results in error (on Windows Vista 
> and later this works fine).
> If I add a flag NI_NUMERICSERV to the getnameinfo call: 
> code = getnameinfo((struct sockaddr *) &addr, addrlen, host, 1024, serv, 64, 
> NI_NUMERICSERV)
> it will not return an error but return success and use the port number as a 
> service name. And with this change the recv.exe starts working fine.
> However, adding this flag will on Windows Vista and higher and in Linux 
> probably result in the service name being always returned as a port number 
> and not as a name. So I'm not sure it is desired to add this flag on all 
> platforms. 
> Regards
> Jakub



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to