* tunneling and relaying of packets of any protocol.
*
*
- * Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl,
+ * Copyright (C) 2007-2009 Othmar Gsenger, Erwin Nindl,
* Christian Pointner <satp@wirdorange.org>
*
* This file is part of Anytun.
*
* Anytun is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
*
* Anytun is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* along with anytun. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _CRYPTINIT_HPP
-#define _CRYPTINIT_HPP
+#ifndef ANYTUN_cryptinit_hpp_INCLUDED
+#define ANYTUN_cryptinit_hpp_INCLUDED
#ifndef NO_CRYPT
#ifndef USE_SSL_CRYPTO
#include <gcrypt.h>
// boost thread callbacks for libgcrypt
-#if defined(BOOST_HAS_PTHREADS)
-
static int boost_mutex_init(void **priv)
{
boost::mutex *lock = new boost::mutex();
{ GCRY_THREAD_OPTION_USER, NULL,
boost_mutex_init, boost_mutex_destroy,
boost_mutex_lock, boost_mutex_unlock };
-#else
-#error this libgcrypt thread callbacks only work with pthreads
-#endif
-
#define MIN_GCRYPT_VERSION "1.2.0"
#endif
#endif
+bool initCrypto()
+{
+#ifndef NO_CRYPT
+#ifndef USE_SSL_CRYPTO
+ return initLibGCrypt();
+#else
+ return true;
#endif
+#else
+ return true;
+#endif
+}
+#endif