Red Hat Bugzilla – Bug 481388
svc_req ABI incompatibility between glibc and libtirpc
Last modified: 2009-02-04 21:16:32 EST
Created attachment 329888 [details]
Patch to correct ordering of fields in libtirpc's svc_req structure
Description of problem:
The svc_req struct is returned from a number of public RPC functions. The field order in the libtirpc version is slightly different than the field order in the legacy glibc version. This causes compatibility problems in large RPC-related software products that may be transitioning from legacy to tirpc.
Version-Release number of selected component (if applicable):
All versions of libtirpc to date.
Steps to Reproduce:
1. compare the position of the rq_xprt field in /usr/include/rpc/svc.h's svc_req to /usr/include/tirpc/rpc/svc.h's svc_req
TI-RPC's svc_req contains the extra fields rq_clntname and rq_svcname which makes the offset to rq_xprt incorrect.
The offset of the rq_xprt field should be the same in both definitions to guarantee ABI compatibility
This is a problem when an RPC application is built using libtirpc for client operations, but the server components still call and link with glibc's RPC functions.
Fixed in libtirpc-0.1.10-3.fc11
Fixed in libtirpc-0.1.10-2.fc10
libtirpc-0.1.10-2.fc10 has been pushed to the Fedora 10 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update libtirpc'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-1171
libtirpc-0.1.10-2.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.