Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source4/heimdal/kdc/misc.c

    r414 r745  
    3434#include "kdc_locl.h"
    3535
    36 RCSID("$Id$");
    37 
    3836struct timeval _kdc_now;
    3937
     
    4341              krb5_const_principal principal,
    4442              unsigned flags,
     43              krb5int32 *kvno_ptr,
    4544              HDB **db,
    4645              hdb_entry_ex **h)
    4746{
    4847    hdb_entry_ex *ent;
    49     krb5_error_code ret;
     48    krb5_error_code ret = HDB_ERR_NOENTRY;
    5049    int i;
     50    unsigned kvno = 0;
     51
     52    if (kvno_ptr) {
     53            kvno = *kvno_ptr;
     54            flags |= HDB_F_KVNO_SPECIFIED;
     55    }
    5156
    5257    ent = calloc (1, sizeof (*ent));
     
    8186        ret = config->db[i]->hdb_open(context, config->db[i], O_RDONLY, 0);
    8287        if (ret) {
    83             kdc_log(context, config, 0, "Failed to open database: %s",
    84                     krb5_get_err_text(context, ret));
     88            const char *msg = krb5_get_error_message(context, ret);
     89            kdc_log(context, config, 0, "Failed to open database: %s", msg);
     90            krb5_free_error_message(context, msg);
    8591            continue;
    8692        }
    8793
    88         ret = config->db[i]->hdb_fetch(context,
    89                                        config->db[i],
    90                                        principal,
    91                                        flags | HDB_F_DECRYPT,
    92                                        ent);
     94        ret = config->db[i]->hdb_fetch_kvno(context,
     95                                            config->db[i],
     96                                            principal,
     97                                            flags | HDB_F_DECRYPT,
     98                                            kvno,
     99                                            ent);
     100
    93101        krb5_free_principal(context, enterprise_principal);
    94102
     
    102110    }
    103111    free(ent);
    104     krb5_set_error_message(context, HDB_ERR_NOENTRY,
     112    krb5_set_error_message(context, ret,
    105113                           "no such entry found in hdb");
    106     return HDB_ERR_NOENTRY;
     114    return ret;
    107115}
    108116
Note: See TracChangeset for help on using the changeset viewer.