minix/lib
David van Moolenbroek c51cd5fe91 Server/driver protocols: no longer allow third-party copies.
Before safecopies, the IO_ENDPT and DL_ENDPT message fields were needed
to know which actual process to copy data from/to, as that process may
not always be the caller. Now that we have full safecopy support, these
fields have become useless for that purpose: the owner of the grant is
*always* the caller. Allowing the caller to supply another endpoint is
in fact dangerous, because the callee may then end up using a grant
from a third party. One could call this a variant of the confused
deputy problem.

From now on, safecopy calls should always use the caller's endpoint as
grant owner. This fully obsoletes the DL_ENDPT field in the
inet/ethernet protocol. IO_ENDPT has other uses besides identifying the
grant owner though. This patch renames IO_ENDPT to USER_ENDPT, not only
because that is a more fitting name (it should never be used for I/O
after all), but also in order to intentionally break any old system
source code outside the base system. If this patch breaks your code,
fixing it is fairly simple:

- DL_ENDPT should be replaced with m_source;
- IO_ENDPT should be replaced with m_source when used for safecopies;
- IO_ENDPT should be replaced with USER_ENDPT for any other use, e.g.
  when setting REP_ENDPT, matching requests in CANCEL calls, getting
  DEV_SELECT flags, and retrieving of the real user process's endpoint
  in DEV_OPEN.

The changes in this patch are binary backward compatible.
2011-04-11 17:35:05 +00:00
..
ack libfp: use ${CC} instead of cc, reported by Antoine Leca. 2010-07-22 22:24:08 +00:00
csu libc and csu updates for ELF 2010-12-10 23:04:04 +00:00
libarchive GCC/clang: int64 routines in C 2010-11-12 18:38:10 +00:00
libaudiodriver Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
libbz2 Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
libc _mount.c: don't check for excutable if MS_EXISTING is set 2011-02-22 17:59:08 +00:00
libcurses lib: fixes for warnings that clang has for libraries. 2010-07-06 12:08:22 +00:00
libddekit Cleaning up Makefiles (thx antoine) 2011-03-07 13:54:17 +00:00
libdevman minor fix for clang - do_unbind() becomes void 2011-02-27 00:10:33 +00:00
libdriver Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
libedit Remove revision IDs from files 2010-11-04 01:13:59 +00:00
libend Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
libexec libexec: return physaddr info from ELF headers 2011-04-07 12:22:36 +00:00
libfetch libfetch - move fetch.3 to man and fetch.h to include 2010-07-01 00:05:48 +00:00
libhgfs Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
libl Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
liblwip LWIP - liblwip 2011-04-07 07:43:36 +00:00
libm Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
libmthread - Refactor mthread structure fields to prevent name clashes 2011-03-18 10:29:54 +00:00
libnetdriver Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
libsys Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
libtimers Replace NULL macro defs with null.h include 2010-07-22 10:03:31 +00:00
libusb added libusb, a IPC abstraction lib for USB stuff 2011-02-22 10:23:38 +00:00
libutil GCC/clang: int64 routines in C 2010-11-12 18:38:10 +00:00
libvtreefs libvtreefs: return OK from REQ_INHIBREAD (this unbreaks grep on /proc) 2011-03-31 16:23:00 +00:00
libz lib: fixes for warnings that clang has for libraries. 2010-07-06 12:08:22 +00:00
nbsd_libasyn Add libasyn, asynchio support for netbsd libc. 2011-03-23 15:28:22 +00:00
nbsd_libc [NBSD libc] Various fixes. 2011-04-06 15:59:10 +00:00
nbsd_libcompat_minix Add libcompat_minix for NBSD libc 2011-03-18 16:08:26 +00:00
nbsd_libm Import unmodified NetBSD's libm for compiling with new libc. 2011-03-18 15:52:16 +00:00
nbsd_libminlib Add libminlib for NBSD libc compilation. 2011-03-22 13:47:35 +00:00
ack_build.sh Buildsystem changes for GCC 2010-05-19 13:24:15 +00:00
clang_build.sh clang - let buildsystem figure out how to invoke AR, etc., for clang too. 2011-02-22 01:08:29 +00:00
elf_build.sh csu/build support for ELF 2010-12-10 22:20:12 +00:00
gnu_build.sh Update PATHs for llvm and X11 2010-09-12 17:56:53 +00:00
Makefile added libddekit 2011-02-25 12:40:31 +00:00
Makefile.inc Makefile updates: 2010-06-11 16:05:36 +00:00
README Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00

ack_build.sh - for ACK library building
gnu_build.sh - for GNU library building

ack_build.sh obj     - create objdirs for gnu libraries
ack_build.sh depend  - find dependencies of ack libraries
ack_build.sh all     - compile ack libraries
ack_build.sh install - compile and install ack libraries
ack_build.sh clean   - clean for ack libraries

gnu_build.sh obj     - create objdirs for gnu libraries
gnu_build.sh depend  - find dependencies of gnu libraries
gnu_build.sh all     - compile gnu libraries
gnu_build.sh install - compile and install gnu libraries
gnu_build.sh clean   - clean for gnu libraries