From 6fde6b0fe90abde84011202edd40fe46eb06af44 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 21 Nov 2010 16:20:55 +0000 Subject: --- CHANGES | 11 +- Makefile | 111 - README | 82 +- RELEASES | 78 +- SHORTDESC | 4 + TODO | 27 +- docs/header.txt | 3 +- etc/ychat.conf | 10 +- html/admin.html | 49 +- html/colors.html | 825 ++--- html/demo.html | 40 +- html/frameset.html | 20 +- html/help.html | 42 +- html/index.html | 76 +- html/input.html | 20 +- html/loggedin.html | 39 +- html/notfound.html | 21 +- html/online.html | 10 +- html/options.html | 87 +- html/register.html | 86 +- html/stream.html | 57 +- html/style.css | 43 +- html/urlredirect.html | 11 +- log/.keepme | 0 log/rooms/.keepme | 0 scripts/README | 13 +- scripts/makedist.sh | 2 +- src/.Makefile | 1 - src/Makefile | 72 - src/Makefile.in | 5 +- src/autom4te.cache/output.0 | 6918 ------------------------------------ src/autom4te.cache/requests | 63 - src/autom4te.cache/traces.0 | 331 -- src/build.h | 7 +- src/chat/base.h | 5 +- src/chat/base.tmpl | 9 +- src/chat/chat.cpp | 55 +- src/chat/chat.h | 3 +- src/chat/gcol.cpp | 44 +- src/chat/gcol.h | 4 +- src/chat/perm.cpp | 3 +- src/chat/perm.h | 3 +- src/chat/room.cpp | 18 +- src/chat/room.h | 5 +- src/chat/sess.cpp | 5 +- src/chat/sess.h | 3 +- src/chat/sman.cpp | 21 +- src/chat/sman.h | 4 +- src/chat/user.cpp | 307 +- src/chat/user.h | 109 +- src/cli/cli.cpp | 225 +- src/cli/cli.h | 6 +- src/conf/conf.cpp | 27 +- src/conf/conf.h | 4 +- src/config.h | 110 - src/config.log | 479 --- src/config.status | 918 ----- src/configure | 6253 +++++++++++++++----------------- src/configure.ac | 13 +- src/contrib/crypt/md5.cpp | 5 +- src/contrib/crypt/md5.h | 3 +- src/contrib/crypt/md5crypt.cpp | 33 +- src/contrib/xml/tinyxml.cpp | 33 +- src/contrib/xml/tinyxml.h | 75 +- src/contrib/xml/tinyxmlerror.cpp | 55 +- src/contrib/xml/tinyxmlparser.cpp | 130 +- src/data/con.cpp | 24 - src/data/con.h | 24 - src/data/con_base.cpp | 24 - src/data/con_base.h | 24 - src/data/data.cpp | 26 +- src/data/data.h | 24 - src/data/data_base.cpp | 39 +- src/data/data_base.h | 25 +- src/glob.h | 25 +- src/html.cpp | 22 +- src/html.h | 3 +- src/incl.h | 4 +- src/logd.cpp | 37 +- src/logd.h | 4 +- src/main.cpp | 29 +- src/maps/hashmap.h | 3 +- src/maps/hashmap.tmpl | 5 +- src/maps/mtools.h | 3 +- src/maps/mtools.tmpl | 3 +- src/maps/nhashmap.h | 3 +- src/maps/nhashmap.tmpl | 3 +- src/maps/shashmap.h | 5 +- src/maps/shashmap.tmpl | 41 +- src/memb/memb.h | 3 +- src/memb/memb.tmpl | 3 +- src/memb/tupel.h | 4 +- src/memb/tupel.tmpl | 16 +- src/modl.cpp | 3 +- src/modl.h | 3 +- src/mods/Makefile.mods.in | 4 +- src/mods/commands/Makefile | 53 - src/mods/commands/yc_about.cpp | 3 +- src/mods/commands/yc_all.cpp | 3 +- src/mods/commands/yc_away.cpp | 5 +- src/mods/commands/yc_ban.cpp | 38 +- src/mods/commands/yc_banned.cpp | 16 +- src/mods/commands/yc_col.cpp | 13 +- src/mods/commands/yc_compopt.cpp | 3 +- src/mods/commands/yc_debug.cpp | 11 +- src/mods/commands/yc_exec.cpp | 9 +- src/mods/commands/yc_fake.cpp | 3 +- src/mods/commands/yc_gag.cpp | 13 +- src/mods/commands/yc_getroom.cpp | 3 +- src/mods/commands/yc_getrusage.cpp | 3 +- src/mods/commands/yc_help.cpp | 3 +- src/mods/commands/yc_invisible.cpp | 3 +- src/mods/commands/yc_j.cpp | 3 +- src/mods/commands/yc_ko.cpp | 3 +- src/mods/commands/yc_m.cpp | 3 +- src/mods/commands/yc_md5.cpp | 3 +- src/mods/commands/yc_me.cpp | 3 +- src/mods/commands/yc_morph.cpp | 3 +- src/mods/commands/yc_msg.cpp | 3 +- src/mods/commands/yc_q.cpp | 3 +- src/mods/commands/yc_reload.cpp | 3 +- src/mods/commands/yc_ren.cpp | 3 +- src/mods/commands/yc_s.cpp | 3 +- src/mods/commands/yc_set.cpp | 3 +- src/mods/commands/yc_time.cpp | 3 +- src/mods/commands/yc_topic.cpp | 3 +- src/mods/commands/yc_unban.cpp | 14 +- src/mods/commands/yc_ungag.cpp | 13 +- src/mods/commands/yc_uptime.cpp | 3 +- src/mods/commands/yc_users.cpp | 3 +- src/mods/commands/yc_version.cpp | 3 +- src/mods/html/Makefile | 25 - src/mods/html/yc_admin.cpp | 11 +- src/mods/html/yc_colors.cpp | 3 +- src/mods/html/yc_help.cpp | 7 +- src/mods/html/yc_loggedin.cpp | 3 +- src/mods/html/yc_options.cpp | 3 +- src/mods/html/yc_register.cpp | 3 +- src/monitor/dump.cpp | 5 +- src/monitor/dump.h | 13 +- src/monitor/stats.cpp | 22 +- src/monitor/stats.h | 5 +- src/msgs.h | 32 +- src/name.cpp | 16 +- src/name.h | 4 +- src/reqp.cpp | 282 +- src/reqp.h | 23 +- src/sign.cpp | 106 +- src/sign.h | 33 +- src/sock/context.cpp | 62 - src/sock/context.h | 57 - src/sock/sock.cpp | 661 ++-- src/sock/sock.h | 95 +- src/sock/sslsock.cpp | 17 +- src/sock/sslsock.h | 4 +- src/thrd/pool.cpp | 174 + src/thrd/pool.h | 74 + src/thrd/thro.cpp | 67 + src/thrd/thro.h | 54 + src/time/timo.cpp | 15 +- src/time/timo.h | 4 +- src/time/timr.cpp | 18 +- src/time/timr.h | 14 +- src/tool/dir.cpp | 5 +- src/tool/dir.h | 3 +- src/tool/tool.cpp | 90 +- src/tool/tool.h | 6 +- src/wrap.cpp | 52 +- src/wrap.h | 28 +- 169 files changed, 5801 insertions(+), 15122 deletions(-) delete mode 100644 Makefile create mode 100644 SHORTDESC create mode 100644 log/.keepme create mode 100644 log/rooms/.keepme delete mode 100644 src/.Makefile delete mode 100644 src/Makefile delete mode 100644 src/autom4te.cache/output.0 delete mode 100644 src/autom4te.cache/requests delete mode 100644 src/autom4te.cache/traces.0 delete mode 100644 src/config.h delete mode 100644 src/config.log delete mode 100755 src/config.status delete mode 100644 src/mods/commands/Makefile delete mode 100644 src/mods/html/Makefile delete mode 100644 src/sock/context.cpp delete mode 100644 src/sock/context.h create mode 100644 src/thrd/pool.cpp create mode 100644 src/thrd/pool.h create mode 100644 src/thrd/thro.cpp create mode 100644 src/thrd/thro.h diff --git a/CHANGES b/CHANGES index 9af12c2..e9cefc7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,4 @@ --Changes from 0.8.2-RELEASE to 0.9.0-CURRENT +-Changes from 0.8.2-RELEASE to 0.8.3-CURRENT $ Added .pm files to scripts/stats.pl $ Modified the README (New CVS pserver) $ Added docs/header.txt as a source header skel @@ -19,6 +19,7 @@ $ Added src/build.h, which contains build informations. $ Modified the build system. Using GNU Autoconf now. $ Added GNU readline support for the yChat Command Line Interface (CLI) $ Added the run_loop rule to ./Makefile +$ The thread pool class is now completely static! $ Bugfix in src/sock/sock.cpp (No clear() w/ ncurses disabled) $ Bugfix in src/cli/cli.cpp (No more segfault by reading empty strings or commands with leading whitespaces) @@ -28,14 +29,6 @@ $ Removed the Ncurses support which caused lots of problems. $ CLI commands: (s)hutdown has been renamed into (shut)down $ Changed the copyright back to Paul C. Buetow -$ Removed pthreads -$ Initial libevent support -$ New default XHTML style -$ Added httpd.html.cache option -$ New brainstorming in the TODO file -$ New code formatting (astyle) -$ make style rule for ./Makefile -$ Made it GCC 4.2.1 compatible -Changes from 0.8.1-RELEASE to 0.8.2-RELEASE $ Fixed some typos diff --git a/Makefile b/Makefile deleted file mode 100644 index ed88660..0000000 --- a/Makefile +++ /dev/null @@ -1,111 +0,0 @@ -MAKE=gmake -HEADER?=docs/header.txt -PREFIX=/usr/local -EFIND=find -E -BIN=./bin/ychat -all: build modules base - @echo "Now edit the ychat.conf and run ychat!" - @echo "The config file is searched in the following order:" - @echo " ./ychat.conf " - @echo " ~/.ychat/ychat.conf " - @echo " ./etc/ychat.conf " - @echo " /etc/ychat.conf " - @echo " $(PREFIX)/etc/ychat.conf " - @echo WARNING! This software is EXPERIMENTAL! -install: all - @echo "===> Installing to ${PREFIX}" - @for i in bin share/ychat lib/ychat; do \ - if ! [ -d ${PREFIX}/$$i ]; then \ - mkdir -p ${PREFIX}/$$i; \ - fi; \ - done; - @cp -fR ./mods ${PREFIX}/share/ychat/mods; - @cp -fR ./etc ${PREFIX}/share/ychat/etc; - @cp -fR ./html ${PREFIX}/share/ychat/html; - @cp -f ./README ./COPYING ${PREFIX}/share/ychat; - @cp -f ./bin/ychat ${PREFIX}/bin; -deinstall: uninstall -uninstall: - @echo "===> Uninstalling from ${PREFIX}" - @for i in ${PREFIX}/bin/ychat ${PREFIX}/share/ychat \ - ${PREFIX}/lib/ychat; do \ - rm -Rf $$i; \ - done -strip: all - @strip ${BIN} - @echo "===> Stripped binary size: `du -hs ${BIN} | \ - sed 's/\.\/bin\///'`" -base: - @if test -f bin/ychat; then echo "==> Backing up old binary"; \ - if test -f bin/ychat.old; then \ - rm -f bin/ychat.old; \ - fi; \ - mv bin/ychat bin/ychat.old; \ - fi - @${MAKE} -C ./src -modules: - @if test -d ./src/mods; then \ - ${MAKE} -C ./src/mods; \ - fi -stats: - @perl scripts/stats.pl -run_loop: - @while (true); do ./bin/ychat; done -run: - ./bin/ychat -base_start: base - ./bin/ychat -license: - @more COPYING -#//<<* -yhttpdbase: - @perl scripts/makeyhttpd.pl || echo "You need to have perl to do this!" - @echo yhttpd code base has been generated in ../yhttpd -#//*>> -clean: clean_base clean_modules -clean_base: - @if [ -f ./src/Makefile ]; then ${MAKE} -C ./src clean; fi -clean_modules: - @if [ -d ./src/mods ]; then ${MAKE} -C ./src/mods clean; fi -help: - @echo "You may run ${MAKE} with the following parameters:" - @grep "^ ${MAKE} " README - @echo "For more questions read the README file or contact mail@ychat.org!" -mrproper: clean - @if [ -f ./src/Makefile ]; then ${MAKE} -C ./src mrproper; fi - @if [ -d src/mods ]; then ${MAKE} -C ./src/mods mrproper; fi - @if [ -d ./bin ]; then rm -Rf ./bin; fi - @if [ -d ./obj ]; then rm -Rf ./obj; fi - @find ./ -name "*core*" -exec rm -f {} \; - @find ./log/ -type f | grep -v CVS | xargs rm -f - @rm -f Makefile -version: - @./scripts/version.sh -debug: - @gdb bin/ychat ychat.core -confdebug: - @CXXFLAGS='-g3 -ggdb' ./configure -dist: - @./scripts/makedist.sh -ssltest: - openssl genrsa -des3 -out privkey.pem 2048 - openssl req -new -x509 -key privkey.pem -out cert.pem -days 1095 - @mv -f privkey.pem cert.pem etc -headers: - @${EFIND} ./ -regex '\./src/.*\.(h|(cpp)|(tmpl))' -exec \ - sh -c 'export FILE={}; ${MAKE} header' \; -header: - @echo "===> Processing ${FILE}" - @sed -n '/*:/d; w .tmp' ${FILE} - @header=`sed 's/\(.*\)/ echo " \*: \1"/' ${HEADER}`; \ - echo '/*:*' > ${FILE}; eval "$$header" >> ${FILE}; \ - echo ' *:*/' >> ${FILE}; cat .tmp >> ${FILE}; rm -f .tmp -replace: - @${EFIND} ./ -regex '\./src/.*\.(h|(cpp)|(tmpl))' -exec \ - sh -c 'sed -n "s/$(FROM)/$(INTO)/g; \ - w .tmp" {} && mv -f .tmp {}' \; -build: - @awk '{ if ($$2 == "BUILDNR") print $$1,$$2,$$3+1; else print }' \ - src/build.h >.tmp && mv -f .tmp src/build.h -touch: - find ./ -type f -exec touch {} \; diff --git a/README b/README index e8aac49..2c2851c 100644 --- a/README +++ b/README @@ -1,9 +1,8 @@ -yChat; Homepage: ychat.buetow.org; Version 0.9.0-CURRENT +yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT Copyright (C) 2003 Paul C. Buetow, Volker Richter -Copyright (C) 2004 Paul C. Buetow Copyright (C) 2005 EXA Digital Solutions GbR -Copyright (C) 2006, 2007 Paul C. Buetow +Copyright (C) 2004, 2006 Paul C. Buetow ----------------------------------------------------------------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -61,6 +60,9 @@ yhttpd does not have as much features but is easy to use and faster than apache. yhttpd is a subset of the chat. It can be generated using the srcipts/yhttpdbase.pl script in the chat's source tree. +- The ycurses - +ycurses is a easy to use and small C++ wrapper around the C ncurses API. + There are different branches: - CURRENT - @@ -113,7 +115,7 @@ CURRENT aka CUR aka C RELEASE aka REL aka R LEGACY aka LEG aka L STABLE aka SBL aka S -BASIC aka BSC aka B +BASIC aka BSC aka B DEVEL aka DEV aka D PRE aka P @@ -124,6 +126,7 @@ etc... The short name of the chat is "yC" The short name of the httpd is "yh" +The short name of ycurses is "yu" - Versioning - In general, versions are made up like X.Y.Z.W. X specifies the major version, @@ -196,9 +199,11 @@ If wished, you can disable database support in the pre-compile options. - It has an administration interface - yChat includes an libreadline based administration interface which tracks some interesting statistics and system messages and enables you to do certain -administrative tasks like keeping track of the current system usage etc. -If you dont like libreadline you can disable both options in the pre-compile -options. +administrative tasks. In addition, you can switch to the CLI (command line +interface) mode of the administration interface in order to be provided with +more available functions (like keeping track of the current system usage etc.). +If you dont like libreadline and/or the CLI you can disable both options in the +pre- compile options. - It has logging capabilities - The logging manager keeps track to all yChat system messages (such as users @@ -219,19 +224,15 @@ etc. so you can also program your dynamic yChat websites in C++. - Its multi threaded (POSIX threads) - There is only one main process which spawns several threads, each for its own -unique task. For example one thread is used to handle the servers's events. -(see libevent) Another thread is used to control the libreadline based -administration command line interface. - -- Its event driven (libevent) - -yChat is event driven. Non-blocking sockets are used to serve the client -requests. In contrast do a multi-threaded based client handling, this approach -is more effective on single processor systems and there is no complex mutex -structure inside of the code which leads to much cleaner and easier code -design. The libevent controls all read/write operations of the server and also -does handle signal and timer events. The timer events prove if clients are still -active and frees not needed memory in certain time intervals (see also "Garbage -collector") and does some other continuous tasks. +unique task. For example one thread is used to handle the socket manager which +waits for incoming TCP/IP requests, another thread schedules the system timer +which proves if clients are still active or frees not needed memory in certain +time intervals (see also "Garbage collector"). Also, each Chat-User gets it own +thread. There is no need of memory wastage by creating for each task a new +process. All User-Threads are managed by a thread pool to avoid CPU wastage +creating every time a new thread by reusing thread objects which have done its +jobs already and have been readded into the queue of the thread pool. The +standard sizes of the queue and the total pool size can be set in ychat.conf. - Its using a smart garbage collection engine - All users and rooms which dont have to be kept in the main memory (because the @@ -250,7 +251,7 @@ lot of user and room objects are created and destroyed frequently. 2.1.0 REQUIREMENTS: - GNU GCC G++ - The GNU C++ compiler version 4.2.1 or up. + The GNU C++ compiler version 3.1 or up. - GNU make 3.80 (gmake) or higher If you dont have a gmake executable but make is gnu make then you need @@ -290,12 +291,10 @@ The following platforms have been tested with success. If you find out that a listed platform did not work at all please contact me: Operating system (arch) GNU G++ GNU make -- FreeBSD 7.0-BETA2 (i386) 4.2.1 3.81 - - Tested longer time before: -- FreeBSD 6.2-RELEASE (amd64) 3.4.6 3.81 - FreeBSD 6.0-RELEASE (i386) 3.4.4 3.80 - FreeBSD 5.3-RELEASE (i386) 3.4.2 3.80 + + Tested longer time before: - FreeBSD 5.4-RELEASE (i386) 3.4.2 3.80 - FreeBSD 4.10-RELEASE (i386) 3.4.1 3.80 - Gentoo Linux 2004 (i386) 3.3.2 3.80 @@ -310,9 +309,20 @@ are very likely to work too. 2.3.0 HOW TO OBTAIN YCHAT: -For SVN download type: +yChat can be downloaded as a source package or through CVS. + +The packages are located at http://www.yChat.org -> Release Versions -svn co --username=anon http://svn.buetow.org/repos/ychat/trunk +For CVS download type: + +cvs -d:pserver:anonymous@buetow.org:/cvs/cvsroot login +( You will be asked for a password. Use "just enter" ). + +cvs -z3 -d:pserver:anonymous@buetow.org:/cvs/cvsroot co BRANCH +( The sources will be copied into your local folder ) + +cvs -d:pserver:anonymous@buetow.org:/cvs/cvsroot logout +( Logs your CVS session out ). Now you may continue with the installation. @@ -641,13 +651,18 @@ command: You may contact us through the following addresses: - Homepage - The yChat homepage is located at http://ychat.buetow.org + The yChat homepage is located at http://www.yChat.org + The EXA Digital Solutions homepage is located at http://www.exa-ds.com - E-Mail - ychat at dev.buetow.org + Paul C. Buetow: buetow at yChat point org (core developer) + Mail at yChat dot org (reaches everybody of yChat) +- ICQ + Paul C. Buetow: 11655527 + - IRC - #coding at irc.german-elite.net + #Ychat and #Coding at irc.german-elite.net 4.2.0 CREDITS @@ -659,10 +674,3 @@ Thanks to the following persons. Without them yChat would not be like today: - Joshua Teitelbaum of CryptpMail.org for adding initial OpenSSL support and lots of security patches in the HTTP header handling. - -- Ralf Huesing for his nice rhttpd webserver which - served as a nice libevent sample program! And also for his help mails - concerning libevent! - -- Dave K. (http://maligree.yi.org) for the nice JavaScript color selection - menu! diff --git a/RELEASES b/RELEASES index d58d1c7..b7fbdb2 100644 --- a/RELEASES +++ b/RELEASES @@ -1,43 +1,43 @@ Release table -See the README file for version branch (e.g. CUR, STB, LEG, REL etc.) +Release date Release name and version Release focus -Release date Release name and version / Release focus +Planing: yChat 0.9.0-RELEASE New current branch +Planing: yhttpd 0.8-RELEASE Features +Planing: yChat 0.8.4-STABLERELEASE New stable branch +Planing: yChat 0.8.3-RELEASE New functionality -Planing 2008: yChat 0.8.3-STBREL / New stable branch -Planing 2007: yChat 0.9.0-CURREL / New current branch - -Nov 21st 2005: yChat 0.7.9.5-STBREL / Maintenance -Aug 04th 2005: yChat 0.8.2-CURREL / Minor enhancements -May 26th 2005: yChat 0.7.9.4-STBREL / Minor bugfixes -Jun 21st 2005: yChat 0.8.1-CURREL / Major features -May 25th 2005: yChat 0.8.0-CURREL / Major features -May 08th 2005: yChat 0.7.9.3-CURREL / Security bugfixes -Apr 11th 2005: yChat 0.5.5-STBREL / Minor security fixes -Apr 10th 2005: yChat 0.7.9.2-CURREL / Major security fixes -Apr 07th 2005: yChat 0.7.9.1-CURREL / Minor bugfixes -Mar 11th 2005: yChat 0.7.9-CURREL -Mar 08th 2005: yChat 0.5.4-STBREL -Mar 05th 2005: yChat 0.7.8-CURREL -Mar 02th 2005: yChat 0.5.3-LEGREL -Feb 27th 2005: yChat 0.5.2-LEGREL -Feb 24th 2005: yChat 0.7.7.1-CURREL / Major bugfixes -Feb 21th 2005: yChat 0.7.7-CURREL -Feb 18th 2005: yChat 0.7.6-CURREL -Feb 15th 2005: yChat 0.7.5-CURREL -Feb 14th 2005: yChat 0.7.4.1-CURREL / Major bugfixes -Feb 12th 2005: yChat 0.7.4-CURREL -Feb 10th 2005: yChat 0.7.4-PRECURREL -Dec 29th 2004: yChat 0.7.3-CURREL -Nov 09th 2004: yChat 0.7.2-CURREL -Nov 06th 2004: yhttpd 0.7.1-CURREL -Nov 06th 2004: yChat 0.7.1-CURREL -Nov 01st 2004: yhttpd 0.7-CURREL / Initial release -Oct 31st 2004: yChat 0.7-CURREL -Jan 03rd 2004: yChat 0.5.1-CURREL -Sep 15th 2003: yChat 0.6-CURREL -Sep 15th 2003: yChat 0.5.0-CURREL -Apr 26th 2003: yChat 0.4-CURREL -Mar 30th 2003: yChat 0.3-CURREL -Mar 24th 2003: yChat 0.2-CURREL -Mar 20th 2003: yChat 0.1-CURREL / Initial release +Nov 21st 05: yChat 0.7.9.5-STABLERELEASE Maintenance +Aug 04th 05: yChat 0.8.2-RELEASE Minor enhancements +May 26th 05: yChat 0.7.9.4-STABLERELEASE Minor bugfixes +Jun 21st 05: yChat 0.8.1-RELEASE Major features +May 25th 05: yChat 0.8.0-RELEASE Major features +May 08th 05: yChat 0.7.9.3-STABLERELEASE Security bugfixes +Apr 11th 05: yChat 0.5.5-STABLERELEASE Minor security fixes +Apr 10th 05: yChat 0.7.9.2-RELEASE Major security fixes +Apr 07th 05: yChat 0.7.9.1-RELEASE Minor bugfixes +Mar 11th 05: yChat 0.7.9-RELEASE +Mar 08th 05: yChat 0.5.4-STABLERELEASE +Mar 05th 05: yChat 0.7.8-RELEASE +Mar 02th 05: yChat 0.5.3-LEGACYRELEASE +Feb 27th 05: yChat 0.5.2-LEGACYRELEASE +Feb 24th 05: yChat 0.7.7.1-RELEASE Major bugfixes +Feb 21th 05: yChat 0.7.7-RELEASE +Feb 18th 05: yChat 0.7.6-RELEASE +Feb 15th 05: yChat 0.7.5-RELEASE +Feb 14th 05: yChat 0.7.4.1-RELEASE Major bugfixes +Feb 12th 05: yChat 0.7.4-RELEASE +Feb 10th 05: yChat 0.7.4-PRERELEASE +Dec 29th 04: yChat 0.7.3-RELEASE +Nov 09th 04: yChat 0.7.2-RELEASE +Nov 06th 04: yhttpd 0.7.1-RELEASE +Nov 06th 04: yChat 0.7.1-RELEASE +Nov 01st 04: yhttpd 0.7-RELEASE Initial release +Oct 31st 04: yChat 0.7-RELEASE +Jan 03rd 04: yChat 0.5.1-RELEASE +Sep 15th 03: yChat 0.6-RELEASE +Sep 15th 03: yChat 0.5.0-RELEASE +Apr 26th 03: yChat 0.4-RELEASE +Mar 30th 03: yChat 0.3-RELEASE +Mar 24th 03: yChat 0.2-RELEASE +Mar 20th 03: yChat 0.1-RELEASE Initial release diff --git a/SHORTDESC b/SHORTDESC new file mode 100644 index 0000000..5c37a00 --- /dev/null +++ b/SHORTDESC @@ -0,0 +1,4 @@ +The yChat 0.8 branch is marked as CURRENT. All brand new stuff will go into +this branch. + +WWW: http://www.yChat.org diff --git a/TODO b/TODO index 78e009e..8504ead 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,14 @@ -- Must todos for next RELEASE - +- Must do's for next RELEASE - $ Finish make install PREFIX check (ychat.conf, conf/conf.cpp) $ Add gmake check -$ Fix ./configure (checking for libs in /usr/local/lib etc also) -$ Functional libevent version - -- Might todos for next RELEASE - -$ Add struct event pool -$ Add context pool -$ Check shashmap usage $ Test yttpdbase rule of ./Makefile +$ Use libevent + +- Might do's for next RELEASE - +$ ip-ban +$ Store banned nicks and ips to database $ Add thread pool decreasing +$ dir : public vector $ Disable /help command for commands wich are not accessible for the $ specific user. $ Add /nick, /beam, /su @@ -19,10 +18,9 @@ $ Add / to whisper to the last person to whom the user has been whispered the la $ Using yChat via proxy sometimes causes a white chat stream. This might be $ resolved by implementing last modified and current time/date informations $ into the HTTP header. +$ Opera doesnt work - To do in general for some later RELEASE - -$ Implement IRC support -$ Implement a http:// url detection and make a link out of it! $ Implement MPI support for some nice load balancing stuff $ Implement msession support (only optional) $ Implement a switch so that all dynamic dlopen modules can be compiled within the yChat executable not using dlopen. @@ -31,9 +29,18 @@ $ Implement ODBC support $ Implement login counter. $ Implement msg post counter. $ Implement online time counter. +$ Implement hall of fame rankings of the counters above. Also add a msg/minute hall of fame. +$ Implement traffic stats $ Implement more chat commands +$ Implement new dynamic command permission method +$ Implement user profiles +$ Implement action form to input.html +$ Implement IRC support $ Implement possibility sending Mails through external SMTP server (for password reminder etc) +$ Implement chat moderator option +$ Implement several HTML styles, each user can use his favourite style $ Implement compatibility to Opera, Links, Konqueror and Safari $ Implement browser side caching for gfx files support +$ Implement a http:// url detection and make a link out of it! $ Remove user.cpp member variables as possible and replace them with hash maps $ Write changes of the configuration back into XML if wished. diff --git a/docs/header.txt b/docs/header.txt index a32907e..e57cf1b 100644 --- a/docs/header.txt +++ b/docs/header.txt @@ -1,11 +1,10 @@ File: ${FILE} -yChat; Homepage: ychat.buetow.org; Version 0.9.0-CURRENT +yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT Copyright (C) 2003 Paul C. Buetow, Volker Richter Copyright (C) 2004 Paul C. Buetow Copyright (C) 2005 EXA Digital Solutions GbR -Copyright (C) 2006, 2007 Paul C. Buetow This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff --git a/etc/ychat.conf b/etc/ychat.conf index c62d885..6ed9cd0 100644 --- a/etc/ychat.conf +++ b/etc/ychat.conf @@ -554,6 +554,10 @@ + - - -