implement init_with_{skey,creds}*
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4906 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -40,15 +40,14 @@ | |||||||
|  |  | ||||||
| RCSID("$Id$"); | RCSID("$Id$"); | ||||||
|  |  | ||||||
| kadm5_ret_t  | static kadm5_ret_t  | ||||||
| kadm5_s_init_with_password_ctx(krb5_context context, | kadm5_s_init_with_context(krb5_context context, | ||||||
| 			       char *client_name,  | 			  const char *client_name,  | ||||||
| 			       char *pass, | 			  const char *service_name, | ||||||
| 			       char *service_name, | 			  kadm5_config_params *realm_params, | ||||||
| 			       kadm5_config_params *realm_params, | 			  unsigned long struct_version, | ||||||
| 			       unsigned long struct_version, | 			  unsigned long api_version, | ||||||
| 			       unsigned long api_version, | 			  void **server_handle) | ||||||
| 			       void **server_handle) |  | ||||||
| { | { | ||||||
|     kadm5_ret_t ret; |     kadm5_ret_t ret; | ||||||
|     kadm5_server_context *ctx; |     kadm5_server_context *ctx; | ||||||
| @@ -93,9 +92,28 @@ kadm5_s_init_with_password_ctx(krb5_context context, | |||||||
| } | } | ||||||
|  |  | ||||||
| kadm5_ret_t  | kadm5_ret_t  | ||||||
| kadm5_s_init_with_password(char *client_name,  | kadm5_s_init_with_password_ctx(krb5_context context, | ||||||
| 			   char *pass, | 			       const char *client_name,  | ||||||
| 			   char *service_name, | 			       const char *password, | ||||||
|  | 			       const char *service_name, | ||||||
|  | 			       kadm5_config_params *realm_params, | ||||||
|  | 			       unsigned long struct_version, | ||||||
|  | 			       unsigned long api_version, | ||||||
|  | 			       void **server_handle) | ||||||
|  | { | ||||||
|  |     return kadm5_s_init_with_context(context, | ||||||
|  | 				     client_name, | ||||||
|  | 				     service_name, | ||||||
|  | 				     realm_params, | ||||||
|  | 				     struct_version, | ||||||
|  | 				     api_version, | ||||||
|  | 				     server_handle); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | kadm5_ret_t  | ||||||
|  | kadm5_s_init_with_password(const char *client_name,  | ||||||
|  | 			   const char *password, | ||||||
|  | 			   const char *service_name, | ||||||
| 			   kadm5_config_params *realm_params, | 			   kadm5_config_params *realm_params, | ||||||
| 			   unsigned long struct_version, | 			   unsigned long struct_version, | ||||||
| 			   unsigned long api_version, | 			   unsigned long api_version, | ||||||
| @@ -108,7 +126,7 @@ kadm5_s_init_with_password(char *client_name, | |||||||
|     krb5_init_context(&context); |     krb5_init_context(&context); | ||||||
|     ret = kadm5_s_init_with_password_ctx(context,  |     ret = kadm5_s_init_with_password_ctx(context,  | ||||||
| 					 client_name,  | 					 client_name,  | ||||||
| 					 pass,  | 					 password,  | ||||||
| 					 service_name,  | 					 service_name,  | ||||||
| 					 realm_params,  | 					 realm_params,  | ||||||
| 					 struct_version,  | 					 struct_version,  | ||||||
| @@ -123,37 +141,102 @@ kadm5_s_init_with_password(char *client_name, | |||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| #if 0 |  | ||||||
| kadm5_ret_t  | kadm5_ret_t  | ||||||
| kadm5_init_with_skey(char *client_name, char *keytab, | kadm5_s_init_with_skey_ctx(krb5_context context, | ||||||
| 		     char *service_name, | 			   const char *client_name,  | ||||||
| 		     kadm5_config_params *realm_params, | 			   const char *keytab, | ||||||
| 		     unsigned long struct_version, | 			   const char *service_name, | ||||||
| 		     unsigned long api_version, | 			   kadm5_config_params *realm_params, | ||||||
| 		     void **server_handle) | 			   unsigned long struct_version, | ||||||
|  | 			   unsigned long api_version, | ||||||
|  | 			   void **server_handle) | ||||||
| { | { | ||||||
|  |     return kadm5_s_init_with_context(context, | ||||||
|  | 				     client_name, | ||||||
|  | 				     service_name, | ||||||
|  | 				     realm_params, | ||||||
|  | 				     struct_version, | ||||||
|  | 				     api_version, | ||||||
|  | 				     server_handle); | ||||||
| } | } | ||||||
|  |  | ||||||
| kadm5_ret_t  | kadm5_ret_t  | ||||||
| kadm5_init(char *client_name, char *pass, | kadm5_s_init_with_skey(const char *client_name, | ||||||
| 	   char *service_name, | 		       const char *keytab, | ||||||
| 	   kadm5_config_params *realm_params, | 		       const char *service_name, | ||||||
| 	   unsigned long struct_version, | 		       kadm5_config_params *realm_params, | ||||||
| 	   unsigned long api_version, | 		       unsigned long struct_version, | ||||||
| 	   void **server_handle) | 		       unsigned long api_version, | ||||||
|  | 		       void **server_handle) | ||||||
| { | { | ||||||
|  |     krb5_context context; | ||||||
|  |     kadm5_ret_t ret; | ||||||
|  |     kadm5_server_context *ctx; | ||||||
|  |  | ||||||
|  |     krb5_init_context(&context); | ||||||
|  |     ret = kadm5_s_init_with_skey_ctx(context,  | ||||||
|  | 				     client_name,  | ||||||
|  | 				     keytab,  | ||||||
|  | 				     service_name,  | ||||||
|  | 				     realm_params,  | ||||||
|  | 				     struct_version,  | ||||||
|  | 				     api_version,  | ||||||
|  | 				     server_handle); | ||||||
|  |     if(ret){ | ||||||
|  | 	krb5_free_context(context); | ||||||
|  | 	return ret; | ||||||
|  |     } | ||||||
|  |     ctx = *server_handle; | ||||||
|  |     ctx->my_context = 1; | ||||||
|  |     return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| kadm5_ret_t  | kadm5_ret_t  | ||||||
| kadm5_init_with_creds(char *client_name, | kadm5_s_init_with_creds_ctx(krb5_context context, | ||||||
| 		      krb5_ccache ccache, | 			    const char *client_name, | ||||||
| 		      char *service_name, | 			    krb5_ccache ccache, | ||||||
| 		      kadm5_config_params *params, | 			    const char *service_name, | ||||||
| 		      krb5_ui_4 struct_version, | 			    kadm5_config_params *realm_params, | ||||||
| 		      krb5_ui_4 api_version, | 			    unsigned long struct_version, | ||||||
| 		      void **server_handle) | 			    unsigned long api_version, | ||||||
|  | 			    void **server_handle) | ||||||
| { | { | ||||||
|  |     return kadm5_s_init_with_context(context, | ||||||
|  | 				     client_name, | ||||||
|  | 				     service_name, | ||||||
|  | 				     realm_params, | ||||||
|  | 				     struct_version, | ||||||
|  | 				     api_version, | ||||||
|  | 				     server_handle); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | kadm5_ret_t  | ||||||
|  | kadm5_s_init_with_creds(const char *client_name, | ||||||
|  | 			krb5_ccache ccache, | ||||||
|  | 			const char *service_name, | ||||||
|  | 			kadm5_config_params *realm_params, | ||||||
|  | 			unsigned long struct_version, | ||||||
|  | 			unsigned long api_version, | ||||||
|  | 			void **server_handle) | ||||||
|  | { | ||||||
|  |     krb5_context context; | ||||||
|  |     kadm5_ret_t ret; | ||||||
|  |     kadm5_server_context *ctx; | ||||||
|  |  | ||||||
| #endif |     krb5_init_context(&context); | ||||||
|  |     ret = kadm5_s_init_with_creds_ctx(context,  | ||||||
|  | 				      client_name,  | ||||||
|  | 				      ccache,  | ||||||
|  | 				      service_name,  | ||||||
|  | 				      realm_params,  | ||||||
|  | 				      struct_version,  | ||||||
|  | 				      api_version,  | ||||||
|  | 				      server_handle); | ||||||
|  |     if(ret){ | ||||||
|  | 	krb5_free_context(context); | ||||||
|  | 	return ret; | ||||||
|  |     } | ||||||
|  |     ctx = *server_handle; | ||||||
|  |     ctx->my_context = 1; | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Johan Danielsson
					Johan Danielsson