From: Sam Hartman Date: Fri, 5 Apr 2013 01:22:20 +0000 (-0400) Subject: Depend on sqlite3 and add utility X-Git-Tag: 1.0~51 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=trust_router.git;a=commitdiff_plain;h=2294e3c5241a80d44fd436c51dc9685590c34e7d Depend on sqlite3 and add utility Add tr_bin_to_hex utility --- diff --git a/Makefile.am b/Makefile.am index b693492..d8bd9b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,8 @@ AM_CFLAGS = -Wall -Werror=missing-prototypes -Werror=strict-prototypes -Wno-pare SUBDIRS = gsscon common_srcs = common/tr_name.c \ common/tr_msg.c \ -common/tr_dh.c +common/tr_dh.c \ + common/tr_util.c lib_LTLIBRARIES = libtr_tid.la diff --git a/common/tr_util.c b/common/tr_util.c new file mode 100644 index 0000000..06b7d8a --- /dev/null +++ b/common/tr_util.c @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2012, 2013, JANET(UK) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of JANET(UK) nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include +#include +#include +#include + +void tr_bin_to_hex(const unsigned char * bin, size_t bin_len, + char * hex_out, size_t hex_len) +{ + assert(hex_len >= 2*bin_len); + while (bin_len >0) { + snprintf(hex_out, hex_len, "%2x", bin[0]); + bin++, hex_out += 2; + bin_len--; + hex_len -= 2; + } +} diff --git a/configure.ac b/configure.ac index 75eac04..cf72ee5 100644 --- a/configure.ac +++ b/configure.ac @@ -3,6 +3,7 @@ AC_INIT([trust_router],[0.0.1], [bugs@project-moonshot.org]) AC_CONFIG_MACRO_DIR(m4) AC_CONFIG_AUX_DIR(build-aux) +AC_USE_SYSTEM_EXTENSIONS AM_INIT_AUTOMAKE([1.11 foreign]) AM_SILENT_RULES AM_MAINTAINER_MODE @@ -12,7 +13,9 @@ AC_PROG_CC AC_PROG_RANLIB AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context]) -AC_CHECK_LIB([com_err], [error_message]) +AC_CHECK_LIB([com_err], [error_message])AC_CHECK_LIB([sqlite3], [sqlite3_open],, + [AC_MSG_ERROR([Please install sqlite3 development])]) + AC_CHECK_LIB([jansson], [json_object]) AC_CHECK_LIB([crypto], [DH_new]) AC_CHECK_HEADERS(gssapi.h gssapi_ext.h jansson.h openssl/dh.h openssl/bn.h) diff --git a/include/tr_dh.h b/include/tr_dh.h index a81f64c..dd4d711 100644 --- a/include/tr_dh.h +++ b/include/tr_dh.h @@ -44,4 +44,8 @@ TR_EXPORT DH *tr_create_matching_dh(unsigned char *key, size_t len, DH *in_dh); TR_EXPORT void tr_destroy_dh_params(DH *dh); TR_EXPORT int tr_compute_dh_key(unsigned char *buf, size_t buflen, BIGNUM *pub_key, DH *priv_dh); + +TR_EXPORT void tr_bin_to_hex(const unsigned char * bin, size_t binlen, + char * hex_out, size_t hex_len); + #endif