/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
*/
#include "k5-int.h"
#include "cleanup.h"
#include "auth_con.h"
#include <stddef.h> /* NULL */
#include <stdlib.h> /* malloc */
#include <errno.h> /* ENOMEM */
/* Solaris Kerberos */
#include "kerberos_dtrace.h"
/*-------------------- decrypt_credencdata --------------------*/
/*
* decrypt the enc_part of a krb5_cred
*/
static krb5_error_code
{
return ENOMEM;
goto cleanup;
} else {
}
/* now decode the decrypted stuff */
goto cleanup;
retval = 0;
}
return retval;
}
/*----------------------- krb5_rd_cred_basic -----------------------*/
static krb5_error_code
krb5_creds ***pppcreds)
{
krb5_int32 i = 0;
/* decode cred message */
/* Solaris Kerberos */
return retval;
}
goto cleanup_cred;
/* Solaris Kerberos */
/*
* Allocate the list of creds. The memory is allocated so that
* krb5_free_tgt_creds can be used to free the list.
*/
if ((*pppcreds =
goto cleanup_cred;
}
/*
* For each credential, create a strcture in the list of
* credentials and copy the information.
*/
while (i < ncreds) {
goto cleanup;
}
(*pppcreds)[i+1] = 0;
goto cleanup;
goto cleanup;
goto cleanup;
goto cleanup;
goto cleanup;
}
/*
* NULL terminate the list
*/
if (retval) {
/* Solaris Kerberos */
}
return retval;
}
/*----------------------- krb5_rd_cred -----------------------*/
/*
* This functions takes as input an KRB_CRED message, validates it, and
* outputs the nonce and an array of the forwarded credentials.
*/
{
/* Get key */
/* Need a better error */
return KRB5_RC_REQUIRED;
return KRB5_RC_REQUIRED;
/*
* If decrypting with the first key we try fails, perhaps the
* credentials are stored in the session key so try decrypting with
* that.
*/
&replaydata, pppcreds))) {
&replaydata, pppcreds))) {
return retval;
}
}
goto error;
goto error;
goto error;
}
}
goto error;
}
}
}
error:;
if (retval) {
}
return retval;
}