You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Colm O hEigeartaigh (Jira)" <ji...@apache.org> on 2023/11/29 07:54:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=17790952#comment-17790952 ] 

Colm O hEigeartaigh commented on DIRKRB-771:
--------------------------------------------

Hi,

If it hasn't been implemented, it's because no-one has needed it to be implemented :) We're an open source project and gratefully accept contributions, you can submit a pull request here [https://github.com/apache/directory-kerby/pulls]

Colm.

> 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
>
> {code}
> 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;
> }
> {code}



--
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