minix/drivers/dec21140A
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
..
dec21140A.c Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
dec21140A.h Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
Makefile Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
README.txt dec21140A ethernet driver for virtualpc, contributed by nicolas tittley. 2010-01-26 10:20:18 +00:00

README file for the Dec21140A ethernet board driver as emulated by 
Microsoft VirtualPC 2007.

created August 2009, Nicolas Tittley (first.last@gmail)

LIMITATIONS:
------------

This driver supports only the Dec21140A as emulated by VPC2007. It is
untested in any other environment and will probably panic if you use it
outside VPC2007.

The driver supports bridged, nat and local network settings. See the
next section for a remark on seting up a nat environment.

Only one card can be used at a time, do not activate multiple network
cards in VPC2007, the driver will panic.

NOTE FOR USERS CONFIGURING VPC2007 TO USE NAT:

in /usr/etc/rc comment out the following three lines:

trap '' 2
intr -t 20 hostaddr -h
trap 2

VPC2007 does not play well with hostaddr and it will hang the boot process 
until you CTRL-C out of it.