--- a/loudmouth/src/lm-ssl-generic.c Tue Feb 02 01:10:06 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2003-2006 Imendio AB
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-#include "lm-debug.h"
-#include "lm-ssl.h"
-#include "lm-ssl-base.h"
-#include "lm-ssl-internals.h"
-
-LmSSLResponse
-_lm_ssl_func_always_continue (LmSSL *ssl,
- LmSSLStatus status,
- gpointer user_data)
-{
- UNUSED_FORMAL_PARAM(ssl);
- UNUSED_FORMAL_PARAM(status);
- UNUSED_FORMAL_PARAM(user_data);
- return LM_SSL_RESPONSE_CONTINUE;;
-}
-
-/* Define the SSL functions as noops if we compile without support */
-#ifndef HAVE_SSL
-
-LmSSL *
-_lm_ssl_new (const gchar *expected_fingerprint,
- LmSSLFunction ssl_function,
- gpointer user_data,
- GDestroyNotify notify)
-{
- return NULL;
-}
-
-void
-_lm_ssl_initialize (LmSSL *ssl)
-{
- /* NOOP */
-}
-
-gboolean
-_lm_ssl_begin (LmSSL *ssl,
- gint fd,
- const gchar *server,
- GError **error)
-{
- return TRUE;
-}
-
-GIOStatus
-_lm_ssl_read (LmSSL *ssl,
- gchar *buf,
- gint len,
- gsize *bytes_read)
-{
- /* NOOP */
- *bytes_read = 0;
-
- return G_IO_STATUS_EOF;
-}
-
-gboolean
-_lm_ssl_send (LmSSL *ssl, const gchar *str, gint len)
-{
- /* NOOP */
- return TRUE;
-}
-void
-_lm_ssl_close (LmSSL *ssl)
-{
- /* NOOP */
-}
-
-void
-_lm_ssl_free (LmSSL *ssl)
-{
- /* NOOP */
-}
-
-#endif /* HAVE_SSL */
-
-
-
-/**
- * lm_ssl_new:
- * @expected_fingerprint: The expected fingerprint. @ssl_function will be called if there is a mismatch. %NULL if you are not interested in this check.
- * @ssl_function: Callback called to inform the user of a problem during setting up the SSL connection and how to proceed. If %NULL is passed the default function that always continues will be used.
- * @user_data: Data sent with the callback.
- * @notify: Function to free @user_dataa when the connection is finished. %NULL if @user_data should not be freed.
- *
- * Creates a new SSL struct, call #lm_connection_set_ssl to use it.
- *
- * Return value: A new #LmSSL struct.
- **/
-EXPORT_C LmSSL *
-lm_ssl_new (const gchar *expected_fingerprint,
- LmSSLFunction ssl_function,
- gpointer user_data,
- GDestroyNotify notify)
-{
- /* The implementation of this function will be different depending
- * on which implementation is used
- */
- return _lm_ssl_new (expected_fingerprint,
- ssl_function, user_data, notify);
-}
-
-/**
- * lm_ssl_is_supported:
- *
- * Checks whether Loudmouth supports SSL or not.
- *
- * Return value: #TRUE if this installation of Loudmouth supports SSL, otherwise returns #FALSE.
- **/
-EXPORT_C gboolean
-lm_ssl_is_supported (void)
-{
-#ifdef HAVE_SSL
- return TRUE;
-#else
- return FALSE;
-#endif
-}
-
-
-/**
- * lm_ssl_get_fingerprint:
- * @ssl: an #LmSSL
- *
- * Returns the MD5 fingerprint of the remote server's certificate.
- *
- * Return value: A 16-byte array representing the fingerprint or %NULL if unknown.
- **/
-EXPORT_C const gchar *
-lm_ssl_get_fingerprint (LmSSL *ssl)
-{
- g_return_val_if_fail (ssl != NULL, NULL);
-
- return LM_SSL_BASE(ssl)->fingerprint;
-}
-
-/**
- * lm_ssl_ref:
- * @ssl: an #LmSSL
- *
- * Adds a reference to @ssl.
- *
- * Return value: the ssl
- **/
-EXPORT_C LmSSL *
-lm_ssl_ref (LmSSL *ssl)
-{
- g_return_val_if_fail (ssl != NULL, NULL);
-
- LM_SSL_BASE(ssl)->ref_count++;
-
- return ssl;
-}
-
-/**
- * lm_ssl_use_starttls:
- * @ssl: an #LmSSL
- *
- * Set whether STARTTLS should be used.
- **/
-EXPORT_C void
-lm_ssl_use_starttls (LmSSL *ssl,
- gboolean use_starttls,
- gboolean require_starttls)
-{
- LmSSLBase *base;
-
- base = LM_SSL_BASE (ssl);
- base->use_starttls = use_starttls;
- base->require_starttls = require_starttls;
-}
-
-/**
- * lm_ssl_get_use_starttls:
- *
- * Return value: TRUE is @ssl is configured to use STARTTLS.
- **/
-gboolean
-lm_ssl_get_use_starttls (LmSSL *ssl)
-{
- LmSSLBase *base;
-
- base = LM_SSL_BASE (ssl);
- lm_verbose ("lm_ssl_get_use_starttls use_starttls[%d]\n", base->use_starttls);
- return base->use_starttls;
-}
-
-/**
- * lm_ssl_get_require_starttls:
- *
- * Return value: TRUE if @ssl requires that STARTTLS succeed.
- **/
-gboolean
-lm_ssl_get_require_starttls (LmSSL *ssl)
-{
- LmSSLBase *base;
-
- base = LM_SSL_BASE (ssl);
- return base->require_starttls;
-}
-
-/**
- * lm_ssl_unref
- * @ssl: an #LmSSL
- *
- * Removes a reference from @ssl. When no more references are present
- * @ssl is freed.
- **/
-EXPORT_C void
-lm_ssl_unref (LmSSL *ssl)
-{
- LmSSLBase *base;
-
- g_return_if_fail (ssl != NULL);
-
- base = LM_SSL_BASE (ssl);
-
- base->ref_count --;
-
- if (base->ref_count == 0) {
- if (base->data_notify) {
- (* base->data_notify) (base->func_data);
- }
-
- _lm_ssl_free (ssl);
- }
-}
-
-