17c478bd9Sstevel@tonic-gate /* 2*159d09a2SMark Phalan * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 37c478bd9Sstevel@tonic-gate * Use is subject to license terms. 47c478bd9Sstevel@tonic-gate */ 57c478bd9Sstevel@tonic-gate 67c478bd9Sstevel@tonic-gate #ifndef __KADM5_CLIENT_INTERNAL_H__ 77c478bd9Sstevel@tonic-gate #define __KADM5_CLIENT_INTERNAL_H__ 87c478bd9Sstevel@tonic-gate 97c478bd9Sstevel@tonic-gate 107c478bd9Sstevel@tonic-gate /* 117c478bd9Sstevel@tonic-gate * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 127c478bd9Sstevel@tonic-gate * 137c478bd9Sstevel@tonic-gate * Openvision retains the copyright to derivative works of 147c478bd9Sstevel@tonic-gate * this source code. Do *NOT* create a derivative of this 157c478bd9Sstevel@tonic-gate * source code before consulting with your legal department. 167c478bd9Sstevel@tonic-gate * Do *NOT* integrate *ANY* of this source code into another 177c478bd9Sstevel@tonic-gate * product before consulting with your legal department. 187c478bd9Sstevel@tonic-gate * 197c478bd9Sstevel@tonic-gate * For further information, read the top-level Openvision 207c478bd9Sstevel@tonic-gate * copyright which is contained in the top-level MIT Kerberos 217c478bd9Sstevel@tonic-gate * copyright. 227c478bd9Sstevel@tonic-gate * 237c478bd9Sstevel@tonic-gate * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 247c478bd9Sstevel@tonic-gate * 257c478bd9Sstevel@tonic-gate */ 267c478bd9Sstevel@tonic-gate 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gate /* 297c478bd9Sstevel@tonic-gate * Copyright 1993 OpenVision Technologies, Inc., All Rights Reserved 307c478bd9Sstevel@tonic-gate * 31*159d09a2SMark Phalan * $Header$ 327c478bd9Sstevel@tonic-gate * 33*159d09a2SMark Phalan * $Log$ 347c478bd9Sstevel@tonic-gate * Revision 1.1 1996/07/24 22:22:43 tlyu 357c478bd9Sstevel@tonic-gate * * Makefile.in, configure.in: break out client lib into a 367c478bd9Sstevel@tonic-gate * subdirectory 377c478bd9Sstevel@tonic-gate * 387c478bd9Sstevel@tonic-gate * Revision 1.11 1996/07/22 20:35:46 marc 397c478bd9Sstevel@tonic-gate * this commit includes all the changes on the OV_9510_INTEGRATION and 407c478bd9Sstevel@tonic-gate * OV_MERGE branches. This includes, but is not limited to, the new openvision 417c478bd9Sstevel@tonic-gate * admin system, and major changes to gssapi to add functionality, and bring 427c478bd9Sstevel@tonic-gate * the implementation in line with rfc1964. before committing, the 437c478bd9Sstevel@tonic-gate * code was built and tested for netbsd and solaris. 447c478bd9Sstevel@tonic-gate * 457c478bd9Sstevel@tonic-gate * Revision 1.10.4.1 1996/07/18 03:08:37 marc 467c478bd9Sstevel@tonic-gate * merged in changes from OV_9510_BP to OV_9510_FINAL1 477c478bd9Sstevel@tonic-gate * 487c478bd9Sstevel@tonic-gate * Revision 1.10.2.1 1996/06/20 02:16:46 marc 497c478bd9Sstevel@tonic-gate * File added to the repository on a branch 507c478bd9Sstevel@tonic-gate * 517c478bd9Sstevel@tonic-gate * Revision 1.10 1996/06/06 20:09:16 bjaspan 527c478bd9Sstevel@tonic-gate * add destroy_cache, for kadm5_init_with_creds 537c478bd9Sstevel@tonic-gate * 547c478bd9Sstevel@tonic-gate * Revision 1.9 1996/05/30 21:04:42 bjaspan 557c478bd9Sstevel@tonic-gate * add lhandle to handle 567c478bd9Sstevel@tonic-gate * 577c478bd9Sstevel@tonic-gate * Revision 1.8 1996/05/28 20:33:49 bjaspan 587c478bd9Sstevel@tonic-gate * rework kadm5_config 597c478bd9Sstevel@tonic-gate * 607c478bd9Sstevel@tonic-gate * Revision 1.7 1996/05/17 21:36:59 bjaspan 617c478bd9Sstevel@tonic-gate * rename to kadm5, begin implementing version 2 627c478bd9Sstevel@tonic-gate * 637c478bd9Sstevel@tonic-gate * Revision 1.6 1996/05/16 21:45:07 bjaspan 647c478bd9Sstevel@tonic-gate * add context 657c478bd9Sstevel@tonic-gate * 667c478bd9Sstevel@tonic-gate * Revision 1.5 1996/05/08 21:10:23 bjaspan 677c478bd9Sstevel@tonic-gate * marc's changes 687c478bd9Sstevel@tonic-gate * 697c478bd9Sstevel@tonic-gate * Revision 1.4 1996/01/16 20:54:30 grier 707c478bd9Sstevel@tonic-gate * secure/3570 use krb5_ui_4 not unsigned int 717c478bd9Sstevel@tonic-gate * 727c478bd9Sstevel@tonic-gate * Revision 1.3 1995/11/14 17:48:57 grier 737c478bd9Sstevel@tonic-gate * long to int 747c478bd9Sstevel@tonic-gate * 757c478bd9Sstevel@tonic-gate * Revision 1.2 1994/08/16 18:53:47 jik 767c478bd9Sstevel@tonic-gate * Versioning stuff. 777c478bd9Sstevel@tonic-gate * 787c478bd9Sstevel@tonic-gate * Revision 1.1 1994/08/09 21:14:38 jik 797c478bd9Sstevel@tonic-gate * Initial revision 807c478bd9Sstevel@tonic-gate * 817c478bd9Sstevel@tonic-gate */ 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gate /* 847c478bd9Sstevel@tonic-gate * This header file is used internally by the Admin API client 857c478bd9Sstevel@tonic-gate * libraries. IF YOU THINK YOU NEED TO USE THIS FILE FOR ANYTHING, 867c478bd9Sstevel@tonic-gate * YOU'RE ALMOST CERTAINLY WRONG. 877c478bd9Sstevel@tonic-gate */ 887c478bd9Sstevel@tonic-gate 897c478bd9Sstevel@tonic-gate #ifdef __cplusplus 907c478bd9Sstevel@tonic-gate extern "C" { 917c478bd9Sstevel@tonic-gate #endif 927c478bd9Sstevel@tonic-gate 93*159d09a2SMark Phalan 947c478bd9Sstevel@tonic-gate #include "admin_internal.h" 957c478bd9Sstevel@tonic-gate 967c478bd9Sstevel@tonic-gate typedef struct _kadm5_server_handle_t { 977c478bd9Sstevel@tonic-gate krb5_ui_4 magic_number; 987c478bd9Sstevel@tonic-gate krb5_ui_4 struct_version; 997c478bd9Sstevel@tonic-gate krb5_ui_4 api_version; 1007c478bd9Sstevel@tonic-gate char * cache_name; 1017c478bd9Sstevel@tonic-gate int destroy_cache; 1027c478bd9Sstevel@tonic-gate CLIENT * clnt; 1037c478bd9Sstevel@tonic-gate krb5_context context; 104*159d09a2SMark Phalan /* Solaris Kerberos */ 1057c478bd9Sstevel@tonic-gate gss_cred_id_t my_cred; 1067c478bd9Sstevel@tonic-gate kadm5_config_params params; 1077c478bd9Sstevel@tonic-gate struct _kadm5_server_handle_t *lhandle; 1087c478bd9Sstevel@tonic-gate } kadm5_server_handle_rec, *kadm5_server_handle_t; 1097c478bd9Sstevel@tonic-gate 1107c478bd9Sstevel@tonic-gate #define CLIENT_CHECK_HANDLE(handle) \ 1117c478bd9Sstevel@tonic-gate { \ 11256a424ccSmp153739 kadm5_server_handle_t srvr = \ 11356a424ccSmp153739 (kadm5_server_handle_t) handle; \ 11456a424ccSmp153739 \ 1157c478bd9Sstevel@tonic-gate if (srvr->params.kpasswd_protocol == KRB5_CHGPWD_RPCSEC && ! srvr->clnt) \ 11656a424ccSmp153739 return KADM5_BAD_SERVER_HANDLE; \ 1177c478bd9Sstevel@tonic-gate if (! srvr->cache_name) \ 11856a424ccSmp153739 return KADM5_BAD_SERVER_HANDLE; \ 1197c478bd9Sstevel@tonic-gate if (! srvr->lhandle) \ 12056a424ccSmp153739 return KADM5_BAD_SERVER_HANDLE; \ 1217c478bd9Sstevel@tonic-gate } 1227c478bd9Sstevel@tonic-gate 1237c478bd9Sstevel@tonic-gate #define CHECK_HANDLE(handle) \ 1247c478bd9Sstevel@tonic-gate GENERIC_CHECK_HANDLE(handle, KADM5_OLD_LIB_API_VERSION, \ 1257c478bd9Sstevel@tonic-gate KADM5_NEW_LIB_API_VERSION) \ 1267c478bd9Sstevel@tonic-gate CLIENT_CHECK_HANDLE(handle) 1277c478bd9Sstevel@tonic-gate 1287c478bd9Sstevel@tonic-gate #ifdef __cplusplus 1297c478bd9Sstevel@tonic-gate } 1307c478bd9Sstevel@tonic-gate #endif 1317c478bd9Sstevel@tonic-gate 1327c478bd9Sstevel@tonic-gate #endif /* __KADM5_CLIENT_INTERNAL_H__ */ 133