client_internal.h revision 159d09a20817016f09b3ea28d1bdada4a336bb91
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef __KADM5_CLIENT_INTERNAL_H__
#define __KADM5_CLIENT_INTERNAL_H__
/*
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
*
* Openvision retains the copyright to derivative works of
* this source code. Do *NOT* create a derivative of this
* source code before consulting with your legal department.
* Do *NOT* integrate *ANY* of this source code into another
* product before consulting with your legal department.
*
* For further information, read the top-level Openvision
* copyright which is contained in the top-level MIT Kerberos
* copyright.
*
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
*
*/
/*
* Copyright 1993 OpenVision Technologies, Inc., All Rights Reserved
*
* $Header$
*
* $Log$
* Revision 1.1 1996/07/24 22:22:43 tlyu
* * Makefile.in, configure.in: break out client lib into a
* subdirectory
*
* Revision 1.11 1996/07/22 20:35:46 marc
* this commit includes all the changes on the OV_9510_INTEGRATION and
* OV_MERGE branches. This includes, but is not limited to, the new openvision
* admin system, and major changes to gssapi to add functionality, and bring
* the implementation in line with rfc1964. before committing, the
* code was built and tested for netbsd and solaris.
*
* Revision 1.10.4.1 1996/07/18 03:08:37 marc
* merged in changes from OV_9510_BP to OV_9510_FINAL1
*
* Revision 1.10.2.1 1996/06/20 02:16:46 marc
* File added to the repository on a branch
*
* Revision 1.10 1996/06/06 20:09:16 bjaspan
* add destroy_cache, for kadm5_init_with_creds
*
* Revision 1.9 1996/05/30 21:04:42 bjaspan
* add lhandle to handle
*
* Revision 1.8 1996/05/28 20:33:49 bjaspan
* rework kadm5_config
*
* Revision 1.7 1996/05/17 21:36:59 bjaspan
* rename to kadm5, begin implementing version 2
*
* Revision 1.6 1996/05/16 21:45:07 bjaspan
* add context
*
* Revision 1.5 1996/05/08 21:10:23 bjaspan
* marc's changes
*
* Revision 1.4 1996/01/16 20:54:30 grier
* secure/3570 use krb5_ui_4 not unsigned int
*
* Revision 1.3 1995/11/14 17:48:57 grier
* long to int
*
* Revision 1.2 1994/08/16 18:53:47 jik
* Versioning stuff.
*
* Revision 1.1 1994/08/09 21:14:38 jik
* Initial revision
*
*/
/*
* This header file is used internally by the Admin API client
* libraries. IF YOU THINK YOU NEED TO USE THIS FILE FOR ANYTHING,
* YOU'RE ALMOST CERTAINLY WRONG.
*/
#ifdef __cplusplus
extern "C" {
#endif
#include "admin_internal.h"
typedef struct _kadm5_server_handle_t {
krb5_ui_4 magic_number;
krb5_ui_4 struct_version;
krb5_ui_4 api_version;
char * cache_name;
int destroy_cache;
CLIENT * clnt;
krb5_context context;
/* Solaris Kerberos */
gss_cred_id_t my_cred;
kadm5_config_params params;
struct _kadm5_server_handle_t *lhandle;
} kadm5_server_handle_rec, *kadm5_server_handle_t;
#define CLIENT_CHECK_HANDLE(handle) \
{ \
kadm5_server_handle_t srvr = \
(kadm5_server_handle_t) handle; \
\
if (srvr->params.kpasswd_protocol == KRB5_CHGPWD_RPCSEC && ! srvr->clnt) \
return KADM5_BAD_SERVER_HANDLE; \
if (! srvr->cache_name) \
return KADM5_BAD_SERVER_HANDLE; \
if (! srvr->lhandle) \
return KADM5_BAD_SERVER_HANDLE; \
}
#define CHECK_HANDLE(handle) \
GENERIC_CHECK_HANDLE(handle, KADM5_OLD_LIB_API_VERSION, \
KADM5_NEW_LIB_API_VERSION) \
CLIENT_CHECK_HANDLE(handle)
#ifdef __cplusplus
}
#endif
#endif /* __KADM5_CLIENT_INTERNAL_H__ */