From 13762fce1926efb6b553bf20df256ccf6586f518 Mon Sep 17 00:00:00 2001 From: Bjørn Mork Date: Fri, 15 May 2015 10:25:29 +0200 Subject: ripe-atlas-fw: imported version 4670 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bjørn Mork --- eperd/sslgetcert.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'eperd/sslgetcert.c') diff --git a/eperd/sslgetcert.c b/eperd/sslgetcert.c index 0a0f885..d00bf7a 100644 --- a/eperd/sslgetcert.c +++ b/eperd/sslgetcert.c @@ -1,6 +1,6 @@ /* sslgetcert.c -- libevent-based version of sslgetcert - +Copyright (c) 2013-2014 RIPE NCC Created: April 2013 by Philip Homburg for RIPE NCC */ @@ -73,6 +73,7 @@ struct state /* Parameters */ char *output_file; char *atlas; + char *infname; char only_v4; char only_v6; @@ -602,7 +603,7 @@ static void *sslgetcert_init(int __attribute((unused)) argc, char *argv[], { int c, i, only_v4, only_v6; size_t newsiz; - char *hostname, *str_port; + char *hostname, *str_port, *infname; char *output_file, *A_arg; struct state *state; FILE *fh; @@ -610,6 +611,7 @@ static void *sslgetcert_init(int __attribute((unused)) argc, char *argv[], /* Arguments */ output_file= NULL; A_arg= NULL; + infname= NULL; str_port= NULL; only_v4= 0; only_v6= 0; @@ -624,7 +626,7 @@ static void *sslgetcert_init(int __attribute((unused)) argc, char *argv[], /* Allow us to be called directly by another program in busybox */ optind= 0; - while (c= getopt_long(argc, argv, "A:O:p:46", longopts, NULL), c != -1) + while (c= getopt_long(argc, argv, "A:O:i:p:46", longopts, NULL), c != -1) { switch(c) { @@ -634,6 +636,9 @@ static void *sslgetcert_init(int __attribute((unused)) argc, char *argv[], case 'O': output_file= optarg; break; + case 'i': + infname= optarg; + break; case 'p': str_port= optarg; break; @@ -688,6 +693,7 @@ static void *sslgetcert_init(int __attribute((unused)) argc, char *argv[], state->base= hg_base; state->atlas= A_arg ? strdup(A_arg) : NULL; state->output_file= output_file ? strdup(output_file) : NULL; + state->infname= infname ? strdup(infname) : NULL; state->hostname= strdup(hostname); if (str_port) state->portname= strdup(str_port); @@ -1192,6 +1198,13 @@ static void reporterr(struct tu_env *env, enum tu_err cause, err_reading(state); break; + case TU_SOCKET_ERR: + snprintf(line, sizeof(line), + DBQ(sockerr) ":" DBQ(%s), str); + add_str(state, line); + report(state); + break; + case TU_CONNECT_ERR: snprintf(line, sizeof(line), DBQ(err) ":" DBQ(connect: %s), str); @@ -1263,7 +1276,7 @@ static void sslgetcert_start(void *vstate) tu_connect_to_name(&state->tu_env, state->hostname, state->portname, - &interval, &hints, NULL, timeout_callback, + &interval, &hints, state->infname, timeout_callback, reporterr, dnscount, beforeconnect, connected, readcb, writecb); } @@ -1302,6 +1315,8 @@ static int sslgetcert_delete(void *vstate) state->hostname= NULL; free(state->portname); state->portname= NULL; + free(state->infname); + state->infname= NULL; free(state); -- cgit v1.2.3