Provided by: gnutls-doc_3.0.11+really2.12.14-5ubuntu3_all bug


       gnutls_ia_set_server_avp_function - API function


       #include <gnutls/extra.h>

       void         gnutls_ia_set_server_avp_function(gnutls_ia_server_credentials_t        cred,
       gnutls_ia_avp_func avp_func);


       gnutls_ia_server_credentials_t cred
                   is a gnutls_ia_server_credentials_t structure.

       gnutls_ia_avp_func avp_func


       Set the TLS/IA AVP callback handler used for the session.

       The callback's function form is: int (*avp_func)  (gnutls_session_t  session,  void  *ptr,
       const char *last, size_t lastlen, char **next, size_t *nextlen);

       The  session  parameter  is  the  gnutls_session_t  structure corresponding to the current
       session.   The  ptr   parameter   is   the   application   hook   pointer,   set   through
       gnutls_ia_set_server_avp_ptr().   The  AVP  received from the client is present in last of
       lastlen size.  The newly allocated output AVP to send to the client should  be  placed  in
       *next of *nextlen size.

       The  AVP callback is called to process incoming AVPs from the client, and to get a new AVP
       to send to the client.  It can also be used to instruct the TLS/IA handshake to do go into
       the   Intermediate   or   Final   phases.    It   return  a  negative  error  code,  or  a
       gnutls_ia_apptype_t message type.

       The callback may invoke gnutls_ia_permute_inner_secret() to mix any generated session keys
       with the TLS/IA inner secret.

       Specifically,  return GNUTLS_IA_APPLICATION_PAYLOAD (0) to send another AVP to the client,
       return    GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED    (1)     to     indicate     that     an
       IntermediatePhaseFinished      message      should      be      sent,      and      return
       GNUTLS_IA_FINAL_PHASE_FINISHED (2) to indicate that an FinalPhaseFinished  message  should
       be  sent.   In  the  last two cases, the contents of the next and nextlen parameter is not

       Note that the callback must use allocate the next parameter using gnutls_malloc(), because
       it is released via gnutls_free() by the TLS/IA handshake function.


       Report       bugs       to       <>.        GnuTLS       home      page:     General     help     using      GNU      software:


       Copyright © 2008 Free Software Foundation.
       Copying  and distribution of this file, with or without modification, are permitted in any
       medium without royalty provided the copyright notice and this notice are preserved.


       The full documentation for gnutls is maintained as a Texinfo  manual.   If  the  info  and
       gnutls programs are properly installed at your site, the command

              info gnutls

       should give you access to the complete manual.