Package: libtirpc / 1.3.1-1+deb11u1
Metadata
Package | Version | Patches format |
---|---|---|
libtirpc | 1.3.1-1+deb11u1 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
03 kfreebsd.diff | (download) |
src/clnt_vc.c |
5 4 + 1 - 0 ! |
fix build on non linux architectures |
05 hurd port.diff | (download) |
configure.ac |
2 1 + 1 - 0 ! |
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. |
06 hurd client port.diff | (download) |
src/rpc_generic.c |
7 6 + 1 - 0 ! |
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 |
Fix DoS vulnerability in libtirpc.patch | (download) |
src/svc.c |
17 16 + 1 - 0 ! |
fix dos vulnerability in libtirpc |