summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES44
-rwxr-xr-xMakefile42
-rw-r--r--NEWS8
-rwxr-xr-xREADME33
-rw-r--r--TODO60
-rwxr-xr-xconfigure8
-rw-r--r--etc/ychat.conf28
-rwxr-xr-xhtml/help.html2
-rwxr-xr-xhtml/input.html10
-rwxr-xr-xhtml/online.html3
-rwxr-xr-xhtml/stream.html25
-rwxr-xr-xhtml/style.css22
-rwxr-xr-xscripts/astyle.sh2
-rwxr-xr-xscripts/buildnr.pl2
-rw-r--r--scripts/makeyhttpd.pl10
-rwxr-xr-xscripts/stats.pl24
-rwxr-xr-xsrc/chat/base.h154
-rwxr-xr-xsrc/chat/base.tmpl18
-rwxr-xr-xsrc/chat/chat.cpp467
-rwxr-xr-xsrc/chat/chat.h72
-rwxr-xr-xsrc/chat/gcol.cpp159
-rwxr-xr-xsrc/chat/gcol.h31
-rwxr-xr-xsrc/chat/perm.cpp69
-rwxr-xr-xsrc/chat/perm.h45
-rwxr-xr-xsrc/chat/room.cpp96
-rwxr-xr-xsrc/chat/room.h108
-rwxr-xr-xsrc/chat/sess.cpp39
-rwxr-xr-xsrc/chat/sess.h21
-rwxr-xr-xsrc/chat/sman.cpp117
-rwxr-xr-xsrc/chat/sman.h29
-rwxr-xr-xsrc/chat/user.cpp673
-rwxr-xr-xsrc/chat/user.h235
-rwxr-xr-xsrc/cli/cli.cpp443
-rwxr-xr-xsrc/cli/cli.h30
-rwxr-xr-xsrc/conf/conf.cpp192
-rwxr-xr-xsrc/conf/conf.h22
-rwxr-xr-xsrc/configure9
-rw-r--r--src/contrib/crypt/md5.cpp333
-rw-r--r--src/contrib/crypt/md5.h15
-rw-r--r--src/contrib/crypt/md5crypt.cpp233
-rw-r--r--src/contrib/xml/tinyxml.cpp1679
-rw-r--r--src/contrib/xml/tinyxml.h2242
-rw-r--r--src/contrib/xml/tinyxmlerror.cpp44
-rw-r--r--src/contrib/xml/tinyxmlparser.cpp2684
-rwxr-xr-xsrc/data/con.cpp48
-rwxr-xr-xsrc/data/con.h8
-rwxr-xr-xsrc/data/con_base.cpp5
-rwxr-xr-xsrc/data/con_base.h4
-rw-r--r--src/data/data.cpp262
-rw-r--r--src/data/data.h18
-rw-r--r--src/data/data_base.cpp232
-rw-r--r--src/data/data_base.h23
-rwxr-xr-xsrc/glob.h14
-rwxr-xr-xsrc/html.cpp163
-rwxr-xr-xsrc/html.h45
-rwxr-xr-xsrc/incl.h6
-rwxr-xr-xsrc/logd.cpp186
-rwxr-xr-xsrc/logd.h41
-rwxr-xr-xsrc/main.cpp210
-rw-r--r--src/maps/mtools.h6
-rw-r--r--src/maps/mtools.tmpl5
-rwxr-xr-xsrc/modl.cpp155
-rwxr-xr-xsrc/modl.h33
-rwxr-xr-xsrc/mods/Makefile9
-rw-r--r--src/mods/commands/yc_about.cpp74
-rwxr-xr-xsrc/mods/commands/yc_all.cpp77
-rwxr-xr-xsrc/mods/commands/yc_away.cpp126
-rwxr-xr-xsrc/mods/commands/yc_col.cpp127
-rwxr-xr-xsrc/mods/commands/yc_compopt.cpp21
-rwxr-xr-xsrc/mods/commands/yc_exec.cpp84
-rwxr-xr-xsrc/mods/commands/yc_fake.cpp43
-rwxr-xr-xsrc/mods/commands/yc_getroom.cpp70
-rwxr-xr-xsrc/mods/commands/yc_getrusage.cpp69
-rwxr-xr-xsrc/mods/commands/yc_help.cpp81
-rwxr-xr-xsrc/mods/commands/yc_invisible.cpp45
-rwxr-xr-xsrc/mods/commands/yc_j.cpp183
-rwxr-xr-xsrc/mods/commands/yc_ko.cpp88
-rwxr-xr-xsrc/mods/commands/yc_m.cpp65
-rwxr-xr-xsrc/mods/commands/yc_md5.cpp84
-rwxr-xr-xsrc/mods/commands/yc_me.cpp67
-rwxr-xr-xsrc/mods/commands/yc_morph.cpp77
-rwxr-xr-xsrc/mods/commands/yc_msg.cpp94
-rwxr-xr-xsrc/mods/commands/yc_q.cpp27
-rwxr-xr-xsrc/mods/commands/yc_reload.cpp29
-rwxr-xr-xsrc/mods/commands/yc_ren.cpp108
-rwxr-xr-xsrc/mods/commands/yc_s.cpp81
-rwxr-xr-xsrc/mods/commands/yc_set.cpp175
-rwxr-xr-xsrc/mods/commands/yc_template.cpp25
-rwxr-xr-xsrc/mods/commands/yc_time.cpp27
-rwxr-xr-xsrc/mods/commands/yc_topic.cpp138
-rwxr-xr-xsrc/mods/commands/yc_uptime.cpp27
-rwxr-xr-xsrc/mods/commands/yc_version.cpp21
-rw-r--r--src/mods/html/yc_admin.cpp119
-rwxr-xr-xsrc/mods/html/yc_colors.cpp52
-rwxr-xr-xsrc/mods/html/yc_help.cpp74
-rwxr-xr-xsrc/mods/html/yc_options.cpp81
-rwxr-xr-xsrc/mods/html/yc_register.cpp165
-rwxr-xr-x[-rw-r--r--]src/msgs.h37
-rwxr-xr-xsrc/name.cpp34
-rwxr-xr-xsrc/name.h20
-rwxr-xr-xsrc/ncur/menu.cpp149
-rwxr-xr-xsrc/ncur/menu.h27
-rwxr-xr-xsrc/ncur/ncur.cpp374
-rwxr-xr-xsrc/ncur/ncur.h50
-rwxr-xr-xsrc/reqp.cpp545
-rwxr-xr-xsrc/reqp.h61
-rwxr-xr-xsrc/sock/sock.cpp398
-rwxr-xr-xsrc/sock/sock.h80
-rw-r--r--src/stats.cpp167
-rw-r--r--src/stats.h23
-rwxr-xr-xsrc/thrd/pool.cpp315
-rwxr-xr-xsrc/thrd/pool.h108
-rw-r--r--src/thrd/thro.cpp23
-rw-r--r--src/thrd/thro.h26
-rwxr-xr-xsrc/time/timo.cpp24
-rwxr-xr-xsrc/time/timo.h12
-rwxr-xr-xsrc/time/timr.cpp201
-rwxr-xr-xsrc/time/timr.h81
-rw-r--r--src/tool/dir.cpp44
-rw-r--r--src/tool/dir.h26
-rw-r--r--src/tool/tool.cpp255
-rw-r--r--src/tool/tool.h96
-rwxr-xr-xsrc/wrap.cpp14
-rwxr-xr-xsrc/wrap.h106
124 files changed, 9325 insertions, 8650 deletions
diff --git a/CHANGES b/CHANGES
index c4e2d04..4bf7178 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,40 @@
-Changes from 0.7.2 to 0.7.3 RELEASE
+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)
@@ -8,7 +44,7 @@ Changes from 0.7.2 to 0.7.3 RELEASE
- 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
+Changes from 0.7.1 to 0.7.2-RELEASE:
New features:
- /morph
- Added the new standard html template design.
@@ -22,7 +58,7 @@ Bugfixes:
- /topic now prints the topic in the user's color.
- Fixed some typos.
-Changes from 0.7.0 to 0.7.1 RELEASE
+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.
@@ -33,7 +69,7 @@ Changes from 0.7.0 to 0.7.1 RELEASE
need MySQL at all.
- Added the chat.maxlength.word option.
-Changes from 0.6 to 0.7.0 RELEASE
+Changes from 0.6 to 0.7.0-RELEASE:
- Better stability
- Better performance (using more hmaps)
- HTML color switcher menu
diff --git a/Makefile b/Makefile
index 96266ea..e0b6e07 100755
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
-MAKE=`tail -1 make.version`
+MAKE=`tail -n 1 make.version`
PREFIX=`grep "define PREFIX" src/glob.h | cut -d'"' -f2`
-all: base modules version mail
+all: version base modules version
@echo "Now edit the ychat.conf and run ychat!"
@echo "The config file is searched in the following order:"
@echo " ./ychat.conf "
@@ -8,9 +8,12 @@ all: base modules version mail
@echo " ./etc/ychat.conf "
@echo " /etc/ychat.conf "
@echo " $(PREFIX)/etc/ychat.conf "
+ @echo If you want to help the yChat project please run gmake mail
+ @echo so that the developers receive an email about the platform
+ @echo being used.
mail:
@echo "VERSION:" > mail.tmp
- @gmake version >> mail.tmp
+ @${MAKE} version >> mail.tmp
@echo >> mail.tmp
@echo "UNAME:" >> mail.tmp
@uname -a >> mail.tmp
@@ -22,35 +25,12 @@ mail:
@cat g++.version make.version >> mail.tmp
@cat mail.tmp | mail -s "Successfull build of yChat" successfullbuild@yhttpd.org
@rm -f mail.tmp
-install: deinstall
- @echo "Instaling ychat to $(PREFIX)"
- @cp bin/ychat $(PREFIX)/bin
- @if ! test -d $(PREFIX)/lib/ychat; then mkdir -p $(PREFIX)/lib/ychat; fi
- @if ! test -d $(PREFIX)/share/ychat/log/rooms; then mkdir -p $(PREFIX)/share/ychat/log/rooms; fi
- @if ! test -d $(PREFIX)/etc; then mkdir $(PREFIX)/etc; fi
- @if test -d mods; then cp -Rp mods $(PREFIX)/lib/ychat/mods; fi
- @cp -Rp html $(PREFIX)/share/ychat/html
- @cp -Rp lang $(PREFIX)/share/ychat/lang
- @if test -f $(PREFIX)/etc/ychat.conf; then mv $(PREFIX)/etc/ychat.conf $(PREFIX)/etc/ychat.conf.bak; fi
- @cp etc/ychat.conf etc/ychat.conf.tmp
- @sed "s#mods/#$(PREFIX)/lib/ychat/mods/#" etc/ychat.conf.tmp > etc/ychat.conf.tmp.2 && mv etc/ychat.conf.tmp.2 etc/ychat.conf.tmp
- @sed "s#\"log/#\"$(PREFIX)/share/ychat/log/#" etc/ychat.conf.tmp > etc/ychat.conf.tmp.2 && mv etc/ychat.conf.tmp.2 etc/ychat.conf.tmp
- @sed "s#LANGUAGE_DIR=\"lang/#LANGUAGE_DIR=\"$(PREFIX)/share/ychat/lang/#" etc/ychat.conf.tmp > etc/ychat.conf.tmp.2 && mv etc/ychat.conf.tmp.2 etc/ychat.conf.tmp
- @sed "s#HTML_TEMPLATE_DIR=\"html/#HTML_TEMPLATE_DIR=\"$(PREFIX)/share/ychat/html/#" etc/ychat.conf.tmp > etc/ychat.conf.tmp.2 && mv etc/ychat.conf.tmp.2 etc/ychat.conf.tmp
- @mv etc/ychat.conf.tmp $(PREFIX)/etc/ychat.conf
- @echo "yChat configuration file can be found under"
- @echo " $(PREFIX)/etc/ychat.conf"
- @echo "Copy it to ~/.ychat/ychat.conf to use local settings :-)"
- @echo "Be sure that $(PREFIX)/share/ychat/logs is writable by your user or modify "
- @echo "logging dirs in the ychat.conf to a local directory."
- @echo "The most secure would be an additional user 'ychat'!"
+install: deinstall
uninstall: deinstall
deinstall:
- @echo "Deinstalling ychat from $(PREFIX)"
- @if test -f $(PREFIX)/bin/ychat; then rm -f $(PREFIX)/bin/ychat; fi
- @if test -d $(PREFIX)/lib/ychat; then rm -Rf $(PREFIX)/lib/ychat; fi
- @if test -d $(PREFIX)/share/ychat; then rm -Rf $(PREFIX)/share/ychat; fi
- @echo "Done. Please remove manually $(PREFIX)/etc/ychat.conf to complete"
+ @echo Install/deinstall is not supported!
+ @echo Start yChat with ./bin/ychat instead!
+ @exit 1
modules:
@if test -d ./src/mods; then ${MAKE} -C ./src/mods; fi
clean_modules:
@@ -99,6 +79,6 @@ mrproper: clean
@find . -name "*.add" | xargs rm -f
@ls | grep core | xargs rm -f
version:
- @echo "`grep VERSION src/msgs.h | cut -d'"' -f2`-`grep BRANCH src/msgs.h| cut -d'"' -f2` Build `grep BUILD src/msgs.h| cut -d' ' -f3`"
+ @./sc