fresh git tree for public release

we regretfully had to remove our git history for licensing reasons

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2010-10-11 14:59:26 -04:00
commit 0ad4db4fad
271 changed files with 71255 additions and 0 deletions

View file

@ -0,0 +1,109 @@
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#ifndef _CRYPT_H_RPCGEN
#define _CRYPT_H_RPCGEN
#include <rpc/rpc.h>
#ifndef IXDR_GET_INT32
#define IXDR_GET_INT32(buf) IXDR_GET_LONG((buf))
#endif
#ifndef IXDR_PUT_INT32
#define IXDR_PUT_INT32(buf, v) IXDR_PUT_LONG((buf), (v))
#endif
#ifndef IXDR_GET_U_INT32
#define IXDR_GET_U_INT32(buf) IXDR_GET_U_LONG((buf))
#endif
#ifndef IXDR_PUT_U_INT32
#define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_U_LONG((buf), (v))
#endif
enum des_dir {
ENCRYPT_DES = 0,
DECRYPT_DES = 1,
};
typedef enum des_dir des_dir;
#ifdef __cplusplus
extern "C" bool_t xdr_des_dir(XDR *, des_dir*);
#elif __STDC__
extern bool_t xdr_des_dir(XDR *, des_dir*);
#else /* Old Style C */
bool_t xdr_des_dir();
#endif /* Old Style C */
enum des_mode {
CBC_DES = 0,
ECB_DES = 1,
};
typedef enum des_mode des_mode;
#ifdef __cplusplus
extern "C" bool_t xdr_des_mode(XDR *, des_mode*);
#elif __STDC__
extern bool_t xdr_des_mode(XDR *, des_mode*);
#else /* Old Style C */
bool_t xdr_des_mode();
#endif /* Old Style C */
struct desargs {
u_char des_key[8];
des_dir des_dir;
des_mode des_mode;
u_char des_ivec[8];
struct {
u_int desbuf_len;
char *desbuf_val;
} desbuf;
};
typedef struct desargs desargs;
#ifdef __cplusplus
extern "C" bool_t xdr_desargs(XDR *, desargs*);
#elif __STDC__
extern bool_t xdr_desargs(XDR *, desargs*);
#else /* Old Style C */
bool_t xdr_desargs();
#endif /* Old Style C */
struct desresp {
struct {
u_int desbuf_len;
char *desbuf_val;
} desbuf;
u_char des_ivec[8];
int stat;
};
typedef struct desresp desresp;
#ifdef __cplusplus
extern "C" bool_t xdr_desresp(XDR *, desresp*);
#elif __STDC__
extern bool_t xdr_desresp(XDR *, desresp*);
#else /* Old Style C */
bool_t xdr_desresp();
#endif /* Old Style C */
#define CRYPT_PROG ((u_int32_t)600100029)
#define CRYPT_VERS ((u_int32_t)1)
#ifdef __cplusplus
#define DES_CRYPT ((u_int32_t)1)
extern "C" desresp * des_crypt_1(desargs *, CLIENT *);
extern "C" desresp * des_crypt_1_svc(desargs *, struct svc_req *);
#elif __STDC__
#define DES_CRYPT ((u_int32_t)1)
extern desresp * des_crypt_1(desargs *, CLIENT *);
extern desresp * des_crypt_1_svc(desargs *, struct svc_req *);
#else /* Old Style C */
#define DES_CRYPT ((u_int32_t)1)
extern desresp * des_crypt_1();
extern desresp * des_crypt_1_svc();
#endif /* Old Style C */
#endif /* !_CRYPT_H_RPCGEN */

View file

@ -0,0 +1,87 @@
/*
* Copyright (c) 1996
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Bill Paul.
* 4. Neither the name of the author nor the names of any co-contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef RPC_HDR
%#include <sys/cdefs.h>
%__FBSDID("$FreeBSD: src/include/rpcsvc/crypt.x,v 1.5 2003/05/04 02:51:42 obrien Exp $");
#endif
/*
* This protocol definition exists because of the U.S. government and
* its stupid export laws. We can't export DES code from the United
* States to other countries (even though the code already exists
* outside the U.S. -- go figure that one out) but we need to make
* Secure RPC work. The normal way around this is to break the DES
* code out into a shared library; we can then provide a dummy lib
* in the base OS and provide the real lib in the secure dist, which
* the user can install later. But we need Secure RPC for NIS+, and
* there are several system programs that use NIS+ which are statically
* linked. We would have to provide replacements for these programs
* in the secure dist, but there are a lot, and this is a pain. The
* shared lib trick won't work for these programs, and we can't change
* them once they're compiled.
*
* One solution for this problem is to do the DES encryption as a system
* call; no programs need to be changed and we can even supply the DES
* support as an LKM. But this bloats the kernel. Maybe if we have
* Secure NFS one day this will be worth it, but for now we should keep
* this mess in user space.
*
* So we have this second solution: we provide a server that does the
* DES encryption for us. In this case, the server is keyserv (we need
* it to make Secure RPC work anyway) and we use this protocol to ship
* the data back and forth between keyserv and the application.
*/
enum des_dir { ENCRYPT_DES, DECRYPT_DES };
enum des_mode { CBC_DES, ECB_DES };
struct desargs {
u_char des_key[8]; /* key (with low bit parity) */
des_dir des_dir; /* direction */
des_mode des_mode; /* mode */
u_char des_ivec[8]; /* input vector */
opaque desbuf<>;
};
struct desresp {
opaque desbuf<>;
u_char des_ivec[8];
int stat;
};
program CRYPT_PROG {
version CRYPT_VERS {
desresp
DES_CRYPT(desargs) = 1;
} = 1;
} = 600100029;

View file

@ -0,0 +1,29 @@
#ifndef _RPCSVC_NIS_H
#define _RPCSVC_NIS_H
#define NIS_PK_NONE 0 /* no public key (unix/sys auth) */
#define NIS_PK_DH 1 /* Public key is Diffie-Hellman type */
#define NIS_PK_RSA 2 /* Public key is RSA type */
#define NIS_PK_KERB 3 /* Use kerberos style authentication */
typedef char * nis_name;
struct endpoint {
char *uaddr;
char *family;
char *proto;
};
typedef struct endpoint endpoint;
struct nis_server{
nis_name name;
struct {
u_int ep_len;
endpoint *ep_val;
} ep;
uint32_t key_type;
netobj pkey;
};
typedef struct nis_server nis_server;
#endif /* !_RPCSVC_NIS_H */