s4-kdc Fix up after import of new lorikeet-heimdal
authorAndrew Bartlett <abartlet@samba.org>
Sat, 2 Oct 2010 06:55:06 +0000 (16:55 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 3 Oct 2010 01:56:04 +0000 (01:56 +0000)
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Oct  3 01:56:04 UTC 2010 on sn-devel-104

source4/kdc/hdb-samba4.c
source4/kdc/kdc.c

index 53b1abee94e81a7fbae4ac0364bce9e7f97d0781..3956ce2b1560204b2f3aa3e132efa18c639dad4d 100644 (file)
@@ -82,18 +82,33 @@ static krb5_error_code hdb_samba4_remove(krb5_context context, HDB *db, krb5_con
        return HDB_ERR_DB_INUSE;
 }
 
+static krb5_error_code hdb_samba4_fetch_kvno(krb5_context context, HDB *db,
+                                            krb5_const_principal principal,
+                                            unsigned flags,
+                                            unsigned kvno,
+                                            hdb_entry_ex *entry_ex)
+{
+       struct samba_kdc_db_context *kdc_db_ctx;
+
+       kdc_db_ctx = talloc_get_type_abort(db->hdb_db,
+                                          struct samba_kdc_db_context);
+
+       return samba_kdc_fetch(context, kdc_db_ctx, principal, flags, kvno, entry_ex);
+}
+
 static krb5_error_code hdb_samba4_fetch(krb5_context context, HDB *db,
                                        krb5_const_principal principal,
                                        unsigned flags,
-                                       unsigned kvno,
                                        hdb_entry_ex *entry_ex)
 {
        struct samba_kdc_db_context *kdc_db_ctx;
 
+       flags &= ~HDB_F_KVNO_SPECIFIED;
+
        kdc_db_ctx = talloc_get_type_abort(db->hdb_db,
                                           struct samba_kdc_db_context);
 
-       return samba_kdc_fetch(context, kdc_db_ctx, principal, flags, kvno, entry_ex);
+       return samba_kdc_fetch(context, kdc_db_ctx, principal, flags, 0, entry_ex);
 }
 
 static krb5_error_code hdb_samba4_firstkey(krb5_context context, HDB *db, unsigned flags,
@@ -186,6 +201,7 @@ NTSTATUS hdb_samba4_create_kdc(struct samba_kdc_base_context *base_ctx,
        (*db)->hdb_open = hdb_samba4_open;
        (*db)->hdb_close = hdb_samba4_close;
        (*db)->hdb_fetch = hdb_samba4_fetch;
+       (*db)->hdb_fetch_kvno = hdb_samba4_fetch_kvno;
        (*db)->hdb_store = hdb_samba4_store;
        (*db)->hdb_remove = hdb_samba4_remove;
        (*db)->hdb_firstkey = hdb_samba4_firstkey;
index 4dd2113dff0f5addcb3d7ff09238cd201c04afd5..3242258e23e899e6eaa2fcadff8fbc0d9e1b61c1 100644 (file)
@@ -632,9 +632,8 @@ static NTSTATUS kdc_check_generic_kerberos(struct irpc_message *msg,
                                            kdc->config->db[0],
                                            principal,
                                            HDB_F_GET_KRBTGT | HDB_F_DECRYPT,
-                                           0,
                                            &ent);
-
+       
        if (ret != 0) {
                hdb_free_entry(kdc->smb_krb5_context->krb5_context, &ent);
                krb5_free_principal(kdc->smb_krb5_context->krb5_context, principal);