help-gnutls
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnutls extension


From: Sumon Islam
Subject: gnutls extension
Date: Mon, 29 Nov 2010 14:11:14 -0800 (PST)

Hi,
I would like to extend the gnutls, I followed all steps (point 1 to 4) as the link specified (http://www.gnu.org/software/gnutls/devel/manual/gnutls.html#TLS-Extension-Handling). I made simple ext_foobar.c and ext_foobar.h ( I avoided the API steps of point 5 at the first time for simplicity), attached below.
Then I did ./configure --enable-foobar, make and make install, but could not get any message (of extension part) when run the client and server. 
I found that ./configure --enable-foobar gives "checking whether to disable foobar support... yes" output. But only ./configure gives "checking whether to disable foobar support... no"
So I did
./configure, make and make install and run the client and server (with compile) again, but could not get any extension output. I also tried with autoreconf to build the program with extension, but no improvement.
I downloaded the client (http://www.gnu.org/software/gnutls/manual/html_node/Simple-client-example-with-anonymous-authentication.html#Simple-client-example-with-anonymous-authentication) and server (http://www.gnu.org/software/gnutls/manual/html_node/Echo-Server-with-anonymous-authentication.html#Echo-Server-with-anonymous-authentication) and run the unmodified version. Do I need to change anything in the client and server program to initiate the extension?

I could not find anything that can help me. Please help me to get the extension message when run the client and server, and guide me to the right direction. Thank you.

Best regards,
Sumon


/* ext_foobar.h */

int
          _gnutls_foobar_recv_params (gnutls_session_t session,
                                      const opaque * data,
                                      size_t data_size);
         
int
          _gnutls_foobar_send_params (gnutls_session_t session,
                                      opaque * data,
                                      size_t data_size);



/* ext_foobar.c */

#include <gnutls_int.h>
#include "ext_foobar.h"


int
          _gnutls_foobar_recv_params (gnutls_session_t session,
                                      const opaque * data,
                                      size_t data_size)
          {
           if (session->security_parameters.entity == GNUTLS_CLIENT)
           
               {
                printf("data rcvd from client:%s\n", data);
                return 0;
               }
           else
                {
                    printf("data rcvd from server:\n%s\n", data);
                    return 0;
                }
            
          }
         

int
          _gnutls_foobar_send_params (gnutls_session_t session,
                                      opaque * data,
                                      size_t data_size)
          {
            if (session->security_parameters.entity == GNUTLS_CLIENT)
                 {
                    data= ""
                    data_size=16;
                    memcpy (data, "server: hi there", 16);
                    return 17;
                }
            else
                {
                    data= ""
                    data_size=16;
                    memcpy (data, "client: hi there", 16);
                    return 17;
                }
             
          }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]