Commits

Palmer, 2E0EOL committed 19064e9

Remove tree post 0.1.6-pre2, 0.2.2+ exist in oehter repositories, please commit no further

Comments (0)

Files changed (698)

5kpercent.txt

-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-$Id: ChangeLog,v 0.1.8.19 2006/01/31 12:51:00 ddrp Exp $
+$Id: ChangeLog,v 0.2.2.1 2006/07/07 12:50:00 ddrp Exp $
 
 This ChangeLog was created 2001/11/24
 It is updated often and between releases
 with any changes to the tree and made available
-at http://www.daybologic.co.uk/overchat/ChangeLog.txt
+at http://www.overchat.org/ChangeLog.txt
 at least every server release.
 
+On 2006/07/07 this ChangeLog was retired because it referred to the
+project as a massive, monolithic tree and I am now breaking the
+tree up into smaller parts.  The various libraries will have their own
+version numbers and ChangLogs.
+
+0.2.2
+-----
+DDRP: (Blake) blake.h no longer includes daybothreads.h because it is
+      possible to build Blake with no thread support.
+DDRP: (Blake) rcsid strings are now mandatory
+DDRP: (Blake) stopcodes.h renamed blake_stopcodes.h
+DDRP: (Blake) blake_socket.code renamed blake_sockets.c, blake_network.c
+      removed.  blake_network.h renamed blake_sockets.h
+DDRP: (Blake) blake_protocol.c '_buffers', leading underscore removed.
+DDRP: (Blake) OVERCHAT_MAXFNLEN renamed BLAKE_MAXFNLEN
+DDRP: Renamed NetBuffer/NetBuffer.cpp to blake_netbuffer.cpp (and header)
+DDRP: Renamed blake/blake_netbuffer.cpp to blake_netbuffer_wrapper.cpp
+      (and header).
+DDRP: Renamed blake/FastQueueWrapper.h blake/FastQueueWrapper.hpp
+
+0.2.1
+-----
+DDRP: Small and distributed changes to tree to get it to build on FreeBSD 4
+
+0.2.0 (Restronguet)
+-------------------
+DDRP: Make blake_nick IllegalDetect() work for passwords
+DDRP: Fix bug allowing trailing spaces in nicknames to be validated
+DDRP: Fix ocreg/oclogin not using PREFIX_INC when compiling
+DDRP: blake callbacks lose ThreadID parameters.
+DDRP: blake_criticalinteger removed.  Now called Atomic Scalar, it
+      is a part of DayboThreads-0.3.0.
+DDRP: Found some code in ocquery.c was dodgy and would not work on
+      FreeBSD, removed.  Removed contents of ChildHandler() too, as it
+      was not async-safe.
+DDRP: db2fix was trying to access daybodep via DAYBODEP_PREFIX_BINARY
+      (as opposed to DAYBODEP_PREFIX_BIN).  Corrected.
+DDRP: ocquery and db2fix were using WARNINGS instead of the newer
+      CWARNINGS, this hid a lot of warnings.
+DDRP: Corrupt output from ocquery's whois command corrected
+DDRP: Remove obsolete 'DB' make variable
+DDRP: Fix a couple of warnings in blake_socket.code
+DDRP: Add test for socklen_t to configure
+DDRP: Lots of changes to blakeGotError packet
+DDRP: OberChatten supports blakeGotError packet (Receiving)
+DDRP: PostError() (server) now allows passing a relevant nickname
+DDRP: Add missing inclusion of assert.h in src/server_netbuffer.cpp
+DDRP: Hard code paths to /usr/local/share/daybo_logic/ for shared
+      packages for GNU platforms.
+DDRP: Mark Makefile.bor broken in tree until further notice
+DDRP: Add test for -l resolv to configure
+DDRP: configure/configure.c officially deprecated
+DDRP: ocquery/Makefile to link with $(RESOLV) (defined in MasterMake.gnu)
+DDRP: Various changes to blake_ver_t and related structures
+DDRP: Remove blakeUndocumented0 (undocumented; useless)
+DDRP: Spelling correction: blake_cb_AquireLock() fixed.
+DDRP: Server event related symbols moved under events_* names
+DDRP: Cosmetic, renamed server_event, server_events
+DDRP: Put a load of HAVE_ type macros in configure/configure.c
+      (output to src/overchat_config.h) in preparation for the move
+      to GNU autoconf.  We should start to use these.
+DDRP: Remove ChumsUnit.cpp.  All aspects have been migrated to
+      MainFormUnit.cpp, so Win32 client will no longer be MDI.
+DDRP: Strip all "programmer" related stuff from OberChatten, from now on
+      this is our official client, not just a testing app.
+DDRP: TOptions (OberChatten) to use proper AddChum() routine whilst
+      loading options.  Otherwise, the same nickname can appear in the
+      list multiple times if tje configuration file has been tampered with.
+DDRP: Strip clients/, db2fix/ and ocquery/ from tree (they will be
+      release separately from now on).
 
 0.1.8-pre2
 ----------
 Jeramy: Fixes to source line terminators and unknown other development
 DDRP: Cap maximum received packet size with modulo arithmetic
 DDRP & TK: TX/RX - Do not call memmove() for zero sized moves
-DDRP: Fix to insideous reliance of expected packet size, now gets out and waits for a new event.
+DDRP: Fix to insideous reliance of expected packet size, now gets out
+      and waits for a new event.
 DDRP: Remove all Jeramy's code from the tree
 DDRP: Remove possibly bad trust of strncpy() in blake errors
 DDRP: Don't attempt to make -1 (failure) nonblocking in network_CreateSocket()
 DDRP: Update tree to use DPCRTLMM-1.1.6-pre2 (latest)
 DDRP: Extend Blake incoming callback support for -1 (all sockets)
 DDRP: Fix select() wrapper logic
-DDRP: Server event queue size increased to try to stop disconnection event attack
+DDRP: Server event queue size increased to try to stop disconnection
+      event attack
 
 0.0.13
 ------
-DDRP: Fix: (Blake protocol) i_ReceivePacket() not offsetting addresses given to subfunctions.
+DDRP: Fix: (Blake protocol) i_ReceivePacket() not offsetting addresses
+      given to subfunctions.
 DDRP: Fix: (Blake protocol) i_ReceivePacket() uninitialised error return
 DDRP: dlini supports GetPrivateProfileString() & GetPrivateProfileInt()
 DDRP: Experimental offsets in packet receiving.
 DDRP: Fix: Packet compiler gives wrong length to crack packet
 DDRP: Insignificant change to login size calculation method
 DDRP: Added number of bytes to data arrived event
-DDRP: Fix: Packet compiler to compile all available packets on a socket and not 2 bytes!
+DDRP: Fix: Packet compiler to compile all available packets on a
+      socket and not 2 bytes!
 DDRP: Fix: Login packet receiver did not update caller's offset
 DDRP: Wrote authenticator
 DDRP: Added socket info to Blake callbacks
 
 0.0.12
 ------
-DDRP - Misc updates to POSIX threads
-DDRP - Addition of server-side WhoAmI call to determine current thread
-DDRP - Created hack up of i_ProcessIncoming (needs threads moved to Blake)
-DDRP - Fix: Abort at attempted cleanup of threads after failure of Blake to initialise
-DDRP - Fix: Math bug in packet compilation and client receiver
-DDRP - Add 'clients' into build system on Borland
-DDRP - Fix: Bad reference to pthread_Self (pthread_self)
-DDRP - Fix: globalid_SocketDescFromNick() race.
-DDRP - Misc. threading cleanups.
-DDRP - Fix: Sane locking practices in globalid
-DDRP - Blake mutant handles recorded in
-DDRP - Fix: Some blake_protocol compilation issues on Linux
-DDRP - Started building under GNU PTH primarily again
-DDRP - Fix: Yield in heartbeat to give other threads a chance
-DDRP - Dirty makefile change to get pth.h
-DDRP - server_pththreads.c to include limits.h like everybody else
-DDRP - Fix: Configure DPCRTLMM as no locks so as not to use pthread (temp)
-DDRP - Added assert to check for no Blake outgoing callback at call time
-DDRP - Fix: Forgot to pop packets from queue on incoming (protocol)
-DDRP - Added source level debug info to events
-DDRP - Remove delayed broken connection notification in globalid
-DDRP - Removed globalid_IsBroken()
-DDRP - Added packet size recalculations to blake_Login() and friends
-DDRP - Added buildtimer for timed builds (current=1 min, 14 secs)
-DDRP - Fix: Accidental free of NULL pointer in blake_CrackPacket()
-DDRP - globalid is now called "core" and it's use has been extended.
-DDRP - Added server core uptime
+DDRP: Misc updates to POSIX threads
+DDRP: Addition of server-side WhoAmI call to determine current thread
+DDRP: Created hack up of i_ProcessIncoming (needs threads moved to Blake)
+DDRP: Fix: Abort at attempted cleanup of threads after failure of
+      Blake to initialise
+DDRP: (Fix) Math bug in packet compilation and client receiver
+DDRP: Add 'clients' into build system on Borland
+DDRP: (Fix) Bad reference to pthread_Self (pthread_self)
+DDRP: (Fix) globalid_SocketDescFromNick() race.
+DDRP: Misc. threading cleanups.
+DDRP: (Fix) Sane locking practices in globalid
+DDRP: Blake mutant handles recorded in
+DDRP: (Fix) Some blake_protocol compilation issues on Linux
+DDRP: Started building under GNU PTH primarily again
+DDRP: (Fix) Yield in heartbeat to give other threads a chance
+DDRP: Dirty makefile change to get pth.h
+DDRP: server_pththreads.c to include limits.h like everybody else
+DDRP: (Fix) Configure DPCRTLMM as no locks so as not to use pthread (temp)
+DDRP: Added assert to check for no Blake outgoing callback at call time
+DDRP: (Fix) Forgot to pop packets from queue on incoming (protocol)
+DDRP: (Fix) Added source level debug info to events
+DDRP: Remove delayed broken connection notification in globalid
+DDRP: Removed globalid_IsBroken()
+DDRP: Added packet size recalculations to blake_Login() and friends
+DDRP: Added buildtimer for timed builds (current=1 min, 14 secs)
+DDRP: (Fix) Accidental free of NULL pointer in blake_CrackPacket()
+DDRP: globalid is now called "core" and it's use has been extended.
+DDRP: Added server core uptime
 
 0.0.11
 ------
-DDRP - Added assert for general mutant creation failure.
-DDRP - Added Blake_Trace()/blake_dTrace()
-DDRP - Partial fix to DLL building problem
-DDRP - Most serious bug found so far, see bug "Event loop flood"
-DDRP - Added some events
-DDRP - Wrote a server side packet compiler (not tested)
-DDRP - EventLoop no longer self sufficient (init/cleanup) to allow handlers to be installed before entry
-DDRP - Update Makefiles to build new module blake/blake_trace.c
+DDRP: Added assert for general mutant creation failure.
+DDRP: Added Blake_Trace()/blake_dTrace()
+DDRP: Partial fix to DLL building problem
+DDRP: Most serious bug found so far, see bug "Event loop flood"
+DDRP: Added some events
+DDRP: Wrote a server side packet compiler (not tested)
+DDRP: EventLoop no longer self sufficient (init/cleanup) to allow
+      handlers to be installed before entry.
+DDRP: Update Makefiles to build new module blake/blake_trace.c
 
 0.0.11-pre11-STABLE
 -------------------
-DDRP - TX/RX nice clean buffers whilst in debug mode
-DDRP - Sync POSIX and NT thread slot limits
-DDRP - Fix: TX/RX math bug in pop
-DDRP - Fixes to fixed packet size calculation
-DDRP - Mutants disabled for this build
+DDRP: TX/RX nice clean buffers whilst in debug mode
+DDRP: Sync POSIX and NT thread slot limits
+DDRP: (Fix) TX/RX math bug in pop
+DDRP: Fixes to fixed packet size calculation
+DDRP: Mutants disabled for this build
 
 0.0.10
 ------
-DDRP - Consistent non-const usage with data callbacks
-DDRP - Fix: Logic error in heartbeat initialisation
-DDRP - Simplification of heartbeat base priority
-DDRP - Fix: GlobalID no longer locked during challenge
-DDRP - TX/RX to use proper logging and messaging
-DDRP - Logging now records source file/line info
-DDRP - POSIX threads extra debug info
-DDRP - NT threads internally use Blake mutants not critical sections
-DDRP - Fix: NT threads, corruption of thread count
-DDRP - Fix: Some obvious globalid races
-DDRP - Fix: TX/RX: Do not push zero amounts
-DDRP - Fix: blake_Sleep() failure on Win32
-DDRP - Broken pipe registration from TX/RX's data reader (callback)
+DDRP: Consistent non-const usage with data callbacks
+DDRP: (Fix) Logic error in heartbeat initialisation
+DDRP: Simplification of heartbeat base priority
+DDRP: (Fix) GlobalID no longer locked during challenge
+DDRP: TX/RX to use proper logging and messaging
+DDRP: Logging now records source file/line info
+DDRP: POSIX threads extra debug info
+DDRP: NT threads internally use Blake mutants not critical sections
+DDRP: (Fix) NT threads, corruption of thread count
+DDRP: (Fix) Some obvious globalid races
+DDRP: (Fix) TX/RX: Do not push zero amounts
+DDRP: (Fix) blake_Sleep() failure on Win32
+DDRP: Broken pipe registration from TX/RX's data reader (callback)
 
 0.0.9-1
 -------
-DDRP - Added Blake linked list debug mechanism
-DDRP - "Makefile"s are symbolic links to "Makefile.gnu"s
-DDRP - Fix 12 byte mem leak, listening sockets list not cleaned up (Blake)
-DDRP - Fix to blake.h not using the debuggable mutants with debug builds
-DDRP - Fix: Deadlock, failure of TX/RX buffer manager to release a lock
-DDRP - Reorder shutdown tasks for more sanity
-DDRP - New function server_WaitOnThreadTermination to ensure order
-DDRP - Major heartbeat rewrite
-DDRP - Update tree to use DPCRTLMM-1.1.6-pre1-1 (latest)
+DDRP: Added Blake linked list debug mechanism
+DDRP: "Makefile"s are symbolic links to "Makefile.gnu"s
+DDRP: (Fix) 12 byte mem leak, listening sockets list not cleaned up (Blake)
+DDRP: (Fix) to blake.h not using the debuggable mutants with debug builds
+DDRP: (Fix) Deadlock, failure of TX/RX buffer manager to release a lock
+DDRP: Reorder shutdown tasks for more sanity
+DDRP: New function server_WaitOnThreadTermination to ensure order
+DDRP: Major heartbeat rewrite
+DDRP: Update tree to use DPCRTLMM-1.1.6-pre1-1 (latest)
 
 0.0.9
 -----
-DDRP - Init of event queue safe against interruption by posted timer events.
+DDRP: Init of event queue safe against interruption by posted timer events.

GNUmakefile

-# $Id: GNUmakefile,v 0.9 2005/03/30 19:57:00 ddrp Exp $
-#
-# Copyright (C) 2001-2005 Daybo Logic.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. Neither the name of the project nor the names of its contributors
-#    may be used to endorse or promote products derived from this software
-#    without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-# OverChat master build for for private source tree
-# Maintainer: David Duncan Ross Palmer <daybologic.co.uk/mailddrp>
-# Please report problems with _FULL_ output, using the script utility
-
-include MasterMake.gnu
-
-# If we don't even know our own filename, print the message in
-# configure/not_configured.txt
-# Printing nop just means we're safe!
-
-ifndef THISFILE
-NONSENSE_COMMAND=cat configure/not_configured.txt ; ./fail
-else
-NONSENSE_COMMAND=cat configure/configured.txt
-endif
-
-ERASE=perl -w ../shared/scripts/erase.pl
-
-# Master build rule
-all : _boot depend basictools blake_lib overchat cgi _clients _supdae advtools _testbed
-	cd buildtimer ; $(TMAKE) -f $(THISFILE) stop
-	@echo Build complete.  You may want to run a make test
-
-_boot:
-	$(NONSENSE_COMMAND)
-
-depend:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 1                                       "
-	@echo "  Generate autodependencies                     "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo
-	cd blake && $(TMAKE) -f $(THISFILE) depend
-	cd buildtimer && $(TMAKE) -f $(THISFILE) depend
-	cd cgi-bin && $(TMAKE) -f $(THISFILE) depend
-	cd clients && $(TMAKE) -f $(THISFILE) depend
-	cd committee && $(TMAKE) -f $(THISFILE) depend
-	cd configure && $(TMAKE) -f $(THISFILE) depend
-	cd db2fix && $(TMAKE) -f $(THISFILE) depend
-	cd mailall && $(TMAKE) -f $(THISFILE) depend
-	cd NetBuffer && $(TMAKE) -f $(THISFILE) depend
-	cd occdtk && $(TMAKE) -f $(THISFILE) depend
-	cd ocquery && $(TMAKE) depend
-	cd raw2c && $(TMAKE) -f $(THISFILE) depend
-	cd src && $(TMAKE) -f $(THISFILE) depend
-	cd testbed && $(TMAKE) -f $(THISFILE) depend
-	cd tools && $(TMAKE) -f $(THISFILE) depend
-	cd watchproc && $(TMAKE) -f $(THISFILE) depend
-
-basictools:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 2                                       "
-	@echo "  Essential tools                               "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo
-	cd buildtimer && $(TMAKE) -f $(THISFILE) start
-	cd raw2c && $(TMAKE) -f $(THISFILE) all
-	cd watchproc && $(TMAKE) -f $(THISFILE) all
-
-blake_lib : libblake.a
-
-libblake.a:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 3                                       "
-	@echo "  Blake                                         "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo
-	cd blake \
-	&& $(TMAKE) -f $(THISFILE)
-
-overchat : overchatd
-
-overchatd : src/$(THISFILE) src/*$(H) src/*$(C)
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 4                                       "
-	@echo "  The OverChat server                           "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd src && $(TMAKE) -f $(THISFILE)
-
-test:
-	cd testbed && $(TMAKE) -f $(THISFILE) run
-
-mrproper : clean
-	cd configure && $(TMAKE) -f $(THISFILE) clean
-
-clean : testbed_clean advtools_clean supdae_clean clients_clean cgi_clean overchat_clean blake_lib_clean basictools_clean
-	-$(ERASE) core overchatd.core
-
-overchat_clean:
-	cd src && $(TMAKE) -f $(THISFILE) clean
-
-blake_lib_clean:
-	cd blake && $(TMAKE) -f $(THISFILE) clean
-
-basictools_clean:
-	cd raw2c && $(TMAKE) -f $(THISFILE) clean
-	cd buildtimer && $(TMAKE) -f $(THISFILE) clean
-	cd watchproc && $(TMAKE) -f $(THISFILE) clean
-
-cgi:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 5                                       "
-	@echo "  Common Gateway Interface modules (old)        "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd cgi-bin && $(TMAKE) -f $(THISFILE) all
-
-cgi_clean:
-	cd cgi-bin && $(TMAKE) -f $(THISFILE) clean
-
-_clients:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 6                                       "
-	@echo "  Example service clients (needs a new package) "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd clients && $(TMAKE) -f $(THISFILE) all
-
-clients_clean:
-	cd clients && $(TMAKE) -f $(THISFILE) clean
-
-_supdae:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 8                                       "
-	@echo "  Supplementry daemons (OCQuery)                "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd ocquery && $(TMAKE) all
-
-supdae_clean:
-	cd ocquery && $(TMAKE) clean
-
-
-advtools:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 9                                       "
-	@echo "  Supplementry tools                            "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd db2fix && $(TMAKE) -f $(THISFILE) all
-	cd tools && $(TMAKE) -f $(THISFILE) all
-	cd mailall && $(TMAKE) -f $(THISFILE) all
-
-advtools_clean:
-	cd db2fix && $(TMAKE) -f $(THISFILE) clean
-	cd tools && $(TMAKE) -f $(THISFILE) clean
-	cd mailall && $(TMAKE) -f $(THISFILE) clean
-
-_testbed:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 10                                      "
-	@echo "  The testbed                                   "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	cd testbed && $(TMAKE) -f $(THISFILE) all
-
-testbed_clean:
-	cd testbed && $(TMAKE) -f $(THISFILE) clean
-

LICENSE

-$Id: LICENSE,v 0.4 2006/01/21 16:30:00 ddrp Rel $
-
-Copyright (C) 2001-2006 Daybo Logic.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the project nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.

Makefile.bor

-# $Id: Makefile.bor,v 0.6 2005/09/20 13:47:00 ddrp Exp $
-#
-# Copyright (C) 2001-2004 Daybo Logic.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-# 3. Neither the name of the project nor the names of its contributors
-#    may be used to endorse or promote products derived from this software
-#    without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-# OverChat master build for for source tree
-# Maintainer: DDRP <daybologic.co.uk/mailddrp>
-# Please report problems with _FULL_ output, using the script utility
-
-!include MasterMake.bor
-
-# If we don't even know our own filename, print the message in
-# configure/not_configured.txt
-# Printing nop just means we're safe!
-
-!ifndef THISFILE
-NONSENSE_COMMAND=type configure/not_configured.txt
-!else
-NONSENSE_COMMAND=echo "nop"
-!endif
-
-!ifdef DEBUG
-DPCRTLMM_OPTIONS=--disable-threads --enable-debug --enable-log --maxport
-RTTB_OPTIONS=--enable-debug
-!else
-DPCRTLMM_OPTIONS=--disable-threads --disable-debug --disable-log --maxport
-RTTB_OPTIONS=--disable-debug
-!endif
-
-ERASE=perl ../shared/scripts/erase.pl
-
-# Master build rule
-all : depend basictools blake_lib overchat cgi _clients _supdae advtools _testbed
-	cd buildtimer
-	$(TMAKE) -f $(THISFILE) stop
-	cd ..
-	@echo Build complete.  You may want to run a make test
-
-depend:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 1                                       "
-	@echo "  Generate autodependencies                     "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-
-	cd blake
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd buildtimer
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd c2raw
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd cgi-bin
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd clients
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd committee
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd configure
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd db2fix
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd mailall
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd NetBuffer
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd occdtk
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd ocquery
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd raw2c
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd src
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd testbed
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd tools
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-	cd watchproc
-	$(TMAKE) -f $(THISFILE) depend
-	cd ..
-
-basictools:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 2                                       "
-	@echo "  Essential tools                               "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd buildtimer
-	$(TMAKE) -f $(THISFILE) start
-	cd ..
-
-	cd raw2c
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-	cd watchproc
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-blake_lib : blake$(LIB)
-
-blake$(LIB):
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 3                                       "
-	@echo "  Blake                                         "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd blake
-	$(TMAKE) -f $(THISFILE)
-	cd ..
-
-overchat : overchatd
-
-overchatd : src/$(THISFILE) src/*$(H) src/*$(C)
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 4                                       "
-	@echo "  The OverChat server                           "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd src
-	$(TMAKE) -f $(THISFILE)
-	cd ..
-
-test:
-	cd testbed
-	$(TMAKE) -f $(THISFILE) run
-	cd ..
-
-distclean : clean
-	cd configure
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-clean : testbed_clean advtools_clean supdae_clean clients_clean cgi_clean overchat_clean blake_lib_clean basictools_clean
-	-$(ERASE) core overchatd.core
-
-overchat_clean:
-	cd src
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-blake_lib_clean:
-	cd blake
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-dlini_lib_clean:
-	cd dlini
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-basictools_clean:
-
-	cd raw2c
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-	cd buildtimer
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-	cd watchproc
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-cgi:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 5                                       "
-	@echo "  Common Gateway Interface modules              "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd cgi-bin
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-cgi_clean:
-	cd cgi-bin
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-_clients:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 6                                       "
-	@echo "  Basic service clients                         "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd clients
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-clients_clean:
-	cd clients
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-_supdae:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 7                                       "
-	@echo "  Supplementry daemons                          "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd ocquery
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-supdae_clean:
-	cd ocquery
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-
-advtools:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 8                                       "
-	@echo "  Supplementry tools                            "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd db2fix
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-	cd tools
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-	cd mailall
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-advtools_clean:
-	cd db2fix
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-	cd tools
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-	cd mailall
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..
-
-_testbed:
-	@echo "------------------------------------------------"
-	@echo "                                                "
-	@echo "  Stage 9                                       "
-	@echo "  The testbed                                   "
-	@echo "                                                "
-	@echo "------------------------------------------------"
-	@echo.
-	cd testbed
-	$(TMAKE) -f $(THISFILE) all
-	cd ..
-
-testbed_clean:
-	cd testbed
-	$(TMAKE) -f $(THISFILE) clean
-	cd ..

MasterMake.bor

-#  /*
-#  Copyright (C) 2001-2005 Daybo Logic.
-#  All rights reserved.
-#
-#  Redistribution and use in source and binary forms, with or without
-#  modification, are permitted provided that the following conditions
-#  are met:
-#  1. Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer.
-#  2. Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution.
-#  3. Neither the name of the project nor the names of its contributors
-#     may be used to endorse or promote products derived from this software
-#     without specific prior written permission.
-#
-#  THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-#  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-#  ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-#  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-#  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-#  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-#  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-#  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-#  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-#  SUCH DAMAGE.
-#
-#  This file was auto generated by OverChat's autoconfigurator.
-#  (overchat/configure/configure.c)
-#  Do not edit this file!  If you need to change something, run the
-#  configurator again.
-#  */
-
-#
-# Autogenerated makeinclude, do not edit
-#
-
-DEPSFILE=_deps.bor
-RESPFILE=_resp.bor
-STATIC=
-CC=bcc32
-CPPC=bcc32
-#DEBUG=1
-OPTLEVEL=
-TMAKE=make
-CPPWARNINGS=-wamb \
--wamp \
--wasm \
--wbbf \
--wcln \
--wdef \
--whch \
--wmsg \
--wnak \
--wnod \
--wnsf \
--wpin \
--wpre \
--wsig \
--wstu \
--wstv \
--wucp \
--wuse
-CWARNINGS=-wamb \
--wamp \
--wasm \
--wbbf \
--wcln \
--wdef \
--whch \
--wmsg \
--wnak \
--wnod \
--wnsf \
--wpin \
--wpre \
--wsig \
--wstu \
--wstv \
--wucp \
--wuse
-ANSI=-A
-MASTER_CFLAGS=-D__WIN32__  -c
-MASTER_LFLAGS=
-DAYBOTHREADS_NT=1
-H=.h
-LIB=.lib
-EXE=.exe
-C=.c
-CPP=.cpp
-O=.obj
-TV_DIR=.
-STRIP=tdstrp32
-PREFIX_BIN=d:/bin/
-PREFIX_LIB=d:/lib/
-PREFIX_INC=d:/include/
-PREFIX_DAYBODEP_BIN=d:/bin/
-THISFILE=Makefile.bor
-DIR=dir /b

MasterMake.gnu

Empty file removed.

NetBuffer/GNUmakefile

-# Placeholder Makefile for basic tree operations required for every
-# branch.  Should any new operations be needed, add dummies here.
-
-all:
-
-depend:
-	@echo "No dependencies for this branch"

NetBuffer/Makefile.bor

-# Placeholder Makefile for basic tree operations required for every
-# branch.  Should any new operations be needed, add dummies here.
-
-all:
-
-depend:
-	@echo "No dependencies for this branch"

NetBuffer/NetBuffer.cpp

-/*
-Copyright (C) 2001-2005 Daybo Logic.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the project nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-*/
-/*
-  NetBuffer is an object by David Duncan Ross Palmer
-  which will handle the Blake communication aspect of Oberchatten.
-  GlobalNetBuffer is the global instantaniation of the class which
-  will handle one client side socket using Blake networking features.
-  The C function DataReader and DataWriter have to be installed into
-  Blake before the global class GlobalNetBuffer can know about data
-  or send data.  It also exists in the server to handle clients,
-  in such circumstances, don't use Connect() feature, just use
-  the Push and Pop etc and construct with a pre-existing socket.
-  Either keep pointers to dynamically created TNetBuffer's in a linked
-  list or some sort of fixed structure.
-*/
-//---------------------------------------------------------------------------
-#include "overchat_config.h" // Global project options
-#include <assert.h>
-#include <string>
-#include <limits.h>
-#include <time.h>
-#include <iostream>
-#include <stdio.h>
-#ifdef HDRSTOP
-#  pragma hdrstop
-#endif /*HDRSTOP*/
-
-#include "dlstdinc.h"
-#include "blake.h"
-#include "NetBuffer.hpp"
-
-using namespace std;
-//---------------------------------------------------------------------------
-#ifdef OVERCHAT_RCS_STAMPS
-static const char *rcsid =
-  "$Id: NetBuffer.cpp,v 0.6 2005/09/22 15:28:00 ddrp Stab $";
-#endif /*OVERCHAT_RCS_STAMPS*/
-
-static void (*UserErrorHandler)(enum blakeError ErrNum) = NULL;
-static size_t GetExpectSz(const unsigned char* RawData);
-
-#ifdef DEBUG
-static void DumpBuff(
-  const char *File,
-  const unsigned int Line,
-  const unsigned char *RawBuffer,
-  unsigned int Level
-);
-#endif //DEBUG
-//---------------------------------------------------------------------------
-void TNetBuffer::InitBuffers()
-{
-  this->outBuffLevel = 0U;
-  this->inBuffLevel = 0U;
-  memset(this->outBuff, 0, sizeof(this->outBuff));
-  memset(this->inBuff, 0, sizeof(this->inBuff));
-
-  memset(this->buff, 0, sizeof(this->buff)); // Current packet buffer
-  this->marker = 0U;
-  this->expectSz = 0U;
-
-#ifdef OVERCHAT_RCS_STAMPS
-  blake_Unused(rcsid); /* Prevent warning and ensure string is compiled */
-#endif /*OVERCHAT_RCS_STAMPS*/
-}
-//---------------------------------------------------------------------------
-TNetBuffer::TNetBuffer()
-:
-  s(0),
-  UseIPv6(false),
-  Port(OVERCHAT_PORT_DEFAULT)
-{
-  this->InitBuffers();
-}
-//---------------------------------------------------------------------------
-TNetBuffer::TNetBuffer(int S)
-:
-  s(S),
-  UseIPv6(false),
-  Port(0)
-{
-  this->InitBuffers();
-}
-//---------------------------------------------------------------------------
-TNetBuffer::TNetBuffer(
-  unsigned short int iPort,
-  bool bUseIPv6
-)
-:
-  s(0),
-  UseIPv6(bUseIPv6),
-  Port(iPort)
-{
-  this->InitBuffers();
-}
-//---------------------------------------------------------------------------
-TNetBuffer::~TNetBuffer()
-{
-  this->Close();
-}
-//---------------------------------------------------------------------------
-enum blakeError TNetBuffer::Resolve(
-  const string &ServerName, 
-  OVERCHAT_IP *ReturnedAddress
-)
-{
-  return network_Resolve(ServerName.c_str(), ReturnedAddress);
-}
-//---------------------------------------------------------------------------
-enum blakeError TNetBuffer::CreateSocket(
-  int *PSocket
-)
-{
-  this->s = network_CreateSocket(this->UseIPv6, false, false);
-  if ( PSocket ) *PSocket = this->s;
-  if ( this->s == -1 ) { // Blake could not create a socket
-    this->s = 0;
-    return blakeUnknownFailure;
-  }
-  return blakeSuccess;
-}
-//---------------------------------------------------------------------------
-enum blakeError TNetBuffer::Connect(
-  const OVERCHAT_IP *Address
-)
-{
-  enum blakeError err;
-
-  err = network_Connect(s, UseIPv6, Port, Address); // Connect to server
-  if ( err != blakeSuccess ) // Fail
-    Close(); // Socket cannot be used (clean up)
-  else
-    network_MakeNonBlocking(s); // Connected to server, switch to nonblocking
-
-  return err;
-}
-//---------------------------------------------------------------------------
-void TNetBuffer::Close()
-{
-  if ( s ) {
-    network_CloseSocket(s);
-    s = 0;
-    InitBuffers(); /* Incase this net buffer is re-used */
-  }
-}
-//---------------------------------------------------------------------------
-enum blakeNetBufferError TNetBuffer::Push(
-  enum blakeNetBufferDirection Direction,
-  const void *Data,
-  const size_t DataSize
-)
-{
-  enum blakeNetBufferError err = bnbeNoError;
-
-  assert(Data && DataSize);
-  if ( DataSize > OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_TXSZ )
-    return bnbeExtremeSize;
-
-  switch ( Direction ) {
-    case bnbdIncoming : {
-      if (
-        DataSize > (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_RXSZ) - inBuffLevel
-      ) {
-        err = bnbeCannotAccommodate;
-        break;
-      }
-      memcpy((char*)inBuff + inBuffLevel, Data, DataSize);
-      inBuffLevel += DataSize;
-      assert(inBuffLevel <= (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_RXSZ));
-      break;
-    }
-    case bnbdOutgoing : {
-      if (
-        DataSize > (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_TXSZ) - outBuffLevel
-      ) {
-        err = bnbeCannotAccommodate;
-        break;
-      }
-      memcpy((char*)outBuff + outBuffLevel, Data, DataSize);
-      outBuffLevel += DataSize;
-      assert(outBuffLevel <= (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_TXSZ));
-      break;
-    }
-    default : {
-      err = bnbeBadDirection;
-    }
-  }
-
-  return err;
-}
-//---------------------------------------------------------------------------
-size_t TNetBuffer::Pop(
-  enum blakeNetBufferDirection Direction,
-  void *Data,
-  const size_t MaxDataSize,
-  enum blakeNetBufferError *PNetError
-)
-{
-  enum blakeNetBufferError err = bnbeNoError;
-  size_t ret = 0;
-
-  assert(Data && MaxDataSize);
-  switch ( Direction ) {
-    case bnbdIncoming : {
-      unsigned int MoveAmount = BLAKE_MIN(MaxDataSize, inBuffLevel);
-      if ( MoveAmount ) {
-        memcpy(Data, inBuff, MoveAmount);
-        memmove(
-          inBuff,
-          (char*)inBuff+MoveAmount,
-          (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_RXSZ) - MoveAmount
-        );
-        inBuffLevel -= MoveAmount;
-      }
-      ret = MoveAmount;
-      break;
-    }
-    case bnbdOutgoing : {
-      unsigned int MoveAmount = BLAKE_MIN(MaxDataSize, outBuffLevel);
-      if ( MoveAmount ) {
-        memcpy(Data, outBuff, MoveAmount);
-        memmove(
-          outBuff,
-          (char*)outBuff+MoveAmount,
-          (OVERCHAT_NET_PKTMAXSZ * OVERCHAT_NET_TXSZ) - MoveAmount
-        );
-        outBuffLevel -= MoveAmount;
-      }
-      ret = MoveAmount;
-      break;
-    }
-    default : {
-      err = bnbeBadDirection;
-    }
-  }
-
-  if ( PNetError ) *PNetError = err;
-  return ret;
-}
-//---------------------------------------------------------------------------
-void TNetBuffer::PacketCompiler(
-  size_t Amount
-)
-{
-#ifdef DEBUG
-  DumpBuff(__FILE__, __LINE__, inBuff, inBuffLevel);
-#endif //DEBUG
-
-  while ( Amount ) {
-    if ( marker == 0 ) { /* Begin new packet - length reader */
-      /* Read max two bytes (length indicator) */
-      int nread = Pop(bnbdIncoming, buff, 2, NULL);
-      if ( !nread ) return;
-      /*
-        Remove number of bytes read from master packet independent bytes
-        arrived marker
-      */
-      Amount -= nread;
-      switch ( nread ) {
-        case 0 : /* Nowt read */
-          goto setandunlock; /* Avoid time wastage */
-        case 1 : { /* Could only read 'alf of the blighter */
-          marker++; /* Remember it was read */
-          break;
-        }
-        case 2 : { /* Got it!  Now swap it... */
-          marker += 2;
-          expectSz = GetExpectSz(buff);
-          /*
-            IMPORTANT:
-            The following assertion causes the server/client to crash in
-            debugging builds.  The peer to the connection can send a
-            malicious packet to trigger this, so make sure that you switch
-            off debugging (assertions at a minimum) in production servers
-            and production clients.
-          */
-          assert(expectSz); // Crash on zero length packet
-          if ( expectSz >= 2 ) {
-            /*
-              Now expect packet size remaining
-              (minus length field already read)
-            */
-            expectSz -= 2;
-          }
-
-          break;
-        }
-        default : /* What's this, -1? */
-          goto setandunlock; /* Forget it mate */
-      }
-    }
-    else if ( marker == 1 ) { /* Previously read half the length! */
-      /* OK we only want one byte!  I don't care how much is waiting */
-      int nread = Pop(bnbdIncoming, buff + 1, 1, NULL);
-      if ( !nread ) return;
-      if ( nread != 1 ) goto setandunlock;
-      marker++;
-      expectSz = GetExpectSz(buff);
-      assert(expectSz);
-      if ( expectSz >= 2 ) expectSz -= 2;
-      assert(expectSz);
-      Amount -= nread;
-    }
-    else { /* Already got length, read packet */
-      /* Read in up to the the packet size, if the length is malicious or
-      corrupt cap at size of the RX buffer. */
-      int maxRead = BLAKE_MIN((expectSz+2) - marker, sizeof(buff));
-       /* Do some error/warning checking for diagnostics and for safety */
-      if ( !expectSz ) goto setandunlock; /* Get out if no packet */
-      if ( expectSz < 2 ) { /* Not enough room to have even sent the length */
-        goto unlock;
-      }
-      else if ( expectSz < 3 ) { /* Just the two bytes for the length!? */
-       goto setandunlock;
-      }
-      /* Back to some real work */
-      if ( maxRead ) {
-        int nread = Pop(bnbdIncoming, buff + marker, maxRead, NULL);
-        if ( !nread ) return;
-        marker += nread;
-        Amount -= nread;
-      }
-      if ( (expectSz) && marker == (expectSz+2) ) {
-        /* Pass to the Blake cracker */
-        enum blakeError err = blake_CrackPacket(
-          GetSocket(),
-          buff,
-          expectSz+2
-        );
-
-        /* Reset variables for next packet */
-        marker = 0;
-        expectSz = 0;
-        /* Check for Blake errors */
-        if ( err != blakeSuccess ) {
-          if ( UserErrorHandler )
-            UserErrorHandler(err);
-        }
-      }
-    }
-  }
-
-setandunlock:
-
-
-unlock:
-
-  return;
-}
-//---------------------------------------------------------------------------
-void NetBufferInstallBlakeErrorCallback(
-  void (*ErrorHandler)(enum blakeError ErrNum)
-)
-{
-  assert(ErrorHandler); // NULL is not acceptable, use uninstall