From: Tobias Brunner Date: Wed, 7 May 2014 14:59:07 +0000 (+0200) Subject: fetcher: Add option to retrieve response code from a fetcher X-Git-Tag: 5.2.0dr5~36^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a1859375290fb2d6f5d29ebc648d472684fc0c0;p=thirdparty%2Fstrongswan.git fetcher: Add option to retrieve response code from a fetcher --- diff --git a/src/libstrongswan/fetcher/fetcher.h b/src/libstrongswan/fetcher/fetcher.h index 890258c3ca..6043dac2ed 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 2fad486e06..f36cfcf824 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))