Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2001 22:21:21 +0200 (CEST)
From:      Anders Nordby <anders@fix.no>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/26822: Update port: www/thttpd
Message-ID:  <20010424202121.3EC073CCE@totem.fix.no>

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

>Number:         26822
>Category:       ports
>Synopsis:       Update port: www/thttpd
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 24 13:30:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Anders Nordby
>Release:        FreeBSD 4.3-STABLE i386
>Organization:
Fluxpod Information eXchange
>Environment:

Tested and working fine in:

FreeBSD eggsilo.localnet 4.3-STABLE FreeBSD 4.3-STABLE #0: Sun Apr 22 15:41:19 CEST 2001     root@eggsilo.localnet:/space/tmp/obj/usr/src/sys/EGGSILO  i386

Tested and working fine without kqueue support in:

FreeBSD current.localnet 5.0-20010408-CURRENT FreeBSD 5.0-20010408-CURRENT #0: Sun Apr  8 16:12:07 GMT 2001     root@usw2.freebsd.org:/usr/src/sys/compile/GENERIC  i386

FreeBSD current.localnet 5.0-20010116-CURRENT FreeBSD 5.0-20010116-CURRENT #0: Tue Jan 16 16:30:03 GMT 2001     root@usw2.freebsd.org:/usr/src/sys/compile/GENERIC  i386

>Description:

Updates the port to the latest verion: 2.21b. Brings in interesting stuff like
kqueue and accept filtering support. Kqueue support does not currently work in
-current yet though:

Apr 24 03:06:41 current /boot/kernel/kernel: pid 4874 (thttpd), uid 65534: exited on signal 11

This happens with kevent(). I've reported this back to the developer.

This update adds patches:

- patch-ab, patch-ac and patch-ad (CFLAGS compliance)
- patch-fdwatch.c (disable kqueue for -current)

New in version 2.21b:

* Fix for lingering-close problem from Taner Halicioglu - on some systems, it
was hanging the server. 

New in version 2.21:

* ANSI compile nits in timers.h and libhttpd.c. I thought I had already
fixed these. 
* Two small fixes to USR1 signal handling. Should be more reliable now. 
* Fixed the "throttle sending count was negative" bug. 
* 503 Service Overloaded errors were not getting logged. 
* New throttling syslogs. 
* Tuning tweaks to throttling, it's much more accurate now. 
* Tweak to the sample log-rotation script. 
* Allow trailing whitespace on the HTTP request line - it violates the
HTTP/1.1 spec, but it's harmless, and at least one client (TiVo's v1.3
http_get [not related to my own http_get]) generates it.
* Changed the capitalization on some HTTP headers we generate, to
interoperate with a client (yes, the same one) that is too stoopid to
do case-insensitive matching. 
* Pass Accept-Language headers to CGIs. 
* Make log entries at the end of a connection instead of the beginning,
so that the byte count is correct. 
* Off-by-one error in base-64 decoding, from Archie Cobbs. 
* Updated man page throttling section for the wildcard change in 2.17. 
* Couple of fixes for top-level redirection, from KIKUCHI Takahiro. 
* New option to hide thttpd's version, from Paul Fox. 
* Changed include of <sys/time.h> to <time.h>. 
* Fixed cross-site scripting bug relating to the built-in error pages. 
* Changed the mmap cache to use ctime instead of mtime, to better
handle permissions changes. 
* VHOST_DIRLEVELS patch, from Vadim Belman. 
* ssi missing-header bugfix, from Marcel Telka. 
* Hack to deal with garbage characters after POST data generated by
some browsers. 
* Added -g global passwd file option, suggested by Craig Leres. 
* Robustness and performance improvements for mmap cache, from Evan
Jones. 
* kqueue support, from Niels Provos. 
* If both select and poll are available, always use poll. 
* Don't syslog "Connection reset by peer" errors. 
* If the logfile is "/dev/null", don't bother logging at all. 
* The mmap cache now tries to keep the total number of maps below a
configurable parameter. See DESIRED_MAX_MAPPED_FILES. 
* Fix for garbled packets causing needless 400 errors, from John Salmon. 
* Improved some status-checking and error-reporting. 
* Redid the debugging stats syslog messages, and made them show up on a
SIGUSR2 as well as by timer. 
* Use accept filtering if available. 

>How-To-Repeat:

	

>Fix:

diff -Nur thttpd.old/Makefile thttpd/Makefile
--- thttpd.old/Makefile	Sun Apr  8 22:17:00 2001
+++ thttpd/Makefile	Tue Apr 24 20:12:38 2001
@@ -6,19 +6,26 @@
 #
 
 PORTNAME=	thttpd
-PORTVERSION=	2.20b
+PORTVERSION= 	2.21b
 CATEGORIES=	www ipv6
 MASTER_SITES=	http://www.acme.com/software/thttpd/ \
 		http://www.freenix.no/~anders/
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} notes.html
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	anders@fix.no
 
 IGNOREFILES=	notes.html
 
-EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 GNU_CONFIGURE=	yes
 
+.include <bsd.port.pre.mk>
+
+# Kqueue doesn't work in -current with thttpd.
+.if ${OSVERSION} >= 500000
+CFLAGS+=	-DHAVE_FREEBSD_CURRENT
+.endif
+
 MAN1=		makeweb.1 htpasswd.1
 MAN8=		thttpd.8 redirect.8 ssi.8 syslogtocern.8
 
@@ -80,4 +87,4 @@
 	@${ECHO} ""
 	@${ECHO} "====================================================================="
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -Nur thttpd.old/distinfo thttpd/distinfo
--- thttpd.old/distinfo	Sun Apr  8 22:17:01 2001
+++ thttpd/distinfo	Tue Apr 24 19:58:56 2001
@@ -1,2 +1,2 @@
-MD5 (thttpd-2.20b.tar.gz) = ab9c3c1214f599d86944d6264ec90fed
+MD5 (thttpd-2.21b.tar.gz) = 0041d478af3ab838fae2c1c2a3288c85
 MD5 (notes.html) = IGNORE
diff -Nur thttpd.old/files/patch-ab thttpd/files/patch-ab
--- thttpd.old/files/patch-ab	Thu Jan  1 00:00:00 1970
+++ thttpd/files/patch-ab	Tue Apr 24 19:21:45 2001
@@ -0,0 +1,11 @@
+--- Makefile.in.orig	Tue Apr 24 19:21:06 2001
++++ Makefile.in	Tue Apr 24 19:21:33 2001
+@@ -47,7 +47,7 @@
+ # You shouldn't need to edit anything below here.
+ 
+ CC =		@CC@
+-CCOPT =		@V_CCOPT@
++CCOPT =		@CFLAGS@
+ DEFS =		@DEFS@
+ INCLS =		-I.
+ CFLAGS =	$(CCOPT) $(DEFS) $(INCLS)
diff -Nur thttpd.old/files/patch-ac thttpd/files/patch-ac
--- thttpd.old/files/patch-ac	Thu Jan  1 00:00:00 1970
+++ thttpd/files/patch-ac	Tue Apr 24 19:45:01 2001
@@ -0,0 +1,11 @@
+--- cgi-src/Makefile.in.orig	Tue Apr 24 19:44:12 2001
++++ cgi-src/Makefile.in	Tue Apr 24 19:44:25 2001
+@@ -31,7 +31,7 @@
+ MANDIR =	@mandir@
+ 
+ CC =		@CC@
+-CCOPT =		@V_CCOPT@
++CCOPT =		@CFLAGS@
+ DEFS =		@DEFS@
+ INCLS =		-I..
+ CFLAGS =	$(CCOPT) $(DEFS) $(INCLS)
diff -Nur thttpd.old/files/patch-ad thttpd/files/patch-ad
--- thttpd.old/files/patch-ad	Thu Jan  1 00:00:00 1970
+++ thttpd/files/patch-ad	Tue Apr 24 19:46:27 2001
@@ -0,0 +1,11 @@
+--- extras/Makefile.in.orig	Tue Apr 24 19:46:03 2001
++++ extras/Makefile.in	Tue Apr 24 19:46:13 2001
+@@ -32,7 +32,7 @@
+ MANDIR =	@mandir@
+ 
+ CC =		@CC@
+-CCOPT =		@V_CCOPT@
++CCOPT =		@CFLAGS@
+ DEFS =		@DEFS@
+ INCLS =		-I..
+ CFLAGS =	$(CCOPT) $(DEFS) $(INCLS)
diff -Nur thttpd.old/files/patch-fdwatch.c thttpd/files/patch-fdwatch.c
--- thttpd.old/files/patch-fdwatch.c	Thu Jan  1 00:00:00 1970
+++ thttpd/files/patch-fdwatch.c	Tue Apr 24 19:01:14 2001
@@ -0,0 +1,21 @@
+--- fdwatch.c.orig	Tue Apr 24 18:40:22 2001
++++ fdwatch.c	Tue Apr 24 19:00:57 2001
+@@ -32,6 +32,7 @@
+ #include <sys/time.h>
+ #include <sys/resource.h>
+ #include <syslog.h>
++#include <sys/param.h>
+ 
+ #ifndef MIN
+ #define MIN(a,b) ((a) < (b) ? (a) : (b))
+@@ -44,6 +45,10 @@
+ #include <sys/poll.h>
+ #endif /* HAVE_SYS_POLL_H */
+ #endif /* HAVE_POLL_H */
++
++#ifdef HAVE_FREEBSD_CURRENT
++#undef HAVE_KQUEUE
++#endif
+ 
+ #ifdef HAVE_SYS_EVENT_H
+ #include <sys/event.h>
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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