From: Automerge script Date: Thu, 18 May 2006 20:07:21 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.9.1-netsec~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f360986593f3af02ff4a3ce54e80ec6311838f63;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@28379 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 874553fe79..d695a8f218 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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 194f708ed7..0c3e925131 100644 --- 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;