]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Ensure the ipaddr field in realtime is large enough to handle IPv6 addresses.
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 16 Dec 2010 09:28:17 +0000 (09:28 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 16 Dec 2010 09:28:17 +0000 (09:28 +0000)
(closes issue #18464)
 Reported by: IgorG
 Patches:
       realtime_ipv6store.diff uploaded by IgorG (license 20)
       (plus a few additional lines by tilghman)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@298539 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index ede666b781434fdb1fa250df53a907faa7cbd951..c9b0592586897e65d3fa3280f762bc7e79934fd8 100644 (file)
@@ -4195,7 +4195,7 @@ static int sip_sendtext(struct ast_channel *ast, const char *text)
 static void realtime_update_peer(const char *peername, struct ast_sockaddr *addr, const char *defaultuser, const char *fullcontact, const char *useragent, int expirey, unsigned short deprecated_username, int lastms)
 {
        char port[10];
-       char ipaddr[INET_ADDRSTRLEN];
+       char ipaddr[INET6_ADDRSTRLEN];
        char regseconds[20];
        char *tablename = NULL;
        char str_lastms[20];
@@ -4402,7 +4402,7 @@ static struct sip_peer *realtime_peer(const char *newpeername, struct ast_sockad
        struct ast_variable *varregs = NULL;
        struct ast_variable *tmp;
        struct ast_config *peerlist = NULL;
-       char ipaddr[INET_ADDRSTRLEN];
+       char ipaddr[INET6_ADDRSTRLEN];
        char portstring[6]; /*up to 5 digits plus null terminator*/
        char *cat = NULL;
        int realtimeregs = ast_check_realtime("sipregs");
@@ -28632,7 +28632,7 @@ static int load_module(void)
 
        ast_realtime_require_field(ast_check_realtime("sipregs") ? "sipregs" : "sippeers",
                "name", RQ_CHAR, 10,
-               "ipaddr", RQ_CHAR, 15,
+               "ipaddr", RQ_CHAR, INET6_ADDRSTRLEN - 1,
                "port", RQ_UINTEGER2, 5,
                "regseconds", RQ_INTEGER4, 11,
                "defaultuser", RQ_CHAR, 10,