[Asterisk-cvs] asterisk enum.c,1.14,1.14.2.1 dns.c,1.2,1.2.2.1 srv.c,1.6,1.6.2.1

citats at lists.digium.com citats at lists.digium.com
Tue Mar 2 22:22:32 CST 2004


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv25006

Modified Files:
      Tag: v1-0_stable
	enum.c dns.c srv.c 
Log Message:
Make DNS callbacks return -1 on error, so invalid records are ignored
(bug #1137)



Index: enum.c
===================================================================
RCS file: /usr/cvsroot/asterisk/enum.c,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -d -r1.14 -r1.14.2.1
--- enum.c	26 Nov 2003 19:15:56 -0000	1.14
+++ enum.c	3 Mar 2004 03:13:11 -0000	1.14.2.1
@@ -232,8 +232,10 @@
 {
 	struct enum_context *c = (struct enum_context *)context;
 
-	if (parse_naptr(c->dst, c->dstlen, c->tech, c->techlen, answer, len, c->naptrinput))
+	if (parse_naptr(c->dst, c->dstlen, c->tech, c->techlen, answer, len, c->naptrinput)) {
 		ast_log(LOG_WARNING, "Failed to parse naptr :(\n");
+		return -1;
+	}
 
 	if (strlen(c->dst))
 		return 1;

Index: dns.c
===================================================================
RCS file: /usr/cvsroot/asterisk/dns.c,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -d -r1.2 -r1.2.2.1
--- dns.c	26 Oct 2003 18:50:49 -0000	1.2
+++ dns.c	3 Mar 2004 03:13:11 -0000	1.2.2.1
@@ -137,8 +137,10 @@
 
 		if (ntohs(ans->class) == class && ntohs(ans->rtype) == type) {
 			if (callback) {
-				if ((res = callback(context, answer, ntohs(ans->size), fullanswer)) < 0)
+				if ((res = callback(context, answer, ntohs(ans->size), fullanswer)) < 0) {
 					ast_log(LOG_WARNING, "Failed to parse result\n");
+					return -1;
+				}
 				if (res > 0)
 					return 1;
 			}

Index: srv.c
===================================================================
RCS file: /usr/cvsroot/asterisk/srv.c,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -d -r1.6 -r1.6.2.1
--- srv.c	27 Oct 2003 20:00:41 -0000	1.6
+++ srv.c	3 Mar 2004 03:13:11 -0000	1.6.2.1
@@ -79,8 +79,10 @@
 {
 	struct srv_context *c = (struct srv_context *)context;
 
-	if (parse_srv(c->host, c->hostlen, c->port, answer, len, fullanswer))
+	if (parse_srv(c->host, c->hostlen, c->port, answer, len, fullanswer)) {
 		ast_log(LOG_WARNING, "Failed to parse srv\n");
+		return -1;
+	}
 
 	if (strlen(c->host))
 		return 1;




More information about the svn-commits mailing list