diff options
| author | admin (centauri.fritz.box) <puppet@mx.buetow.org> | 2014-07-01 20:17:01 +0200 |
|---|---|---|
| committer | admin (centauri.fritz.box) <puppet@mx.buetow.org> | 2014-07-01 20:17:01 +0200 |
| commit | 174529af9197d99d2c5e8f75798fb6d6d9247254 (patch) | |
| tree | 7bdb29f9391b5a3d3629bba3ebec1ca7832b3c9c /src | |
| parent | 751eada68e49f9ffae9a0be743d88a3ce956883f (diff) | |
| parent | 6fde6b0fe90abde84011202edd40fe46eb06af44 (diff) | |
Diffstat (limited to 'src')
115 files changed, 7033 insertions, 1042 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 0382389..66ab5be 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,21 +1,33 @@ -SRCS=WILLBEADDEDBYCONFIGURE -OBJS=$(addprefix ../obj/,$(SRCS:.cpp=.o)) -CC=WILLBEADDEDBYCONFIGURE -LIBADD=`cat libs.add` -LDFLAGS=$(LIBADD) -lstdc++ -LDADD=-pthread -D_THREAD_SAFE -export-dynamic -ldl -INCLUDES=`cat includes.add` -CFLAGS=-fno-inline -fno-default-inline -frepo -all: ychat -$(SRCS): - $(CC) $(INCLUDES) $(CFLAGS) -c $*.cpp -infotext: - @echo Compiling base -ychat: infotext $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDADD) - @mv ychat ../bin - @echo -n "Size of linked executable: " - @du -hc ../bin/ychat | tail -n 1 -clean: - @echo Cleaning base obj - @if test -d ../obj; then rm -Rf ../obj; fi +BIN=../bin/ychat +CXX=@CXX@ +#EFLAGS=-frepo +CXXFLAGS=-fno-inline -fno-default-inline @CXXFLAGS@ ${EFLAGS} ${BOOST_CPPFLAGS} +LDADD+=@LIBS@-lstdc++ -D_THREAD_SAVE -export-dynamic +PREFIX=@prefix@ +all: message ${OBJS} + @dirname=`dirname ${BIN}`; if ! test -d $$dirname; then mkdir -p $$dirname; fi + @echo; echo "===> Linking base sources" + @${CXX} -o ${BIN} ${OBJS} ${LDADD} + @echo "===> LDADD : ${LDADD}" + @echo "===> CXXFLAGS : ${CXXFLAGS}" + @echo "===> CXX : ${CXX}" + @echo "===> Binary size : `du -hs ${BIN} | sed 's/\.\.\/bin\///'`" + @echo "===> `cd ..; ./scripts/version.sh`" + @echo +${OBJS}: + @dirname=`dirname $@`; if ! test -d $$dirname; then mkdir -p $$dirname; fi + @${CXX} ${CXXFLAGS} -c -o $@ `echo $@ | \ + sed 's/\.\.\/obj\/\.\/\(.*\)\.o/\.\/\1.cpp/'` + @echo "base:`echo $@ | sed 's/\.\.\/obj\/\.\/\(.*\)\.o$$/\1/'` (`du \ + -hs $@ | awk '{ print $$1 }'`) " +message: + @echo "===> Building base sources" +clean: + @echo "===> Cleaning base" + @find ../obj -name '*.o' | grep -v mods | xargs rm -f + @if [ -f ${BIN} ]; then rm -f ${BIN}; fi +mrproper: clean + @for i in autom4te.cache; \ + do if [ -d $$i ]; then rm -Rf $$i; fi; done + @for i in Makefile config.h config.log config.status; \ + do if [ -f $$i ]; then rm -f $$i; fi; done diff --git a/src/chat/base.h b/src/chat/base.h index bfdd6f6..145fb6c 100644 --- a/src/chat/base.h +++ b/src/chat/base.h @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/base.h *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow diff --git a/src/chat/base.tmpl b/src/chat/base.tmpl index c94ed44..87c3a0b 100644 --- a/src/chat/base.tmpl +++ b/src/chat/base.tmpl @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/base.tmpl *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow @@ -64,18 +64,21 @@ template<class type> void base<type>::dumpit() { - dumpable::add("[base]"); + dumpable::add + ("[base]"); vector<string>* p_vec = nhashmap<type*>::get_key_vector(); vector<string>::iterator iter; for (iter = p_vec->begin(); iter != p_vec->end(); ++iter) { - dumpable::add(*iter); + dumpable::add + (*iter); type* p_elem = get_elem(*iter); if (p_elem) { dumpable::next_no_newline(); - dumpable::add(p_elem->dump(dumpable::get_level())); + dumpable::add + (p_elem->dump(dumpable::get_level())); } } diff --git a/src/chat/chat.cpp b/src/chat/chat.cpp index 764da85..a56c74d 100644 --- a/src/chat/chat.cpp +++ b/src/chat/chat.cpp @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/chat.cpp *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow @@ -40,9 +40,8 @@ chat::chat( ) wrap::system_message(CHATREP); vector<string>* p_vec_keys = wrap::CONF->get_key_vector(); - for (vector<string>::iterator iter = p_vec_keys->begin(); - iter != p_vec_keys->end(); - iter++ ) + for (vector<string>::iterator iter = p_vec_keys-> begin(); + iter != p_vec_keys->end(); iter++ ) { if ( iter->length() >= 24 && iter->compare( 0, 22, "chat.html.replace.from" ) == 0 ) { @@ -147,8 +146,8 @@ chat::login( map<string,string> &map_params ) return; } - // prove if maxpoolsize (threads) allows this login - else if ( !wrap::POOL->allow_user_login() ) + // prove if maxpoolsize (threads) allows this login + else if ( !pool::allow_user_login() ) { map_params["INFO"] = wrap::CONF->get_elem( "chat.msgs.err.maxuserlimit" ); map_params["request"] = wrap::CONF->get_elem( "httpd.startsite" ); // redirect to the startpage. @@ -156,6 +155,13 @@ chat::login( map<string,string> &map_params ) return; } + // prove if nick is banned from chat + if (map_banned_nicks.exists(tool::to_lower(s_user))) { + map_params["INFO"] = wrap::CONF->get_elem( "chat.msgs.err.banned" ); + map_params["request"] = wrap::CONF->get_elem( "httpd.startsite" ); + return; + } + bool b_flag; // prove if nick is already online / logged in. @@ -349,6 +355,13 @@ chat::post( user* p_user, map<string,string> &map_params ) if ( i_pos == 0 ) return p_user->command( s_msg ); + if (p_user->get_is_gag()) + { + p_user->msg_post(wrap::CONF->colored_error_msg("chat.msgs.err.gagged")); + return; + } + + string_replacer(&s_msg); string s_post; @@ -387,8 +400,38 @@ chat::string_replacer(string *p_msg) void chat::dumpit() { - dumpable::add("[chat]"); + dumpable::add + ("[chat]"); base<room>::dumpit(); } +string +chat::ban_nick(string &s_nick, string s_reason) { + string s_lower_nick(tool::to_lower(s_nick)); + + if (map_banned_nicks.exists(s_lower_nick)) + return map_banned_nicks.get_elem(s_lower_nick); + + map_banned_nicks.add_elem(s_reason, s_lower_nick); + return ""; +} + +string +chat::unban_nick(string &s_nick) { + string s_lower_nick(tool::to_lower(s_nick)); + + if (!map_banned_nicks.exists(s_lower_nick)) + return ""; + + string s_ret(map_banned_nicks.get_elem(s_lower_nick)); + map_banned_nicks.del_elem(s_lower_nick); + + return s_ret; +} + +shashmap<string>* +chat::get_map_banned_nicks() { + return &map_banned_nicks; +} + #endif diff --git a/src/chat/chat.h b/src/chat/chat.h index b61ed95..1758790 100644 --- a/src/chat/chat.h +++ b/src/chat/chat.h @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/chat.h *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow diff --git a/src/chat/gcol.cpp b/src/chat/gcol.cpp index 099f11e..b7f1288 100644 --- a/src/chat/gcol.cpp +++ b/src/chat/gcol.cpp @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/gcol.cpp *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow @@ -36,10 +36,6 @@ gcol::gcol() p_map_users = new shashmap<user*>; wrap::system_message( GARBAGE ); -#ifdef NCURSES - - print_garbage(); -#endif } gcol::~gcol() @@ -66,14 +62,10 @@ void gcol::add_user_to_garbage( user* p_user ) { p_user->s_mess_delete(); - p_map_users->add_elem( p_user, tool::to_lower(p_user->get_name()) ); - wrap::system_message( GARUSER + p_user->get_name() ); + p_map_users->add_elem(p_user, tool::to_lower(p_user->get_name())); + wrap::system_message(GARUSER + p_user->get_name()); p_user->destroy_session(); -#ifdef NCURSES - - print_garbage(); -#endif } bool @@ -128,11 +120,6 @@ gcol::get_room_from_garbage() vec_rooms.pop_back(); pthread_mutex_unlock( &mut_vec_rooms ); -#ifdef NCURSES - - print_garbage(); -#endif - return p_room; } @@ -151,7 +138,6 @@ gcol::get_user_from_garbage( string s_user ) { user* p_user = p_map_users->get_elem( tool::to_lower(s_user) ); - ; if ( p_user != NULL ) { @@ -161,11 +147,6 @@ gcol::get_user_from_garbage( string s_user ) p_user->set_invisible( false ); p_user->renew_timeout(); wrap::system_message(GARUSE2 + p_user->get_name() ); -#ifdef NCURSES - - print_garbage(); -#endif - } return p_user; @@ -191,19 +172,4 @@ gcol::unlock_mutex() pthread_mutex_unlock ( &mut_vec_rooms ); } -#ifdef NCURSES -void -gcol::print_garbage( ) -{ - if ( wrap::NCUR->is_ready() ) - { - pthread_mutex_lock ( &mut_vec_rooms ); - mvprintw( NCUR_GARBAGE_X,NCUR_GARBAGE_Y, "Garbage: %d ", p_map_users->size() + vec_rooms.size() ); - pthread_mutex_unlock( &mut_vec_rooms ); - refresh(); - } -} - -#endif - #endif diff --git a/src/chat/gcol.h b/src/chat/gcol.h index ab84269..a564d22 100644 --- a/src/chat/gcol.h +++ b/src/chat/gcol.h @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/gcol.h *: - *: yChat; Homepage: www.yChat.org; Version 0.7.9.5-RELEASE + *: yChat; Homepage: www.yChat.org; Version 0.8.3-CURRENT *: *: Copyright (C) 2003 Paul C. Buetow, Volker Richter *: Copyright (C) 2004 Paul C. Buetow diff --git a/src/chat/perm.cpp b/src/chat/perm.cpp index f84d4de..544d2c0 100644 --- a/src/chat/perm.cpp +++ b/src/chat/perm.cpp @@ -1,7 +1,7 @@ /*:* *: File: ./src/chat/perm.cpp *: - *: yChat; Homepage: www.yChat.org; |
