cvs commit: src src/libexec Makefile src/libexec/pt_chown Makefile pt_chown.c

Robert Watson rwatson at
Sun Aug 24 15:45:31 UTC 2008

On Sun, 24 Aug 2008, Ed Schouten wrote:

>  Remove the now unneeded pt_chown utility.
>  Before we had a posix_openpt() that allocated PTY's with proper
>  permissions in place, we used this set-uid utility to change the
>  ownership of PTY slave devices to the real user ID of the process. This
>  utility was used to implement grantpt().
>  In my first designs of the MPSAFE TTY layer, I replaced this by adding
>  an ioctl() called TIOCGRANTPT, which was used to change the ownership.
>  I left the pt_chown utility, because older C libraries needed it to work
>  properly.
>  After some discussions back in June I changed the PTY code to set
>  permissions properly upon creation. Fortunately the previous grantpt()
>  implementation changed permissions by hand when pt_chown is not
>  installed, which always succeeds. This means grantpt() still works
>  properly, even though the set-uid utility is missing.
>  I've done tests with FreeBSD 5.2.1, FreeBSD 6.3 and FreeBSD 7.0 jails.
>  All of them still work if I remove pt_chown.

I know, another e-mail from me about compatibility -- run away!

Do you plan to provide updated compat libs for 4.x, 5.x, 6.x, 7.x, to replace 
libc/libutil code that expects to be able to execute the pt_chown binary? 
What happens if that code can't find the pt_chown binary it expects?

Robert N M Watson
Computer Laboratory
University of Cambridge

More information about the cvs-all mailing list