You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "scott.zhai (Jira)" <ji...@apache.org> on 2023/11/26 12:04:00 UTC

[jira] [Updated] (DIRKRB-771) Why hasn't it been implemented ENCPADATA_REQ_ENC_PA_REP

     [ https://issues.apache.org/jira/browse/DIRKRB-771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

scott.zhai updated DIRKRB-771:
------------------------------
    Description: 
krb5_error_code
kdc_handle_protected_negotiation(krb5_context context,
                                 krb5_data *req_pkt, krb5_kdc_req *request,
                                 const krb5_keyblock *reply_key,
                                 krb5_pa_data ***out_enc_padata)
{
    krb5_error_code retval = 0;
    krb5_checksum checksum;
    krb5_data *out = NULL;
    krb5_pa_data pa, *pa_in;
    pa_in = krb5int_find_pa_data(context, request->padata,
                                 KRB5_ENCPADATA_REQ_ENC_PA_REP);
    if (pa_in == NULL)
        return 0;
    pa.magic = KV5M_PA_DATA;
    pa.pa_type = KRB5_ENCPADATA_REQ_ENC_PA_REP;
    memset(&checksum, 0, sizeof(checksum));
    retval = krb5_c_make_checksum(context,0, reply_key,
                                  KRB5_KEYUSAGE_AS_REQ, req_pkt, &checksum);
    if (retval != 0)
        goto cleanup;
    retval = encode_krb5_checksum(&checksum, &out);
    if (retval != 0)
        goto cleanup;
    pa.contents = (krb5_octet *) out->data;
    pa.length = out->length;
    retval = add_pa_data_element(context, &pa, out_enc_padata, FALSE);
    if (retval)
        goto cleanup;
    out->data = NULL;
    pa.magic = KV5M_PA_DATA;
    pa.pa_type = KRB5_PADATA_FX_FAST;
    pa.length = 0;
    pa.contents = NULL;
    retval = add_pa_data_element(context, &pa, out_enc_padata, FALSE);
cleanup:
    if (checksum.contents)
        krb5_free_checksum_contents(context, &checksum);
    if (out != NULL)
        krb5_free_data(context, out);
    return retval;
}

> Why hasn't it been implemented ENCPADATA_REQ_ENC_PA_REP 
> --------------------------------------------------------
>
>                 Key: DIRKRB-771
>                 URL: https://issues.apache.org/jira/browse/DIRKRB-771
>             Project: Directory Kerberos
>          Issue Type: Improvement
>            Reporter: scott.zhai
>            Priority: Trivial
>
> krb5_error_code
> kdc_handle_protected_negotiation(krb5_context context,
>                                  krb5_data *req_pkt, krb5_kdc_req *request,
>                                  const krb5_keyblock *reply_key,
>                                  krb5_pa_data ***out_enc_padata)
> {
>     krb5_error_code retval = 0;
>     krb5_checksum checksum;
>     krb5_data *out = NULL;
>     krb5_pa_data pa, *pa_in;
>     pa_in = krb5int_find_pa_data(context, request->padata,
>                                  KRB5_ENCPADATA_REQ_ENC_PA_REP);
>     if (pa_in == NULL)
>         return 0;
>     pa.magic = KV5M_PA_DATA;
>     pa.pa_type = KRB5_ENCPADATA_REQ_ENC_PA_REP;
>     memset(&checksum, 0, sizeof(checksum));
>     retval = krb5_c_make_checksum(context,0, reply_key,
>                                   KRB5_KEYUSAGE_AS_REQ, req_pkt, &checksum);
>     if (retval != 0)
>         goto cleanup;
>     retval = encode_krb5_checksum(&checksum, &out);
>     if (retval != 0)
>         goto cleanup;
>     pa.contents = (krb5_octet *) out->data;
>     pa.length = out->length;
>     retval = add_pa_data_element(context, &pa, out_enc_padata, FALSE);
>     if (retval)
>         goto cleanup;
>     out->data = NULL;
>     pa.magic = KV5M_PA_DATA;
>     pa.pa_type = KRB5_PADATA_FX_FAST;
>     pa.length = 0;
>     pa.contents = NULL;
>     retval = add_pa_data_element(context, &pa, out_enc_padata, FALSE);
> cleanup:
>     if (checksum.contents)
>         krb5_free_checksum_contents(context, &checksum);
>     if (out != NULL)
>         krb5_free_data(context, out);
>     return retval;
> }



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org