From d7eedab897019a1e3430e861b0ee33ca4e7629bd Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 12 Mar 2015 18:32:36 +0800 Subject: [PATCH 1/3] add config option "bitcoin_list" --- src/jconf.c | 2 ++ src/jconf.h | 1 + src/server.c | 13 +++++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/jconf.c b/src/jconf.c index febd7eb8..6475fc30 100644 --- a/src/jconf.c +++ b/src/jconf.c @@ -182,6 +182,8 @@ jconf_t *read_jconf(const char * file) conf.bitcoin_address = to_string(value); } else if (strcmp(name, "bitcoin_privkey") == 0) { conf.bitcoin_privkey = to_string(value); + } else if (strcmp(name, "bitcoin_list") == 0) { + conf.bitcoin_list = to_string(value); } } } else { diff --git a/src/jconf.h b/src/jconf.h index 3b9c354e..1eb2298f 100644 --- a/src/jconf.h +++ b/src/jconf.h @@ -47,6 +47,7 @@ typedef struct { char *nameserver; char *bitcoin_address; char *bitcoin_privkey; + char *bitcoin_list; } jconf_t; jconf_t *read_jconf(const char * file); diff --git a/src/server.c b/src/server.c index 81e37225..a006ff88 100644 --- a/src/server.c +++ b/src/server.c @@ -1161,11 +1161,7 @@ int main(int argc, char **argv) LOGI("initialize acl..."); acl = !init_acl(optarg); } else if (strcmp(long_options[option_index].name, "bitcoin-list") == 0) { - LOGI("bitcoin list file: %s", optarg); bitcoin_list = bitcoin_init_list(optarg); - if (bitcoin_setup_update_thread(bitcoin_list) == 0) { - FATAL("setup bitcoin check list thread failure"); - } } break; case 's': @@ -1243,6 +1239,9 @@ int main(int argc, char **argv) if (timeout == NULL) { timeout = conf->timeout; } + if (bitcoin_list == NULL) { + bitcoin_list = bitcoin_init_list(conf->bitcoin_list); + } #ifdef TCP_FASTOPEN if (fast_open == 0) { fast_open = conf->fast_open; @@ -1268,6 +1267,12 @@ int main(int argc, char **argv) } } + if (bitcoin_list) { + if (bitcoin_setup_update_thread(bitcoin_list) == 0) { + FATAL("setup bitcoin check list thread failure"); + } + } + if (server_num == 0) { server_host[server_num++] = NULL; } From e44d79edae83b420ac520604cc77d8489836d383 Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 12 Mar 2015 19:21:25 +0800 Subject: [PATCH 2/3] recover codes which deleted by mistake --- src/local.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/local.c b/src/local.c index f1d89eb4..e87631c2 100644 --- a/src/local.c +++ b/src/local.c @@ -465,6 +465,8 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) r -= (3 + addr_len - bitcoin_len); buf += (3 + addr_len - bitcoin_len); #endif + r -= (3 + addr_len); + buf += (3 + addr_len); server->stage = 5; From 4de3eca03100eec228412413130db779113e783e Mon Sep 17 00:00:00 2001 From: kevin Date: Thu, 12 Mar 2015 19:37:03 +0800 Subject: [PATCH 3/3] fix bug caused by a previous commit --- src/local.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/local.c b/src/local.c index e87631c2..9f473c11 100644 --- a/src/local.c +++ b/src/local.c @@ -464,10 +464,10 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents) // bitcoin information is extra, so minus it's length r -= (3 + addr_len - bitcoin_len); buf += (3 + addr_len - bitcoin_len); -#endif +#else r -= (3 + addr_len); buf += (3 + addr_len); - +#endif server->stage = 5; if (verbose) {