From c155ee9e0f133aafff70984f5b09c45efc62ca5a Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 21 Nov 2010 16:02:41 +0000 Subject: moving stuff to branches --- 0.8/CHANGES | 215 - 0.8/COPYING | 339 -- 0.8/INSTALL | 1 - 0.8/Makefile | 111 - 0.8/Makefile.in | 111 - 0.8/README | 668 --- 0.8/RELEASES | 43 - 0.8/TODO | 39 - 0.8/configure | 11 - 0.8/docs/header.txt | 22 - 0.8/docs/yhttpd.txt | 3 - 0.8/etc/ychat.conf | 770 ---- 0.8/html/admin.html | 22 - 0.8/html/blank.html | 4 - 0.8/html/colors.html | 413 -- 0.8/html/demo.html | 19 - 0.8/html/favicon.ico | Bin 2238 -> 0 bytes 0.8/html/frameset.html | 20 - 0.8/html/help.html | 20 - 0.8/html/images/away.gif | Bin 141 -> 0 bytes 0.8/html/images/blank.gif | Bin 43 -> 0 bytes 0.8/html/images/guest.png | Bin 260 -> 0 bytes 0.8/html/images/ircuser.png | Bin 282 -> 0 bytes 0.8/html/images/rang0.png | Bin 390 -> 0 bytes 0.8/html/images/rang1.png | Bin 261 -> 0 bytes 0.8/html/images/rang2.png | Bin 282 -> 0 bytes 0.8/html/index.html | 38 - 0.8/html/input.html | 58 - 0.8/html/loggedin.html | 18 - 0.8/html/notfound.html | 15 - 0.8/html/online.html | 20 - 0.8/html/options.html | 43 - 0.8/html/register.html | 41 - 0.8/html/robots.txt | 2 - 0.8/html/stream.html | 34 - 0.8/html/style.css | 44 - 0.8/html/test.cgi | 9 - 0.8/html/urlredirect.html | 8 - 0.8/scripts/README | 17 - 0.8/scripts/astyle.sh | 14 - 0.8/scripts/buildnr.pl | 26 - 0.8/scripts/checkperl.sh | 13 - 0.8/scripts/config.pl | 133 - 0.8/scripts/makedist.sh | 27 - 0.8/scripts/makeyhttpd.pl | 198 - 0.8/scripts/modules/file.pm | 28 - 0.8/scripts/screen.sh | 3 - 0.8/scripts/setglobvals.pl | 32 - 0.8/scripts/stats.pl | 95 - 0.8/scripts/version.sh | 11 - 0.8/src/.Makefile | 1 - 0.8/src/Makefile | 72 - 0.8/src/Makefile.in | 34 - 0.8/src/autom4te.cache/output.0 | 6918 -------------------------------- 0.8/src/autom4te.cache/requests | 63 - 0.8/src/autom4te.cache/traces.0 | 331 -- 0.8/src/build.h | 35 - 0.8/src/chat/base.h | 120 - 0.8/src/chat/base.tmpl | 89 - 0.8/src/chat/chat.cpp | 438 -- 0.8/src/chat/chat.h | 94 - 0.8/src/chat/gcol.cpp | 146 - 0.8/src/chat/gcol.h | 62 - 0.8/src/chat/perm.cpp | 108 - 0.8/src/chat/perm.h | 67 - 0.8/src/chat/room.cpp | 133 - 0.8/src/chat/room.h | 116 - 0.8/src/chat/sess.cpp | 91 - 0.8/src/chat/sess.h | 56 - 0.8/src/chat/sman.cpp | 133 - 0.8/src/chat/sman.h | 60 - 0.8/src/chat/user.cpp | 650 --- 0.8/src/chat/user.h | 166 - 0.8/src/cli/cli.cpp | 454 --- 0.8/src/cli/cli.h | 71 - 0.8/src/conf/conf.cpp | 228 -- 0.8/src/conf/conf.h | 56 - 0.8/src/config.h | 110 - 0.8/src/config.h.in | 82 - 0.8/src/config.log | 479 --- 0.8/src/config.status | 918 ----- 0.8/src/configure | 6918 -------------------------------- 0.8/src/configure.ac | 100 - 0.8/src/contrib/README | 5 - 0.8/src/contrib/crypt/how | 1 - 0.8/src/contrib/crypt/md5.cpp | 295 -- 0.8/src/contrib/crypt/md5.h | 59 - 0.8/src/contrib/crypt/md5crypt.cpp | 187 - 0.8/src/contrib/xml/README | 504 --- 0.8/src/contrib/xml/tinyxml.cpp | 1453 ------- 0.8/src/contrib/xml/tinyxml.h | 1655 -------- 0.8/src/contrib/xml/tinyxmlerror.cpp | 76 - 0.8/src/contrib/xml/tinyxmlparser.cpp | 1581 -------- 0.8/src/data/README | 4 - 0.8/src/data/con.cpp | 68 - 0.8/src/data/con.h | 46 - 0.8/src/data/con_base.cpp | 43 - 0.8/src/data/con_base.h | 43 - 0.8/src/data/data.cpp | 227 -- 0.8/src/data/data.h | 53 - 0.8/src/data/data_base.cpp | 203 - 0.8/src/data/data_base.h | 66 - 0.8/src/glob.h | 113 - 0.8/src/html.cpp | 158 - 0.8/src/html.h | 60 - 0.8/src/incl.h | 33 - 0.8/src/logd.cpp | 190 - 0.8/src/logd.h | 61 - 0.8/src/main.cpp | 131 - 0.8/src/maps/hashmap.h | 78 - 0.8/src/maps/hashmap.tmpl | 151 - 0.8/src/maps/mtools.h | 36 - 0.8/src/maps/mtools.tmpl | 37 - 0.8/src/maps/nhashmap.h | 46 - 0.8/src/maps/nhashmap.tmpl | 36 - 0.8/src/maps/shashmap.h | 72 - 0.8/src/maps/shashmap.tmpl | 154 - 0.8/src/memb/memb.h | 94 - 0.8/src/memb/memb.tmpl | 105 - 0.8/src/memb/tupel.h | 52 - 0.8/src/memb/tupel.tmpl | 53 - 0.8/src/modl.cpp | 170 - 0.8/src/modl.h | 59 - 0.8/src/mods/Makefile | 15 - 0.8/src/mods/Makefile.mods.in | 19 - 0.8/src/mods/commands/Makefile | 53 - 0.8/src/mods/commands/yc_about.cpp | 84 - 0.8/src/mods/commands/yc_all.cpp | 74 - 0.8/src/mods/commands/yc_away.cpp | 97 - 0.8/src/mods/commands/yc_ban.cpp | 109 - 0.8/src/mods/commands/yc_banned.cpp | 69 - 0.8/src/mods/commands/yc_col.cpp | 113 - 0.8/src/mods/commands/yc_compopt.cpp | 48 - 0.8/src/mods/commands/yc_debug.cpp | 68 - 0.8/src/mods/commands/yc_exec.cpp | 91 - 0.8/src/mods/commands/yc_fake.cpp | 55 - 0.8/src/mods/commands/yc_gag.cpp | 93 - 0.8/src/mods/commands/yc_getroom.cpp | 78 - 0.8/src/mods/commands/yc_getrusage.cpp | 82 - 0.8/src/mods/commands/yc_help.cpp | 78 - 0.8/src/mods/commands/yc_invisible.cpp | 56 - 0.8/src/mods/commands/yc_j.cpp | 129 - 0.8/src/mods/commands/yc_ko.cpp | 97 - 0.8/src/mods/commands/yc_m.cpp | 69 - 0.8/src/mods/commands/yc_md5.cpp | 79 - 0.8/src/mods/commands/yc_me.cpp | 70 - 0.8/src/mods/commands/yc_morph.cpp | 77 - 0.8/src/mods/commands/yc_msg.cpp | 93 - 0.8/src/mods/commands/yc_q.cpp | 55 - 0.8/src/mods/commands/yc_reload.cpp | 50 - 0.8/src/mods/commands/yc_ren.cpp | 99 - 0.8/src/mods/commands/yc_s.cpp | 73 - 0.8/src/mods/commands/yc_set.cpp | 125 - 0.8/src/mods/commands/yc_time.cpp | 47 - 0.8/src/mods/commands/yc_topic.cpp | 103 - 0.8/src/mods/commands/yc_unban.cpp | 75 - 0.8/src/mods/commands/yc_ungag.cpp | 93 - 0.8/src/mods/commands/yc_uptime.cpp | 47 - 0.8/src/mods/commands/yc_users.cpp | 53 - 0.8/src/mods/commands/yc_version.cpp | 48 - 0.8/src/mods/configure | 26 - 0.8/src/mods/html/Makefile | 25 - 0.8/src/mods/html/yc_admin.cpp | 97 - 0.8/src/mods/html/yc_colors.cpp | 62 - 0.8/src/mods/html/yc_help.cpp | 75 - 0.8/src/mods/html/yc_loggedin.cpp | 54 - 0.8/src/mods/html/yc_options.cpp | 81 - 0.8/src/mods/html/yc_register.cpp | 121 - 0.8/src/monitor/dump.cpp | 145 - 0.8/src/monitor/dump.h | 87 - 0.8/src/monitor/stats.cpp | 139 - 0.8/src/monitor/stats.h | 66 - 0.8/src/msgs.h | 167 - 0.8/src/name.cpp | 65 - 0.8/src/name.h | 48 - 0.8/src/reqp.cpp | 182 - 0.8/src/reqp.h | 51 - 0.8/src/sign.cpp | 146 - 0.8/src/sign.h | 67 - 0.8/src/sock/context.cpp | 62 - 0.8/src/sock/context.h | 57 - 0.8/src/sock/sock.cpp | 446 -- 0.8/src/sock/sock.h | 121 - 0.8/src/sock/sslsock.cpp | 160 - 0.8/src/sock/sslsock.h | 65 - 0.8/src/time/timo.cpp | 55 - 0.8/src/time/timo.h | 46 - 0.8/src/time/timr.cpp | 182 - 0.8/src/time/timr.h | 75 - 0.8/src/tool/dir.cpp | 91 - 0.8/src/tool/dir.h | 60 - 0.8/src/tool/tool.cpp | 323 -- 0.8/src/tool/tool.h | 57 - 0.8/src/wrap.cpp | 177 - 0.8/src/wrap.h | 145 - 195 files changed, 38205 deletions(-) delete mode 100644 0.8/CHANGES delete mode 100644 0.8/COPYING delete mode 100644 0.8/INSTALL delete mode 100644 0.8/Makefile delete mode 100644 0.8/Makefile.in delete mode 100644 0.8/README delete mode 100644 0.8/RELEASES delete mode 100644 0.8/TODO delete mode 100755 0.8/configure delete mode 100644 0.8/docs/header.txt delete mode 100644 0.8/docs/yhttpd.txt delete mode 100644 0.8/etc/ychat.conf delete mode 100644 0.8/html/admin.html delete mode 100644 0.8/html/blank.html delete mode 100644 0.8/html/colors.html delete mode 100644 0.8/html/demo.html delete mode 100644 0.8/html/favicon.ico delete mode 100644 0.8/html/frameset.html delete mode 100644 0.8/html/help.html delete mode 100644 0.8/html/images/away.gif delete mode 100644 0.8/html/images/blank.gif delete mode 100644 0.8/html/images/guest.png delete mode 100644 0.8/html/images/ircuser.png delete mode 100644 0.8/html/images/rang0.png delete mode 100644 0.8/html/images/rang1.png delete mode 100644 0.8/html/images/rang2.png delete mode 100644 0.8/html/index.html delete mode 100644 0.8/html/input.html delete mode 100644 0.8/html/loggedin.html delete mode 100644 0.8/html/notfound.html delete mode 100644 0.8/html/online.html delete mode 100644 0.8/html/options.html delete mode 100644 0.8/html/register.html delete mode 100644 0.8/html/robots.txt delete mode 100644 0.8/html/stream.html delete mode 100644 0.8/html/style.css delete mode 100644 0.8/html/test.cgi delete mode 100644 0.8/html/urlredirect.html delete mode 100644 0.8/scripts/README delete mode 100755 0.8/scripts/astyle.sh delete mode 100755 0.8/scripts/buildnr.pl delete mode 100755 0.8/scripts/checkperl.sh delete mode 100755 0.8/scripts/config.pl delete mode 100755 0.8/scripts/makedist.sh delete mode 100755 0.8/scripts/makeyhttpd.pl delete mode 100644 0.8/scripts/modules/file.pm delete mode 100755 0.8/scripts/screen.sh delete mode 100755 0.8/scripts/setglobvals.pl delete mode 100755 0.8/scripts/stats.pl delete mode 100755 0.8/scripts/version.sh delete mode 100644 0.8/src/.Makefile delete mode 100644 0.8/src/Makefile delete mode 100644 0.8/src/Makefile.in delete mode 100644 0.8/src/autom4te.cache/output.0 delete mode 100644 0.8/src/autom4te.cache/requests delete mode 100644 0.8/src/autom4te.cache/traces.0 delete mode 100644 0.8/src/build.h delete mode 100644 0.8/src/chat/base.h delete mode 100644 0.8/src/chat/base.tmpl delete mode 100644 0.8/src/chat/chat.cpp delete mode 100644 0.8/src/chat/chat.h delete mode 100644 0.8/src/chat/gcol.cpp delete mode 100644 0.8/src/chat/gcol.h delete mode 100644 0.8/src/chat/perm.cpp delete mode 100644 0.8/src/chat/perm.h delete mode 100644 0.8/src/chat/room.cpp delete mode 100644 0.8/src/chat/room.h delete mode 100644 0.8/src/chat/sess.cpp delete mode 100644 0.8/src/chat/sess.h delete mode 100644 0.8/src/chat/sman.cpp delete mode 100644 0.8/src/chat/sman.h delete mode 100644 0.8/src/chat/user.cpp delete mode 100644 0.8/src/chat/user.h delete mode 100644 0.8/src/cli/cli.cpp delete mode 100644 0.8/src/cli/cli.h delete mode 100644 0.8/src/conf/conf.cpp delete mode 100644 0.8/src/conf/conf.h delete mode 100644 0.8/src/config.h delete mode 100644 0.8/src/config.h.in delete mode 100644 0.8/src/config.log delete mode 100755 0.8/src/config.status delete mode 100755 0.8/src/configure delete mode 100644 0.8/src/configure.ac delete mode 100644 0.8/src/contrib/README delete mode 100644 0.8/src/contrib/crypt/how delete mode 100644 0.8/src/contrib/crypt/md5.cpp delete mode 100644 0.8/src/contrib/crypt/md5.h delete mode 100644 0.8/src/contrib/crypt/md5crypt.cpp delete mode 100644 0.8/src/contrib/xml/README delete mode 100644 0.8/src/contrib/xml/tinyxml.cpp delete mode 100644 0.8/src/contrib/xml/tinyxml.h delete mode 100644 0.8/src/contrib/xml/tinyxmlerror.cpp delete mode 100644 0.8/src/contrib/xml/tinyxmlparser.cpp delete mode 100644 0.8/src/data/README delete mode 100644 0.8/src/data/con.cpp delete mode 100644 0.8/src/data/con.h delete mode 100644 0.8/src/data/con_base.cpp delete mode 100644 0.8/src/data/con_base.h delete mode 100644 0.8/src/data/data.cpp delete mode 100644 0.8/src/data/data.h delete mode 100644 0.8/src/data/data_base.cpp delete mode 100644 0.8/src/data/data_base.h delete mode 100644 0.8/src/glob.h delete mode 100644 0.8/src/html.cpp delete mode 100644 0.8/src/html.h delete mode 100644 0.8/src/incl.h delete mode 100644 0.8/src/logd.cpp delete mode 100644 0.8/src/logd.h delete mode 100644 0.8/src/main.cpp delete mode 100644 0.8/src/maps/hashmap.h delete mode 100644 0.8/src/maps/hashmap.tmpl delete mode 100644 0.8/src/maps/mtools.h delete mode 100644 0.8/src/maps/mtools.tmpl delete mode 100644 0.8/src/maps/nhashmap.h delete mode 100644 0.8/src/maps/nhashmap.tmpl delete mode 100644 0.8/src/maps/shashmap.h delete mode 100644 0.8/src/maps/shashmap.tmpl delete mode 100644 0.8/src/memb/memb.h delete mode 100644 0.8/src/memb/memb.tmpl delete mode 100644 0.8/src/memb/tupel.h delete mode 100644 0.8/src/memb/tupel.tmpl delete mode 100644 0.8/src/modl.cpp delete mode 100644 0.8/src/modl.h delete mode 100644 0.8/src/mods/Makefile delete mode 100644 0.8/src/mods/Makefile.mods.in delete mode 100644 0.8/src/mods/commands/Makefile delete mode 100644 0.8/src/mods/commands/yc_about.cpp delete mode 100644 0.8/src/mods/commands/yc_all.cpp delete mode 100644 0.8/src/mods/commands/yc_away.cpp delete mode 100644 0.8/src/mods/commands/yc_ban.cpp delete mode 100644 0.8/src/mods/commands/yc_banned.cpp delete mode 100644 0.8/src/mods/commands/yc_col.cpp delete mode 100644 0.8/src/mods/commands/yc_compopt.cpp delete mode 100644 0.8/src/mods/commands/yc_debug.cpp delete mode 100644 0.8/src/mods/commands/yc_exec.cpp delete mode 100644 0.8/src/mods/commands/yc_fake.cpp delete mode 100644 0.8/src/mods/commands/yc_gag.cpp delete mode 100644 0.8/src/mods/commands/yc_getroom.cpp delete mode 100644 0.8/src/mods/commands/yc_getrusage.cpp delete mode 100644 0.8/src/mods/commands/yc_help.cpp delete mode 100644 0.8/src/mods/commands/yc_invisible.cpp delete mode 100644 0.8/src/mods/commands/yc_j.cpp delete mode 100644 0.8/src/mods/commands/yc_ko.cpp delete mode 100644 0.8/src/mods/commands/yc_m.cpp delete mode 100644 0.8/src/mods/commands/yc_md5.cpp delete mode 100644 0.8/src/mods/commands/yc_me.cpp delete mode 100644 0.8/src/mods/commands/yc_morph.cpp delete mode 100644 0.8/src/mods/commands/yc_msg.cpp delete mode 100644 0.8/src/mods/commands/yc_q.cpp delete mode 100644 0.8/src/mods/commands/yc_reload.cpp delete mode 100644 0.8/src/mods/commands/yc_ren.cpp delete mode 100644 0.8/src/mods/commands/yc_s.cpp delete mode 100644 0.8/src/mods/commands/yc_set.cpp delete mode 100644 0.8/src/mods/commands/yc_time.cpp delete mode 100644 0.8/src/mods/commands/yc_topic.cpp delete mode 100644 0.8/src/mods/commands/yc_unban.cpp delete mode 100644 0.8/src/mods/commands/yc_ungag.cpp delete mode 100644 0.8/src/mods/commands/yc_uptime.cpp delete mode 100644 0.8/src/mods/commands/yc_users.cpp delete mode 100644 0.8/src/mods/commands/yc_version.cpp delete mode 100755 0.8/src/mods/configure delete mode 100644 0.8/src/mods/html/Makefile delete mode 100644 0.8/src/mods/html/yc_admin.cpp delete mode 100644 0.8/src/mods/html/yc_colors.cpp delete mode 100644 0.8/src/mods/html/yc_help.cpp delete mode 100644 0.8/src/mods/html/yc_loggedin.cpp delete mode 100644 0.8/src/mods/html/yc_options.cpp delete mode 100644 0.8/src/mods/html/yc_register.cpp delete mode 100644 0.8/src/monitor/dump.cpp delete mode 100644 0.8/src/monitor/dump.h delete mode 100644 0.8/src/monitor/stats.cpp delete mode 100644 0.8/src/monitor/stats.h delete mode 100644 0.8/src/msgs.h delete mode 100644 0.8/src/name.cpp delete mode 100644 0.8/src/name.h delete mode 100644 0.8/src/reqp.cpp delete mode 100644 0.8/src/reqp.h delete mode 100644 0.8/src/sign.cpp delete mode 100644 0.8/src/sign.h delete mode 100644 0.8/src/sock/context.cpp delete mode 100644 0.8/src/sock/context.h delete mode 100644 0.8/src/sock/sock.cpp delete mode 100644 0.8/src/sock/sock.h delete mode 100644 0.8/src/sock/sslsock.cpp delete mode 100644 0.8/src/sock/sslsock.h delete mode 100644 0.8/src/time/timo.cpp delete mode 100644 0.8/src/time/timo.h delete mode 100644 0.8/src/time/timr.cpp delete mode 100644 0.8/src/time/timr.h delete mode 100644 0.8/src/tool/dir.cpp delete mode 100644 0.8/src/tool/dir.h delete mode 100644 0.8/src/tool/tool.cpp delete mode 100644 0.8/src/tool/tool.h delete mode 100644 0.8/src/wrap.cpp delete mode 100644 0.8/src/wrap.h diff --git a/0.8/CHANGES b/0.8/CHANGES deleted file mode 100644 index 9af12c2..0000000 --- a/0.8/CHANGES +++ /dev/null @@ -1,215 +0,0 @@ --Changes from 0.8.2-RELEASE to 0.9.0-CURRENT -$ Added .pm files to scripts/stats.pl -$ Modified the README (New CVS pserver) -$ Added docs/header.txt as a source header skel - All .cpp, .h and .tmpl files now do have a new source header - containging copyright infos etc. -$ New chat commands: /ban, /unban and /banned -$ Added the following to the ychat.conf: - chat.msgs.ban - chat.msgs.unban - chat.msgs.help.ban - chat.msgs.help.unban - chat.msgs.help.banned - chat.msgs.err.banned - chat.msgs.err.alreadybanned - chat.msgs.err.isnotbanned - chat.msgs.err.nobanned -$ 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 -$ 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) -$ Fixes in the README TOC and chapter numbers, fixed some typos also -$ uint32_t -> unsigned -$ 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 -$ Added the - Versioning - paragraph into the README file -$ Removed the yc_template command module source file -$ scripts/config.pl now also accepts q and quit as a command -$ Minor bugfix in scripts/config.pl -$ Some improvements in src/configure -$ Changed some default values in the src/glob.h - --Changes from 0.8-RELEASE to 0.8.1-RELEASE -$ Fixed a HTML bug in the stream html (h1 should get closed w/ /h1) -$ Fixed some typos in the README -$ Fixed a bug in the /q command -$ Implemented The /gag and /ungag commands -$ Implemented flood protection and added the following ychat.conf options: -$ chat.floodprotection.seconds -$ chat.floodprotection.messages -$ chat.msgs.err.gag -$ chat.msgs.floodgag -$ chat.msgs.gag -$ chat.msgs.ungag -$ chat.msgs.help.gag -$ chat.msgs.help.ungag -$ Added the SHORTDESC file -$ Changed Copyright to "EXA Digital Solutions GbR" - --Changes from 0.7.9.2-RELEASE to 0.8-RELEASE -$ Modified the Makefiles, so that they produce valid output while using -$ the -j flag of gmake. -$ OpenSSL support has been integrated. Thanks to CryptoMail.org for patching! -$ The next release will also have a credits section in the README! -$ The HTTP parsing stuff has been reviewed and improved by CryptoMail as well. -$ Also a mini bug of the configure script has been fixed. - --Changes from 0.7.9.1-RELEASE to 0.7.9.2-RELEASE - -$ Added monitor/dump, and the dump command to the CLI. -$ Fixed a bug in the session manager. -$ Added gmake dist do the README. -$ Added the charset to the HTTP-header. - --Changes from 0.7.9-RELEASE to 0.7.9.1-RELEASE - -$ Fixed etc/ychat.conf (Its now valid XML) -$ Fixed some typos. -$ Added the scripts/makedist.sh script, which can be invoked by gmake dist. -$ yhttpd.org has been renamed to yChat.org. The yhttpd.org SLD will be -$ canceled! The yhttpd.org Homepage will remain on yChat.org! - --Changes from 0.7.8-RELEASE to 0.7.9-RELEASE - -$ In the system messages will be the user printed which has requested the - specified module. -$ Removed the cursor from the ncurses interface. -$ Added wrap::init_wrappers -> The main.cpp is now shorter. -$ Added some Makefile modifications -$ Bugfix: cleanipcache shouldn run every minute but every 10! -$ Bugfix: scripts/stats.pl now counts all text-files properly. - --Changes from 0.7.7.1-RELEASE to 0.7.8-RELEASE - -$ Updated the yhttpd generation script due new sources in src/memb. -$ Changd some hashmaps back into simple std::map objects, this might -$ has resulted in some bugs due slow hashmap initialization time. -$ Hashmaps now only should being used on permanent objects. -$ Rewrote the dynamic thread pool. -$ makeyhttpd now also removes the yChat specific form etc/yhttpd.conf -$ automatically. -$ Implemnted an IP Cache (makes yChat faster). -$ Implemented signal catcher: -$ SIGUSR1 will clear the html template cache. -$ SIGUSR2 will reload the dynamic modules. -$ SIGSEGV can be catched if defined in src/glob.h. -$ SIGHUP, SIGINT and SIGTERM will shutdown yChat cleanly. -$ Added Allow: GET to the HTTP header. -$ Bugfix: The httpd.logging.accesslines now will be read correctly. -$ Bugfix: JavaScript messages now wont be logged. - --Changes from 0.7.7-RELEASE to 0.7.7.1-RELEASE - -$ Bugfix in main.cpp which resulted in a core dump on yChat startup. - --Changes from 0.7.6-RELEASE to 0.7.7-RELEASE - -$ Major code cleanup. -$ Bugfix in /col. -$ Bugfix in gcol #1 (destroy session also if no database is used). -$ Bugfix in gcol #2 (now runs each hour not once a day). -$ Renew the style.css and stream.html. - --Changes from 0.7.5-RELEASE to 0.7.6-RELEASE - -$ Removed the old hash maps and included the SGI C++ STL extenstion -$ hash_map. - --Changes from 0.7.4.1-RELEASE to 0.7.5-RELEASE - -$ Garbage collector will now run once a hour rather than each ten minutes. -$ Dynamic thread pool improvements. -$ Removed equiv-http-refresh meta tag from the online list. -$ Minor bugfix in the /topic command. -$ Implemented "User list". - --Changes from 0.7.4-RELEASE to 0.7.4.1-RELEASE - -$ Dynamic thread pool bugfix (dead lock). - --Changes from 0.7.3-RELEASE to 0.7.4-RELEASE - -$ Code cleanup. -$ Made the thread pool increasing dynamic. -$ Added some thread pool optimazions. -$ Added some more ${MAKE} vars to the Makefiles. -$ Added Content-length to the HTTPD header. -$ Added the !command to the command line interface. -$ Added Content-type text/plain. -$ Added scrolling checkbox to input.html. -$ Removed modl from yhttpd. Dynamic modules are not needed in yhttpd yet. -$ Improved session engine. -$ Fixed auto logout bug. -$ Fixed newline bug (one \n too much for each html template). -$ Logging can now be completely disabled. - --Changes from 0.7.2 to 0.7.3-RELEASE - -$ Added FreeBSD 5.3-RELEASE support. -$ Added chat.enableguest option. -$ Added the /all command (Global system message). -$ Renamed the /getstatus command into /about. -$ Fixed the &-bug (& should be allowed in messages). \AND is now a -$ synonym for & too. -$ Fixed the /msg bug (In /msg the string replacer should be activated). -$ Fixed logging bug (do not log any timestamps if there are no messages). - --Changes from 0.7.1 to 0.7.2-RELEASE - -$ New features: -$ /morph. -$ Added the new standard html template design. -$ Bugfixes: -$ /away prints a . instead of a : if no away reason is given. -$ /ko message was wrong. Displayed not room name of the user to be kicked out. -$ /invisible command displayed wrong private messages. -$ /getstatus had no help text. -$ /msg and /s should now print the system time if printalwaystime == true. -$ Added a blank to the /uptime message. -$ /topic now prints the topic in the user's color. -$ Fixed some typos. - --Changes from 0.7.0 to 0.7.1-RELEASE - -$ Added ${MAKE} to the config file because some Linux distros dont use -$ the "gmake" command for GNU make but just "make"! Modified the -$ configure script to generate a make.version file. -$ Removed some typos from the ychat.conf. -$ Fixed the auto away message. This one will be posted in the room -$ as public rather than only private to the auto-away-user. -$ Fixed some documentation stuff for yhttpd because yhttpd does not -$ need MySQL at all. -$ Added the chat.maxlength.word option. - --Changes from 0.6 to 0.7.0-RELEASE - -$ Better stability . -$ Better performance (using more hmaps). -$ HTML color switcher menu. -$ New commands: /away /room /j /ren. -$ Simple garbage collector for old user and room objects. -$ Use of the database (MySQL). -$ Nick registration and password protection. -$ Status images for Operator, Half-Operator, Voiced user and Guests. -$ New Makefiles. -$ Useful Perl scripts for sourcecode stats generation etc. -$ Added system_log and room logging to access_log logging. -$ Added time-offset option. -$ Added to the admin interface new options. -$ Added Logout button. -$ Added string replacer there certain substr. of postings will be replaced by another string (such as smiley images). -$ Added Superuser levels and the /ko and /set commands. -$ Added admin CLI (Command Line Interface) mode. -$ Added memory rusage history which tracks memory usage for the last 10 days. -$ Added HTTP POST request parsing. -$ Made yChat more modular so yhttpd can be extracted from it -$ (scripts/makeyhttpd.pl). -$ Added CGI support. -$ Rewrote big parts of the Makefiles and the configure scripts. -$ Made it compatible to GNU G++ 3.4, 3.3, 3.2 and 3.1 (3.0 and earlier do not -$ work). -$ XML based configuration file (ychat.conf). -$ Added default operator option: chat.defaultop. diff --git a/0.8/COPYING b/0.8/COPYING deleted file mode 100644 index a43ea21..0000000 --- a/0.8/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/0.8/INSTALL b/0.8/INSTALL deleted file mode 100644 index b112205..0000000 --- a/0.8/INSTALL +++ /dev/null @@ -1 +0,0 @@ -See the README file. diff --git a/0.8/Makefile b/0.8/Makefile deleted file mode 100644 index ed88660..0000000 --- a/0.8/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/0.8/Makefile.in b/0.8/Makefile.in deleted file mode 100644 index 0f62701..0000000 --- a/0.8/Makefile.in +++ /dev/null @@ -1,111 +0,0 @@ -MAKE=gmake -HEADER?=docs/header.txt -PREFIX=@prefix@ -EFIND=@efind@ -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/0.8/README b/0.8/README deleted file mode 100644 index e8aac49..0000000 --- a/0.8/README +++ /dev/null @@ -1,668 +0,0 @@ -yChat; Homepage: ychat.buetow.org; Version 0.9.0-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 -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------ - -YCHAT TABLE OF CONTENTS: - -1.0.0 GENERAL -1.1.0 ABOUT RELEASES -1.2.0 YCHAT FEATURES //<< -2.0.0 INSTALLATION AND SETUP -2.1.0 REQUIREMENTS -2.2.0 TESTED PLATFORMS -2.3.0 HOW TO OBTAIN YCHAT -2.4.0 INSTALLATION QUICK-START -2.4.1 INSTALLATION -2.5.0 HOW TO USE OPENSSL WITH YCHAT -2.5.1 HOW TO USE SCREEN WITH YCHAT -2.5.2 HOW TO USE SIGNALS WITH YCHAT -2.5.3 HOW TO USE GNU READLINE WITH YCHAT -2.5.4 HOW TO USE MYSQL WITH YCHAT //<< -2.6.0 CUSTOMIZING YCHAT -2.7.0 YHTTPD CODE BASE GENERATION //<< -3.0.0 EXTENDING YCHAT -3.1.0 SOURCE FILES -4.0.0 DIVERSE -4.1.0 WRITING BUG REPORTS -4.2.0 CONTACT ADDRESSES -4.3.0 CREDITS - -1.0.0 GENERAL - -1.1.0 ABOUT RELEASES - -There are several projects involved: - -- The chat - -Its a HTTP based chat server written in C++. Clients are normal web browsers -such as MSIE or Gecko based browsers using only CSS, HTML and JavaScript. - -- The httpd - -Its a small http server based on the chat's socket and threading engine. -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. - -There are different branches: - -- CURRENT - -The CURRENT branch is unstable, this is the bleeding developing edge with -all the new experimental features. - -A RELEASE of CURRENT can be referred as CURRENTRELEASE. - -- STABLE - -The STABLE branch is more stable than CURRENT. This branch may get new -features as well. But those will be more conservative compared to -CURRENT. - -A RELEASE of STABLE can be referred as STABLERELEASE. - -- BASIC - -The BASIC branch is a very minimal one. This branch may get bugfixes and -updates and might get minor improvements. This is a version of yChat -with only very few features. - -A RELEASE of BASIC can be referred as BASICRELEASE. - -- LEGACY - -The LEGACY branch has no real support. This branch may get bugfixes and -updates and might get minor improvements. But there is no garuantee to -be bug free and stable at all. LEGACY versions are of historic meaning. - -- DEVEL - -DEVEL is only a meta name. If a version is labeled with DEVEL, then its -currently undefined if this is a CURRENT, STABLE or LEGACY branch. It -can be everything. Commonly DEVEL versions are CURRENT. - -There are also releases made: - -- RELEASE - -There can be RELEASEs made out of each branch. While a branch can get -new features, a RELEASE can not. A RELEASE of a branch is just like -a snapshot. RELEASEs are complete versions to test and use. But keep -in mind, that a RELEASE of the STABLE branch is recommended over a -RELEASE of a CURRENT or a LEGACY branch in a production environment. -RELEASEs of CURRENT are still the bleeding edge and RELEASEs of LEGACY -may be out of date. - -- Short names - - -In addition, each description also has short names: (short names are needed -if your text space is limited which happens very fast in IRC channel topics) - -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 -DEVEL aka DEV aka D -PRE aka P - -STABLERELEASE aka STBREL aka SR -PRERELEASE aka PREREL aka PR -PRELEGACYRELEASE aka PRELEGREL aka PLR -etc... - -The short name of the chat is "yC" -The short name of the httpd is "yh" - -- Versioning - -In general, versions are made up like X.Y.Z.W. X specifies the major version, -Y specifies the branch of the major version, Z specifies a sub revision -of a specific branch. The optional W can be used to specify a maintenance -revision which only changes small issues. - -//<<* -1.2.0 YCHAT FEATURES - -- Its free & portable - -yChat is developed under the GNU general public license and is based on GNU -tools (gcc, gmake), other open source library stuff (such as GNU Readline etc.) -and should run on any POSIX capable operating system (such as all Linux based -systems, FreeBSD, NetBSD, OpenBSD and other BSD-Systems and on UNICES like -IRIX, HP-UX, Solaris etc.). - -- There is no need for special chat clients - -yChat is web based, that means clients may only connect to the chat server -with an normal web browser such as Microsoft Internet Explorer or any Gecko- -Engine powerd browsers like Mozilla, Firefox, Camino etc. - -- It has features of a real HTTP webserver - -yChat runs completely stand alone and does not need another webserver to build -on like Apache and does not need to be run via any kind of CGI. yChat creates -its own socket on a customized port (standard port: 2000) and seems to be a full -featured HTTP web server to the clients (web browsers). - -The yChat code base can be converted to an yhttpd code base automaticaly. yhttpd -is the webserver subset of yChat which runs completely stand alone and provides -normal websites to the net. It also supports Common Gateway Interface (CGI) -scripting. - -- Its fast and secure - -yChat is written in C++ which is faster than any Java based Chat-Server or any -server written in a scripting language like PHP, Python or Perl. As the -internal data structures hash maps are used to garuantee searching certain -values in O(1) amount of time. If a hash maps gets full, it will be rehashed. -Currently, yChat has been measured providing over 1000 hits/requests per second -on a FreeBSD based server box while using less than 2% of CPU usage -on a Athlon XP 1900+. Performance seems to be limited by your bandwith only. -Also, each user gets its own session id (random string) with a standard length -of 50 chars to authenticate each logged in user. The length of the session id -can be redefined as well. Also, the session id will get md5-hashed optionally -so thats even harder to reverse engineering the session ids of other users. -Also, yChat supports secure hypertext transfer protocol (HTTPS) connections -using the OpenSSL library. Then, all chat messages will be encrypted in a -secure manner. HTTPS is optional to HTTP (unsecured connections). - -- Its HTML template based and easy to customize via XML based configuration - -All HTML sites are predefined as HTML-Template files and can be easily modified -to use with an customized web design. Also, a lot of yChat preferences can be -set in the main configuration file (ychat.conf). ychat.conf is completely written -in XML 1.0 which makes it easier to use the configuration options in programs of -3rd persons which may want to write some usefull tools for yChat. -yChat caches all HTML and web images to improve overall performance. If needed, the -cache can be cleared to recache new versions of the template files. - -- Its language template based - -The administrator can easily create a new language in which all system messages -appear to the Chat-User. The predefined languages is english but others can be -added easily. The language can be edited in the XML based configuration file. - -- MySQL based database - -Registered users are stored in a MySQL database. C++ Programmers may feel free -to replace the database wrapper class (data.h) with another database routines -to use other databases such as PostgreSQL, SQLite or a text based database etc. -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. - -- It has logging capabilities - -The logging manager keeps track to all yChat system messages (such as users -wich log in and out, modules which are loaded, MySQL queries etc.). Also, an -Apache-Style combined log file format is created by yChat (you can parse this -logfile with any Apache logfile parser like awstats etc.). And last but not -least, all public messages of all available rooms will be logged to disk as -well . To improve performance, you can define the logging puffer (standardly -new logs will be written to disk after each 20 lines). If you want to log -everything immediately, you can reset this option to 1 in ychat.conf. - -- Its modular through own command and dynamic HTML engine - -All chat commands are realized through dynamic loadable module files which can -be recompiled and reloaded without restarting the whole yChat server. Also -HTML-Sites with certain tasks can be compiled as a module like -mods/html/yc_register.so, mods/html/yc_options.so and mods/html/yc_colors.so -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. - -- Its using a smart garbage collection engine - -All users and rooms which dont have to be kept in the main memory (because the -user has logged out or the room has been destroyed because it was empty) will -not be deleted immediately but be placed for about 10 minutes in the yChat -garbage collector. Each time a new room is created the systems checks the -garbage to reuse an inactive room object. If a certain user wants to log in, the -system checks if he is already present in the garbage collector. If yes, he will -be reactivated without wasting expensive database queries to fetch the user's -options. This improves overall performance on heavily loaded yChat servers if a -lot of user and room objects are created and destroyed frequently. -//*>> - -2.0.0 INSTALLATION AND SETU