]> Zhao Yanbai Git Server - minix.git/commit
UDS: prepare for socket file creation in bind(2) 25/3425/1
authorDavid van Moolenbroek <david@minix3.org>
Sun, 27 Dec 2015 19:35:12 +0000 (19:35 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Thu, 9 Mar 2017 23:39:53 +0000 (23:39 +0000)
commitdd9696713548dbfd291c039366f7718a3249491f
treefbea32647c6a48f7858600e3d13422c068b53e57
parent4c27a83389a10199451bd7e0199715b47b95045c
UDS: prepare for socket file creation in bind(2)

This patch prepares for moving of the creation of socket files on the
file system from the libc bind(2) stub into the UDS service.  This
change is necessary for the socket type agnostic libc implementation.
The change is not yet activated - the code that is not yet used is
enclosed in "#if NOT_YET" blocks.  The activation needs to be atomic
with UDS's switch to libsockdriver; otherwise, user applications may
break.

As part of the change, various UDS bind(2) semantics are changed to
match the POSIX standard and other operating systems.  In
implementation terms, the service-only VFS API checkperms(2) is
renamed to socketpath(2), and extended with a new subcall which
creates a new socket file.  An extension to test56 checks the new
bind(2) semantics of UDS, although most new tests are still disabled
until activation as well.

Finally, as further preparation for a more structural redesign of the
UDS service, also return the <device,inode> number pair for the
created or checked file name, and make returning the canonized path
name optional.

Change-Id: I892d04b3301d4b911bdc571632ddde65fb747a8a
13 files changed:
minix/include/minix/callnr.h
minix/include/minix/ipc.h
minix/include/minix/syslib.h
minix/lib/libsys/Makefile
minix/lib/libsys/checkperms.c [deleted file]
minix/lib/libsys/socketpath.c [new file with mode: 0644]
minix/net/uds/ioc_uds.c
minix/net/uds/uds.c
minix/net/uds/uds.h
minix/servers/vfs/path.c
minix/servers/vfs/proto.h
minix/servers/vfs/table.c
minix/tests/test56.c