mirror of
git://git.psyced.org/git/psyclpc
synced 2024-08-15 03:20:16 +00:00
91 lines
4.5 KiB
Text
91 lines
4.5 KiB
Text
|
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
|
||
|
|
||
|
BUGS
|
||
|
- #define USE_EXPAT und JSON werden trotzdem gesetzt in config.h
|
||
|
auch wenn configure keine libs gefunden hat (egal, wir verwenden beide nicht)
|
||
|
- Because of some funny bug the driver will probably not bind properly
|
||
|
to _basic_host_IP as it also needs _basic_host_name and _basic_host_domain
|
||
|
to be provided. Hopefully this shortcoming will soon be history.
|
||
|
|
||
|
WINDOWS SUPPORT
|
||
|
+ with the new __NO_SRV__ detection psyclpc compiles under cygwin but it
|
||
|
doesn't provide SRV which makes it a suboptimal XMPP router.. just in
|
||
|
case you want that.
|
||
|
fippo suggests to put http://delta.affinix.com/jdns/ into psyclpc
|
||
|
http://www.chiark.greenend.org.uk/~ian/adns/ requires a locally running
|
||
|
nameserver.. and i don't think it even runs on cygwin.. other ideas?
|
||
|
|
||
|
COMPLAINTS
|
||
|
-* QA Notice: Package has poor programming practices which may compile
|
||
|
* fine but exhibit random runtime failures.
|
||
|
* interpret.c:7224: warning: dereferencing type-punned pointer will break strict-aliasing rules
|
||
|
|
||
|
MISC IDEAS
|
||
|
- make more MUD features optional: more d_flag stuff?
|
||
|
? USE_RESETS time_of_ref USE_CLEANUP load_id USE_WIZLIST USE_EXPAT USE_EVALUATION_COST
|
||
|
- disabling with_input_escape does not disable the input_escape handling source code
|
||
|
+ teach ldmud to exec() so that, together with --args, we can run it as a
|
||
|
regular daemon without kludgy shellscripts
|
||
|
(http://mantis.bearnip.com/view.php?id=55)
|
||
|
+ provide a query_shutdown_progress() efun to inform about progress
|
||
|
and the intention to either shutdown or restart. maybe even a reason?
|
||
|
+ optimize f_lower_case by adding an 'already lowercase' flag to the
|
||
|
string data structure
|
||
|
+ ldap package erproben und fertigmachen
|
||
|
+ put errno() back in
|
||
|
+ psyctext() in C ... see psyced/CHANGESTODO for details
|
||
|
? bugless says there is an ioctl() to obtain a descriptor's owner uid
|
||
|
thus avoid the authlocal /proc hack
|
||
|
? have a seperate package for the LPC documentation and update it a bit
|
||
|
since ldmud?
|
||
|
+ fip thinks we should have a new operator with arguments rather than
|
||
|
clone_object and subsequent -> calls. pike doesn't even have the "new"
|
||
|
because unlike C++ and LPC it forbids static use of classes (aka "blueprints")
|
||
|
+ fippo suggests to look into http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html
|
||
|
+ DMSG_FLUSH for incremental debug messages :)
|
||
|
- for pike compatibility allow string[-1] just like string[<1]
|
||
|
|
||
|
ENCRYPTION (see http://about.psyc.eu/Talk:Encryption)
|
||
|
? link libpurple to this for protocol supports and OTR hahahahaha
|
||
|
? or link libotr only?
|
||
|
? or is OTR too expensive anyway and we should try SS-TLS?
|
||
|
|
||
|
USE_RESTORED_OBJECTS
|
||
|
+ object names need to be able to be identical to uniforms
|
||
|
then it doesn't matter if they came back from persistence as strings
|
||
|
as sendmsg() can handle both objects and uniforms - we just need to
|
||
|
deal with mappings where both the object and the uniform could be the key..
|
||
|
(members & routes of places)
|
||
|
|
||
|
NETWORKING
|
||
|
- http://mantis.bearnip.com/view.php?id=442 (MAX_TEXT)
|
||
|
- add_message("%s", "\n*** Text lost in transmission ***\n");
|
||
|
should be passed to master instead.
|
||
|
+ _length: <eL> somebody implement a new input_to(#'get_data, length).
|
||
|
? MAYBE the whole networking should be replaced by libevent!??
|
||
|
+ support epoll() / kqueue (or just libevent?)
|
||
|
|
||
|
? allow port definition from lpc:master.c or even dynamic listen()
|
||
|
so we can add port config to the web configurator
|
||
|
..egal, machen wir jetzt über psyconf
|
||
|
|
||
|
CHARSET
|
||
|
-? keeping track of charset everywhere to avoid any unnecessary conversion
|
||
|
would lead to so much overhead, that occasional unnecessary conversion is
|
||
|
the cheaper option. that's why we should convert in the driver close to
|
||
|
the network operations:
|
||
|
comm.c:3055: if(ip->tls_inited)
|
||
|
l = tls_read(ip, ip->text + ip->text_end, (size_t)l);
|
||
|
else if (!(ip->tls_want))
|
||
|
l = socket_read(ip->socket, ip->text + ip->text_end, ...
|
||
|
+ since network read operations are much more efficient than input_to-lines
|
||
|
iconv charset conversions should happen right after socket/tls_read()
|
||
|
into a pre-buffer, then copy-converted into the interactive's buffer
|
||
|
+ outgoing transmissions need to find the same treatment, before
|
||
|
socket_write() and also before optional compression.
|
||
|
+ socket charset is stored in interactive_s and given by an efun
|
||
|
+ charset is compared to SYSTEM_CHARSET which is given by config.h/configure
|
||
|
- http://mantis.bearnip.com/view.php?id=117
|