Man Linux: Main Page and Category List

NAME

       gnutls_ia_set_server_avp_function - Used to set a AVP callback

SYNOPSIS

       #include <gnutls/extra.h>

       void   gnutls_ia_set_server_avp_function(gnutls_ia_server_credentials_t
       cred, gnutls_ia_avp_func avp_func);

ARGUMENTS

       gnutls_ia_server_credentials_t cred
                   is a gnutls_ia_server_credentials_t structure.

       gnutls_ia_avp_func avp_func

DESCRIPTION

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

       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.

REPORTING BUGS

       Report    bugs    to    <bug-gnutls@gnu.org>.     GnuTLS   home   page:
       http://www.gnu.org/software/gnutls/ General help  using  GNU  software:
       http://www.gnu.org/gethelp/

COPYRIGHT

       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.

SEE ALSO

       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.