krb5-samba: interdomain trust uses different salt principal
[samba.git] / lib / krb5_wrap / krb5_samba.h
index 7a8c7f65ec14dde54d5c71b2bf479dc3aa2fbace..8305c1f77af08a25d1a14342067762e2703aa4f0 100644 (file)
@@ -169,6 +169,8 @@ krb5_error_code smb_krb5_mk_error(krb5_context context,
                                  krb5_error_code error_code,
                                  const char *e_text,
                                  krb5_data *e_data,
+                                 const krb5_principal client,
+                                 const krb5_principal server,
                                  krb5_data *enc_err);
 
 krb5_error_code smb_krb5_get_allowed_etypes(krb5_context context,
@@ -181,15 +183,7 @@ bool smb_krb5_get_smb_session_key(TALLOC_CTX *mem_ctx,
                                  bool remote);
 
 krb5_error_code smb_krb5_kt_free_entry(krb5_context context, krb5_keytab_entry *kt_entry);
-void kerberos_set_creds_enctype(krb5_creds *pcreds, int enctype);
-bool kerberos_compatible_enctypes(krb5_context context, krb5_enctype enctype1, krb5_enctype enctype2);
 void smb_krb5_free_data_contents(krb5_context context, krb5_data *pdata);
-krb5_error_code smb_krb5_parse_name_norealm(krb5_context context,
-                                           const char *name,
-                                           krb5_principal *principal);
-bool smb_krb5_principal_compare_any_realm(krb5_context context,
-                                         krb5_const_principal princ1,
-                                         krb5_const_principal princ2);
 krb5_error_code smb_krb5_renew_ticket(const char *ccache_string, const char *client_string, const char *service_string, time_t *expire_time);
 krb5_error_code smb_krb5_gen_netbios_krb5_address(smb_krb5_addresses **kerb_addr,
                                                  const char *netbios_name);
@@ -318,20 +312,14 @@ krb5_error_code smb_krb5_principal_set_realm(krb5_context context,
                                             krb5_principal principal,
                                             const char *realm);
 
-char *kerberos_get_principal_from_service_hostname(TALLOC_CTX *mem_ctx,
-                                                  const char *service,
-                                                  const char *remote_name,
-                                                  const char *default_realm);
+char *smb_krb5_get_realm_from_hostname(TALLOC_CTX *mem_ctx,
+                                      const char *hostname,
+                                      const char *client_realm);
 
 char *smb_get_krb5_error_message(krb5_context context,
                                 krb5_error_code code,
                                 TALLOC_CTX *mem_ctx);
 
-bool unwrap_edata_ntstatus(TALLOC_CTX *mem_ctx,
-                          DATA_BLOB *edata,
-                          DATA_BLOB *edata_out);
-
-
 krb5_error_code kt_copy(krb5_context context,
                        const char *from,
                        const char *to);
@@ -362,6 +350,16 @@ krb5_error_code ms_suptypes_to_ietf_enctypes(TALLOC_CTX *mem_ctx,
 int smb_krb5_get_pw_salt(krb5_context context,
                         krb5_const_principal host_princ,
                         krb5_data *psalt);
+int smb_krb5_salt_principal(const char *realm,
+                           const char *sAMAccountName,
+                           const char *userPrincipalName,
+                           uint32_t uac_flags,
+                           TALLOC_CTX *mem_ctx,
+                           char **_salt_principal);
+int smb_krb5_salt_principal2data(krb5_context context,
+                                const char *salt_principal,
+                                TALLOC_CTX *mem_ctx,
+                                char **_salt_data);
 
 int smb_krb5_create_key_from_string(krb5_context context,
                                    krb5_const_principal host_princ,