Debian Patches

Status for libtirpc/1.3.3+ds-1

Patch Description Author Forwarded Bugs Origin Last update
03-kfreebsd.diff Fix build on non Linux architectures Andreas Beckmann <> not-needed 2019-09-01
05-hurd-port.diff Get source building on Hurd - Look for <sys/user.h> before using it.
- Define MAXHOSTNAMELEN to 64 if missing.
- Bind sockets on Hurd like on Linux.
Petter Reinholdtsen <> not-needed 2022-08-11
06-hurd-client-port.diff Fix client code for hurd, avoiding malloc overflow When trying to setup a inet connection, it happens the following:
- in libtirp, src/clnt_vc.c, clnt_vc_create gets called
- when trying to allocate vc_fd_locks, __rpc_dtbsize() is used as size
for that array of fd locks
- __rpc_dtbsize(), in src/rpc_generic.c, queries using rlimit the
maximum (rlim_max) number of file descriptors (RLIMIT_NOFILE):
- on Linux, the default is { rlim_cur = 1024, rlim_max = 4096 }
- on kFreeBSD, the default is { rlim_cur = 1024, rlim_max = 1024 }
- on Hurd, the default is { rlim_cur = 1024, rlim_max = RLIM_INFINITY }
meaning that on Hurd the memory allocation fails (as
__rpc_dtbsize() * sizeof(int) overflows and is negative)

Change libtiprc so __rpc_dtbsize falls back on rlim_cur if rlim_max
is unlimited.

This patch fixes the client connection using inet sockets; local unix
sockets are not working, for two reasons so far:
- getpeername on them gives EOPNOTSUPP
- SO_REUSEADDR is not implemented for them
Pino Toscano <> no debian 2020-03-03

All known versions for source package 'libtirpc'