ports/72297: [MAINTAINER] news/leafnode: fix high network load
Matthias Andree
matthias.andree at gmx.de
Mon Oct 4 09:10:23 UTC 2004
>Number: 72297
>Category: ports
>Synopsis: [MAINTAINER] news/leafnode: fix high network load
>Confidential: no
>Severity: critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Mon Oct 04 09:10:22 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Matthias Andree
>Release: FreeBSD 5.3-BETA6 i386
>Organization:
>Environment:
System: FreeBSD merlin.emma.line.org 5.3-BETA6 FreeBSD 5.3-BETA6 #8: Fri Oct 1 04:29:54 CEST
>Description:
Preempts: ports/72017
(= please commit this patch for 5.3-RELEASE,
later back out this patch and apply 72017 when the ports tree
is thawed after 5.3.)
This is a lightweight but fully working bugfix for the following bug:
Leafnode 1.10.5 and previous had a bug that could cause the refetch of the
multi-MByte active file from ALL servers when one server was unreachable.
Upstream patch submitted by: Brian Sammon.
portmgr, please approve this patch so FreeBSD 5.3 can ship with
an intact "fetchnews" program in the leafnode package.
Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:
--- leafnode-1.10.5_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/news/leafnode/Makefile /root/ports/news/leafnode/Makefile
--- /usr/ports/news/leafnode/Makefile Mon Sep 6 12:14:37 2004
+++ /root/ports/news/leafnode/Makefile Mon Sep 27 23:39:51 2004
@@ -7,7 +7,7 @@
PORTNAME= leafnode
PORTVERSION= 1.10.5
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= news
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED:S/$/:sourceforge/} \
http://osdn.dl.sourceforge.net/sourceforge/${PORTNAME}/:sourceforge \
diff -ruN --exclude=CVS /usr/ports/news/leafnode/files/patch-fetchnews.c /root/ports/news/leafnode/files/patch-fetchnews.c
--- /usr/ports/news/leafnode/files/patch-fetchnews.c Thu Jan 1 01:00:00 1970
+++ /root/ports/news/leafnode/files/patch-fetchnews.c Mon Sep 27 23:44:08 2004
@@ -0,0 +1,55 @@
+--- fetchnews.c Fri Sep 3 01:39:44 2004
++++ fetchnews.c.new Fri Sep 3 01:37:56 2004
+@@ -2225,6 +2225,7 @@
+ volatile int rc = 0, skip_servers = 0;
+ volatile int anypost = 0, waitchild = 0, quiet;
+ struct server *current_server;
++ volatile int need_refetch = 0;
+
+ int option, reply;
+ pid_t pid;
+@@ -2380,8 +2381,10 @@
+ nntpquit();
+ if (!rc)
+ rc = 2;
+- if (forceactive)
++ if (forceactive) {
+ error_refetch("caught signal that caused a premature abort.");
++ need_refetch = 1;
++ }
+ skip_servers = 1; /* in this case, jump the while ... loop */
+ } else {
+ canjump = 1;
+@@ -2458,8 +2461,10 @@
+ /* get list of newsgroups or new newsgroups */
+ if (current_server->updateactive) {
+ if (nntpactive(current_server, &stamp)) {
+- if (forceactive)
++ if (forceactive) {
+ error_refetch("obtaining the active file failed.");
++ need_refetch = 1;
++ }
+ rc = 1;
+ }
+ } else {
+@@ -2477,8 +2482,10 @@
+ } else { /* reply = nntpconnect */
+ if (verbose)
+ printf("%s: connection failed.\n", current_server->name);
+- if (forceactive)
++ if (forceactive && current_server->updateactive) {
+ error_refetch("fetching the active list from a server failed.");
++ need_refetch = 1;
++ }
+ rc = 2;
+ }
+ if (!usesupplement)
+@@ -2545,7 +2552,7 @@
+ rc = 1;
+ }
+ } else {
+- if (rc == 0 && updateactive())
++ if (need_refetch == 0 && updateactive())
+ if (killactiveread()) {
+ error_refetch("cannot update active.read file.");
+ rc = 1;
--- leafnode-1.10.5_1.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list