summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:47 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:47 +0200
commitd4c9f10efe815af146438cafb694d16da0e5650a (patch)
tree93956195c448768b2d58892cb672bee36a6a6463
parentee315a27b72dc967a8a90f132725b7c8e4fd9fba (diff)
tagging ychat-0.7.0ychat-0.7.0
-rw-r--r--CHANGES62
-rw-r--r--[-rwxr-xr-x]COPYING0
-rw-r--r--[-rwxr-xr-x]INSTALL0
-rw-r--r--[-rwxr-xr-x]Makefile70
-rw-r--r--NEWS12
-rw-r--r--[-rwxr-xr-x]README53
-rw-r--r--TODO66
-rwxr-xr-xconfigure33
-rw-r--r--etc/ychat.conf96
-rwxr-xr-xhtml/admin.html4
-rwxr-xr-xhtml/colors.html8
-rwxr-xr-xhtml/demo.html4
-rwxr-xr-xhtml/frameset.html2
-rwxr-xr-xhtml/help.html6
-rwxr-xr-xhtml/index.html19
-rwxr-xr-xhtml/input.html48
-rwxr-xr-xhtml/online.html5
-rwxr-xr-xhtml/options.html12
-rwxr-xr-xhtml/register.html21
-rwxr-xr-xhtml/stream.html24
-rwxr-xr-xhtml/style.css49
-rwxr-xr-xscripts/buildnr.pl2
-rw-r--r--scripts/makeyhttpd.pl10
-rwxr-xr-xscripts/stats.pl24
-rwxr-xr-xsrc/chat/base.h4
-rwxr-xr-xsrc/chat/chat.cpp75
-rwxr-xr-xsrc/chat/chat.h7
-rwxr-xr-xsrc/chat/room.cpp21
-rwxr-xr-xsrc/chat/room.h11
-rwxr-xr-xsrc/chat/sess.cpp40
-rwxr-xr-xsrc/chat/sess.h17
-rwxr-xr-xsrc/chat/sman.cpp11
-rwxr-xr-xsrc/chat/sman.h6
-rwxr-xr-xsrc/chat/user.cpp12
-rwxr-xr-xsrc/chat/user.h6
-rwxr-xr-xsrc/cli/cli.cpp59
-rwxr-xr-xsrc/cli/cli.h11
-rwxr-xr-xsrc/conf/conf.cpp18
-rwxr-xr-xsrc/conf/conf.h10
-rwxr-xr-xsrc/configure10
-rwxr-xr-xsrc/data/con.cpp48
-rwxr-xr-xsrc/data/con.h14
-rwxr-xr-xsrc/data/con_base.cpp5
-rwxr-xr-xsrc/data/con_base.h6
-rw-r--r--src/data/data.cpp263
-rw-r--r--src/data/data.h24
-rw-r--r--src/data/data_base.cpp240
-rw-r--r--src/data/data_base.h49
-rwxr-xr-xsrc/glob.h14
-rwxr-xr-xsrc/html.cpp34
-rwxr-xr-xsrc/html.h15
-rwxr-xr-xsrc/incl.h5
-rwxr-xr-xsrc/logd.cpp21
-rwxr-xr-xsrc/logd.h7
-rwxr-xr-xsrc/main.cpp27
-rw-r--r--src/maps/hmap.h6
-rw-r--r--src/maps/hmap.tmpl15
-rw-r--r--src/maps/mtools.h4
-rw-r--r--src/maps/nmap.h3
-rw-r--r--src/maps/smap.h3
-rw-r--r--src/maps/smap.tmpl12
-rwxr-xr-xsrc/modl.cpp16
-rwxr-xr-xsrc/modl.h2
-rwxr-xr-xsrc/mods/Makefile9
-rwxr-xr-xsrc/mods/commands/yc_away.cpp18
-rwxr-xr-xsrc/mods/commands/yc_col.cpp2
-rwxr-xr-xsrc/mods/commands/yc_exec.cpp2
-rwxr-xr-xsrc/mods/commands/yc_fake.cpp6
-rwxr-xr-xsrc/mods/commands/yc_getroom.cpp2
-rwxr-xr-xsrc/mods/commands/yc_getrusage.cpp2
-rw-r--r--src/mods/commands/yc_getstatus.cpp2
-rwxr-xr-xsrc/mods/commands/yc_help.cpp2
-rwxr-xr-xsrc/mods/commands/yc_invisible.cpp6
-rwxr-xr-xsrc/mods/commands/yc_j.cpp2
-rwxr-xr-xsrc/mods/commands/yc_ko.cpp4
-rwxr-xr-xsrc/mods/commands/yc_m.cpp1
-rwxr-xr-xsrc/mods/commands/yc_md5.cpp2
-rwxr-xr-xsrc/mods/commands/yc_me.cpp2
-rwxr-xr-xsrc/mods/commands/yc_msg.cpp35
-rwxr-xr-xsrc/mods/commands/yc_q.cpp2
-rwxr-xr-xsrc/mods/commands/yc_reload.cpp2
-rwxr-xr-xsrc/mods/commands/yc_ren.cpp2
-rwxr-xr-xsrc/mods/commands/yc_s.cpp13
-rwxr-xr-xsrc/mods/commands/yc_set.cpp2
-rwxr-xr-xsrc/mods/commands/yc_template.cpp2
-rwxr-xr-xsrc/mods/commands/yc_time.cpp2
-rwxr-xr-xsrc/mods/commands/yc_topic.cpp16
-rwxr-xr-xsrc/mods/commands/yc_uptime.cpp2
-rwxr-xr-xsrc/mods/commands/yc_version.cpp4
-rw-r--r--src/mods/html/yc_admin.cpp4
-rwxr-xr-xsrc/mods/html/yc_colors.cpp10
-rwxr-xr-xsrc/mods/html/yc_help.cpp4
-rwxr-xr-xsrc/mods/html/yc_options.cpp14
-rwxr-xr-xsrc/mods/html/yc_register.cpp18
-rw-r--r--[-rwxr-xr-x]src/msgs.h37
-rwxr-xr-xsrc/name.cpp4
-rwxr-xr-xsrc/name.h8
-rwxr-xr-xsrc/ncur/menu.cpp11
-rwxr-xr-xsrc/ncur/menu.h7
-rwxr-xr-xsrc/ncur/ncur.cpp43
-rwxr-xr-xsrc/ncur/ncur.h18
-rwxr-xr-xsrc/reqp.cpp120
-rwxr-xr-xsrc/reqp.h35
-rwxr-xr-xsrc/sock/sock.cpp136
-rwxr-xr-xsrc/sock/sock.h39
-rw-r--r--src/stats.cpp1
-rw-r--r--src/stats.h2
-rwxr-xr-xsrc/thrd/pool.cpp164
-rwxr-xr-xsrc/thrd/pool.h38
-rw-r--r--src/thrd/thro.cpp3
-rw-r--r--src/thrd/thro.h12
-rwxr-xr-xsrc/time/timo.cpp4
-rwxr-xr-xsrc/time/timr.cpp35
-rwxr-xr-xsrc/time/timr.h8
-rw-r--r--src/tool/dir.cpp18
-rw-r--r--src/tool/dir.h8
-rw-r--r--src/tool/tool.cpp161
-rw-r--r--src/tool/tool.h86
-rwxr-xr-xsrc/wrap.cpp6
-rwxr-xr-xsrc/wrap.h14
120 files changed, 1217 insertions, 1776 deletions
diff --git a/CHANGES b/CHANGES
index c58ca31..5ab5c46 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,64 +1,4 @@
-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:
+Changes from 0.6 to 0.7 RELEASE
- Better stability
- Better performance (using more hmaps)
- HTML color switcher menu
diff --git a/COPYING b/COPYING
index a43ea21..a43ea21 100755..100644
--- a/COPYING
+++ b/COPYING
diff --git a/INSTALL b/INSTALL
index b112205..b112205 100755..100644
--- a/INSTALL
+++ b/INSTALL
diff --git a/Makefile b/Makefile
index e0b6e07..8d141ed 100755..100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,5 @@
-MAKE=`tail -n 1 make.version`
PREFIX=`grep "define PREFIX" src/glob.h | cut -d'"' -f2`
-all: version base modules version
+all: 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,40 +7,46 @@ all: version base modules version
@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
- @${MAKE} version >> mail.tmp
- @echo >> mail.tmp
- @echo "UNAME:" >> mail.tmp
- @uname -a >> mail.tmp
- @echo >> mail.tmp
- @echo "DATE:" >> mail.tmp
- @date >> mail.tmp
- @echo >> mail.tmp
- @echo "COMPILER AND MAKE:" >> mail.tmp
- @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
+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'!"
uninstall: deinstall
deinstall:
- @echo Install/deinstall is not supported!
- @echo Start yChat with ./bin/ychat instead!
- @exit 1
+ @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"
modules:
- @if test -d ./src/mods; then ${MAKE} -C ./src/mods; fi
+ @if test -d ./src/mods; then gmake -C ./src/mods; fi
clean_modules:
- @if test -d ./