if (local_dec_rep->etype != etype) {
krb5_free_kdc_rep(local_dec_rep);
- return KRB5KDC_ERR_ETYPE_NOSUPP; /* XXX */
+ return KRB5_WRONG_ETYPE;
}
if (retval = krb5_kdc_rep_decrypt_proc(key, 0, local_dec_rep)) {
krb5_free_kdc_rep(local_dec_rep);
krb5_error_code retval;
if (!valid_etype(ticket->etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP;
+ return KRB5_PROG_ETYPE_NOSUPP;
/* put together an eblock for this encryption */
krb5_error_code retval;
if (!valid_etype(dec_rep->etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP;
+ return KRB5_PROG_ETYPE_NOSUPP;
switch (type) {
case KRB5_AS_REP:
/* encrypt the encrypted part */
if (!valid_etype(dec_ticket->etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP;
+ return KRB5_PROG_ETYPE_NOSUPP;
/* start by encoding the to-be-encrypted part. */
if (retval = encode_krb5_enc_tkt_part(dec_tkt_part, &scratch)) {
krb5_enc_kdc_rep_part *local_encpart;
if (!valid_etype(dec_rep->etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP; /* XXX */
+ return KRB5_PROG_ETYPE_NOSUPP;
/* set up scratch decrypt/decode area */
return(retval);
}
/* verify a valid etype is available */
- etype = keytype_to_etype(creds->keyblock.keytype); /* XXX */
+ if (!valid_keytype(creds->keyblock.keytype))
+ return KRB5_PROG_KEYTYPE_NOSUPP;
+
+ etype = krb5_keytype_array[creds->keyblock.keytype]->system->proto_enctype;
if (!valid_etype(etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP;
+ return KRB5_PROG_ETYPE_NOSUPP;
request.ap_options = ap_req_options;
/* we need a native ticket */
krb5_data *scratch;
if (!valid_cksumtype(sumtype))
- return KRB5KDC_ERR_ETYPE_NOSUPP; /* XXX */
+ return KRB5_PROG_SUMTYPE_NOSUPP;
addrs[0] = sender_addr->address;
addrs[1] = 0;
etype = keytype_to_etype(sesskey->keytype);
if (!valid_etype(etype))
- return KRB5KDC_ERR_ETYPE_NOSUPP;
+ return KRB5_PROG_ETYPE_NOSUPP;
/* put together an eblock for this encryption */