[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[leafnode-list] leafnode 2.0b8 ma3 preview snapshot 20010424-1 available



I'm releasing a work-in-progress snapshot based on


This snapshot has a --with-dmalloc configure option which can be used
with dmalloc 4.8 (other versions will probably work, I did not
check). dmalloc is only used if installed properly and CONFIGURED, like:

dmalloc -l /tmp/dmalloc.log high

The current archive passes make distcheck on SuSE Linux 7.0 (x86) and
FreeBSD 4.3-RELEASE (x86).

The archive is at:


files and sizes:

256k leafnode-pcre-2.0b8_ma-pre3-snapshot-20010424-1.tar.bz2
4.0k leafnode-pcre-2.0b8_ma-pre3-snapshot-20010424-1.tar.bz2.sig


d5b48a99f5f29f48df3417f8f5f6008a *leafnode-pcre-2.0b8_ma-pre3-snapshot-20010424-1.tar.bz2
024d7aecba609907c5b3bfc3c67db910 *leafnode-pcre-2.0b8_ma-pre3-snapshot-20010424-1.tar.bz2.sig

Please ignore any "unused parameter" warnings, these will disappear in
future versions.

Here's the ChangeLog excerpt:

2001-04-24  Matthias Andree  <matthias.andree@xxxxxx>

	* xoverutil.c (_compxover): add some const tags
	(getxover): fix logging when trying to kill offending articles

        * ugid: use endpwent() 
	* texpire.c (dogroup): fix big memory leak

	* strutil.c: new function to allocate memory and return
	concatenated string from input string array. Useful to replace
	snprintf in various places

	* rnews.c (usage): drop optind declaration
	(processbatch): make artname into array rather than pointer (fixes
	qualifier conflict)
	(makecompressedfile): likewise for c
	(main): use (mode_t)S_IWOTH instead of 2, still gives compile-time
	warnings with -Wconversion on SuSE Linux 7.0.

	* nntpd.c: make a lot of functions static
	(gmtoff): heed PUTENV_COPIES
	(parser): make cmd a local variable, track newsgroup and artno in
	parser rather than globally, rename to main_loop
	(main_loop): renamed from parser
	(markinterest): returns error condition, internal overhaul, fixes

	* ln_log.c: move extern int verbose declaration here to prevent
	duplicate declaration via ln_log.h
	(vln_log_core): add new feature: if the environment variable
	LN_LOG_ABORT_ON_ERROR is defined (regardless of its value, may
	even be empty or 0), the first LNLOG_SERR will cause the program
	to abort. May be useful in debugging to get a proper core file or

	* ln_log.h: remove extern int verbose declaration

	* nntputil.c (putaline): now requires FILE * parameter just like
	getaline does.

	* miscutil.c (parseopt): program name and optarg parameter are now
	const strings
	(lockfile_exists): new semantics

	* filterutil.c (readfilter): log filter name in warning
	(readfilter): filter file name argument is now const

	* fetchnews.c: remove global artno
	make isgrouponserver static
	(getarticle): fix off-by-one allocation error 
	(getarticle): fix dot stripping to use fputs/fputc rather than
	(getgroup): output "considering (count) articles (range)" in group
	verbose mode regardless of debug mode, includes article count
	now. NOTE: Inaccurate output. See TODO (5.5)
	(post_FILE): return code rather than string (fixes obscure crashes)
	(main): only update/write active if not in postonly mode.
	(main): delposted is currently deactivated. Will do no harm other
	than try to post any article twice. NOTE: will send dupes if you
	don't run fetchnews in regular intervals. NOTE: entire posting
	functionaly needs major overhaul

	* critmem.h (critrealloc): support dmalloc (tested with dmalloc
	4.8.2), to allow for tracking the actual leafnode memory leak line
	rather than just critmem's functions.
	* critmem_calloc.c: dito
	* critmem_malloc.c: dito
	* critmem_realloc.c: dito
	* aclocal.m4: include PETI_WITH_DMALLOC. NOTE: This m4 script is
	copyrighted under the GNU GENERAL PUBLIC LICENSE (but since it's
	not linked, it does not affect the compiled leafnode).

	* Makefile.in: generate local.groups in LIBDIR rather than SPOOLDIR
	copy config.example from srcdir (broke build outside source tree)
	* .cvsignore: add configure, README

	* configutil.c: initialize expire_base to 0 for consistency
	introduce new static struct serverlist that is not iterated over
	(iterating over servers caused memory leaks in previous versions)

	* configparam.c (comp): add const qualifiers
	(find_configparam): dito

	* checkgroups.c (main): drop local extern int optind

	* attributes.h (__inline): new

	* artutil.c (store): drop msgid parameter. Add some asserts. Fix
	broken logging. NOTE: see TODO for a severe bug in store, or the
	callers thereof, respectively.
	support dmalloc

	* applyfilter.c: declare optarg, optint, opterr and optopt.
	add dmalloc support
	(main): change filterfile/readfilter logic, fix bug

	* global: introduce char s[PATH_MAX] as local variable all over
	the place. Needs review for buffer overruns.
	Fix several incorrect malloc/free semantics

	* activutil.c (_compactive): add const to local declarations
	(insertgroup): change if/else to ?: operator
	(findgroup): do ng initialization in function implementation,
	variable initializers are a GCC extension
	add dmalloc support
	(freeactive): now safe with active == 0
	(readactive): registers atexit function to clear up freeactive
	(not strictly needed since memory is freed on exit anyways)
	(insertgroup): description is now const string

	* acconfig.h: add #undef PUTENV_COPIES

	* configure.in (PUTENV_COPIES): new check to see if putenv uses
	the program's string buffer for its environment or makes a copy

2001-04-13  Matthias Andree  <matthias.andree@xxxxxx>

	* strutil.c: new function memstrcat

	* miscutil.c (lockfile_exists): retry lock in non-blocking mode if
	stale lock file had been removed previously

	* texpire.c (main): release lock file if no expire time set
	(xoverextract): fix memory leak (call freexover after getxover)
	(dogroup): fix memory leak (call freexover after getxover)

	* nntpd.c (main): fix wrong error description when configuration
	file unavailable.

2001-04-09  Matthias Andree  <matthias.andree@xxxxxx>

	* fix tons of memory leaks

2001-04-08  Matthias Andree  <matthias.andree@xxxxxx>

	* artutil.c (supersede_cancel): also remove article from out.going
	(supersede_cancel): renamed from supersede
	(fgetheader): additional parameter to suppress rewinding
	(cancel): new function
	(check_supersede_cancel): new function, checks for Supersedes: and
	Control: cancel header in a given article file and does
	appropriate action. NO VALIDATION CURRENTLY.

	* activutil.c (findgroup): uses bsearch instead of helpfindgroup now.

	* dirutil.c (DIRLIST_ALLNUM): new, to get directory list of all
	files that consist only of digits

	* nntpd.c (main): output greeting only after active has been read.

	* xoverutil.c (helpfindxover): function deleted
	(findxover): use bsearch now that helpfindxover is gone
	(getxover): set xcount properly to make leafnode robust against
	missing lines in xover file (confused bsearch before the fix)
	(getxoverline): get bytes from stat, count only body lines
	(getxoverline): use new getfoldedline function for simplicity
	(writexover): got rid of the difficult-to-use writev which doesn't
	buy us anything, use stdio buffering instead

	* getfoldedline.c (getfoldedline): new function

	* Makefile.in: create configuration directory (found by Claudia Ludwig)

- -- 
Matthias Andree

Version: 2.6.3i
Charset: noconv
Comment: Processed by Mailcrypt 3.5.5, an Emacs/PGP interface


leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list