diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:46 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:46 +0200 |
| commit | 07706f56cd421bf8b101a5c0fe44674d36e161a0 (patch) | |
| tree | bec8b45765788370fbd148d68e05d8b437e60670 | |
| parent | 56187184e11b085b82584d3b088c62f427aae83c (diff) | |
tagging ychat-0.5.1ychat-0.5.1
| -rw-r--r--[-rwxr-xr-x] | COPYING | 1 | ||||
| -rw-r--r-- | ChangeLog | 484 | ||||
| -rwxr-xr-x | Makefile.in | 2 | ||||
| -rwxr-xr-x | README | 318 | ||||
| -rwxr-xr-x | base.cpp | 97 | ||||
| -rwxr-xr-x | base.h | 61 | ||||
| -rwxr-xr-x | chat.cpp | 80 | ||||
| -rwxr-xr-x | chat.h | 16 | ||||
| -rwxr-xr-x | cmnd.cpp | 2 | ||||
| -rw-r--r-- | cmnd/yc_getrusage.cpp | 51 | ||||
| -rwxr-xr-x | conf.cpp | 10 | ||||
| -rwxr-xr-x | conf.h | 4 | ||||
| -rwxr-xr-x | conf.txt | 46 | ||||
| -rwxr-xr-x | configure | 1618 | ||||
| -rwxr-xr-x | cont.cpp | 2 | ||||
| -rwxr-xr-x | cont.h | 1 | ||||
| -rwxr-xr-x | glob.h | 14 | ||||
| -rw-r--r-- | hmap.cpp | 9 | ||||
| -rw-r--r-- | hmap.h | 6 | ||||
| -rwxr-xr-x | html.cpp | 40 | ||||
| -rwxr-xr-x | html.h | 6 | ||||
| -rw-r--r--[-rwxr-xr-x] | html/favicon.ico | bin | 2238 -> 2238 bytes | |||
| -rwxr-xr-x | html/frameset.html | 12 | ||||
| -rwxr-xr-x | html/index.html | 21 | ||||
| -rwxr-xr-x | html/input.html | 52 | ||||
| -rwxr-xr-x | html/notfound.html | 4 | ||||
| -rwxr-xr-x | html/online.html | 21 | ||||
| -rwxr-xr-x | html/stream.html | 42 | ||||
| -rw-r--r--[-rwxr-xr-x] | html/style.css | 0 | ||||
| -rwxr-xr-x | main.cpp | 48 | ||||
| -rwxr-xr-x | msgs.h | 12 | ||||
| -rwxr-xr-x | mutx.cpp | 4 | ||||
| -rwxr-xr-x | mutx.h | 4 | ||||
| -rwxr-xr-x | name.cpp | 2 | ||||
| -rwxr-xr-x | name.h | 4 | ||||
| -rwxr-xr-x | pool.cpp | 48 | ||||
| -rwxr-xr-x | reqp.cpp | 113 | ||||
| -rwxr-xr-x | reqp.h | 6 | ||||
| -rwxr-xr-x | room.h | 4 | ||||
| -rw-r--r-- | s_conf.h | 2 | ||||
| -rw-r--r-- | s_tool.cpp | 28 | ||||
| -rw-r--r-- | s_tool.h | 1 | ||||
| -rwxr-xr-x | sock.cpp | 70 | ||||
| -rwxr-xr-x | sock.h | 16 | ||||
| -rwxr-xr-x | thrd.cpp | 5 | ||||
| -rwxr-xr-x | todo.txt | 14 | ||||
| -rwxr-xr-x | user.cpp | 37 | ||||
| -rwxr-xr-x | user.h | 15 |
48 files changed, 2831 insertions, 622 deletions
@@ -106,6 +106,7 @@ above, provided that you also meet all of these conditions: 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.) diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..b3ada67 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,484 @@ +2003-09-14 16:55 snooper + + * cmnd/yc_version.cpp: Added /version command. + +2003-09-14 16:48 snooper + + * README, msgs.h: Changed Version to 0.5 ( Will be released as soon + as possible ). + +2003-09-14 16:34 snooper + + * msgs.h: Changed version description. + +2003-09-14 16:31 snooper + + * README, conf.txt, glob.h, reqp.cpp, sock.cpp, cmnd/compile.sh: + Fixed all known bugs which already have been fixed in yChat++ + Advanced. + +2003-09-13 20:52 snooper + + * gfx/y_ani_black.gif, gfx/y_ani_white.gif, html/favicon.ico: [no + log message] + +2003-09-07 14:49 snooper + + * pool.cpp: + Removed a pthread_cond_signal which has been set twice! + +2003-09-06 23:34 rover + + * pool.cpp: fixed a typo ( multi thread bug ) + +2003-09-03 18:30 rover + + * reqp.cpp: modified End-Of-Headers to RFC compliant version + +2003-07-26 14:30 snooper + + * reqp.cpp: Added Pragma: no-cache and Expires: 0 to the HTTP + header. ( this is a bugfix ). + +2003-04-19 21:39 rover + + * chat.cpp, reqp.cpp, sess.cpp, sess.h, sman.h, sock.cpp, user.h: + identification now only depends on session + +2003-04-19 18:16 rover + + * Makefile.in, chat.cpp, chat.h, conf.txt, main.cpp, s_sman.cpp, + sess.cpp, sman.cpp, s_sman.h, sess.h, sman.h: added session + manager and session object. + +2003-04-10 17:36 rover + + * logd.cpp: fixed a typo + +2003-04-07 15:24 rover + + * hmap.cpp: added a really really important newline ( this is just + a loginfo test ) + +2003-04-07 15:18 rover + + * msgs.h: message templates are now replaced by language manager + +2003-04-05 00:17 rover + + * Makefile.in: language support + +2003-04-05 00:14 rover + + * chat.cpp, chat.h, conf.txt, lang.cpp, lang.h, main.cpp, + s_lang.cpp, s_lang.h, sock.cpp, user.cpp, user.h, lang/de, + lang/en: support for different languages in chat output + +2003-04-04 23:35 rover + + * conf.cpp, conf.txt, glob.h, s_conf.h, sock.cpp: another bug that + was caused due sed conversion + +2003-04-04 17:42 rover + + * Makefile.in: added log_daemon + +2003-04-04 17:19 rover + + * conf.txt, logd.cpp, logd.h, reqp.cpp, reqp.h, sock.cpp, sock.h: + added access log compatible logging + +2003-04-04 13:13 rover + + * sock.cpp: added IP / PORT to map_params to make logging possible + with only this map + +2003-04-04 12:41 rover + + * s_tool.cpp, s_tool.h: added trim() function to strip whitespaces + at the beginning and end of a string + +2003-04-04 12:40 rover + + * reqp.cpp, reqp.h: http headers are now stored in the requestmap + +2003-04-03 01:01 snooper + + * s_modl.cpp, s_modl.h, user.h: Minor modifications. New static + class wrapper. + +2003-04-02 23:57 snooper + + * Makefile.in, chat.h, conf.txt, main.cpp, modl.cpp, sock.cpp, + user.cpp, user.h, cmnd/yc_q.cpp: Added first command. /q ... + Todo: each user should have his own hashmap of executable + modules. Right now all users use the same module hash map. + +2003-04-02 15:23 rover + + * modl.cpp, modl.h: module loader + +2003-04-02 12:52 snooper + + * dltest.cpp, yc_test.cpp, cmnd/yc_q.cpp, cmnd/yc_test.cpp: [no log + message] + +2003-04-02 12:50 snooper + + * Makefile.in, README, base.cpp, base.h, chat.cpp, chat.h, + conf.cpp, dltest.cpp, glob.h, hmap.cpp, hmap.h, html.cpp, msgs.h, + reqp.cpp, reqp.h, sock.cpp: Dynamic module loader class. Better + hash map functionality. Some bugfixes. + +2003-03-30 15:40 paul + + * hmap.h: + Implementation of operator[]. + +2003-03-30 13:12 volker + + * html/: style.css, y_black.gif: added stylesheet and an image + +2003-03-30 03:48 paul + + * todo.txt: [no log message] + +2003-03-30 03:35 paul + + * base.cpp, conf.txt, hmap.cpp, hmap.h: The hach map now supports + explicit key bindings on each value. The [] operator still has to + be implemented. + +2003-03-30 01:34 volker + + * conf.txt, html/index.html, html/input.html, html/online.html, + html/stream.html: modified appearance and added css + +2003-03-30 01:26 paul + + * README, README.txt, cont.h: Renamed. + +2003-03-30 01:14 paul + + * base.cpp, base.h, hmap.cpp, hmap.h: All user objects and all room + objects are stored in a hash map. + +2003-03-30 01:06 volker + + * conf.txt, reqp.cpp, reqp.h, s_tool.cpp, s_tool.h: support for + different content-types + +2003-03-30 00:21 paul + + * hmap.cpp, hmap.h, main.cpp: Now handles pointer of data objects + instead of references. + +2003-03-30 00:18 volker + + * html.cpp: removed possible deadlock + +2003-03-30 00:11 volker + + * conf.txt, html.cpp: changed format how files are read into + templatecache + +2003-03-28 17:16 volker + + * todo.txt: todo is now up to date + +2003-03-28 03:51 paul + + * data.h: + + Removed data.h + +2003-03-28 03:51 paul + + * README.txt, base.h, chat.h, data.h, room.h: + + Put data.h and base.h together. + +2003-03-28 03:08 paul + + * README.txt: + + Actualizing because of the new configure script. + +2003-03-28 03:02 volker + + * configure, configure.in: [no log message] + +2003-03-28 02:59 volker + + * configure, configure.in: -ldl is not needed under *bsd. Added a + check + +2003-03-28 02:38 volker + + * Makefile, Makefile.in, configure, configure.in: added support for + bsd + +2003-03-28 01:38 volker + + * base.cpp: changed a bug in cvs keywords + +2003-03-28 01:32 volker + + * base.cpp: [no log message] + +2003-03-28 01:27 volker + + * COPYING, configure.in: this file should be in every repository ;) + +2003-03-28 01:18 volker + + * Makefile, Makefile.in, configure, configure.in: configure + dependent files + +2003-03-28 00:22 paul + + * hmap.cpp, hmap.h: + + Optimization of the hash map. + +2003-03-27 17:14 volker + + * dltest.cpp, yc_test.cpp: Dynamic module test + +2003-03-26 18:50 paul + + * html/index.html: + + Changed POST back to GET due read bug. + +2003-03-26 17:40 paul + + * reqp.cpp: + + Bugfix. + +2003-03-26 16:44 paul + + * reqp.cpp, sock.cpp, sock.h: + + Fixed segfault bug. ( stream.html request without existing user + object ). + +2003-03-26 16:17 paul + + * sock.cpp: + + Deletion of variables which are no longer needed after procession + ( e.g. map_params ). + +2003-03-26 15:57 paul + + * thrd.cpp: + + Bugfix. Now every socket connection will be closed the right way + ;). + +2003-03-26 00:03 paul + + * chat.cpp, chat.h, sock.cpp: + + Bugfix + added to the class chat a private bool b_strip_html + member. + +2003-03-25 23:52 paul + + * chat.cpp: + + Style fix. + +2003-03-25 23:41 paul + + * msgs.h, sock.cpp: + + Bugfix. + +2003-03-25 23:21 paul + + * name.h: + + Bugfix. + +2003-03-25 23:19 paul + + * Makefile, README.txt, base.cpp, base.h, conf.txt, data.h, + hmap.cpp, hmap.h, name.cpp, name.h: + + Changed because of hashmap integration. base.cpp and base.h still + have to be modified. Afterwards, all user and rooms will be + stored in a hash map. + +2003-03-25 21:06 paul + + * Makefile, hmap.cpp, hmap.h, user.h: + + Hash Map implementation. + +2003-03-25 20:12 volker + + * chat.cpp, conf.txt, s_tool.cpp, s_tool.h: added possibility to + turn html tags on/off in chat messages + +2003-03-25 19:53 paul + + * conf.txt, html.cpp: + + Bugfix. + +2003-03-25 18:44 paul + + * conf.txt: + + Bugfix. + +2003-03-25 17:22 volker + + * conf.txt, main.cpp: removed some typos that where created due to + sed conversation + +2003-03-25 15:54 volker + + * CHAT.cpp, CHAT.h, CONF.cpp, CONF.h, HTML.cpp, HTML.h, MUTX.cpp, + MUTX.h, Makefile, README.txt, SOCK.cpp, SOCK.h, TOOL.cpp, TOOL.h, + chat.cpp, chat.h, cmnd.cpp, conf.cpp, conf.h, conf.txt, cont.cpp, + data.h, glob.h, html.cpp, html.h, main.cpp, msgs.h, mutx.cpp, + mutx.h, pool.cpp, reqp.cpp, s_chat.cpp, s_chat.h, s_conf.cpp, + s_conf.h, s_html.cpp, s_html.h, s_mutx.cpp, s_mutx.h, s_sock.cpp, + s_sock.h, s_tool.cpp, s_tool.h, sock.cpp, sock.h, thrd.cpp, + user.cpp: changed filenames to windows compatible ones + +2003-03-25 00:49 paul + + * README.txt: + + Bugfixes. + +2003-03-25 00:40 paul + + * todo.txt: + + New brainstorming. + +2003-03-25 00:16 paul + + * TOOL.cpp, TOOL.h, chat.cpp, msgs.h: + + Added check routine if a login nick is alphanumeric or not. If + not a message will appear on the startpage instead of logging in + which may would end in a segmentation fault. + +2003-03-24 23:45 paul + + * main.cpp: [no log message] + +2003-03-24 23:43 paul + + * README.txt, chat.cpp, msgs.h, user.cpp, user.h: + + Added support for chat commands ( chat commands still have to be + implemented ). If you type "/testhere" ychat will tell that + there is no such command! + +2003-03-24 00:30 paul + + * Makefile, cmnd.cpp, main.cpp, msgs.h, reqp.cpp, reqp.h, sock.cpp, + sock.h, thrd.cpp, user.cpp, user.h: [no log message] + +2003-03-23 23:34 vrichter + + * reqp.cpp: removed bogus sock.h + +2003-03-23 23:29 vrichter + + * reqp.cpp, sock.cpp: bugfix POST system + +2003-03-23 20:03 vrichter + + * html/index.html: changed the method of the login form to POST + +2003-03-23 20:02 vrichter + + * reqp.cpp, reqp.h: the request parser now supports POST + +2003-03-23 16:16 paul + + * pool.cpp: + + Fixed changing date! ( System clock was set wrong ), + +2003-03-23 16:05 paul + + * pool.cpp: [no log message] + +2003-03-23 12:33 paul + + * conf.txt, pool.cpp: [no log message] + +2003-03-23 06:41 paul + + * base.cpp, chat.cpp, conf.cpp, cont.cpp, html.cpp, main.cpp, + mutx.cpp, name.cpp, reqp.cpp, room.cpp, thrd.cpp, user.cpp, + msgs.h: [no log message] + +2003-03-23 06:26 paul + + * pool.cpp: [no log message] + +2003-03-23 05:55 paul + + * Makefile, README.txt, conf.txt, glob.h, main.cpp, msgs.h, + pool.cpp, pool.h, reqp.h, sock.cpp, sock.h: [no log message] + +2003-03-22 23:07 paul + + * README.txt: [no log message] + +2003-03-22 22:56 paul + + * html.h: [no log message] + +2003-03-22 07:40 vrichter + + * reqp.h: fixed a paste error + ---------------------------------------------------------------------- + +2003-03-21 20:38 vrichter + + * yc.tgz, ychat: removed binary files that were transfered + +2003-03-21 19:31 vrichter + + * reqp.cpp, reqp.h, ychat: added url decoding + +2003-03-21 16:54 root + + * CHAT.cpp, CHAT.h, CONF.cpp, CONF.h, HTML.cpp, HTML.h, MUTX.cpp, + MUTX.h, Makefile, README.txt, SOCK.cpp, SOCK.h, TOOL.cpp, TOOL.h, + base.cpp, base.h, chat.cpp, chat.h, cmnd.cpp, cmnd.h, conf.cpp, + conf.h, conf.txt, cont.cpp, cont.h, data.h, glob.h, html.cpp, + html.h, incl.h, main.cpp, msgs.h, mutx.cpp, mutx.h, name.cpp, + name.h, reqp.cpp, reqp.h, room.cpp, room.h, sock.cpp, sock.h, + thrd.cpp, thrd.h, todo.txt, user.cpp, user.h, yc.tgz, ychat, + gfx/y_ani_black.gif, gfx/y_ani_white.gif, html/blank.html, + html/frameset.html, html/index.html, html/input.html, + html/notfound.html, html/online.html, html/stream.html, + html/y_ani.gif: Initial revision + +2003-03-21 16:54 root + + * CHAT.cpp, CHAT.h, CONF.cpp, CONF.h, HTML.cpp, HTML.h, MUTX.cpp, + MUTX.h, Makefile, README.txt, SOCK.cpp, SOCK.h, TOOL.cpp, TOOL.h, + base.cpp, base.h, chat.cpp, chat.h, cmnd.cpp, cmnd.h, conf.cpp, + conf.h, conf.txt, cont.cpp, cont.h, data.h, glob.h, html.cpp, + html.h, incl.h, main.cpp, msgs.h, mutx.cpp, mutx.h, name.cpp, + name.h, reqp.cpp, reqp.h, room.cpp, room.h, sock.cpp, sock.h, + thrd.cpp, thrd.h, todo.txt, user.cpp, user.h, yc.tgz, ychat, + gfx/y_ani_black.gif, gfx/y_ani_white.gif, html/blank.html, + html/frameset.html, html/index.html, html/input.html, + html/notfound.html, html/online.html, html/stream.html, + html/y_ani.gif: imported files into ychat cvs + diff --git a/Makefile.in b/Makefile.in index 7c2a0c1..300d035 100755 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -SRCS=base.cpp chat.cpp s_chat.cpp cmnd.cpp conf.cpp s_conf.cpp cont.cpp html.cpp s_html.cpp main.cpp mutx.cpp s_mutx.cpp name.cpp pool.cpp reqp.cpp room.cpp sock.cpp s_sock.cpp thrd.cpp s_tool.cpp user.cpp +SRCS=chat.cpp s_chat.cpp cmnd.cpp conf.cpp s_conf.cpp cont.cpp html.cpp s_html.cpp lang.cpp s_lang.cpp logd.cpp main.cpp modl.cpp s_modl.cpp mutx.cpp s_mutx.cpp name.cpp pool.cpp reqp.cpp room.cpp sock.cpp s_sock.cpp thrd.cpp s_tool.cpp user.cpp sess.cpp sman.cpp s_sman.cpp OBJS=$(SRCS:.cpp=.o) CC=g++ LDFLAGS=@LDFLAGS@ -lstdc++ -g @@ -1,7 +1,5 @@ -yhttpd; Homepage: www.yhttpd.org; Version 0.7.1-RELEASE - +yChat++ Basic; Homepage: www.yChat.org; Version 0.5.1 Copyright (C) 2003 Paul C. Buetow, Volker Richter -Copyright (C) 2004 Paul C. Buetow ----------------------------------------------------------------- This program is free software; you can redistribute it and/or @@ -17,246 +15,221 @@ 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. ------------------------------------------------------------------ -YHTTPD TABLE OF CONTENTS: +----------------------------------------------------------------- +0.0.0 YCHAT++ BASIC TABLE OF CONTENTS 1.0.0 REQUIREMENTS 1.1.0 TESTED PLATFORMS -1.2.0 IMPORTANT NOTICES -1.3.0 HOW TO OBTAIN YHTTPD +1.2.0 IMPORTANT NOTES +1.3.0 HOW TO OBTAIN YCHAT++ 1.3.1 INSTALLATION -1.3.2 INSTALLATION QUICK-START -1.4.0 HOW TO USE SCREEN WITH YHTTPD 1.5.0 CUSTOMIZATION 1.6.0 FILES 1.7.0 WRITING BUG REPORTS 1.8.0 CONTACT - 1.0.0 REQUIREMENTS: -- GNU GCC G++ 3.4 or 3.3 or 3.2 or 3.1 - The GNU C++ compiler. G++ version 3.0 or 2.x does NOT work. +- gcc 3.2 + The GNU C++ compiler. -- GNU make 3.80 (gmake) or higher - If you dont have a gmake executable but make is gnu make then you need - to add a symlink or alias from gmake to make. - yhttpd Makefiles only have been tested with GNU make and may not work with - other make versions. +1.1.0 TESTED PLATFORMS: -- ncurses 5.x - Includes libncurses and the ncurses.h header files. +The following platforms have been tested with success: -- Screen - Only needed if yhttpd should run in background with - ncurses or CLI enabled. +- Linux with GCC 3.2.0, GNU make 3.79.1 +- FreeBSD 5.1-RELEASE-p2, GCC 3.2.2, GNU make 3.80 ( standard make does not seem work on FreeBSD ). -- Perl 5.x - Is needed for some scripts. Is not needed if you use precompiled binaries. +1.2.0 IMPORTANT NOTES: -1.1.0 TESTED PLATFORMS: +Before you compile the source you have to be sure to use at least GCC +version 3.x with pthreads enabled. ( Type gcc -v to check it ). +GCC 2.95 did not work while testing on linux and WON'T BE SUPPORTED! +If you like to support yChat++, please write us an email and tell what +you can/like/would help ;-]. Please also take a look at the yChat++ +homepage which is located at http://www.yChat.org. -The following platforms have been tested with success. If you find out that -a listed platform did not work at all please contact me: +1.3.0 HOW TO OBTAIN YCHAT++: - Operating system (arch) GNU G++ GNU make -- FreeBSD 5.2.1-RELEASE (i386) 3.3.3 3.80 -- FreeBSD 4.9-RELEASE (i386) 3.3.4 3.80 -- FreeBSD 4.10-RELEASE (i386) 3.4.1 3.80 -- Gentoo Linux 2004.2 (i386) 3.3.2 3.80 -- OpenBSD 3.6 MP (i386) 3.3.2 3.80 -- Slackware Linux 10.0 (i386) 3.4.0 3.80 -- SUSE Linux 8.0, G (i386) 3.3.1 3.80 +yChat can be downloaded as a source package or through CVS. -Other platforms like Linux based systems, other BSD-Systems or UNICES -are very likely to work too. +The packages are located at http://www.yChat.org -> Sourcecode -> +Packages or go to http://programming.buetow.org/CPP-yChat . -1.2.0 IMPORTANT NOTICES: +For CVS download type also look at the homepage please. -Before you compile the source you have to be sure to use at least GCC -version 3.1 with pthreads enabled. ( Type gcc -v to check it ). -GCC 2.95 and 3.0 did not work while testing and WON'T BE SUPPORTED! -If you like to support yhttpd++, please write us an email and tell what -you can/like/would help ;-]. Please also take a look at the yhttpd++ -homepage which is located at http://www.yhttpd.org. +1.3.1 INSTALLATION: -1.3.0 HOW TO OBTAIN YHTTPD++: +Invoke "./configure" and afterwards "make", edit the conf.txt. -yhttpd can be downloaded as a source package or through CVS. +Now we want to compile all the dynamic loadable modules of ychat. +Invoke "cd cmnd && ./compile.sh && cd -". All command modules should get +compiled. -The packages are located at http://www.yhttpd.org -> Sourcecode -> -Packages or go to http://pub.buetow.org/yhttpd/CPP-yhttpd . +Now its time to run the server with ./ychat. +Then point your webbrowser to http://yourip:port ! -For CVS download type: +... have fun :-). -cvs -d:pserver:anonymous@buetow.org:/usr/home/cvs/cvsroot login -( You will be asked for a password. Use "just enter" ). +1.5.0 CUSTOMIZATION: -vs -z3 -d:pserver:anonymous@buetow.org:/usr/home/cvs/cvsroot co yhttpd -( The sources will be copied into your local folder ) +If you like to customize the design/layout/language of yChat, you will have +to edit msgs.h and glob.h before you compile the sources. Afterwards you can +change the html-template files which are placed in the html/ subdirectory. +Dynamic loadable modules can be found in the cmnd/ subdirectory. -cvs -d:pserver:anonymous@buetow.org:/usr/home/cvs/cvsroot logout -( Logs your CVS session out ). +1.6.0 FILES: ( This list is not complete ) -Now you may continue with the installation. +conf.txt - The yChat configuration file. ( read by conf.cpp ). -1.3.1 INSTALLATION: +base.cpp - Encapsulates vector fields of room's or user ( may be later + hash_maps ) and provides methods for manipulating data + objects. -Invoke "./configure". Afterwards you will get prompted with the before-compile -options of yhttpd. After choosing those options you are ready to type "gmake" -afterwards. - - -You may also invoke gmake with the following options (the PREFIX can be set -in the yhttpd configurator which will be launched by the top configure script -or gmake config): - - gmake or gmake all (compiles everything, also modules) - gmake base (only compiles the base) - gmake base_start (only compiles the base and starts the server) - gmake clean (cleans everything) - gmake clean_base (only cleans the base obj and rpo files) - gmake clean_modules (only cleans the modules .so files) - gmake config (runs yhttpd configurator) - gmake deinstall (deinstalls yhttpd from PREFIX) - gmake gpl (shows the GNU General Public License) - gmake help (shows all available yhttpd gmake targets) - gmake install (installs yhttpd to PREFIX) - gmake modules (only compiles modules) - gmake mrproper (same as gmake clean plus removing all temp files) - gmake setup (runs all configure scripts and afterwards gmake all) - gmake start (compiles everything and starts the server) - gmake stats (generates yhttpd statistics) - gmake uninstall (same as deinstall) - gmake version (shows the current version of yhttpd) - -Example: "gmake all install clean" compiles everything, installs it to PREFIX -and cleans the source directories. - -Now its time to run the server with ./bin/yhttpd. - -Aferwards point your webbrowser to http://yourip:port ! +hmap.cpp - The hash map implementation which is a very fast data + structure. is needed for saving users, rooms and so on. -... have fun :-). +main.cpp - This includes the required manager headers for starting + the server and finally regulates the correct starting. -1.3.2 INSTALLATION QUICK START: +modl.cpp - The module loader. Stores pointers of all dynamic loaded + yChat modules in a hash map object and loads new modules + if desired or returns their pointers. -If you in hury, then you may just type gmake setup. In the yhttpd configurator -you may just choose all the default values. If done, yhttpd will get compiled -and is ready to run with ./bin/yhttpd! +pool.cpp - The implementation of the thread pool. all threads are stored + in a queue. Each thread will be reused if the assigned job is + finished. +reqp.cpp - This class implements the http request parser. If a client + starts a request to the server the reqp class will be + invoked. -1.4.0 HOW TO USE SCREEN WITH YHTTPD: +room.cpp - Specifies a chat room. For each chat room an instance of + this class exists. -If you are running yhttpd in ncurses mode you might want to install -the tool which is called "screen". This will enable you putting the -ncurses interface into the background, closing the terminal session -and reusing the interface later through another terminal. +thrd.cpp - This class is needed by sock.cpp while creating a POSIX thread. + All data which a thread needs to do its tasks are stored in a + thrd object and then a pointer to it will be passed to the + POSIX thread function. -Just do: - - screen -S yhttpd ./bin/yhttpd ( creates a new session and starts yhttpd in it ) - ctrl+d+a ( will detach the yhttpd session ) - ( closing the terminal ) - ( opening a new terminal ) - screen -r yhttpd ( will return you to the yhttpd process ) +user.cpp - Specifies a chat user. For each chat user an instance of + this class exists. -Screen will terminate automaticaly if all processes in its sessions are -terminated. +Abstract classes: -For a closer look read the screen manual page ( man screen ). +cont.cpp - All classes which need to store "key - value" data sets + inherit from this class. ( cont for content ). -1.5.0 CUSTOMIZATION: +name.cpp - All classes which own a private member string name inherit + from this class. It also provides public get_name and + set_name methods. + +As described ( main.cpp ), there are so called managers. Managers are +accessible through their assigned wrapper classes and may be +instanciated only once. + +chat.cpp - The chat manager. Is responsible for managing the internal + data structure of the system and also covers a lot of + important methods of the system. + +conf.cpp - The config manager. Parses the config file specified in + glob.h and stores all the values of it in a map. -If you like to customize the design/layout/language of yhttpd, you will have -to edit src/msgs.h and src/glob.h before you compile the sources. Afterwards -you can change the html-template files which are placed in the html/ |
