[Asterisk-cvs] asterisk enum.c,1.14,1.15 dns.c,1.2,1.3 srv.c,1.6,1.7

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


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

Modified Files:
	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.15
diff -u -d -r1.14 -r1.15
--- enum.c	26 Nov 2003 19:15:56 -0000	1.14
+++ enum.c	3 Mar 2004 03:12:59 -0000	1.15
@@ -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.3
diff -u -d -r1.2 -r1.3
--- dns.c	26 Oct 2003 18:50:49 -0000	1.2
+++ dns.c	3 Mar 2004 03:12:59 -0000	1.3
@@ -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.7
diff -u -d -r1.6 -r1.7
--- srv.c	27 Oct 2003 20:00:41 -0000	1.6
+++ srv.c	3 Mar 2004 03:12:59 -0000	1.7
@@ -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