]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge script <automerge@asterisk.org>
Thu, 18 May 2006 20:07:21 +0000 (20:07 +0000)
committerAutomerge script <automerge@asterisk.org>
Thu, 18 May 2006 20:07:21 +0000 (20:07 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@28379 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c
enum.c

index 874553fe791a2486d16bc70883269a0bbafa5201..d695a8f2182d1b2f435710eef4439e211424576c 100644 (file)
@@ -3592,12 +3592,12 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req)
        sdpLineNum_iterator_init(&iterator);
        while ((a = get_sdp_iterate(&iterator, req, "a"))[0] != '\0') {
                char* mimeSubtype = ast_strdupa(a); /* ensures we have enough space */
-               if (!strcasecmp(a, "sendonly")) {
-                       sendonly=1;
+               if (!strcasecmp(a, "sendonly") || !strcasecmp(a, "inactive")) {
+                       sendonly = 1;
                        continue;
                }
                if (!strcasecmp(a, "sendrecv")) {
-                       sendonly=0;
+                       sendonly = 0;
                }
                if (sscanf(a, "rtpmap: %u %[^/]/", &codec, mimeSubtype) != 2) continue;
                if (debug)
diff --git a/enum.c b/enum.c
index 194f708ed74d2e2c841f26181f0e80465541a4a6..0c3e925131d1496a38d7fc7d49b3550fde8fabbb 100644 (file)
--- a/enum.c
+++ b/enum.c
@@ -80,27 +80,29 @@ struct naptr {
 } __attribute__ ((__packed__));
 
 /*--- parse_ie: Parse NAPTR record information elements */
-static int parse_ie(char *data, int maxdatalen, char *src, int srclen)
+static unsigned int parse_ie(char *data, unsigned int maxdatalen, char *src, unsigned int srclen)
 {
-       int len, olen;
+       unsigned int len, olen;
 
-       len = olen = (int)src[0];
+       len = olen = (unsigned int) src[0];
        src++;
        srclen--;
-       if (len > srclen || len < 0 ) {
+
+       if (len > srclen) {
                ast_log(LOG_WARNING, "ENUM parsing failed: Wanted %d characters, got %d\n", len, srclen);
                return -1;
        }
+
        if (len > maxdatalen)
                len = maxdatalen;
        memcpy(data, src, len);
+
        return olen + 1;
 }
 
 /*--- parse_naptr: Parse DNS NAPTR record used in ENUM ---*/
 static int parse_naptr(char *dst, int dstsize, char *tech, int techsize, char *answer, int len, char *naptrinput)
 {
-
        char tech_return[80];
        char *oanswer = answer;
        char flags[512] = "";
@@ -344,7 +346,7 @@ static int txt_callback(void *context, char *answer, int len, char *fullanswer)
 /*--- enum_callback: Callback from ENUM lookup function */
 static int enum_callback(void *context, char *answer, int len, char *fullanswer)
 {
-       struct enum_context *c = (struct enum_context *)context;
+       struct enum_context *c = (struct enum_context *)context;
        void *p = NULL;
        int res;