]> git.samba.org - samba.git/blobdiff - source4/auth/kerberos/krb5_init_context.h
s3:utils: let smbstatus report anonymous signing/encryption explicitly
[samba.git] / source4 / auth / kerberos / krb5_init_context.h
index b955ae508dd3a6b30411f5cd6003e561ad8d3716..c7f7cfd31d93ea09013417fe2d0174100df8654c 100644 (file)
@@ -34,17 +34,40 @@ smb_krb5_init_context_basic(TALLOC_CTX *tmp_ctx,
                            struct loadparm_context *lp_ctx,
                            krb5_context *_krb5_context);
 
-krb5_error_code smb_krb5_init_context(void *parent_ctx, struct tevent_context *ev,
+krb5_error_code smb_krb5_init_context(void *parent_ctx,
                                      struct loadparm_context *lp_ctx,
                                      struct smb_krb5_context **smb_krb5_context); 
 
 #ifdef SAMBA4_USES_HEIMDAL
-krb5_error_code smb_krb5_send_and_recv_func(krb5_context context,
+typedef krb5_error_code (*smb_krb5_send_to_realm_func)(struct smb_krb5_context *smb_krb5_context,
+                                                      void *,
+                                                      krb5_const_realm realm,
+                                                      time_t,
+                                                      const krb5_data *,
+                                                      krb5_data *);
+typedef krb5_error_code (*smb_krb5_send_to_kdc_func)(struct smb_krb5_context *smb_krb5_context,
+                                                    void *,
+                                                    krb5_krbhst_info *,
+                                                    time_t,
+                                                    const krb5_data *,
+                                                    krb5_data *);
+
+krb5_error_code smb_krb5_set_send_to_kdc_func(struct smb_krb5_context *smb_krb5_context,
+                                             smb_krb5_send_to_realm_func send_to_realm,
+                                             smb_krb5_send_to_kdc_func send_to_kdc,
+                                             void *private_data);
+
+krb5_error_code smb_krb5_send_and_recv_func(struct smb_krb5_context *smb_krb5_context,
                                            void *data,
                                            krb5_krbhst_info *hi,
                                            time_t timeout,
                                            const krb5_data *send_buf,
                                            krb5_data *recv_buf);
+krb5_error_code smb_krb5_send_and_recv_func_forced_tcp(struct smb_krb5_context *smb_krb5_context,
+                                                      struct addrinfo *ai,
+                                                      time_t timeout,
+                                                      const krb5_data *send_buf,
+                                                      krb5_data *recv_buf);
 krb5_error_code smb_krb5_context_set_event_ctx(struct smb_krb5_context *smb_krb5_context,
                                               struct tevent_context *ev,
                                               struct tevent_context **previous_ev);