X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keydb_hkp.c;h=3ec46a4f2cf7b9e9bb40ca1e806961727fa40370;hb=85187675424f3854869f1607afd8a1e84e536946;hp=0c6fd5a97f97f7eb50eecbe5a8d564430d3150e3;hpb=5cb3cfdb9d8caa6d7a4a1979c50c46896957b934;p=onak.git diff --git a/keydb_hkp.c b/keydb_hkp.c index 0c6fd5a..3ec46a4 100644 --- a/keydb_hkp.c +++ b/keydb_hkp.c @@ -13,16 +13,18 @@ * more details. * * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * this program. If not, see . */ +#include +#include #include #include #include -#include #include +#include "build-config.h" + #include "armor.h" #include "charfuncs.h" #include "keydb.h" @@ -31,11 +33,11 @@ #include "mem.h" #include "onak-conf.h" #include "parsekey.h" -#include "version.h" struct onak_hkp_dbctx { + struct onak_db_config *config; /* Our DB config info */ CURL *curl; - char hkpbase[1024]; + char hkpbase[512]; }; static int hkp_parse_url(struct onak_hkp_dbctx *privctx, const char *url) @@ -48,11 +50,11 @@ static int hkp_parse_url(struct onak_hkp_dbctx *privctx, const char *url) proto[0] = host[0] = 0; port = 0; - matched = sscanf(url, "%5[a-z]://%256[a-zA-Z0-9.]:%u", proto, host, + matched = sscanf(url, "%5[a-z]://%256[a-zA-Z0-9.-]:%u", proto, host, &port); if (matched < 2) { proto[0] = 0; - sscanf(url, "%256[a-zA-Z0-9.]:%u", host, &port); + sscanf(url, "%256[a-zA-Z0-9.-]:%u", host, &port); } if (host[0] == 0) { @@ -346,7 +348,7 @@ static void hkp_cleanupdb(struct onak_dbctx *dbctx) * * We initialize CURL here. */ -struct onak_dbctx *keydb_hkp_init(bool readonly) +struct onak_dbctx *keydb_hkp_init(struct onak_db_config *dbcfg, bool readonly) { struct onak_dbctx *dbctx; struct onak_hkp_dbctx *privctx; @@ -357,6 +359,7 @@ struct onak_dbctx *keydb_hkp_init(bool readonly) return NULL; } + dbctx->config = dbcfg; dbctx->priv = privctx = malloc(sizeof(*privctx)); dbctx->cleanupdb = hkp_cleanupdb; dbctx->starttrans = hkp_starttrans; @@ -373,9 +376,11 @@ struct onak_dbctx *keydb_hkp_init(bool readonly) dbctx->getfullkeyid = generic_getfullkeyid; dbctx->iterate_keys = hkp_iterate_keys; - if (!hkp_parse_url(privctx, config.db_dir)) { + if (!hkp_parse_url(privctx, dbcfg->location)) { exit(EXIT_FAILURE); } + logthing(LOGTHING_INFO, "Using %s as HKP forwarding URL.", + privctx->hkpbase); curl_global_init(CURL_GLOBAL_DEFAULT); privctx->curl = curl_easy_init(); if (privctx->curl == NULL) {