aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-15 22:06:28 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-15 22:06:28 +0100
commit7de26292b744122b20e9cd6ecea95a2273311587 (patch)
tree5df302bac6761c8645e18948870ded04a05862ea /src
parenteb903e5bfc4b979967cfe27c98a994264befb155 (diff)
downloadgnunet-7de26292b744122b20e9cd6ecea95a2273311587.tar.gz
gnunet-7de26292b744122b20e9cd6ecea95a2273311587.zip
add function that logically belongs to libgnunetcurl instead of in multiple Taler binaries
Diffstat (limited to 'src')
-rw-r--r--src/curl/curl.c24
-rw-r--r--src/include/gnunet_curl_lib.h17
2 files changed, 38 insertions, 3 deletions
diff --git a/src/curl/curl.c b/src/curl/curl.c
index 01c7c5fca..da486ecc1 100644
--- a/src/curl/curl.c
+++ b/src/curl/curl.c
@@ -189,7 +189,8 @@ GNUNET_CURL_init (GNUNET_CURL_RescheduleCallback cb, void *cb_cls)
189 189
190 if (curl_fail) 190 if (curl_fail)
191 { 191 {
192 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Curl was not initialised properly\n"); 192 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
193 "Curl was not initialised properly\n");
193 return NULL; 194 return NULL;
194 } 195 }
195 if (NULL == (multi = curl_multi_init ())) 196 if (NULL == (multi = curl_multi_init ()))
@@ -228,6 +229,27 @@ GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx,
228 229
229 230
230/** 231/**
232 * Return #GNUNET_YES if given a valid scope ID and
233 * #GNUNET_NO otherwise. See #setup_job_headers,
234 * logic related to
235 * #GNUNET_CURL_enable_async_scope_header() for the
236 * code that generates such a @a scope_id.
237 *
238 * @returns #GNUNET_YES iff given a valid scope ID
239 */
240int
241GNUNET_CURL_is_valid_scope_id (const char *scope_id)
242{
243 if (strlen (scope_id) >= 64)
244 return GNUNET_NO;
245 for (size_t i = 0; i < strlen (scope_id); i++)
246 if (! (isalnum (scope_id[i]) || (scope_id[i] == '-')))
247 return GNUNET_NO;
248 return GNUNET_YES;
249}
250
251
252/**
231 * Callback used when downloading the reply to an HTTP request. 253 * Callback used when downloading the reply to an HTTP request.
232 * Just appends all of the data to the `buf` in the 254 * Just appends all of the data to the `buf` in the
233 * `struct DownloadBuffer` for further processing. The size of 255 * `struct DownloadBuffer` for further processing. The size of
diff --git a/src/include/gnunet_curl_lib.h b/src/include/gnunet_curl_lib.h
index 8e981e91e..875cfa3bd 100644
--- a/src/include/gnunet_curl_lib.h
+++ b/src/include/gnunet_curl_lib.h
@@ -360,8 +360,21 @@ GNUNET_CURL_gnunet_scheduler_reschedule (void *cls);
360 * @param header_name name of the header to send. 360 * @param header_name name of the header to send.
361 */ 361 */
362void 362void
363GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx, const 363GNUNET_CURL_enable_async_scope_header (struct GNUNET_CURL_Context *ctx,
364 char *header_name); 364 const char *header_name);
365
366
367/**
368 * Return #GNUNET_YES if given a valid scope ID and
369 * #GNUNET_NO otherwise. See
370 * #GNUNET_CURL_enable_async_scope_header() for the
371 * code that generates such a @a scope_id in an HTTP
372 * header.
373 *
374 * @returns #GNUNET_YES iff given a valid scope ID
375 */
376int
377GNUNET_CURL_is_valid_scope_id (const char *scope_id);
365 378
366 379
367#endif 380#endif