ports/63452: [Maintainer] www/gatling: fix HTTP pipelining filedescriptor leak
Thomas-Martin Seck
tmseck at netcologne.de
Fri Feb 27 16:00:41 UTC 2004
>Number: 63452
>Category: ports
>Synopsis: [Maintainer] www/gatling: fix HTTP pipelining filedescriptor leak
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Fri Feb 27 08:00:40 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Thomas-Martin Seck
>Release: FreeBSD 4.9-STABLE i386
>Organization:
private site in Germany
>Environment:
FreeBSD ports repository as of Feb 27, 2004.
>Description:
- fix a filedescriptor leak that occured when doing HTTP pipelining
(obtained from vendor CVS)
- do not set PORTDOCS when NOPORTDOCS is defined
- bump PORTREVISION
Note: This update requires libowfat-0.18 being installed!
Information for committers:
- please commit the update for devel/libowfat to 0.18 beforehand
- 'cvs add' files/patch-gatling.c
>How-To-Repeat:
>Fix:
Here's the patch:
diff -ruN -x cvs gatling.orig/Makefile gatling/Makefile
--- gatling.orig/Makefile Mon Feb 23 01:20:38 2004
+++ gatling/Makefile Fri Feb 27 16:29:38 2004
@@ -7,6 +7,7 @@
PORTNAME= gatling
PORTVERSION= 0.4
+PORTREVISION= 1
CATEGORIES= www benchmarks
MASTER_SITES= http://dl.fefe.de/
@@ -23,8 +24,10 @@
bin= dl gatling
examples= run-gatling
examplesdir= ${EXAMPLESDIR:S,^${PREFIX}/,,}
+.if !defined(NOPORTDOCS)
PORTDOCS= CHANGES README README.ftp README.http README.performance \
README.prefetch
+.endif
OPTIONS= BENCHMARKS "Install system benchmark programs" on
diff -ruN -x cvs gatling.orig/files/patch-gatling.c gatling/files/patch-gatling.c
--- gatling.orig/files/patch-gatling.c Thu Jan 1 01:00:00 1970
+++ gatling/files/patch-gatling.c Fri Feb 27 16:18:09 2004
@@ -0,0 +1,22 @@
+! Fix a filedescriptor leak. This change requires libowfat-0.18
+! Obtained from gatling cvs
+--- gatling.c.orig Fri Feb 27 16:09:53 2004
++++ gatling.c Fri Feb 27 16:13:28 2004
+@@ -876,7 +876,7 @@
+ c+=fmt_str(c,"\r\n\r\n");
+ iob_addbuf_free(&h->iob,h->hdrbuf,c - h->hdrbuf);
+ if (!head)
+- iob_addfile(&h->iob,fd,range_first,range_last-range_first);
++ iob_addfile_close(&h->iob,fd,range_first,range_last-range_first);
+ if (logging) {
+ if (h->hdrbuf[9]=='3') {
+ buffer_puts(buffer_1,head?"HEAD/304 ":"GET/304 ");
+@@ -1034,7 +1034,7 @@
+ range_last=ss.st_size;
+ range_first=h->ftp_rest; h->ftp_rest=0;
+ if (range_first>range_last) range_first=range_last;
+- iob_addfile(&b->iob,b->filefd,range_first,range_last-range_first);
++ iob_addfile_close(&b->iob,b->filefd,range_first,range_last-range_first);
+ if (logging) {
+ buffer_putulonglong(buffer_1,range_last-range_first);
+ buffer_putspace(buffer_1);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list