From owner-cvs-include Wed Jul 3 19:08:36 1996 Return-Path: owner-cvs-include Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id TAA16389 for cvs-include-outgoing; Wed, 3 Jul 1996 19:08:36 -0700 (PDT) Received: (from wpaul@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id TAA16367; Wed, 3 Jul 1996 19:08:24 -0700 (PDT) Date: Wed, 3 Jul 1996 19:08:24 -0700 (PDT) From: Bill Paul Message-Id: <199607040208.TAA16367@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-include Subject: cvs commit: src/include/rpcsvc ypxfrd.x Sender: owner-cvs-include@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk wpaul 96/07/03 19:08:21 Modified: include/rpcsvc ypxfrd.x Log: There are a few small additions to the protocol to make it easier to use in mixed environments: - Add three new members to the request structure: - a filename specification - a database type specification - a system byte prder specification These allow the client to ask the server for a particular type of database (Berkeley DB hash/btree/recno, GNU GDBM, dbm, ndbm, etc...) and get back a meaningful error if the server doesn't support it. The byte order spec is needed if the database type is byte order sensntive. You don't, for example, want to read an ndbm database from a big endian machine on a little endian machine (the ndbm code will explode). The filename spec lets the client handle things like ndbm which uses two seperate files per database (foo.dir and foo.pag). The client can ask for each half, one at a time. - Add a list of database types and byte order values. Each list has a wildcard 'ANY' entry which lets the client ask for whatever the server supports. (XFR_ENDIAN_ANY is useful with the Berkeley DB hash method for instance, since it isn't byte order sensitive.) - Add two newserver failure codes: XFR_DB_TYPE_MISMATCH and XFR_DB_ENDIAN_MISMATCH. The server uses these to tell the client that it doesn't support the requested type/byte order. These changes were made at the suggestion of Thorsten Kukuk, the current maintainer of the Linux ypserv distribution. This allows Linux and FreeBSD NIS servers to use the same ypxfrd protocol and avoid accidentally exchanging incompatible map files. Revision Changes Path 1.2 +63 -5 src/include/rpcsvc/ypxfrd.x