 81cbbf7820
			
		
	
	81cbbf7820
	
	
	
		
			
			git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@298 ec53bebd-3082-4978-b11e-865c3cabbd6b
		
			
				
	
	
		
			313 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			313 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| krb5_get_in_tkt()
 | |
| krb5_get_in_tkt_with_password()
 | |
| 
 | |
| krb5_send_tgs()
 | |
| 
 | |
| KDC_OPT_FORWARDABLE
 | |
| KDC_OPT_FORWARDED
 | |
| KDC_OPT_PROXIABLE
 | |
| KDC_OPT_PROXY
 | |
| KDC_OPT_ALLOW_POSTDATE
 | |
| KDC_OPT_POSTDATED
 | |
| KDC_OPT_RENEWABLE
 | |
| KDC_OPT_RENEWABLE_OK
 | |
| KDC_OPT_ENC_TKT_IN_SKEY
 | |
| KDC_OPT_RENEW
 | |
| KDC_OPT_VALIDATE
 | |
| 
 | |
| 
 | |
| KRB5_PADATA_NONE
 | |
| KRB5_PADATA_AP_REQ
 | |
| KRB5_PADATA_TGS_REQ
 | |
| KRB5_PADATA_PW_SALT
 | |
| KRB5_PADATA_ENC_TIMESTAMP
 | |
| KRB5_PADATA_ENC_SECURID
 | |
| 
 | |
| KRB5_AUTH_CONTEXT_DO_TIME
 | |
| KRB5_AUTH_CONTEXT_RET_TIME
 | |
| KRB5_AUTH_CONTEXT_DO_SEQUENCE
 | |
| KRB5_AUTH_CONTEXT_RET_REQUENCE
 | |
| 
 | |
| /* types */
 | |
| krb5_error_code;
 | |
| krb5_context;
 | |
| 
 | |
| typedef struct krb5_auth_context{
 | |
|   krb5_int32 flags;
 | |
|   krb5_cksumtype cksumtype;
 | |
| 
 | |
|   krb5_address local_address;
 | |
|   krb5_address remote_address;
 | |
|   krb5_keyblock key;
 | |
|   krb5_keyblock local_subkey;
 | |
|   krb5_keyblock remote_subkey;
 | |
| 
 | |
|   krb5_int32 local_seqnumber;
 | |
|   krb5_int32 remote_seqnumber;
 | |
| 
 | |
|   krb5_authenticator authenticator;
 | |
|   
 | |
|   krb5_pointer i_vector;
 | |
|   
 | |
|   krb5_rcache rcache;
 | |
|   
 | |
| }krb5_auth_context;
 | |
| 
 | |
| enum krb5_enc_type;
 | |
| 
 | |
| krb5_int32;
 | |
| krb5_address;
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_init_context(krb5_context *context);
 | |
| 
 | |
| void krb5_os_free_context(krb5_context context);
 | |
| void krb5_free_context(krb5_context context);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_set_default_in_tkt_etypes(krb5_context context, 
 | |
| 			       const krb5_enc_type *etypes);
 | |
| 
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_get_default_in_tkt_etypes(krb5_context context,
 | |
| 			       krb5_enctype **etypes);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_init(krb5_context context,
 | |
| 		   krb5_auth_context **auth_context);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_free(krb5_context context,
 | |
| 		   krb5_auth_context *auth_context);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_setflags(krb5_context context,
 | |
| 		       krb5_auth_context *auth_context,
 | |
| 		       krb5_int32 flags);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_getflags(krb5_context context,
 | |
| 		       krb5_auth_context *auth_context,
 | |
| 		       krb5_int32 *flags);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_setaddrs(krb5_context context,
 | |
| 		       krb5_auth_context *auth_context,
 | |
| 		       krb5_address *local_addr,
 | |
| 		       krb5_address *remote_addr);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_getaddrs(krb5_context context,
 | |
| 		       krb5_auth_context *auth_context,
 | |
| 		       krb5_address **local_addr,
 | |
| 		       krb5_address **remote_addr);
 | |
| 
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_setuserkey(krb5_context context,
 | |
| 			 krb5_auth_context *auth_context,
 | |
| 			 krb5_keyblock *keyblock);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_con_getkey(krb5_context context,
 | |
| 		     krb5_auth_context *auth_context,
 | |
| 		     krb5_keyblock **keyblock);
 | |
| 
 | |
| void
 | |
| krb5_free_keyblock(krb5_keyblock *keyblock); /* ??? */
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_setcksumtype(krb5_context context,
 | |
| 		       krb5_auth_context *auth_context,
 | |
| 		       krb5_cksumtype cksumtype);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_getlocalseqnumber(krb5_context context,
 | |
| 			    krb5_auth_context *auth_context,
 | |
| 			    krb5_int32 *seqnumber);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_getremoteseqnumber(krb5_context context,
 | |
| 			     krb5_auth_context *auth_context,
 | |
| 			     krb5_int32 *seqnumber);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_getauthenticator(krb5_context context,
 | |
| 			   krb5_auth_context *auth_context,
 | |
| 			   krb5_authenticator **authenticator);
 | |
| 
 | |
| void
 | |
| krb5_free_authenticator(krb5_authenticator *authenticator); /* ??? */
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_auth_initvector(krb5_context context,
 | |
| 		     krb5_auth_context *auth_context);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_set_initvector(krb5_context context,
 | |
| 		    krb5_auth_context *auth_context,
 | |
| 		    krb5_pointer ivector);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_set_rcache(krb5_context context,
 | |
| 		krb5_auth_context *auth_context,
 | |
| 		krb5_rcache rcache);
 | |
| 
 | |
| 
 | |
| 
 | |
| KRB5_PARSE_MALFORMED
 | |
| 
 | |
| typedef struct krb5_principal{
 | |
|   
 | |
| }krb5_principal;
 | |
| 
 | |
| krb5_err_code
 | |
| krb5_parse_name(krb5_context context,
 | |
| 		const char *name,
 | |
| 		krb5_principal *principal);
 | |
| 
 | |
| void
 | |
| krb5_free_principal(krb5_principal *principal);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_unparse_name(krb5_context context,
 | |
| 		  krb5_const_principal principal,
 | |
| 		  char **name);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_unparse_name_ext(krb5_context context,
 | |
| 		      krb5_const_principal principal,
 | |
| 		      char **name, 
 | |
| 		      int *size);
 | |
| krb5_data
 | |
| krb5_princ_realm(krb5_context context, 
 | |
| 		 krb5_principal principal);
 | |
| 
 | |
| krb5_data
 | |
| krb5_princ_set_realm(krb5_context context, 
 | |
| 		     krb5_principal principal,
 | |
| 		     krb5_data *realm);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_build_principal(krb5_context context,
 | |
| 		     krb5_principal *principal,
 | |
| 		     int rlen,
 | |
| 		     const char *realm,
 | |
| 		     ...);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_build_principal(krb5_context context,
 | |
| 		     krb5_principal *principal,
 | |
| 		     int rlen,
 | |
| 		     const char *realm,
 | |
| 		     va_list ap);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_copy_principal(krb5_context *context,
 | |
| 		    krb5_const_principal inprinc,
 | |
| 		    krb5_principal *outprinc);
 | |
| 
 | |
| krb5_boolean
 | |
| krb5_principal_compare(krb5_context context,
 | |
| 		       krb5_const_principal princ1,
 | |
| 		       krb5_const_principal princ2);
 | |
| 
 | |
| krb5_boolean
 | |
| krb5_realm_compare(krb5_context context,
 | |
| 		   krb5_const_principal princ1,
 | |
| 		   krb5_const_principal princ2);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_425_conv_principal(krb5_context context,
 | |
| 			const char *name,
 | |
| 			const char *instance,
 | |
| 			const char *realm,
 | |
| 			krb5_principal *principal);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_get_cred_from_kdc(krb5_context,
 | |
| 		       krb5_ccache ccache,
 | |
| 		       krb5_creds *in_cred,
 | |
| 		       krb5_cred **out_cred,
 | |
| 		       krb5_creds **tgts);
 | |
| 
 | |
| 
 | |
| krb5_keyblock{
 | |
|   krb5_keytype keytype;
 | |
| };
 | |
| 
 | |
| krb5_times{
 | |
|   krb5_time endtime;
 | |
|   krb5_time starttime;
 | |
|   krb5_time renew_till;
 | |
| };
 | |
| 
 | |
| struct krb5_creds {
 | |
|   krb5_principal client; /* ? */
 | |
|   krb5_principal server; /* ? */
 | |
|   krb5_times times;
 | |
|   krb5_keyblock keyblock
 | |
|   second_ticket;
 | |
|   krb5_data authdata;
 | |
|   
 | |
| };
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_get_credentials(krb5_context context,
 | |
| 		     krb5_flags options,
 | |
| 		     krb5_ccache ccache,
 | |
| 		     krb5_creds *in_creds,
 | |
| 		     krb5_creds *out_creds);
 | |
| 
 | |
| typedef krb5_error_code (*krb5_key_proc)(krb5_context context,
 | |
| 					 const krb5_keytype type,
 | |
| 					 krb5_data *salt;
 | |
| 					 krb5_const_pointer keyseed,
 | |
| 					 krb5_keyblock **key);
 | |
| typedef krb5_error_code (*krb5_decrypt_proc)(krb5_context context,
 | |
| 					     const krb5_keyblock *key,
 | |
| 					     krb5_const_pointer *decrypt_arg,
 | |
| 					     krb5_kdc_rep *dec_rep);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_get_in_tkt(krb5_context context,
 | |
| 		krb5_flags options,
 | |
| 		krb5_address *const *addrs,
 | |
| 		const krb5_enctype *etypes,
 | |
| 		const krb5_preauthtype *ptypes,
 | |
| 		krb5_key_proc key_proc,
 | |
| 		krb5_const_pointer keyseed,
 | |
| 		krb5_decrypt_proc decrypt_proc,
 | |
| 		krb5_const_pointer decryptarg,
 | |
| 		krb5_creds *creds,
 | |
| 		krb5_ccache ccache,
 | |
| 		krb5_kdc_rep **ret_as_reply);
 | |
| 
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_mk_req(krb5_context context,
 | |
| 	    krb5_auth_context **auth_context,
 | |
| 	    const krb5_flags ap_req_options,
 | |
| 	    char *service,
 | |
| 	    char *hostname,
 | |
| 	    krb5_data *in_data,
 | |
| 	    krb5_ccache ccache,
 | |
| 	    krb5_data *outbuf);
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_generate_subkey(krb5_context context,
 | |
| 		     const krb5_keyblock *key,
 | |
| 		     krb5_keyblock **subkey);
 | |
| 
 | |
| 
 | |
| krb5_error_code
 | |
| krb5_rd_req(krb5_context context,
 | |
| 	    krb5_auth_context **auth_context,
 | |
| 	    const krb5_data *inbuf,
 | |
| 	    krb5_const_principal server,
 | |
| 	    krb5_keytab keytab,
 | |
| 	    krb5_flags *ap_req_options,
 | |
| 	    krb5_ticket **ticket);
 | |
| 
 |