home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / d / libc / libc-4.6 / libc-4 / libc-linux / rpc / authdes_prot.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-15  |  2.6 KB  |  83 lines

  1. #if defined(LIBC_SCCS) && !defined(lint)
  2. static char sccsid[] =     "@(#)authdes_prot.c    2.1 88/07/29 4.0 RPCSRC; from 1.6 88/02/08 SMI";
  3. #endif
  4. /*
  5.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  6.  * unrestricted use provided that this legend is included on all tape
  7.  * media and as a part of the software program in whole or part.  Users
  8.  * may copy or modify Sun RPC without charge, but are not authorized
  9.  * to license or distribute it to anyone else except as part of a product or
  10.  * program developed by the user.
  11.  * 
  12.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  13.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  14.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  15.  * 
  16.  * Sun RPC is provided with no support and without any obligation on the
  17.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  18.  * modification or enhancement.
  19.  * 
  20.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  21.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  22.  * OR ANY PART THEREOF.
  23.  * 
  24.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  25.  * or profits or other special, indirect and consequential damages, even if
  26.  * Sun has been advised of the possibility of such damages.
  27.  * 
  28.  * Sun Microsystems, Inc.
  29.  * 2550 Garcia Avenue
  30.  * Mountain View, California  94043
  31.  */
  32. /*
  33.  * Copyright (c) 1988 by Sun Microsystems, Inc.
  34.  */
  35.  
  36. /*
  37.  * authdes_prot.c, XDR routines for DES authentication
  38.  */
  39.  
  40. #include <rpc/types.h>
  41. #include <rpc/xdr.h>
  42. #include <rpc/auth.h>
  43. #include <rpc/auth_des.h>
  44.  
  45. #define ATTEMPT(xdr_op) if (!(xdr_op)) return (FALSE)
  46.  
  47. bool_t
  48. xdr_authdes_cred(xdrs, cred)
  49.     XDR *xdrs;
  50.     struct authdes_cred *cred;
  51. {
  52.     /*
  53.      * Unrolled xdr
  54.      */
  55.     ATTEMPT(xdr_enum(xdrs, (enum_t *)&cred->adc_namekind));
  56.     switch (cred->adc_namekind) {
  57.     case ADN_FULLNAME:
  58.         ATTEMPT(xdr_string(xdrs, &cred->adc_fullname.name, MAXNETNAMELEN));
  59.         ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_fullname.key, sizeof(des_block)));
  60.         ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_fullname.window, sizeof(cred->adc_fullname.window)));
  61.         return (TRUE);
  62.     case ADN_NICKNAME:
  63.         ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_nickname, sizeof(cred->adc_nickname)));
  64.         return (TRUE);
  65.     default:
  66.         return (FALSE);
  67.     }
  68. }
  69.  
  70.  
  71. bool_t
  72. xdr_authdes_verf(xdrs, verf)
  73.     register XDR *xdrs;
  74.     register struct authdes_verf *verf;    
  75. {
  76.     /*
  77.       * Unrolled xdr
  78.       */
  79.     ATTEMPT(xdr_opaque(xdrs, (caddr_t)&verf->adv_xtimestamp, sizeof(des_block)));
  80.     ATTEMPT(xdr_opaque(xdrs, (caddr_t)&verf->adv_int_u, sizeof(verf->adv_int_u)));
  81.     return (TRUE);
  82. }
  83.