o Bugfixes were published on the slrn website since the release
of 0.9.7.4 last year. Even though no new version was released,
they are quite needed for normal operation (specifically, I was
hit by a locale bug that makes slrn segfault when scoring).
o ${PKGLOCALEDIR} needs to be enforced both in package's Makefile
and PLIT, and in the source (po Makefile has a hard-coded path
that may not match the path used in other parts of the source
tree).
Changes:
both.c - sgetline() - changes to fix SSL bug with the select,
connect_to_nntphost() - add code to handle
host:port syntax. This fix also allows you to
specify a port number for the local host.
suck.c - to handle SIGINT in addition to SIGTERM,
build_command() fix in potential buffer overflow
testhost.c - added -Q option, to allow user to specify
NNTP authentiation via env variables.
And other bug fixes.
- LIST ACTIVE no longer returns data when given a single group argument
if the client is not authorized to read that group.
- XHDR and XPAT weren't correctly parsing article headers, resulting in
searches for the header "newsgroup" matching the header "newsgroups".
- Made CNFS more robust against crashes by actually syncing the cycbuff
headers to disk as was originally intended. Fixed a memory leak in
the tradspool code.
- Two bugs in pgpverify when using GnuPG were fixed: it now correctly
checks for gpgv (rather than pgp) when told to use GnuPG and expects
the keyring to be pubring.gpg (not pubring.pgp).
- Substantial updates to the sample provided control.ctl file.
- Compilation fixes with Perl 5.8.0, BerkeleyDB 4.x, current versions of
Linux (including with large file support), and Tru64. inndf fixes for
ReiserFS.
- Various bugs in the header handling in nnrpd have been fixed,
including hangs when using virtual domains and improper processing of
folded headers under certain circumstances.
- Other minor bug fixes and documentation improvements.
While INN 2.3.4 is not the latest officially released version it is the
latest one for which an IPv6 patch is available.
This release adds a faster task manager, faster loading of large
groups, a few major bugfixes, about a dozen minor bugfixes, fifteen
updated translations, and many usability improvements.
Summary of changes since 1.9.31:
Bug and documentation fixes including:
* fetchnews_check_date.c: Portability: don't pass time_t to
syslog(...%ld...), sizeof time_t != sizeof long on 64bit FreeBSD,
reported by Christian Weisgerber <naddy@mips.inka.de>.
* fetchnews_check_date.c: Check for overflow of time difference.
Paranoia mode, someone needs to hose his clock by at least 68 years
to run into this.
* miscutil.c, TODO: Change to spooldir at the end of initvars()
(after changing uid/gid) to avoid barfing when run from
misconfigured cron.
* pcre_extract.c: Fix abort when extracting string, introduced with
previous strlcpy -> xstrlcpy commit. Reported by Joshua Crawford
<mortarn@softhome.net> Add debug variable to conditional TEST part
to use this code standalone.
* fetchnews.c: Several bug fixes
Please see the ChangeLog file in the source distribution for more details.
Extract of changes:
-Q option to specify NNTP authentication via environment variables
Changes to allow it to use SSL.
-i option, to ignore the readonly opening response and try to post
anyway, since inn-2.3, when using authinfo, still sends 201 code
meaning readonly.
do_one_group() - added code for resetcounter
option. If remote end resets its article numbers
the normal suck response is to ignore the group
and reset the lastread counter to match the current
high counter. This option tells suck to reset
its lastread counter to the low counter, effectively
causing suck to get all articles for the group, and
use the historydb to check for dupes.
Added low_read option. This option is used in concert
with the maxread option of the sucknewsrc. Normally
when there is a maxread in the sucknewsrc, suck will
download the newest articles. This option tells suck
to download instead the oldest articles.
do_articles() - added code for show_group option.
This option will add the name of the current group
to the BPS display as you download the articles.
do_nodownload() - added, this routine allows you
to specifiy Message-IDs to never download. See the
SUCKNODOWNLOAD section in the man page.
Bugfixes and code cleanups.
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
Summary of changes since 1.9.27 (please see the ChangeLog):
* Add leafnode-version.
* Various changes to fetchnews.c including:
+ In verbose mode, print if we're using the STAT
command or the HEAD workaround.
+ nntpactive: cache current time, saves time() calls and gives a
consistent 'age' for the newsgroups.
+ Avoid duplicate articles that raced from another server
against our fetchnews from ending up in failed.postings. We
assume that a server that refuses a posting with 441 435
Duplicate can at the same time deliver it to STAT (or HEAD if
the workaround is in effect).
+ Only touch active.read if the active has been successfully written.
+ Also apply only_groups_pcre when updating the active, to avoid
presenting groups that are not really fetched.
+ Bugfix: cope with multiple upstreams that have the same server name
but different ports.
* Various changes to nntpd.c including:
+ Point to syslog when reading the configuration fails.
+ Fix very subtle and intricate infinite loop bug
* Various changes to nntputil.c. Blacklist STAT for "NNTP news cache."
Whitelist NewsCache 1.1.*. Whitelist NewsCache 0.99.18, 0.99.19, 0.99.2?.
* Changes to activutil.c including:
+ Check for duplicate newsgroups after reading, before writing and after
merging the active file.
* Fixs for SEGV problems to activutil.c and artutil.c
Changes:
* Bug fixed: missing Subject caused crashes when followupping
* allow new GTLDs: .biz, .info, .name, .museum
* base64 encoding was broken
* format-string fixes
* empty random organization file could crash tin
and some more.
Changes:
This release adds Custom Filters back to the header pane. It also
fixes some charset & memory bugfixes, some minor new features, and
refreshed dialogs for better adherence to the the Gnome HumanInterface
Guidelines.
of bugfixes, plus
NEW FEATURES
* Added the ability to specify which characters are recognized
as quote prefix characters, so nonconformists not using '>' to
quote text will still have their articles colored right in Pan.
* Added "Go to previous article" navigation button.
* Added support for decoding yenc-encoded attachments!
UPDATES
* Add a new preference option, dictating whether failed tasks
should be removed from the Task Manager. Unconditionally clearing
the queue didn't go down too well with some of the leechers.
* Added support for mime articles which explicitly specify a
Content-Transfer-Encoding of x-uuencode.
* Make sure that the default window size is large enough that a
full line, up to the default number of wrap characters and with
the default font, will fit without scrolling.
* The 'Download Articles' dialog now switches the articlelist to
the group when the headers have been downloaded.
Since this dialog is mostly used to sample a (potentially large)
group, this seems the more intuitive approach.
* Added Message-ID to Find Article's search criteria.
* If an article no longer exists on the news server, tasks to read
that article are now automatically removed from the Task Manager.
* Use gcc/buildlink2.mk instead of Makefile.gcc.
* Use the functionality on bsd.pkg.install.mk to generate INSTALL/DEINSTALL
scripts that match the functionality of the custom ones we're removing,
and handle the rc.d script automatically.
* Name the full paths of the binaries that are installed setuid.
Differences to Leafnode version 1.9.26:
* Bug fixes and changes including:
+ checkpeerlocal.c:
% Fix infinite loop problem when interface list is longer than
2 kB (reported by Brian Somers).
% Fix for non-IPv6 compilation on Solaris
% Fix compiler warnings
+ Portability fixes for 64bit platforms in activutil.c, nntpd.c
and texpire.c
+ nntpd.c: if allowstrangers is set, don't call checkpeerlocal
at all.k
(For more details, please see the Leafnode ChangeLog file)
Differences to previous NetBSD package:
* Use devel/pcre rather than the one supplied with Leafnode.
Differences to Leafnode version 1.9.22:
* Bug fixes and changes including:
+ No longer install lsort
+ Merge in timeout_client patch from Jonathan Larmour
+ Fix file descriptor leak in markdownload()
+ No longer emit "400 Service discontinued" to clients.
+ Drop connection when the upstream server runs NNTPcache 2.3.x
+ More verbose POST reject messages.
+ Fix two filtering bugs in fetchnews.
+ Expire groups that are not in group.info
+ Fix several memory leaks (e.g. in fetchnews.c, newsq.c &
artutil.c)
+ Fix possible overflow in nntpd.c
+ Some speed improvements (e.g. in getline.c and mastring.c)
+ Fix bogus error messages.
+ Several documentation fixes.
+ Various fixes from Leafnode 2.
(For more details, please see the Leafnode ChangeLog file)
- pgpverify now supports using GnuPG to check signatures (rather than
PGP) without the pgpgpg wrapper. GnuPG can check both old-style RSA
signatures and new OpenPGP signatures and is recommended over PGP 2.6.
If you have GnuPG installed, pgpverify will use it rather than PGP,
which means that you may have to create a new key ring for GnuPG to
use to verify signatures if you were previously using PGP.
- An item that was noted in NEWS below but was inadvertently left out of
nnrpd has actually been added this time: users can no longer post
articles containing Approved: headers to moderated groups by default;
they must be specifically given that permission with the access:
parameter in readers.conf. See the man page for more details.
- Two bugs in repacking overview index files and a reliability bug with
writing overview data were all fixed in the tradindexed overview
method, hopefully making it somewhat more reliable, particularly for
makehistory.
- If rc.news.local exists in the INN binary directory, it will be run
with the start or stop argument whenever rc.news is run. This is
available as a hook for local startup and shutdown code.
- The default history table hash sizes were increased because a
too-small value can cause serious performance problems (whereas a
too-large hash just wastes a bit of disk space).
- The sample control.ctl file has been extensively updated.
- Wildmat exclusions (@ and !) should now work properly in storage.conf
newsgroup patterns.
- The implementation of the -w flag for expireover was fixed;
previously, the value given to -w to change expireover's notion of the
current time was scaled by too much.
- Various other more minor bug fixes, standards compliance fixes, and
documentation improvements.
Remove `-p' from mkdir arguments, it is already part of ${MKDIR}.
While here substitute a couple of ${PREFIX} by `%D' in
`@exec ${MKDIR} ...' lines and add a couple of missing `%D' in such lines too!
as news/leafnode.
Leafnode is a USENET software package designed for small sites, with a
few tens of readers and only a slow link to the net.
The work in this package is based on that of Ingolf Steinbach
in PR#13830. wiz@ made some suggestions as well. Thanks to both of them.
cg is a semi-automatic newsgroup binary downloader. It assembles
parts based on subject headers and then offers them in an editor for
the user to choose which files he really wants.
It supports decoding data in the following formats:
uuencode (both single- and multi-posting binaries)
MIME (multipart/mixed, message/partial;
base64, quoted printable, x-uuencode)
yEnc
3.0.1 Sat Apr 6 01:59:56 EST 2002 (ap.pog.gia.tu.ra)
* compat: update config.sub and config.guess to autoguess
Darwin / MacOSx
* compat: update ./configure to autoconf-2.53
3.0-b2 Fri Apr 5 01:32:28 EST 2002 (oneiromancy)
* new: README.pam
* change: use $libexec/nntpcache.debug for debug symbols
* new: permit ':' and '@' in username and password
definitions. some At-Home & MS passport
controlled (ugh) were of this format
* compat: be more flexible in closing and re-assigning
file-descriptors. fixes some bogus openlog()/
closelog() implementations
* change: doc/proff.style NAZI's
* compat: eliminate pid_t warning in src/debug.c
* compat: change "stat" to "status" for
contrib/newshound/newshound.c. "stat" conflicted
with the stat.h definition under AIX-5.1
* change: don't try and debug the debug task if it
can no-longer read messages from other
tasks
* new: explicitly tell users to use 'nntpcached -n'
for INSTALL step 8
3.0-b1 Sat Mar 30 11:51:29 EST 2002 (Enantiomorphosis)
* new: idiot proof nntpcache.servers configuration
* new: Make the decision to use a new mmap backing
file on restart configuration via "refreshMmap"
* change: explicitly enable core dumps
* bugfix: fix bogus log message in src/xover.c
* new: prevent runaway debug analysis by checking
at most once every half hour
* change: use mode, as opposed to flock/lockf locking for
cached articles/headers. this technique is more
reliable over nfs and newserver/reader crashes
* new: robustify newsgroup structure locking
* compat: under MacOSX, cc reports as gcc, but gcc CPP is
not "gcc -E"
* compat: AIX needs -lbsd for flock()
* new: verbosely describe "server rebuild in progress" error
* change: don't warn on seeing (\r[^\n])+\r\n, as this
seems to be embedded in quite a few wild articles
* bugfix: fix a few (usually rare) xover bugs
* change: reorganise xover opening/locking/writing
functions
* compat: parse numbers representing time_t
so as not to depend on the size of time_t
(Tru64/OSF/alpha needed this)
* compat: remove extra ';' in src/http.c which caused
SUNSpro (Solaris CC) to choke
* new: improved xover expiry
* change: remove a warning in src/bregex.c. Note that the
other warnings (at least under gcc and SUNSpro
are bogus)
* compat: use strrchr instead of rindex in src/authinfo_pipe.c
* compat: EXPORT PAM functions only after pam types
have been defined
* compat: PAM compatability for Solaris and FreeBSD
(tested on Solaris-8.x and FreeBSD-4.x)
* compat: at least one newsreader used AUTHINFO with
no arguments simply to check that the command
was available. In this case return
"350 Continue with authorization sequence"
* compat: smarter scripts/genextern.sh
* compat: add/reorder includes for mmap/mmap_tests.c
* bugfix: don't use autoconf to generate mk/rules.mk,
as automake uses this file before configure
time.
* compat: add SPT_PADCHAR definition for Linux in
libproff/setproctiltle.c
* change: add comment about bogus gcc warning in
libproff/pattern.c
* change: update doc/proff.style
* change: move newshound config file to /etc/newshound/
* bugfix: various newshound bugfixes
* new: perl newshound contributed by jer@gweep.net
* bugfix: add missing /* */ pair in log.h (amazingly
gcc compiled the previous code without
complaint)
* compat: wrap all GNU C extensions in GNUC_EXT
macros, including extensions exported by
scripts/genextern.sh (EXPORT macros)
* compat: explicitly check for GNU make variations
at ./configure time and give copious help
if GNU make can not be located. Explicitly
tell the user to use the discovered GNU make.
* bugfix: CPP does not define build symbols which
are needed by scripts/genextern.sh as
opposed to cc -E. Always check for cc -E
at ./configure time
* new: NEWS file
* change: modify INSTALL so even the pentagon can
understand nntpcache builds with GNUMake
* change: modify INSTALL to reflect new mailinglist details
* bugfix: extensive three pass automake hackery to force
regeneration of .ext's at the correct time and in
the correct order
* bugfix: sometimes a HEAD followed by a BODY when neither
was previously cached resulted additional header
characters in the body. Triggered by Pine.
* compat: don't use creeping bsd featureisms (warn,<err.h>)
in libproff
all dependencies on packages depending on "png" which contain shared
libraries, all for the (imminent) update to the "png" package.
[List courtesy of John Darrow, courtesy of "bulk-build".]
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
Bug fixes include:
* Removed code that unpacks "shell archives" as it causes a serious
security hole.
* Even when using read_active, slrn would enter all subscribed groups.
* force_authentication was ignored when re-connecting.
* In rare cases, the need to send authentication data was not recognized.
* Interpret "news:" URLs enclosed in angle brackets correctly.
* Scorefiles get "include"d only once (no more loops).
* Unsubscribed groups are no longer moved to the bottom of the newsrc file.
* Multiple '%s' in (non_)Xbrowser are handled correctly (fixes segfault).
Minor UI changes:
* Tagging ('*') an article marks it as unread.
* The new default of 'reject_long_lines' is 2.
* When confirm_actions is set, catching up a group requires confirmation.
* Complain if user specifies a nonexistant config file on the command line.
* Made new_subject_breaks_threads a bitmapped value (see manual for details)
On Unix, gettext is used to translate messages.
Currently, the following translations are available:
- da.po (Danish; Byrial Jensen)
- de.po (German; Jens Wahnes)
- it.po (Italian; Emmanuele Bassi)
- nl.po (Dutch; Jelmer Vernooij)
- pl.po (Polish; Jarek Baczynski / Arkadiusz Sochala)
- ru.po (Russian; Andy Shevchenko)
The new function "view_scores" (bound to 'v' in article mode) shows you
which scorefile entries matched the current article. Assigning names to
your entries (see score.txt for details) will make this even more useful.
The new intrinsic functions "register_hook" and "unregister_hook" allow
the definition of multiple functions for most hooks.
An autosave copy of the newsrc file is created whenever you leave a
group. This can be turned off with no_autosave.
Scoring on "Bytes:" (by integer value, not regexp) is possible. In
header_display_format, you can use '%b' to display the number of bytes.
This is available when reading overview data only (e.g. _not_ in slrnpull)!
In *_display_format and *_status_line, the additional modifier '*' can be
used to center justify text in a field of a given width.
slrn accepts 8bit characters in newsgroup names.
Updated cleanscore, see contrib/NEWS.cleanscore
The code that allows running slrnpull as an unpriviledged user can now
be turned on by passing --enable-setgid-code to configure. It no longer
makes outgoing postings group writeable.
The bottom line now has its own color object ("message").
New intrinsic functions get_fg_color and get_bg_color that return the
current color of an object.
In the readline keymap, the new functions "delbol" (^U) and "delbow"
(^W) will delete to the beginning of the line or the word, respectively.
In selection lists (e.g. used by color.sl), pressing a letter takes you to
the next (or previous, if shift was held down) entry that starts with it.
ew descriptors in header_status_line: %h, %l and %k now stand for the
number of high / low scoring / killed articles, respectively.
New intrinsic functions read_mini_variable (tab completes variable
names) and read_mini_integer. See macros/varset.sl for an example
(easy interactive setting of variables at runtime).
pkgsrc. Instead, a new variable PKGREVISION is invented that can get
bumped independent of DISTNAME and PKGNAME.
Example #1:
DISTNAME= foo-X.Y
PKGREVISION= Z
=> PKGNAME= foo-X.YnbZ
Example #2:
DISTNAME= barthing-X.Y
PKGNAME= bar-X.Y
PKGREVISION= Z
=> PKGNAME= bar=X.YnbZ (!)
On subsequent changes, only PKGREVISION needs to be bumped, no more risk
of getting DISTNAME changed accidentally.
redefines about which buildlink.mk files would care is BUILDLINK_X11_DIR,
which points to the location of the X11R6 hierarchy used during building.
If x11.buildlink.mk isn't included, then BUILDLINK_X11_DIR defaults to
${X11BASE} (set in bsd.pkg.mk), so its value is always safe to use. Remove
the ifdefs surrounding the use of BUILDLINK_X11_DIR in tk/buildlink.mk and
revert changes to move x11.buildlink.mk before the other buildlink.mk files.
use X11_BUILDLINK_MK as a test value. Generally just reordering the
inclusions so that x11.buildlink.mk comes before the other buildlink.mk
files will make everthing work.
foo-* to foo-[0-9]*. This is to cause the dependencies to match only the
packages whose base package name is "foo", and not those named "foo-bar".
A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net. Also
change dependency examples in Packages.txt to reflect this.
* src/crypt.cc: corrected stupid salt calculation
* src/NewsCache.cc (ns_newgroups): fixed a y2k bug
(nnrpd): disabled stream buffering, some clients had problems with
this
Besides a number of bugfixes, better support for non-Unix
systems and a bit of new documentation, it starts up faster
on some systems and has minor new features, like tab completion
or detection of ``news:'' URLs. It is also more RFC compliant
than ever.
It has a fully customizable group mode and status bars,
highlights URLs, makes use of some common NNTP extensions,
offers better documentation and has lots of minor improvements
and bugfixes over the previous version.
Implement percent ('%') filename expansion in the "pipe" widget of the
save/pipe dialog. Especially useful for setting Knews*shellfield.buffer
in ${XENVIRONMENT}.
Count articles for save/pipe command as "1 of N", "2 of N", and so on.
slrn looks for libslang in /usr/pkg by default, and doesn't know about
looking in other locations. Use $PREFIX instead of /usr/pkg now.
Found while compiling this on Solaris (w/o Zoularis, of course :)
- innxmit can again handle regular filenames as input as well as storage
API tokens (allowing it to be used to import an old traditional
spool).
- Several problems with tagged-hash history files have been fixed thanks
to the debugging efforts of Andrew Gierth and Sang-yong Suh.
- A very long-standing (since INN 1.0!) NNTP protocol bug in nnrpd was
fixed. The response to an ARTICLE command retrieving a message by
message ID should have the message ID as the third word of the
response, not the fourth. Fixing this is reported to *possibly* cause
problems with some Netscape browsers, but other news servers correctly
follow the protocol.
- Some serious performance problems with expiration of tradspool should
now be at least somewhat alleviated. tradspool and timehash now know
how to output file names for removal rather than tokens, and fastrm's
ability to remove regular files has been restored. This should bring
expiration times for tradspool back to within a factor of two of
pre-storage-API expiration times.
- An item that was actually changed in 2.3.0 but wasn't noted in NEWS
when it should have been: Users can no longer post articles
containing Approved: headers to moderated groups by default; they must
be specifically given that permission with the access: parameter in
readers.conf. See the man page for more details.
- Added a sample subscriptions file and documentation for it and
innmail.
The changes required for this update were contributed by Bernd Ernesti
in PR pkg/13299.
* You may freely copy or redistribute this software,
* so long as there is no profit made from its use, sale
* trade or reproduction. You may not change this copy-
* right notice, and it must be included in any copy made
Add RESTRICTED="Profit from use, sale, trade, or reproduction disallowed"
to Makefile.
-- 1.4.5 release 20010409 "One More Nightmare" --
031) Dirk Nimmich <nimmich@uni-muenster.de>
BUG. empty news_headers_to_[not_]display_array could cause a SIGSEGV
BUG. changing beginner_level or show_description from the options menu
messed up the screen
FIX. proto.h, config.c, signal.c
030) Thomas E. Dickey <dickey@herndon4.his.com>
ADD. VMS port
FIX. Makefile, aclocal.m4, config.guess, config.sub, configure[.in],
mkdirs.sh, bugrep.h, config.h, extern.h, proto.h, tin.h, config.c
lang.c, main.c, misc.c, save.c, signal.c, descrip.mms, pcre.mms
vms/libvms.mms, vms/parsdate.c, vms/vmsdir.c, vms/vmsfile.c,
vms/vmspwd.c, vms/select.h
029) Urs Janssen <urs@tin.org>
BUG. possible bufferoverrun in read_groups_descriptions() on very long
groupnames/descriptions
ADD. allow superseding of articles even if one of the groups isn't
in the active file.
FIX. mail.c, post.c
maintainer: "Besides adding exciting new features, it also fixes a
lot of annoying and some (potentially) security relevant bugs, so I
recommend the upgrade."
"knews" was dumping core when trying to display a PNG image inline,
and now it doesn't.
Note: "Ctl-P" for UU encoded PNG's is a no-op (unrelated problem).
You'll need to have a message with a properly mime-encoded PNG image
in order to see do_png() go to work.
- Make IPv6 addresses (not names) work. You still need to specify the port
number explicitly in this case.
- Fix bug in connection loop which caused PR pkg/12329.
The version number is bumped to "1.0nb5".
using the newest PNG library won't work on system with an older one. To
prevent such problems with precompiled binary packages require at least
"png-1.0.9nb1" in all dependences.
- No busy loops when connecting to the NNTP server.
- Handle multiple records return by getaddrinfo(3) at the proper location.
- Avoid unnecessary socket creations and deletions by always passing the
correct address family to open_socket().