| 2008-11-19 Steve Dickson <steved@redhat.com> |
| |
| * Version 0.1.10 released. |
| |
| commit 32ec5931e3debf208972d5146578f08dc113a9b6 |
| Merge: 338af7f... 92cf0dd... |
| Author: Steve Dickson <steved@redhat.com> |
| Date: Mon Nov 17 12:26:22 2008 -0500 |
| |
| Merge branch 'master' of git://git.infradead.org/~steved/libtirpc |
| |
| commit 92cf0dde310ca341a2f29ff66b19eeb9994a649a |
| Author: Ian Kent <ikent@redhat.com> |
| Date: Tue Oct 28 11:19:07 2008 -0400 |
| |
| Fixed a warings the IPV6 client routines |
| |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 338af7f9f00e096b65a6d823f885c4eeaf1d1f8c |
| Author: Steve Dickson <steved@redhat.com> |
| Date: Mon Oct 27 12:46:54 2008 -0400 |
| |
| __rpc_taddr2uaddr_af() assumes the netbuf to always have a |
| non-zero data. This is a bad assumption and can lead to a |
| seg-fault. This patch adds a check for zero length and returns |
| NULL when found. |
| |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit d9a5ae7079d001a9e3b9b384f9153f591a7158bd |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:10:43 2008 -0400 |
| |
| Fix __rpc_getconfip |
| |
| __rpc_getconfip is supposed to return the first netconf |
| entry supporting tcp or udp, respectively. The code will |
| currently return the *last* entry, plus it will leak |
| memory when there is more than one such entry. |
| |
| This patch fixes this issue. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 6c487efe74adb5c29f7bee5bd51b3ebef4968f7d |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:09:06 2008 -0400 |
| |
| Fix getpeereid |
| |
| getpeereid fails because it uses an incorrect getsockopt call to obtain |
| the peer credentials on a AF_LOCAL socket. This in turn will cause all |
| RPC services to be registered with rpcbind to show up as having been |
| registered by "unknown". |
| |
| This has a serious impact on security - a service owned by "unknown" |
| can essentially be unregistered (and thus replaced) by anyone. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 851b0f5c6dca22d634603f03f0a5e3e35c6db867 |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:08:07 2008 -0400 |
| |
| svc_getcaller_netbuf macro seems broken |
| |
| I haven't found any documentation, but the comment in the header |
| file seems to suggest that svc_getcaller_netbuf should return the |
| xp_rtaddr netbuf. Returning the address of the socket descripor |
| seems to be wrong at any rate. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit d94b92d5125242ce595c1baf42a1e6d1004b7756 |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:06:54 2008 -0400 |
| |
| Introduce __rpc_set_netbuf helper |
| |
| The RPC code contains a number of places where a netbuf |
| is initialized with some data. All the mem_alloc/memcpy |
| stuff is open-coded. Introduce a helper function and |
| convert the code. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit da5f9861ea3bae59c8eead26d38334721caa9f0a |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:05:20 2008 -0400 |
| |
| Kill map_ipv4_to_ipv6 |
| |
| After the change to svc_vc.c performed in the previous patch, |
| this function is no longer needed. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 59c374c4b507aeca957ed0096d98006edf601375 |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 30 15:04:17 2008 -0400 |
| |
| Fix xp_raddr handling in svc_fd_create etc |
| |
| Currently svc_fd_create tries to do some clever tricks |
| with IPv4/v6 address mapping. |
| |
| This is broken for several reasons. |
| 1. We don't want IPv4 based transport to look like IPv6 |
| transports. Old applications compiled against tirpc |
| will expect AF_INET addresses, and are not equipped |
| to deal with AF_INET6. |
| 2. There's a buffer overflow. |
| memcpy(&sin6, &ss, sizeof(ss)); |
| copies a full struct sockaddr to a sockaddr_in6 on |
| the stack. Unlikely to be exploitable, but I wonder |
| if this ever worked.... |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 628788c1cc84c86ee4cb36ee5d4fe8954e90fca5 |
| Author: Steve Dickson <steved@redhat.com> |
| Date: Tue Sep 16 11:32:31 2008 -0400 |
| |
| - Fixed version-info in src/Makefile.am to reflect the correct version |
| - Fixed some of warnings in: src/auth_time.c, src/clnt_dg.c and |
| src/clnt_raw.c |
| - Added some #ifdef NOTUSED around some code in src/rpbc_clnt.c |
| that was not being used... |
| |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 9e7ba0c7a02031294fefadfbca42b3dd5f2d841f |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 16 08:46:29 2008 -0400 |
| |
| Fix for taddr2addr conversion bug of local addresses |
| |
| When converting af_local socket addresses in taddr2uaddr, an incorrect |
| sizeof() would result in a truncated path string. As a result, |
| rpcbind will report the local /var/lib/rpcbind address to clients |
| as "/v" on a 32bit machine. |
| |
| Signed-off-by: okir@suse.de |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit ea9f048761d0b9a2ab6310bffa07351f0b04d8c5 |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 2 12:11:15 2008 -0400 |
| |
| Always make IPv6 sockets V6ONLY |
| |
| Assume you have a netconfig file looking like this: |
| |
| udp tpi_clts v inet udp - - |
| udp6 tpi_clts v inet6 udp - - |
| ... |
| |
| a call to svc_tli_create(... &someaddr, "udp") will fail to create an |
| IPv6 server socket. The problem is that on Linux, passive IPv6 sockets |
| will also accept packets/connections from IPv4, and will simply map |
| the sender's address to an IPv6 mapped IPv4 address. So if you want to |
| bind both a UDPv4 and UDPv6 socket to the same port, this will fail with |
| EADDRINUSE. |
| |
| The way to avoid this behavior is to change the socket to V6ONLY, |
| which tells the kernel to avoid the autmatic mapping. |
| |
| The change proposed in the patch below does this. I *think* this is |
| a good place to do this, as it will also fix applications that do not |
| use svc_tli_create() - such as rpcbind, which creates the sockets on |
| its own using __rpc_nconf2fd. |
| |
| I think this also improves portability, as BSD code assumes BSD |
| behavior, where this mapping does not occur either. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| commit 95c8f7227e6b15f2e430d7b87dadc95b2acd4a61 |
| Author: Olaf Kirch <okir@suse.de> |
| Date: Tue Sep 2 12:09:39 2008 -0400 |
| |
| Fix incorrect sizeof() in __rpc_getbroadifs |
| |
| __rpc_getbroadifs returns bad broadcast addresses on 32bit |
| machines because when copying the broadcast addresses, ite |
| applies the sizeof() operator to a pointer to a sockaddr, |
| rather than the sockaddr itself. |
| |
| Signed-off-by: Olaf Kirch <okir@suse.de> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| |
| 2004-10-13 Antoine Fraticelli <antoine.fraticellie@bull.net> |
| |
| * Version 0.1 released. |
| |
| 2005-01-07 Gilles Quillard <Gilles.Quillard@bull.net> |
| |
| * Version 0.1.5 Fix problems links to the use of Kerberos. |