mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-26 06:26:41 +00:00 
			
		
		
		
	Have func_curl log a warning when a curl request fails.
Review: https://reviewboard.asterisk.org/r/2403/ ........ Merged revisions 383460 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 383461 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -581,6 +581,7 @@ static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info | |||||||
| 	struct ast_datastore *store = NULL; | 	struct ast_datastore *store = NULL; | ||||||
| 	int hashcompat = 0; | 	int hashcompat = 0; | ||||||
| 	AST_LIST_HEAD(global_curl_info, curl_settings) *list = NULL; | 	AST_LIST_HEAD(global_curl_info, curl_settings) *list = NULL; | ||||||
|  | 	char curl_errbuf[CURL_ERROR_SIZE + 1]; /* add one to be safe */ | ||||||
|  |  | ||||||
| 	if (buf) { | 	if (buf) { | ||||||
| 		*buf = '\0'; | 		*buf = '\0'; | ||||||
| @@ -642,7 +643,19 @@ static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info | |||||||
| 		curl_easy_setopt(*curl, CURLOPT_POSTFIELDS, args.postdata); | 		curl_easy_setopt(*curl, CURLOPT_POSTFIELDS, args.postdata); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	curl_easy_perform(*curl); | 	/* Temporarily assign a buffer for curl to write errors to. */ | ||||||
|  | 	curl_errbuf[0] = curl_errbuf[CURL_ERROR_SIZE] = '\0'; | ||||||
|  | 	curl_easy_setopt(*curl, CURLOPT_ERRORBUFFER, curl_errbuf); | ||||||
|  |  | ||||||
|  | 	if (curl_easy_perform(*curl) != 0) { | ||||||
|  | 		ast_log(LOG_WARNING, "%s ('%s')\n", curl_errbuf, args.url); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	/* Reset buffer to NULL so curl doesn't try to write to it when the | ||||||
|  | 	 * buffer is deallocated. Documentation is vague about allowing NULL | ||||||
|  | 	 * here, but the source allows it. See: "typecheck: allow NULL to unset | ||||||
|  | 	 * CURLOPT_ERRORBUFFER" (62bcf005f4678a93158358265ba905bace33b834). */ | ||||||
|  | 	curl_easy_setopt(*curl, CURLOPT_ERRORBUFFER, (char*)NULL); | ||||||
|  |  | ||||||
| 	if (store) { | 	if (store) { | ||||||
| 		AST_LIST_UNLOCK(list); | 		AST_LIST_UNLOCK(list); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user