Skip to content

Commit e26b579

Browse files
InterLinked1kharwell
authored andcommitted
asterisk: Add macro for curl user agent.
Currently, each module that uses libcurl duplicates the standard Asterisk curl user agent. This adds a global macro for the Asterisk user agent used for curl requests to eliminate this duplication. ASTERISK-29861 #close Change-Id: I9fc37935980384b4daf96ae54fa3c9adb962ed2d
1 parent 1633410 commit e26b579

File tree

5 files changed

+6
-13
lines changed

5 files changed

+6
-13
lines changed

funcs/func_curl.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -600,8 +600,6 @@ static size_t WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *da
600600
return realsize;
601601
}
602602

603-
static const char * const global_useragent = "asterisk-libcurl-agent/1.0";
604-
605603
static int curl_instance_init(void *data)
606604
{
607605
CURL **curl = data;
@@ -612,7 +610,7 @@ static int curl_instance_init(void *data)
612610
curl_easy_setopt(*curl, CURLOPT_NOSIGNAL, 1);
613611
curl_easy_setopt(*curl, CURLOPT_TIMEOUT, 180);
614612
curl_easy_setopt(*curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
615-
curl_easy_setopt(*curl, CURLOPT_USERAGENT, global_useragent);
613+
curl_easy_setopt(*curl, CURLOPT_USERAGENT, AST_CURL_USER_AGENT);
616614

617615
return 0;
618616
}

include/asterisk.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#endif
4242

4343

44+
#define AST_CURL_USER_AGENT "asterisk-libcurl-agent/1.0"
45+
4446
#define DEFAULT_LANGUAGE "en"
4547

4648
#define DEFAULT_SAMPLE_RATE 8000

res/res_http_media_cache.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242
#include "asterisk/threadstorage.h"
4343
#include "asterisk/uri.h"
4444

45-
#define GLOBAL_USERAGENT "asterisk-libcurl-agent/1.0"
46-
4745
#define MAX_HEADER_LENGTH 1023
4846

4947
/*! \brief Data passed to cURL callbacks */
@@ -328,7 +326,7 @@ static CURL *get_curl_instance(struct curl_bucket_file_data *cb_data)
328326
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
329327
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 180);
330328
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, curl_header_callback);
331-
curl_easy_setopt(curl, CURLOPT_USERAGENT, GLOBAL_USERAGENT);
329+
curl_easy_setopt(curl, CURLOPT_USERAGENT, AST_CURL_USER_AGENT);
332330
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
333331
curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 8);
334332
curl_easy_setopt(curl, CURLOPT_URL, ast_sorcery_object_get_id(cb_data->bucket_file));

res/res_stir_shaken/curl.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@
3131
/* Used to check CURL headers */
3232
#define MAX_HEADER_LENGTH 1023
3333

34-
/* Used for CURL requests */
35-
#define GLOBAL_USERAGENT "asterisk-libcurl-agent/1.0"
36-
3734
/* CURL callback data to avoid storing useless info in AstDB */
3835
struct curl_cb_data {
3936
char *cache_control;
@@ -144,7 +141,7 @@ static CURL *get_curl_instance(struct curl_cb_data *data)
144141

145142
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
146143
curl_easy_setopt(curl, CURLOPT_TIMEOUT, curl_timeout);
147-
curl_easy_setopt(curl, CURLOPT_USERAGENT, GLOBAL_USERAGENT);
144+
curl_easy_setopt(curl, CURLOPT_USERAGENT, AST_CURL_USER_AGENT);
148145
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
149146
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, curl_header_callback);
150147
curl_easy_setopt(curl, CURLOPT_HEADERDATA, data);

tests/test_res_prometheus.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ static void prometheus_metric_free_wrapper(void *ptr)
5454
}
5555
}
5656

57-
#define GLOBAL_USERAGENT "asterisk-libcurl-agent/1.0"
58-
5957
static struct prometheus_general_config *config_alloc(void)
6058
{
6159
struct prometheus_general_config *config;
@@ -84,7 +82,7 @@ static CURL *get_curl_instance(void)
8482

8583
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
8684
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 180);
87-
curl_easy_setopt(curl, CURLOPT_USERAGENT, GLOBAL_USERAGENT);
85+
curl_easy_setopt(curl, CURLOPT_USERAGENT, AST_CURL_USER_AGENT);
8886
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
8987
curl_easy_setopt(curl, CURLOPT_URL, server_uri);
9088

0 commit comments

Comments
 (0)