Search code examples
ssltcpgliblibnice

"TLS support is not available" when creating GTlsClientConnection with libnice


I have working code where two peers are connecting over a relay server (coturn) and everything seems to be fine over pseudo-tcp. I've tested message exchange successfully with nice_agent_attach_recv() and nice_agent_get_io_stream().

But when I try to create a GTlsClientConnection I get back: 0:TLS support is not available

Here is some partial code:

   if(!nice_agent_set_relay_info(agent, stream_id, 
       NICE_COMPONENT_TYPE_RTP, 
       "my.coturn.server", 
       5349, //tls-listener-port (I also tried the non tls port: 3478)
       username.c_str(), 
       password.c_str(), 
       NICE_RELAY_TYPE_TURN_TCP)) 
   {
        printf("error setting up relay info\n");
   }

   ...

   //after state has changed to NICE_COMPONENT_STATE_READY

   ...

   io_stream = nice_agent_get_io_stream (agent, stream_id, component_id);
   input = g_io_stream_get_input_stream (G_IO_STREAM (io_stream));
   output = g_io_stream_get_output_stream (G_IO_STREAM (io_stream));

   GIOStream* tlsConnection  = g_tls_client_connection_new 
                               (G_IO_STREAM (io_stream), NULL, &error);

   /////////////////////////
   /// error == 0 (TLS support is not available)

I am new to libnice and glib. So, I may be missing something basic.


Solution

  • Probably need the glib-networking package installed.