Messages in this thread | | | Date | Tue, 10 Nov 2009 15:54:15 -0600 | From | "Chris Friesen" <> | Subject | Re: sunrpc port allocation and IANA reserved list |
| |
On 11/10/2009 03:32 PM, Ben Hutchings wrote:
> I'm sure we could afford 128 bytes for a blacklist of privileged ports. > However, the problem is that there is no API for userland to request > 'any free privileged port' - it has to just try binding to different > ports until it finds one available. This means that the kernel can't > tell whether a process is trying to allocate a specifically assigned > port or whether the blacklist should be applied.
That's unfortunate. Maybe a bindresvport syscall would make sense, but that's starting to get bloated. At least for userspace apps netstat will show who the owner is and it might be possible to clean it up without rebooting.
For the ports allocated in the kernel via xs_get_random_port() and xprt_bindresvport() it would be fairly easy to check a blacklist.
Interestingly, the current kernel range starts at 665 because IPMI is known to use 664. The current glibc range to be tried in bindresvport() starts at 600, which seems to be a bug waiting to happen.
Chris
| |