X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;ds=inline;f=keydb_hkp.c;h=3ec46a4f2cf7b9e9bb40ca1e806961727fa40370;hb=a26c8e732ad4044b86c84924afce0c36bbc9f59a;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) {