This is the mail archive of the
mailing list for the Cygwin project.
RE: Portmap RPC registration fails
- From: "Ken" <ken at sixtus dot plus dot com>
- To: <cygwin at cygwin dot com>
- Date: Tue, 8 May 2012 22:41:01 +0100
- Subject: RE: Portmap RPC registration fails
| I have sunrpc 4.0-4 and libtirpc-devel 0.2.1-1. I'm using Windows 7 SP1.
| I compiled and linked the following outline code against tirpc:
| #define PROG 0x1fffffffL
| #define VERS 0x2L
| struct netconfig *nconf = getnetconfigent("tcp");
| static void dispatch_func(struct svc_req *request, SVCXPRT *xprt)
| svc_handle = svc_tli_create(RPC_ANYFD, nconf, NULL, 0, 0);
| if (svc_reg(svc_handle, PROG, VERS, dispatch_func, nconf) == 0)
| I ran portmap then tried to register with it using the above code.
| However, I get back a zero response from svc_reg indicating failure to
| This isn't due to my firewall as turning this off doesn't help. I've also
| tried disabling all my network adapters in turn. There's nothing in the
| portmap log. The CygWin NFS server works OK with the portmapper. No other
| portmapper is running. rpcinfo gives:
| 100000 2 tcp 111
| 100000 2 udp 111
Further to this post... With a struggle I built libtirpc.a and traced
execution. Ultimately this is failing in clnt_vc.c. The following call in
connect(fd, (struct sockaddr *)raddr->buf, raddr->len)
supplies an IPV6 address with hex values:
006F 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 3300
The codes's own diagnostics report:
Got ua [::1.0.111]
netbuf len = 28, maxlen = 28
Address is 188.8.131.52.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.0.
rpcbind clnt interface: RPC: Remote system error - Connection refused
The above doesn't look like a plausible IPV6 address. I have IPV6 enabled on
my network adapter. Is it possible that portmap isn't compatible with IPV6?
That would explain why older code (such as CygWin NFS Server - IPV4) is able
to register with portmap.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple