ldmud-3.3.719.tar.gz

Uploaded: 24 Aug, 2009
Previous uploads by this submitter: 0

Author: Gnomi, Fuchur, Zesstra

Downloads: 102

We are pleased to announce the availability of LDMud 3.3.719 as the
latest stable LDMud release.

The focus of this release lies on code cleanup and of course bugfixing:
Support for unused platforms and workarounds due to older compilers
were removed. The efuns cat(), md5(), sha1() are now deprecated and
will be removed in LDMud 3.5. Replacements as simul-efuns are provided
in /mudlib/deprecated of the driver sources.

This release will also be our starting point for the new unstable 3.5
series of LDMud. If you have any ideas and suggestions for this branch
don't hesitate to share them with us.

An update to 3.3.719 is recommended to users of the 3.2 and 3.3 series.

Please note that the subversion repository of the latest version of 3.3
has moved to svn://svn.bearnip.com/ldmud/3.3/trunk.

LDMud 3.3.719 can be downloaded from:
http://www.bearnip.com/lars/proj/ldmud.h...
http://www.bearnip.com/ftp/mud/ldmud-3.3...
SHA1: 4ba2e94ebefe2ab78432894001f0fb00447f7c5c
MD5: 1a21a292441358a6184c79c9e3ba53b4

Please find below the most important changes. The detailed changes can be
found in CHANGELOG in the distribution package.

If you have any problems with LDMud, please don't hesitate to report them
at: http://mantis.bearnip.com/.
If you have any questions please ask either on ldmud-talk@lists.bearnip.com
or contact us at ldmud-dev@UNItopia.rus.Uni-Stuttgart.de.

What's new
==========
- Fixed Crashes:
+ gmtime(), localtime(), ctime() and strftime() could crash the driver
on platforms where time_t is 64 bits long and users supply huge
values as time stamp (>2^55) due to unchecked results from libc
functions (Bug #587).
+ Fixed a bug in esbrk() during memory allocation, where SINT
(sizeof(word_t)) was not taken into account in the calculation of a
block size, leading to crashes afterwards. (#611)

- New Efuns:
+ configure_interactive(): To set options for interactives.
+ configure_driver(): To set settings/options for the driver itself.

- Changed Efuns:
+ idna_stringprep(): fixed the evaluation of the arguments and removed
a memory leak (#498).
+ map(): it's now possible to specify a mapping column when mapping
through mappings (#367)
+ tls_check_certificate(), tls_refresh_certs(): Now available if
GnuTLS is supported.
+ hash() and hmac() is now always available und is able to use OpenSSL,
libgcrypt or internal MD5 and SHA1 routines (builtin routines for
hash() only). hash() costs 10 ticks per iteration.
+ md5() and sha1() are obsoleted by hash().
+ lambda() now supports bound and unbound lambdas as the first element
in an array of a lambda expression.
+ xml_generate(), xml_parse(): Also available using libxml2.
+ cat(): marked as deprecated (#637)

- Runtime
+ The –max-malloced memory limit was renamed to –hard-malloc-limit.
+ Introduced new –soft-malloc-limit in addition to the hard one.
+ When exceeding the soft memory limit, the function low_memory() is
called in the mudlib master with details about the kind of low memory
situation. This check is done during the backend cycle and not at
'real-time'.
+ Made the maximum length of commands configurable at compile-time
(MAX_COMMAND_LENGTH, –max-command-length)
+ The driver hook H_MSG_DISCARDED can be used to specify the messages
given to players when their messages were discarded.
+ The soft and hard memory limits can now be configured at runtime
(configure_driver()).

- Language
+ Added a permanent define __MAX_COMMAND_LENGTH__ for the maximum
length of command.
+ Added a permanent define __GCRYPT__ when libgcrypt support is
available.

- Portability
+ Savefiles are written in binary mode, if the host system supports any
such notion (O_BINARY exists). Additionally, they are read as binary
as well, if it is supported. (Note: POSIX conforming systems do not
distinguish between 'text' and 'binary' modes, this is only relevant
to Cygwin.)
+ Fixed a major bug on 64 bit platforms, where floats with negative
exponents were saved incorrectly leading to data corruption (#627).
+ Removed the whole hosts/ directory because it wasn't maintained for
a long time and most of the systems were anyway dead for a long
time (#625).
This removed –enable-use-system-crypt as well (#624).
+ Removed checks and special code for OS2 and __EMX__.
+ Removed checks and special code for MSDOS.
+ Removed checks and special code for BeOS.
+ Removed checks and special code for AMIGA.
+ Removed checks and work-arounds for very old gcc compilers
(2.x, <3.2).
+ Removed checks and special code for SunOS4
+ Removed checks and special code for Ultrix.
+ Removed MSDOS filesystem semantics (Checks for MSDOS_FS and special
behaviour (e.g. \\ as path separator).
+ Support for using mmap() to get memory from the system (slaballoc),
because brk()/sbrk() are more or less deprecated and not supported by
some systems (e.g. Darwin/MacOS). (#640)
+ Support for using mmap() to get memory from the system (smalloc).
(#640)

- Other
+ Generalized the write buffer for non-threaded use and renamed the
configuration option '–with-pthreads-write-max-size' to
'–with-write-buffer-max-size'.
+ Removed background threads that sent the data to the network
and with it the '–enable-use-pthreads' configuration option.
+ The commandline options '–access-file' and '–access-log'
specify the access permissions and log file, activating or
deactivating access control and log. The old configure options
'–enable-access-control', '–with-access-file', '–with-access-log'
and their config.h symbols ACCESS_FILE and ACCESS_LOG just give
the default values.
+ The default path of TLS certificates are now configurable during
compile time (–with-tls-keyfile, –with-tls-certfile,
–with-tls-trustfile, –with-tls-trustdirectory, –with-tls-crlfile,
–with-tls-crldirectory), these TLS features can also be deactivated
by giving "no" during compile time or "none" as a runtime parameter.
+ Ed sessions are removed when an object becomes non-interactive.
+ Multiple ed sessions per interactive are allowed.
+ Check the compiler for support of -fwrapv and enable if supported.
Enables a fully defined overflow/wrap behaviour of signed integers
(#635)).

Have fun!
Fuchur@Wunderland, Gnomi@Unitopia and Zesstra@MorgenGrauen