# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
-AC_INIT([umurmur], [0.2.6], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur])
+AC_INIT([umurmur], [0.2.7], [http://code.google.com/p/umurmur/issues/entry], [umurmur], [http://code.google.com/p/umurmur])
AC_CONFIG_SRCDIR([src/client.h])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
AC_CHECK_HEADERS([google/protobuf-c/protobuf-c.h], [], [AC_MSG_ERROR([could not find google/protobuf-c/protobuf-c.h])])
AC_CHECK_LIB([protobuf-c], [protobuf_c_data_buffer_init], [], [AC_MSG_ERROR([could not find protobuf-c library])])
AC_CHECK_HEADERS([libconfig.h], [], [AC_MSG_ERROR([could not find libconfig.h])])
-AC_CHECK_LIB([config], [config_init], [], [AC_MSG_ERROR([could not find config])])
+AC_CHECK_LIB([config], [config_init], [], [AC_MSG_ERROR([could not find libconfig])])
AS_IF([test "x$with_ssl" == xpolarssl], [
- AC_CHECK_HEADERS([polarssl/ssl.h])
- AC_CHECK_LIB([polarssl], [ssl_init])
+ AC_CHECK_HEADERS([polarssl/ssl.h], [], [AC_MSG_ERROR([could not find polarssl/ssl.h])])
+ AC_CHECK_LIB([polarssl], [ssl_init], [], [AC_MSG_ERROR([could not find libpolarssl])])
AC_DEFINE([USE_POLARSSL], [], [Use PolarSSL])
])
AS_IF([test "x$with_ssl" == xopenssl], [
- AC_CHECK_HEADERS([openssl/ssl.h])
- AC_CHECK_LIB([crypto], [BN_init])
- AC_CHECK_LIB([ssl], [SSL_library_init])
+ AC_CHECK_HEADERS([openssl/ssl.h], [], [AC_MSG_ERROR([could not find openssl/ssl.h])])
+ AC_CHECK_LIB([crypto], [BN_init], [], [AC_MSG_ERROR([could not find libcrypto])])
+ AC_CHECK_LIB([ssl], [SSL_library_init], [], [AC_MSG_ERROR([could not find libssl])])
])
# Checks for header files.
+++ /dev/null
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=umurmur-openssl
-PKG_VERSION:=0.2.6
-PKG_RELEASE:=1
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-
-define Package/umurmur-openssl
- SECTION:=net
- CATEGORY:=Network
- TITLE:=uMurmur
- DEPENDS:=+libopenssl +libconfig
- URL:=http://code.google.com/p/umurmur
- MAINTAINER:=Martin Johansson <martin@fatbob.nu>
-endef
-
-define Package/umurmur-openssl/description
- Minimalistic Mumble server daemon.
- Uses OpenSSL library for SSL and crypto.
-endef
-
-TARGET_CFLAGS := \
- -DWRT_TARGET \
- $(TARGET_CFLAGS)
-TARGET_LDFLAGS := \
- -lcrypto -lssl \
- $(TARGET_LDFLAGS)
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
- $(CP) ./src/* $(PKG_BUILD_DIR)/
-endef
-
-define Build/CompileTarget
- CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"\
- $(MAKE) -C $(PKG_BUILD_DIR)/umurmur.$(1)/umurmur \
- all
-endef
-
-define Package/umurmur-openssl/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/umurmurd $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_CONF) ./openwrt/files/umurmur.conf $(1)/etc/
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./openwrt/files/umurmur.init $(1)/etc/init.d/umurmur
- $(INSTALL_DIR) $(1)/etc/umurmur
-endef
-
-$(eval $(call BuildPackage,umurmur-openssl))
-
+++ /dev/null
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=umurmur-polarssl
-PKG_VERSION:=0.2.6
-PKG_RELEASE:=1
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-
-define Package/umurmur-polarssl
- SECTION:=net
- CATEGORY:=Network
- TITLE:=uMurmur
- DEPENDS:=+libpolarssl +libconfig
- URL:=http://code.google.com/p/umurmur
- MAINTAINER:=Martin Johansson <martin@fatbob.nu>
-endef
-
-define Package/umurmur-polarssl/description
- Minimalistic Mumble server daemon.
- Uses the PolarSSL library for SSL and crypto.
-endef
-
-TARGET_CFLAGS := \
- -DWRT_TARGET \
- -DUSE_POLARSSL \
- $(TARGET_CFLAGS)
-TARGET_LDFLAGS := \
- -lpolarssl \
- $(TARGET_LDFLAGS)
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
- $(CP) ./src/* $(PKG_BUILD_DIR)/
-endef
-
-define Build/CompileTarget
- CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)"\
- $(MAKE) -C $(PKG_BUILD_DIR)/umurmur.$(1)/umurmur \
- all
-endef
-
-define Package/umurmur-polarssl/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/umurmurd $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_CONF) ./openwrt/files/umurmur.conf $(1)/etc/
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./openwrt/files/umurmur.init $(1)/etc/init.d/umurmur
- $(INSTALL_DIR) $(1)/etc/umurmur
-endef
-
-$(eval $(call BuildPackage,umurmur-polarssl))
-
password = "";
max_users = 10;
-# Username and groupname for privilege dropping
+# username and groupname for privilege dropping.
+# Will attempt to switch user if set.
# username = "";
+# If groupname not set the user's default login group will be used
# groupname = "";
-# bindaddr = "192.168.1.1";
# bindport = 64738;
+# bindaddr = "192.168.1.1";
# Root channel must always be defined first.
# If a channel has a parent, the parent must be defined before the child channel(s).
memcpy(&itr->remote_udp, &from, sizeof(struct sockaddr_in));
break;
}
- else Log_warn("Bad cryptstate from peer");
}
} /* while */
}
static config_t configuration;
-#define DEFAULT_CONFIG "/etc/umurmur.conf"
#define DEFAULT_WELCOME "Welcome to uMurmur!"
#define DEFAULT_MAX_CLIENTS 10
#define DEFAULT_MAX_BANDWIDTH 48000
#include "messages.h"
+#define DEFAULT_CONFIG "/etc/umurmur.conf"
+
typedef enum param {
CERTIFICATE,
KEY,
void printhelp()
{
printf("uMurmur version %s. Mumble protocol %d.%d.%d\n", UMURMUR_VERSION, PROTVER_MAJOR, PROTVER_MINOR, PROTVER_PATCH);
- printf("Usage: umurmurd [-d] [-p <pidfile>] [-c <conf file>] [-h]\n");
- printf(" -d - Do not daemonize\n");
- printf(" -p <pidfile> - Write PID to this file\n");
- printf(" -c <conf file> - Specify configuration file\n");
+ printf("Usage: umurmurd [-d] [-r] [-h] [-p <pidfile>] [-c <conf file>] [-a <addr>] [-b <port>]\n");
+ printf(" -d - Do not daemonize - run in foreground.\n");
#ifdef _POSIX_PRIORITY_SCHEDULING
printf(" -r - Run with realtime priority\n");
#endif
+ printf(" -h - Print this help\n");
+ printf(" -p <pidfile> - Write PID to this file\n");
+ printf(" -c <conf file> - Specify configuration file (default %s)\n", DEFAULT_CONFIG);
printf(" -a <address> - Bind to IP address\n");
printf(" -b <port> - Bind to port\n");
- printf(" -h - Print this help\n");
exit(0);
}
havege_state hs; /* exported to crypt.c */
/* DH prime */
-const char *my_dhm_P =
+char *my_dhm_P =
"9CE85640903BF123906947FEDE767261" \
"D9B4A973EB8F7D984A8C656E2BCC161C" \
"183D4CA471BA78225F940F16D1D99CA3" \
"44FF6AB553EC7073AD0CB608F2A3B480" \
"19E6C02BCED40BD30E91BB2469089670" \
"DEF409C08E8AC24D1732A6128D2220DC53";
-const char *my_dhm_G = "4";
-
-const char *test_key =
- "-----BEGIN RSA PRIVATE KEY-----\r\n"
- "MIICXAIBAAKBgQC/zZ5p/st9JUgoFIuNCwyYJhKhnqKlAk36RJJAXhJ/3FZCThQK\r\n"
- "J0jxMCjnQb9envZPIKrAfyDtlEGKU8OI2HvDsFL7Y2fNjew0R9DoUyzPRVBInfW9\r\n"
- "JP03aiOldpooTjXBrzoZV+DGqRYJE/IRJEyXir5NEJu624bMJm0XDVkxiwIDAQAB\r\n"
- "AoGAPcFJiR01jYSsd+Mtj2sIUhCoHQuDmJdmXfcoE7t2P17FEzIqd55weN+lu9fK\r\n"
- "cv/BlHaTI8mK45PBinUv1ubE6gzzyLtNgBW7ko8i23YQNMS4+8ApZZoCFsVbN533\r\n"
- "/mFYcOmWpdgIsAOyi3gAyO5OyGA71a3gkNX+MDYc7PgbTkkCQQDq1NN/j6xVw4qc\r\n"
- "3qunsMOVJxln7Gkgt0fOrCV0WltJNkKYiARwtpvB/SHIj6nHhun+J/ee/v+QjAL4\r\n"
- "aUwC8OmnAkEA0RfWWVQ2Yxk9QjRcqcpDddtc+9xxM6Dt+edGDSYKRUB/S2cl/Sdg\r\n"
- "abFdrFEnFdO03VknCrqUgweegeUJhU1tfQJBAKLFFjxK59cijMejCDRZr5eI3HFO\r\n"
- "Sqgkoh8871Ew+ClM9OgpD3rY+CmEPZB5E+N7PmGublLEyXv1sHFi+w7m0e0CQDnH\r\n"
- "eoYIzVapHNJ0ob6Rk/63dYRrsCRyLhDGpgbwIhps7kAp6sd/4BaU2qvJaSGQ9QPN\r\n"
- "pQpD8NIcguKmJfFeKgkCQBABatS74xI2UAW/IIbRBg8a8z4v5JxEnQwp0EtmON2I\r\n"
- "+AVBenUVFjpdjaaQ2/2IEgEwnzRfbERQfUlAkjczRaM=\r\n"
- "-----END RSA PRIVATE KEY-----\r\n";
-
-const char *test_cert =
- "-----BEGIN CERTIFICATE-----\r\n"
- "MIICfDCCAeWgAwIBAgIJANEN9Jb9sp0oMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV\r\n"
- "BAYTAlNFMRMwEQYDVQQHDApHb3RoZW5idXJnMRAwDgYDVQQKDAd1TXVybXVyMSEw\r\n"
- "HwYDVQQDDBh1TXVybXVyIHRlc3QgY2VydGlmaWNhdGUwHhcNMTEwMzIyMjIxMTEy\r\n"
- "WhcNMjEwMzE5MjIxMTEyWjBXMQswCQYDVQQGEwJTRTETMBEGA1UEBwwKR290aGVu\r\n"
- "YnVyZzEQMA4GA1UECgwHdU11cm11cjEhMB8GA1UEAwwYdU11cm11ciB0ZXN0IGNl\r\n"
- "cnRpZmljYXRlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/zZ5p/st9JUgo\r\n"
- "FIuNCwyYJhKhnqKlAk36RJJAXhJ/3FZCThQKJ0jxMCjnQb9envZPIKrAfyDtlEGK\r\n"
- "U8OI2HvDsFL7Y2fNjew0R9DoUyzPRVBInfW9JP03aiOldpooTjXBrzoZV+DGqRYJ\r\n"
- "E/IRJEyXir5NEJu624bMJm0XDVkxiwIDAQABo1AwTjAdBgNVHQ4EFgQUyI0/J6gS\r\n"
- "G7vEZl1nKq9rAYAg/TMwHwYDVR0jBBgwFoAUyI0/J6gSG7vEZl1nKq9rAYAg/TMw\r\n"
- "DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCGL3T4a7g+MUtcjIq2XLON\r\n"
- "cN/oPgPpMNcSPj7zQF1NVzjeQagvKIe3mL5sNIYuoIQm1Xm7aH2ueruhH0wkSOf0\r\n"
- "+7U/g7r70U1CFWzfgwzz3EWRq3hUQmZ9/Xy9V2P/iRrFNyAKE8MneuVv3aAIN6/W\r\n"
- "rWVxhCquqhFM3yIGe0f6hw==\r\n"
- "-----END CERTIFICATE-----\r\n";
-
+char *my_dhm_G = "4";
static void initTestCert()
{
int rc;
builtInTestCertificate = true;
- rc = x509parse_crt(&certificate, (unsigned char *)test_cert,
- strlen(test_cert));
+ rc = x509parse_crt(&certificate, (unsigned char *)test_srv_crt,
+ strlen(test_srv_crt));
if (rc != 0)
Log_fatal("Could not parse built-in test certificate");
- rc = x509parse_crt(&certificate, (unsigned char *)test_cert,
- strlen(test_cert));
+ rc = x509parse_crt(&certificate, (unsigned char *)test_ca_crt,
+ strlen(test_ca_crt));
if (rc != 0)
- Log_fatal("Could not parse built-in test certificate");
+ Log_fatal("Could not parse built-in test CA certificate");
}
static void initTestKey()
{
int rc;
- rc = x509parse_key(&key, (unsigned char *)test_key,
- strlen(test_key), NULL, 0);
+ rc = x509parse_key(&key, (unsigned char *)test_srv_key,
+ strlen(test_srv_key), NULL, 0);
if (rc != 0)
Log_fatal("Could not parse built-in test RSA key");
}
#ifndef VERSION_H_989876
#define VERSION_H_989876
-#define UMURMUR_VERSION "0.2.6"
+#define UMURMUR_VERSION "0.2.7"
#endif