Module: kamailio Branch: master Commit: 9251a6f386c27017c71e3cd468b20df16a65329d URL: https://github.com/kamailio/kamailio/commit/9251a6f386c27017c71e3cd468b20df1...
Author: Olle E. Johansson oej@edvina.net Committer: Olle E. Johansson oej@edvina.net Date: 2015-10-21T14:46:04+02:00
curl Update TODO and add a note for improvement in the way we handle reading from the server.
We may want to just drop data instead of allocating memory for it. It is not a good situation to swallow anything.
---
Modified: modules/curl/TODO.txt Modified: modules/curl/functions.c
---
Diff: https://github.com/kamailio/kamailio/commit/9251a6f386c27017c71e3cd468b20df1... Patch: https://github.com/kamailio/kamailio/commit/9251a6f386c27017c71e3cd468b20df1...
---
diff --git a/modules/curl/TODO.txt b/modules/curl/TODO.txt index 77ab3cc..0a728fd 100644 --- a/modules/curl/TODO.txt +++ b/modules/curl/TODO.txt @@ -3,18 +3,22 @@ The curl module - todo
- connection parameters timeout=x - DONE - read=line/all + read=line/all - Implemented in API, but not in parameter tlsverify=on/off failover=curlcon Other curlcon that can be used for failover in case of 5xx response or timeout httpredirect - DONE useragent - DONE
+ - Make sure modparams work httpproxy - Not working with curl tls cert, key, ca - Not working with curl yet httpredirect - done timeout - done + maxdatasize - done +- Add XAVP parameter setting before running curl_connect + - save fingerprint of cert for trust-on-first-use procedure
- status for curlcon-object, needs to be object in process memory, so child_init @@ -22,6 +26,8 @@ The curl module - todo - function in dialplan - curlcon_exist(object) - pv $curlstatus(object) ??
+- Figure out a way to communicate back the content-type of the response. Another pvar arg? + - pv for curl error codes (result < 100) $curlerror(code) Result string - DONE
diff --git a/modules/curl/functions.c b/modules/curl/functions.c index 17b85a9..4c9961e 100644 --- a/modules/curl/functions.c +++ b/modules/curl/functions.c @@ -60,6 +60,10 @@ static int curL_query_url(struct sip_msg* _m, char* _url, char* _dst, const char */ size_t write_function( void *ptr, size_t size, size_t nmemb, void *stream_ptr) { + /* A question here is if we can somehow signal maxdatasize and stop filling + buffers at maxdatasize - we don't need any more. Or just ignore and stop + allocating pkg memory at that point. A good todo. + */ http_res_stream_t *stream = (http_res_stream_t *) stream_ptr;
stream->buf = (char *) pkg_realloc(stream->buf, stream->curr_size +