Conny,

you just saying that problem is in rpcbind? And this package is in
public domain repository? Do you intent to connect with developers to
make patch?

And last question - can I get patched rpcbind binary, please?

On 10 мар, 12:22, Conny Martin <conny.mar...@t-systems.com> wrote:
> Yes indeed, there is something strange.
>
> I've got the same issue. But I never realized the problem because I always 
> connect to arsystem using a tcp port regardless of the 
> "Register-With-Portmapper" setting.
>
> I digged through the sourcecode of rpcbind and found the problem. If a 
> process is trying to register with portmapper the ip and port information is 
> carried in a string. If the process trys to register a programm with tcpport 
> 3334 the string is "0.0.0.0.6.13"
>
> 0.0.0.0 is for the ip address
> 6.13 is for the port
>
> 13 -> 0x0d
> 6 -> 0x06
> 0x0d06 -> 3334
>
> The algo for computing the port from this string swapped the two bytes and 
> this leads to registering the wrong port.
>
> #ifdef PORTMAP
> /*
>  * Extract port from universal TCP/UDP address
>  */
> int
> uaddr2port(char *uaddr, u_long *p_port)
> {
>         char *pt1, *pt2;
>         int rc = -1;
>
>         if ((pt1 = strrchr(uaddr, '.')) != NULL) {
>                 *pt1++ = 0;
>                 if ((pt2 = strrchr(uaddr, '.')) != NULL) {
>                         *pt2++ = 0;
>                         *p_port = atoi(pt1) * 256 + atoi(pt2); //Here I 
> exchanged pt1 with pt2 and everything is working
>                         rc = 0;
>                         *--pt2 = '.';
>                 }
>                 *--pt1 = '.';
>         }
>         return rc;
>
> }
>
> Kind Regards Conny
>
> -----Ursprüngliche Nachricht-----
> Von: Action Request System discussion list(ARSList) 
> [mailto:arsl...@arslist.org] Im Auftrag von michep
> Gesendet: Mittwoch, 9. März 2011 14:25
> An: arsl...@arslist.org
> Betreff: Re: ARS 7.5p007 on SLES11
>
> OMG! Its getting more and more interesting with every step!
>
> Ok, thanx to Conny ("-i" parameter to rpcbind service) now im able to start 
> ARS server with Register-With-Portmapper:T option without errors. BUT!!!
> Now trying to connect to ARS server with RUT without specified TCP port I 
> receive error:
>
> ARERR [90] Cannot establish a network connection to the AR System server : 
> msk-m1-rem001 : RPC: Miscellaneous tli error - System error (Connection 
> refused)
>
> Ok, thanx to Axton, I stop rpcbind service and started it in debug
> mode: rpcbind -id, and able to see whats happen inside.
>
> Restart ARS server, and see that a lot of registration commands
> (RPCB_SET) was processed and succeeded.
>
> Now, connecting with RUT without specified TCP and see rpc command in rpcbind 
> log:
>
> PMAP_GETPORT req for (390620, 18, tcp) from
> 192.168.170.10.250.247 :port = 47240
>
> So, comment was proessed and port number was returned - 47240.
>
> WTH!? I didn't remove port options in ar.conf, now its looks like:
>
> Register-With-Portmapper: T
> TCD-Specific-Port: 35000
> Plugin-Port: 36000
>
> and netstat shows that ports 35000 and 36000 are in LISTEN state, so why 
> rpcbind returned wrong port number?
>
> Next, comment out port options:
>
> Register-With-Portmapper: T
> #TCD-Specific-Port: 35000
> #Plugin-Port: 36000
>
> and restart ARS server, truing to connect with RUT without specified TCP port 
> - error again, rpcbind returns:
>
> PMAP_GETPORT req for (390620, 18, tcp) from
> 192.168.170.10.223.199 :port = 18773
>
> BUT! ARS server is listening on different port:
>
> # lsof +M -p 13564|grep IPv4
> ...
> arserverd 13564 root    9u  IPv4 1994493      0t0     TCP *:21833
> (LISTEN)
> ...
>
> Whats goning on?!
>
> And even one more finding - in this configuration arplugin reports segfault 
> every one and a half minutes:
>
> Mar  9 16:02:10 msk-m1-rem001 kernel: [2598443.587831]
> arplugin[13909]: segfault at 1c ip 00000000f6a33cc1 sp
> 00000000f42fae28 error 4 in libc-2.11.1.so[f69c2000+15b000]
>
> I call support ...
>
> On 6 мар, 12:48, Conny Martin <conny.mar...@t-systems.com> wrote:
>
> > so go to /etc/sysconfig/rpcbind and add this line
>
> > RPCBIND_OPTIONS="-i"
>
> > then restart rpcbind (/etc/init.d/rpcbind restart) you should now see
> > the -i option in ps output If you start your arserver it should now be
> > able to register with portmapper
>
> On 6 мар, 02:33, Axton <axton.gr...@gmail.com> wrote:
>
> > Try starting rpcbind in debug mode to see what it reports.  Look in
> > /var/log/messages to see if rpcbind is reporting anything there already.
>
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives atwww.arslist.orgattend 
> wwrug11www.wwrug.comARSList: "Where the Answers Are"

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are"

Reply via email to