Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Sep 2009 04:41:22 GMT
From:      Tom Pusateri <pusateri@bangj.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/139228: net/libevnet-0.3.8_4 incompatible with dns/c-ares-1.6.0
Message-ID:  <200909290441.n8T4fMw4050975@www.freebsd.org>
Resent-Message-ID: <200909290450.n8T4o11g056027@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         139228
>Category:       ports
>Synopsis:       net/libevnet-0.3.8_4 incompatible with dns/c-ares-1.6.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 29 04:50:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Tom Pusateri
>Release:        8.0-RC1
>Organization:
!j Incorporated
>Environment:
FreeBSD crag.mountain2sea.com 8.0-RC1 FreeBSD 8.0-RC1 #0: Thu Sep 17 20:45:19 UTC 2009     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
A library change for the arguments of a callback have changed between c-ares-1.4.0 and c-ares-1.6.0. This causes libevnet-0.3.8_4 to not work correctly. libevnet needs to be patched to be brought up to date with c-ares-1.6.0 adding the new timeouts argument.

The patch to libevnet is minor and should become part of the libevnet ports distribution until it is fixed by the author of libevnet. Currently, the web site for libevnet is down and the author is not reachable.

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

--- src/lookup.c.orig	2007-05-04 02:07:32.000000000 -0400
+++ src/lookup.c	2009-09-29 00:29:01.000000000 -0400
@@ -2037,7 +2037,7 @@
 } /* lookup_additional_query() */
 
 
-static void lookup_catch_ares(void *, int, unsigned char *, int);
+static void lookup_catch_ares(void *, int, int, unsigned char *, int);
 
 static void lookup_issue_query(struct lookup *l, struct lookup_query *q, const char *qname, size_t qnamelen, int rtype) {
 	struct ares_channel *c;
@@ -2052,7 +2052,7 @@
 	q->channel	= c;
 
 	if (l->opts.query_max != 0 && q->live_queries_made >= l->opts.query_max) {
-		lookup_catch_ares(q, ARES_ENODATA, NULL, 0);
+		lookup_catch_ares(q, ARES_ENODATA, 0, NULL, 0);
 	} else {
 		++q->live_queries_made;
 		ares_query(c->channel, qname, C_IN, lookup_rtype2arpa(rtype), lookup_catch_ares, q);
@@ -2708,7 +2708,7 @@
 } /* lookup_process() */
 
 
-static void lookup_catch_ares(void *l_, int ares_errno, unsigned char *abuf, int alen) {
+static void lookup_catch_ares(void *l_, int ares_errno, int timeouts, unsigned char *abuf, int alen) {
 	int lookup_errno	= LOOKUP_ESUCCESS;
 	struct lookup_query *q;
 	struct lookup *l;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909290441.n8T4fMw4050975>