-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi All!
After a quite long time, the next release of ngIRCd, version 0.10.0, is pending. Before releasing this new version, we will publish at least one pre-release which this mail is now announcing: ngIRCd 0.10.0-pre1!
ngIRCd 0.10.0 can be downloaded from the following locations:
ftp://ftp.berlios.de/pub/ngircd/ngircd-0.10.0-pre1.tar.gz ftp://ngircd.barton.de/pub/ngircd/ngircd-0.10.0-pre1.tar.gz
The GnuPG signature and a patch from 0.9.2 is available and can be downloaded from here:
ftp://ngircd.barton.de/pub/ngircd/
This pre-release is tagged as "rel-0-10-0-pre1" in CVS; the branch for the 0.10.x releases is named "branch-0-10-x".
Changes since ngIRCd 0.9.2 are:
- Validate "ServerName" (see RFC 2812, section 2.3.1). - Enhanced DIE to accept a single parameter ("comment text") which is sent to all locally connected clients before the server goes down. - The ngIRCd handles time shifts backwards more gracefully now (the timeout handling doesn't disconnect clients by mistake any more). - Internal: Restructured connection handling (the connection ID is equal to the file descriptor of the connection). - Internal: Simplified resolver code. - JOIN now supports more than one channel key at a time. - Implemented numeric "333": Time and user name who set a channel topic. - Enhanced the handler for PING and PONG commands: fix forwarding and enable back-passing of a client supplied additional argument of PING. - Changed handling of timeouts for unregistered connections: don't reset the counter if data is received and disconnect clients earlier. - Removed unnecessary #define of "LOCAL", now use plain C "static" instead. - Channel topics are no longer limited to 127 characters: now the only limit is the maximum length of an IRC command, i. e. 512 bytes (in practice, this limits the topic to about 490 characters due to protocol overhead). - Reverse DNS lookup code now checks the result by doing an additional lookup to prevent spoofing. - Added new IO layer which (optionally) supports epoll() and kqueue () in addition to the select() interface.
Please test this release and let us know which problems you encounter and which changes should be made for the final 0.10.0 release. Thanks!
Regards Alex
I ran into issues while trying to compile this version on Tru64 5.1b. I'm posting the "./configure" output, and the relevant section from "config.log" which led me to a workaround to make this compile and run.
The problem is that it's testing something but the ld doesn't know what to do with what is being passed, so it chokes, but the configure test doesn't understand this response so fails.
By removing the test for -fstack-protector from the configure script, this compiles and runs just fine. I know this isn't the proper fix, but it's a workaround for anyone else who might be interested in running this on Tru64 until a better test for Tru64 could be written.
Note that this server does not have GCC installed, and it compiles fine with the system supplied CC as long as this test is removed from configure.
Hope this helps
--BEGIN CONFIGURE-- ngircd-0.10.0-pre1 => ./configure checking build system type... alphaev56-dec-osf5.1b checking host system type... alphaev56-dec-osf5.1b checking target system type... alphaev56-dec-osf5.1b checking for a BSD-compatible install... ./install-sh -c checking whether build environment is sane... yes checking for gawk... no checking for mawk... no checking for nawk... nawk checking whether make sets $(MAKE)... yes checking for gcc... no checking for cc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... no checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of cc... tru64 checking for gawk... (cached) nawk checking for a BSD-compatible install... ./install-sh -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for ranlib... ranlib checking for function prototypes... yes checking how to run the C preprocessor... cc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... no checking for unistd.h... yes checking for string.h... (cached) yes checking for an ANSI C-conforming const... yes checking whether cc accepts -fstack-protector... yes checking for ANSI C header files... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking ctype.h usability... yes checking ctype.h presence... yes checking for ctype.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking for ctype.h... (cached) yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking stdbool.h usability... no checking stdbool.h presence... no checking for stdbool.h... no checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking varargs.h usability... yes checking varargs.h presence... yes checking for varargs.h... yes checking whether socklen_t exists... no checking return type of signal handlers... void checking for size_t... yes checking for memmove in -lUTIL... no checking for bind in -lsocket... no checking for gethostent in -lnsl... no checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... no checking for vfork... no checking for strftime... no checking for strftime in -lintl... no checking for bind... no configure: error: required function missing! --END CONFIGURE--
--BEGIN CONFIG.LOG-- configure:6958: checking for bind configure:7014: cc -o conftest -g -fstack-protector -DSYSCONFDIR='"$(sysconfdir) "' conftest.c >&5 ld: -fstack-protector: Unknown flag ld: Usage: ld [options] file [...] configure:7020: $? = 1 configure: failed program was: --END CONFIG.LOG--
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Stefan Johnson tigerphoenixdragon@yahoo.com wrote:
By removing the test for -fstack-protector from the configure script, this compiles and runs just fine.
Yes; Alex Barton already reported that the test doesn't work for gcc 4.X; this was fixed in CVS. I _hope_ that the detection now works for your platform as well.
The diff is here: --- ngircd/configure.in 2006/08/02 10:29:11 1.118.2.2 +++ ngircd/configure.in 2006/08/13 18:21:31 1.118.2.3 @@ -8,7 +8,7 @@ # (at your option) any later version. # Please read the file COPYING, README and AUTHORS for more information. # -# $Id: configure.in,v 1.118.2.2 2006/08/02 10:29:11 alex Exp $ +# $Id: configure.in,v 1.118.2.3 2006/08/13 18:21:31 alex Exp $ #
# -- Initialisation -- @@ -68,7 +68,7 @@ AC_MSG_CHECKING([whether ${CC} accepts -fstack-protector]) ssp_old_cflags="$CFLAGS" CFLAGS="$CFLAGS -fstack-protector" - AC_TRY_COMPILE(,,, ssp_cc=no) + AC_TRY_LINK(,,, ssp_cc=no) echo $ssp_cc if test "X$ssp_cc" = "Xno"; then CFLAGS="$ssp_old_cflags"
"' conftest.c >&5 ld: -fstack-protector: Unknown flag ld: Usage: ld [options] file [...] configure:7020: $? = 1
Hmph, so compiling worked; thats why the test (wrongly) assumed that your cc support -fstack-protector. Using AC_TRY_LINK should work for your platform, then.
Thanks, Florian
--- Florian Westphal fw@strlen.de wrote:
Yes; Alex Barton already reported that the test doesn't work for gcc 4.X; this was fixed in CVS. I _hope_ that the detection now works for your platform as well.
I'll test the next release when it becomes available. Thanks for the replay :)
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com