From 9a1859375290fb2d6f5d29ebc648d472684fc0c0 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 7 May 2014 16:59:07 +0200 Subject: [PATCH] fetcher: Add option to retrieve response code from a fetcher --- src/libstrongswan/fetcher/fetcher.h | 6 ++++++ src/libstrongswan/fetcher/fetcher_manager.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/libstrongswan/fetcher/fetcher.h b/src/libstrongswan/fetcher/fetcher.h index 890258c3c..6043dac2e 100644 --- a/src/libstrongswan/fetcher/fetcher.h +++ b/src/libstrongswan/fetcher/fetcher.h @@ -81,6 +81,12 @@ enum fetcher_option_t { */ FETCH_TIMEOUT, + /** + * Sets a pointer to a variable that receives the request's response code. + * Additional argument is a u_int*. + */ + FETCH_RESPONSE_CODE, + /** * Callback to invoke with each chunk of data. * Additional argument fetch_callback_t. diff --git a/src/libstrongswan/fetcher/fetcher_manager.c b/src/libstrongswan/fetcher/fetcher_manager.c index 2fad486e0..f36cfcf82 100644 --- a/src/libstrongswan/fetcher/fetcher_manager.c +++ b/src/libstrongswan/fetcher/fetcher_manager.c @@ -113,6 +113,10 @@ METHOD(fetcher_manager_t, fetch, status_t, good = fetcher->set_option(fetcher, opt, va_arg(args, fetcher_callback_t)); continue; + case FETCH_RESPONSE_CODE: + good = fetcher->set_option(fetcher, opt, + va_arg(args, u_int*)); + continue; case FETCH_SOURCEIP: host = va_arg(args, host_t*); if (host && !host->is_anyaddr(host))