Module: kamailio
Branch: master
Commit: 9251a6f386c27017c71e3cd468b20df16a65329d
URL:
https://github.com/kamailio/kamailio/commit/9251a6f386c27017c71e3cd468b20df…
Author: Olle E. Johansson <oej(a)edvina.net>
Committer: Olle E. Johansson <oej(a)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/9251a6f386c27017c71e3cd468b20df…
Patch:
https://github.com/kamailio/kamailio/commit/9251a6f386c27017c71e3cd468b20df…
---
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 +