From adc7990a40a1a3c0574b1b4a7b92c178fc295762 Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Wed, 17 Aug 2011 12:12:27 +0200 Subject: [PATCH 1/5] ares? --- TODO | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index ee72f0e..9cc47ed 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,6 @@ FROM LDMUD -+ we are glad to find out that Lars is back and working on ldmud! :D -- examine & apply: 2320, 2334, 2335, 2336, 2340, 2341 +- ldmud has made quite some progress, although not exactly in the areas + that we are active in. syncing with ldmud is a good idea. BUGS - should autoconf to sysmalloc also for osol (OpenSolaris) @@ -75,6 +75,7 @@ NETWORKING - add_message("%s", "\n*** Text lost in transmission ***\n"); should be passed to master instead. + _length: somebody implement a new input_to(#'get_data, length). +? replace ERQ with c-ares http://c-ares.haxx.se/ for async dns lookups ? MAYBE the whole networking should be replaced by libevent!?? + support epoll() / kqueue (or just libevent?) From 912a78bcd6467db3650141ce54375b7ed59bd101 Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Tue, 23 Aug 2011 19:13:08 +0200 Subject: [PATCH 2/5] getting it to compile on linux... --- INSTALL | 15 ++++----------- TODO | 4 ++++ src/autoconf/configure.in | 32 ++++++++++++++++---------------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/INSTALL b/INSTALL index d7fe05b..b7ded9b 100644 --- a/INSTALL +++ b/INSTALL @@ -95,20 +95,13 @@ Unix or Unix-like system install-headers: install the driver header files in ${includedir}. install-all: compile and install everything. - To actually run this, you need either psyced or a mudlib. + To actually use psyclpc, you need either psyced or a mudlib. - pthreads: - If your systems supports pthreads, --enable-use-pthreads will allow to - compile the driver with pthread support. Currently this means that - background threads will be used to write data to the network. - - WARNING: pthreads support is still experimental and might crash - your driver! + Debian/Ubuntu Linux: + apt-get install libssl-dev libidn11-dev libpcre3 bison autoconf FreeBSD: - When using gcc, it could happen that the compiler aborts with signal 10 - or 11. The reasons are unknown, but you can restart the compilation - process by typing "make" again (and again...). + ... AIX 3.4: The native compiler comes in several forms, of which only the diff --git a/TODO b/TODO index 9cc47ed..6fe286b 100644 --- a/TODO +++ b/TODO @@ -3,6 +3,10 @@ FROM LDMUD that we are active in. syncing with ldmud is a good idea. BUGS +- configure should warn more vehemently when libidn is missing +- libpsyc isnt recognized even if properly installed +- x86_64 seems to require -ldl explicitly at the end of libs +- sometimes -lpsyc and -lpcre are added twice to $LIBS !? - should autoconf to sysmalloc also for osol (OpenSolaris) - #define USE_EXPAT und JSON werden trotzdem gesetzt in config.h auch wenn configure keine libs gefunden hat (egal, wir verwenden beide nicht) diff --git a/src/autoconf/configure.in b/src/autoconf/configure.in index e2f9b03..01695c5 100644 --- a/src/autoconf/configure.in +++ b/src/autoconf/configure.in @@ -1389,27 +1389,27 @@ int main(void) lp_cv_need_lib_iconv=no, lp_cv_need_lib_iconv=yes )) - if test "$lp_cv_need_lib_iconv" = "yes"; then - # Search the libraries +# if test "$lp_cv_need_lib_iconv" = "yes"; then +# # Search the libraries - tmp="" +# tmp="" - AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -liconv") +# AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -liconv") - if test "x$tmp" = "x"; then - CFLAGS="$saveflags -L/usr/local/lib" - AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -L/usr/local/lib -liconv") - fi +# if test "x$tmp" = "x"; then +# CFLAGS="$saveflags -L/usr/local/lib" +# AC_CHECK_LIB(iconv,libiconv_close, tmp="$PKGLIBS -L/usr/local/lib -liconv") +# fi - if test "x$tmp" = "x"; then - echo "iconv library not found." - lp_cv_has_iconv="no" - else - PKGLIBS="$tmp" - fi +# if test "x$tmp" = "x"; then +# echo "iconv library not found." +# lp_cv_has_iconv="no" +# else +# PKGLIBS="$tmp" +# fi - CFLAGS="$saveflags" - fi +# CFLAGS="$saveflags" +# fi fi if test "x$lp_cv_has_iconv" = "xyes"; then From 4bf2075b4bf5ae8fcbf7f4da7993ab33960f2156 Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Fri, 26 Aug 2011 00:15:23 +0200 Subject: [PATCH 3/5] don't -I/usr/include/idn --- src/Makefile.in | 8 +++++--- src/version.sh | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index fd04e44..bdb27a1 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -84,9 +84,11 @@ SFMT_FLAGS = -fno-strict-aliasing # MPATH=-DMUD_LIB='"$(MUD_LIB)"' -DBINDIR='"$(BINDIR)"' -DERQ_DIR='"$(ERQ_DIR)"' # -# would be nicer to have this idn include in autoconf but it shouldn't hurt -# here either.. it makes this compile on OpenSolaris.. --lynX via tg 2010 -CFLAGS=-DPROGNAME='"@PROGNAME@"' @EXTRA_CFLAGS@ $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) -I/usr/include/idn -I/usr/local/include +# tg says for OpenSolaris we need -I/usr/include/idn here but since that path +# may exist when idnkit is installed and cause errors because of its 'wrong' +# assert.h, we can't include that path here by default. configure should +# learn when to add this path here, but that's tricky. --lynX +CFLAGS=-DPROGNAME='"@PROGNAME@"' @EXTRA_CFLAGS@ $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) -I/usr/local/include # LIBS= @PKGLIBS@ @LIBS@ -lm # diff --git a/src/version.sh b/src/version.sh index d76d070..0687a43 100644 --- a/src/version.sh +++ b/src/version.sh @@ -17,7 +17,7 @@ version_longtype="stable" # A timestamp, to be used by bumpversion and other scripts. # It can be used, for example, to 'touch' this file on every build, thus # forcing revision control systems to add it on every checkin automatically. -version_stamp="Tue May 24 18:47:17 CEST 2011" +version_stamp="Tue Aug 23 19:19:07 CEST 2011" # Okay, LDMUD is using 3.x.x so to avoid conflicts let's just use 4.x.x version_major=4 From 24fd0dcf023f78d0bacc8170bf6136d530ed1951 Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Tue, 22 Nov 2011 18:01:16 +0100 Subject: [PATCH 4/5] + --- src/Makefile.in | 3 +++ src/pkg-psyc.c | 18 +++++++++--------- src/version.sh | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index bdb27a1..8912017 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -477,6 +477,9 @@ pkg-pgsql.o : ../mudlib/sys/pgsql.h xalloc.h stdstrings.h simulate.h \ strfuns.h sent.h bytecode.h hash.h backend.h exec.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h +pkg-psyc.o : xalloc.h simulate.h pkg-psyc.h object.h mstrings.h mapping.h \ + machine.h interpret.h efuns.h array.h + pkg-sqlite.o : xalloc.h stdstrings.h object.h svalue.h simulate.h \ mstrings.h interpret.h array.h my-alloca.h typedefs.h driver.h \ strfuns.h sent.h bytecode.h hash.h backend.h port.h config.h main.h \ diff --git a/src/pkg-psyc.c b/src/pkg-psyc.c index 86039e2..fd8c3b5 100644 --- a/src/pkg-psyc.c +++ b/src/pkg-psyc.c @@ -66,19 +66,19 @@ psyc_dispatch(mixed p) { */ -#include "array.h" -#include "interpret.h" -#include "mapping.h" -#include "mstrings.h" -#include "object.h" -#include "pkg-psyc.h" -#include "simulate.h" -#include "xalloc.h" -#include "efuns.h" +#include "machine.h" #ifdef HAS_PSYC +# include "array.h" +# include "efuns.h" +# include "interpret.h" +# include "mapping.h" +# include "mstrings.h" +# include "object.h" # include "pkg-psyc.h" +# include "simulate.h" +# include "xalloc.h" # include # include diff --git a/src/version.sh b/src/version.sh index 0687a43..5dfcdc9 100644 --- a/src/version.sh +++ b/src/version.sh @@ -17,7 +17,7 @@ version_longtype="stable" # A timestamp, to be used by bumpversion and other scripts. # It can be used, for example, to 'touch' this file on every build, thus # forcing revision control systems to add it on every checkin automatically. -version_stamp="Tue Aug 23 19:19:07 CEST 2011" +version_stamp="Mon Aug 29 16:41:20 CEST 2011" # Okay, LDMUD is using 3.x.x so to avoid conflicts let's just use 4.x.x version_major=4 From 41ef1a8537b2a19bad48eb2957d181dca626987d Mon Sep 17 00:00:00 2001 From: "psyc://psyced.org/~lynX" <@> Date: Wed, 14 Dec 2011 22:16:49 +0100 Subject: [PATCH 5/5] erq fortify info --- FAQ | 8 ++++++++ TODO | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/FAQ b/FAQ index 9c347ad..bb96565 100644 --- a/FAQ +++ b/FAQ @@ -20,3 +20,11 @@ Why our own derivate of the LDMud? It should still be possible to run psyced with an off-the-mill ldmud and counterwise run a MUD installation with a psyclpc. =============================================================================== + +Why is ERQ crashing? + +- erq doesn't conform to fortify code safety standards. this is ugly and + should be fixed but it is okay to just turn off fortify because erq is + fed exclusively with sanitized data from psyced, so buffer overruns are + possible but only theoretical. + diff --git a/TODO b/TODO index 6fe286b..4f08db9 100644 --- a/TODO +++ b/TODO @@ -3,6 +3,10 @@ FROM LDMUD that we are active in. syncing with ldmud is a good idea. BUGS +- erq doesn't conform to fortify code safety standards. this is ugly and + should be fixed but it is okay to just turn off fortify because erq is + fed exclusively with sanitized data from psyced, so buffer overruns are + possible but only theoretical. - configure should warn more vehemently when libidn is missing - libpsyc isnt recognized even if properly installed - x86_64 seems to require -ldl explicitly at the end of libs