Subject: pkg/20898: update pen to verion 0.10.0
To: None <>
From: None <>
List: netbsd-bugs
Date: 03/26/2003 19:51:31
>Number:         20898
>Category:       pkg
>Synopsis:       update net/pen to version 0.10.0
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 26 16:52:00 PST 2003
>Originator:     Andreas Wrede <>
>Release:        NetBSD 1.6Q
Planix, Inc.
System: NetBSD 1.6Q NetBSD 1.6Q (PLANIX) #3: Thu Mar 20 09:50:14 EST 2003 i386
Architecture: i386
Machine: i386
	The pkg net/pen is at version 0.4.0.  The current version is 0.10.0.
Below is a diff against the current package. The patches subdirectory should
be deleted, since patch-aa is no longer needed.

Relevant portion of the Changelog :

030208  New option -H adds X-Forwarded-For header to http requests.

020717  Patches from Patroklos G. Argyroudis <>:
         - check getopt() calls against -1 and not EOF
         - fix for a possible format string in pen.c

020711  Ported to Darwin/MacOS X.
        Released 0.9.4.

020705  New penctl command: recent [seconds] displays clients that have
        connected recently (default five minutes), along with number of
        connects, transmitted and received data.

020702  Buffer overflow in netlog. See comment in pen.c.
        Added options -j (for chroot) and -u (for setuid) to pen and
        penlogd. See manpages.

020627  Fixed an error which could throw penlogd into an endless loop
        if a udp packet was lost at the crucial moment.

020626  Pedantic checking of memory allocations and buffer sizes.

020618  Penlogd: added option -n to adjust the number of cached log
        entries from Pen.

020614  Added options -d, -f, -l and -p to penlogd. They do the same
        as in pen. Also added signal handlers for TERM and HUP; these
        too do the same as in pen. Updated penlogd manpage.
        Updated www section in HOWTO to use penlog rather than mergelogs.

020613  Added penlog.c to log over a network using Apaches reliable
        piped logs. A companion log server, penlogd.c, consolidates
        logs from Pen and from all web servers into a single file.
        Added the necessary code to Pen log over the network.

020610  Wrote penctl.cgi, a web wrapper for penctl.

020609  Wrote a new version of the main loop, using poll() instead of
        select(). Added configuration option --with-poll to enable.
        Also turned redefinition of FD_SETSIZE into a configuration
        option --with-fd_setsize=N.
        Updated installation instructions in INSTALL.

020605  Added optional hard limit to the number of connections to each
        Timestamps in debug log entries.
        Released 0.8.0.

020604  Added "server of last resort" (-e option) which is only used
        when all other servers are unavailable. (Andreas Wrede)

020528  Several enhancements and bugfixes by Andreas Wrede:
        In webstats: changed CLIENTS_MAX to clients_max and
        CONNECTIONS_MAX to connections_max.
        Show time in human-readable format rather than seconds since 1970.
        Changed byte counters from unsigned long to unsigned long long.
        Fixed file descriptor leak: The connection wasn't closed when
        the connection table was full.
        Moved stats generation and log restart out of the signal handlers
        and into the main loop.
        If a client went away before receiving all its data (large files),
        the remaining portion would be sent to the next client occupying
        the same slot.
        Added pointers in connection structure to avoid having to memcpy
        the buffers in flush_up/flush_down.
        Released 0.7.0.

020507  Updated the penctl manpage to reflect reality.
        Released 0.6.3.

020417  Added -D switch to make copy_up and copy_down *always* store data
        in a temporary buffer and wait for the next round through the
        main loop before passing it on to the receiving end.
        The penctl command for this is "delayed_forward".
        When making sockets nonblocking (through fcntl(..., O_NONBLOCK)),
        make sure that any existing flags are not reset in the process.
        Important bugfix: each failed connection attempt in try_server
        would result in one socket leaked because we returned without
        closing it.

020413  Figured out why nonblocking mode was slower than blocking. Fixed.

020411  Added penctl, a simple user interface to the control protocol.

020324  Cancel timeout if it isn't needed.

020115  Added LDAP info in the HOWTO.
        Added the flush_up/flush_down bugfix from 0.5.0 again.
        Released 0.6.1.

020111  Moved #include <sys/types.h> before #include <netinet/in.h>
        Replaced the call to setpgrp with setsid.
        Transformed mergelogs into ultimately portable ANSI C (almost).
        Thanks to Mike Dugas <> for help with porting
        Removed the -r (rejects) option, since we no longer reject anything.
        to FreeBSD 4.4-RELEASE.

020110  Rewrote mergelogs completely. It will now never discard a web
        server log entry, and it tries much harder to locate a good
        match in the pen log. It deals with log entries that are out
        of order and servers with unsynchronized clocks and/or
        different time zones. The -l (lag) option is no more.
        Released 0.6.0

010915  Made the use of daemon() optional.
        Added the cgi script penstats to update and display statistics.
        Set current in store_conn.
        Released 0.5.0.

010914  Statistics in HTML format (Riccard Åkerman).
        Tested pen on HP-UX 10.20.


Index: Makefile
RCS file: /cvsroot/pkgsrc/net/pen/Makefile,v
retrieving revision 1.2
diff -c -r1.2 Makefile
*** Makefile	2001/09/13 15:09:38	1.2
--- Makefile	2003/03/27 00:40:06
*** 1,7 ****
  # $NetBSD: Makefile,v 1.2 2001/09/13 15:09:38 rh Exp $
! DISTNAME=	pen-0.4.0
--- 1,7 ----
  # $NetBSD: Makefile,v 1.2 2001/09/13 15:09:38 rh Exp $
! DISTNAME=	pen-0.10.0
*** 18,24 ****
  #		${INSTALL_MAN} ${WRKSRC}/${prg}.1 ${PREFIX}/man/man8/${prg}.8
  		${INSTALL_DATA_DIR} ${PREFIX}/share/doc/pen
! .for doc in COPYING ChangeLog README
  		${INSTALL_DATA} ${WRKSRC}/${doc} ${PREFIX}/share/doc/pen
--- 18,24 ----
  #		${INSTALL_MAN} ${WRKSRC}/${prg}.1 ${PREFIX}/man/man8/${prg}.8
  		${INSTALL_DATA_DIR} ${PREFIX}/share/doc/pen
  		${INSTALL_DATA} ${WRKSRC}/${doc} ${PREFIX}/share/doc/pen
Index: PLIST
RCS file: /cvsroot/pkgsrc/net/pen/PLIST,v
retrieving revision 1.1
diff -c -r1.1 PLIST
*** PLIST	2001/10/31 22:57:43	1.1
--- PLIST	2003/03/27 00:40:06
*** 1,9 ****
--- 1,17 ----
  @comment $NetBSD: PLIST,v 1.1 2001/10/31 22:57:43 zuntum Exp $
+ bin/penctl
+ bin/penlog
+ bin/penlogd
+ man/man1/penctl.1
+ man/man1/penlog.1
+ man1/penlogd.1
+ share/doc/pen/CONTROL
+ share/doc/pen/HOWTO
  @dirrm share/doc/pen
Index: distinfo
RCS file: /cvsroot/pkgsrc/net/pen/distinfo,v
retrieving revision 1.3
diff -c -r1.3 distinfo
*** distinfo	2001/11/22 08:12:24	1.3
--- distinfo	2003/03/27 00:40:06
*** 1,5 ****
  $NetBSD: distinfo,v 1.3 2001/11/22 08:12:24 itojun Exp $
! SHA1 (pen-0.4.0.tar.gz) = a64afa4ae47f55ff5378c13fe7e08c67a2a2d246
! Size (pen-0.4.0.tar.gz) = 45810 bytes
! SHA1 (patch-aa) = 43433a389216fd1d91307fceddf8a487a55c6ea7
--- 1,4 ----
  $NetBSD: distinfo,v 1.3 2001/11/22 08:12:24 itojun Exp $
! SHA1 (pen-0.10.0.tar.gz) = c7c4f08decba93e87d8d88cddb8eb8ff82875ed1
! Size (pen-0.10.0.tar.gz) = 95952 bytes