]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 261314 via svnmerge from
authorPaul Belanger <paul.belanger@polybeacon.com>
Wed, 5 May 2010 19:14:51 +0000 (19:14 +0000)
committerPaul Belanger <paul.belanger@polybeacon.com>
Wed, 5 May 2010 19:14:51 +0000 (19:14 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r261314 | pabelanger | 2010-05-05 14:43:03 -0400 (Wed, 05 May 2010) | 19 lines

  Merged revisions 261274 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r261274 | pabelanger | 2010-05-05 12:42:22 -0400 (Wed, 05 May 2010) | 12 lines

    Registration fix for SIP realtime.

    Make sure realtime fields are not empty.

    (closes issue #17266)
    Reported by: Nick_Lewis
    Patches:
          chan_sip.c-realtime.patch uploaded by Nick Lewis (license 657)
    Tested by: Nick_Lewis, sberney

    Review: https://reviewboard.asterisk.org/r/643/
  ........
................

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

channels/chan_sip.c

index 9a1583d69abe6c79bec01916159ab361e55ec031..b2977e65a96bb59331831c0554867bb24ce6d8b3 100644 (file)
@@ -22942,19 +22942,23 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
                                        }
                                }
                        } else if (!strcasecmp(v->name, "defaultip")) {
-                               if (ast_get_ip(&peer->defaddr, v->value)) {
+                               if (!ast_strlen_zero(v->value) && ast_get_ip(&peer->defaddr, v->value)) {
                                        unref_peer(peer, "unref_peer: from build_peer defaultip");
                                        return NULL;
                                }
                        } else if (!strcasecmp(v->name, "permit") || !strcasecmp(v->name, "deny")) {
                                int ha_error = 0;
-                               peer->ha = ast_append_ha(v->name, v->value, peer->ha, &ha_error);
+                               if (!ast_strlen_zero(v->value)) {
+                                       peer->ha = ast_append_ha(v->name, v->value, peer->ha, &ha_error);
+                               }
                                if (ha_error) {
                                        ast_log(LOG_ERROR, "Bad ACL entry in configuration line %d : %s\n", v->lineno, v->value);
                                }
                        } else if (!strcasecmp(v->name, "contactpermit") || !strcasecmp(v->name, "contactdeny")) {
                                int ha_error = 0;
-                               peer->contactha = ast_append_ha(v->name + 7, v->value, peer->contactha, &ha_error);
+                               if (!ast_strlen_zero(v->value)) {
+                                       peer->contactha = ast_append_ha(v->name + 7, v->value, peer->contactha, &ha_error);
+                               }
                                if (ha_error) {
                                        ast_log(LOG_ERROR, "Bad ACL entry in configuration line %d : %s\n", v->lineno, v->value);
                                }