Merged revisions 298539 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Thu, 16 Dec 2010 09:29:05 +0000 (09:29 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Thu, 16 Dec 2010 09:29:05 +0000 (09:29 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r298539 | tilghman | 2010-12-16 03:28:17 -0600 (Thu, 16 Dec 2010) | 8 lines

  Ensure the ipaddr field in realtime is large enough to handle IPv6 addresses.

  (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/trunk@298545 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 2751094..0f0c23d 100644 (file)
@@ -4229,7 +4229,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];
@@ -4436,7 +4436,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");
@@ -28847,7 +28847,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,