1 /* 1 /* 2 * linux/include/linux/sunrpc/gss_asn1.h 2 * linux/include/linux/sunrpc/gss_asn1.h 3 * 3 * 4 * minimal asn1 for generic encoding/decoding 4 * minimal asn1 for generic encoding/decoding of gss tokens 5 * 5 * 6 * Adapted from MIT Kerberos 5-1.2.1 lib/incl 6 * Adapted from MIT Kerberos 5-1.2.1 lib/include/krb5.h, 7 * lib/gssapi/krb5/gssapiP_krb5.h, and others 7 * lib/gssapi/krb5/gssapiP_krb5.h, and others 8 * 8 * 9 * Copyright (c) 2000 The Regents of the Univ 9 * Copyright (c) 2000 The Regents of the University of Michigan. 10 * All rights reserved. 10 * All rights reserved. 11 * 11 * 12 * Andy Adamson <andros@umich.edu> 12 * Andy Adamson <andros@umich.edu> 13 */ 13 */ 14 14 15 /* 15 /* 16 * Copyright 1995 by the Massachusetts Institu 16 * Copyright 1995 by the Massachusetts Institute of Technology. 17 * All Rights Reserved. 17 * All Rights Reserved. 18 * 18 * 19 * Export of this software from the United Sta 19 * Export of this software from the United States of America may 20 * require a specific license from the Unite 20 * require a specific license from the United States Government. 21 * It is the responsibility of any person or 21 * It is the responsibility of any person or organization contemplating 22 * export to obtain such a license before ex 22 * export to obtain such a license before exporting. 23 * 23 * 24 * WITHIN THAT CONSTRAINT, permission to use, 24 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 25 * distribute this software and its documentat 25 * distribute this software and its documentation for any purpose and 26 * without fee is hereby granted, provided tha 26 * without fee is hereby granted, provided that the above copyright 27 * notice appear in all copies and that both t 27 * notice appear in all copies and that both that copyright notice and 28 * this permission notice appear in supporting 28 * this permission notice appear in supporting documentation, and that 29 * the name of M.I.T. not be used in advertisi 29 * the name of M.I.T. not be used in advertising or publicity pertaining 30 * to distribution of the software without spe 30 * to distribution of the software without specific, written prior 31 * permission. Furthermore if you modify this 31 * permission. Furthermore if you modify this software you must label 32 * your software as modified software and not 32 * your software as modified software and not distribute it in such a 33 * fashion that it might be confused with the 33 * fashion that it might be confused with the original M.I.T. software. 34 * M.I.T. makes no representations about the s 34 * M.I.T. makes no representations about the suitability of 35 * this software for any purpose. It is provi 35 * this software for any purpose. It is provided "as is" without express 36 * or implied warranty. 36 * or implied warranty. 37 * 37 * 38 */ 38 */ 39 39 40 40 41 #include <linux/sunrpc/gss_api.h> 41 #include <linux/sunrpc/gss_api.h> 42 42 43 #define SIZEOF_INT 4 43 #define SIZEOF_INT 4 44 44 45 /* from gssapi_err_generic.h */ 45 /* from gssapi_err_generic.h */ 46 #define G_BAD_SERVICE_NAME 46 #define G_BAD_SERVICE_NAME (-2045022976L) 47 #define G_BAD_STRING_UID 47 #define G_BAD_STRING_UID (-2045022975L) 48 #define G_NOUSER 48 #define G_NOUSER (-2045022974L) 49 #define G_VALIDATE_FAILED 49 #define G_VALIDATE_FAILED (-2045022973L) 50 #define G_BUFFER_ALLOC 50 #define G_BUFFER_ALLOC (-2045022972L) 51 #define G_BAD_MSG_CTX 51 #define G_BAD_MSG_CTX (-2045022971L) 52 #define G_WRONG_SIZE 52 #define G_WRONG_SIZE (-2045022970L) 53 #define G_BAD_USAGE 53 #define G_BAD_USAGE (-2045022969L) 54 #define G_UNKNOWN_QOP 54 #define G_UNKNOWN_QOP (-2045022968L) 55 #define G_NO_HOSTNAME 55 #define G_NO_HOSTNAME (-2045022967L) 56 #define G_BAD_HOSTNAME 56 #define G_BAD_HOSTNAME (-2045022966L) 57 #define G_WRONG_MECH 57 #define G_WRONG_MECH (-2045022965L) 58 #define G_BAD_TOK_HEADER 58 #define G_BAD_TOK_HEADER (-2045022964L) 59 #define G_BAD_DIRECTION 59 #define G_BAD_DIRECTION (-2045022963L) 60 #define G_TOK_TRUNC 60 #define G_TOK_TRUNC (-2045022962L) 61 #define G_REFLECT 61 #define G_REFLECT (-2045022961L) 62 #define G_WRONG_TOKID 62 #define G_WRONG_TOKID (-2045022960L) 63 63 64 #define g_OID_equal(o1,o2) \ 64 #define g_OID_equal(o1,o2) \ 65 (((o1)->len == (o2)->len) && \ 65 (((o1)->len == (o2)->len) && \ 66 (memcmp((o1)->data,(o2)->data,(int) (o1)-> 66 (memcmp((o1)->data,(o2)->data,(int) (o1)->len) == 0)) 67 67 68 u32 g_verify_token_header( 68 u32 g_verify_token_header( 69 struct xdr_netobj *mech, 69 struct xdr_netobj *mech, 70 int *body_size, 70 int *body_size, 71 unsigned char **buf_in, 71 unsigned char **buf_in, 72 int toksize); 72 int toksize); 73 73 74 int g_token_size( 74 int g_token_size( 75 struct xdr_netobj *mech, 75 struct xdr_netobj *mech, 76 unsigned int body_size); 76 unsigned int body_size); 77 77 78 void g_make_token_header( 78 void g_make_token_header( 79 struct xdr_netobj *mech, 79 struct xdr_netobj *mech, 80 int body_size, 80 int body_size, 81 unsigned char **buf); 81 unsigned char **buf); 82 82
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.