summaryrefslogtreecommitdiff
path: root/src/chat
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:42 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:42 +0200
commit658bfd183905576ed5f4dbe57a2ee82711b6ac93 (patch)
tree08cf25d1a1fb09b643a65c5b237c52bce791f307 /src/chat
parent42b79aa5c591dde88e78922a519802f948d9ea60 (diff)
tagging ychat-0.7.9.0ychat-0.7.9.0
Diffstat (limited to 'src/chat')
-rw-r--r--src/chat/CVS/Entries17
-rw-r--r--src/chat/CVS/Repository1
-rw-r--r--src/chat/CVS/Root1
-rwxr-xr-xsrc/chat/base.h4
-rwxr-xr-xsrc/chat/base.tmpl30
-rwxr-xr-xsrc/chat/chat.cpp8
-rwxr-xr-xsrc/chat/chat.h1
-rwxr-xr-xsrc/chat/gcol.cpp2
-rwxr-xr-xsrc/chat/room.cpp10
-rwxr-xr-xsrc/chat/room.h2
-rwxr-xr-xsrc/chat/sman.cpp20
-rwxr-xr-xsrc/chat/sman.h3
-rwxr-xr-xsrc/chat/user.cpp41
-rwxr-xr-xsrc/chat/user.h8
14 files changed, 42 insertions, 106 deletions
diff --git a/src/chat/CVS/Entries b/src/chat/CVS/Entries
new file mode 100644
index 0000000..1eaa9f0
--- /dev/null
+++ b/src/chat/CVS/Entries
@@ -0,0 +1,17 @@
+/base.h/1.8/Mon Feb 21 01:55:49 2005//
+/base.tmpl/1.6/Mon Feb 21 01:55:49 2005//
+/chat.cpp/1.20/Fri Feb 25 00:15:38 2005//
+/chat.h/1.12/Wed Feb 23 03:12:05 2005//
+/gcol.cpp/1.7/Mon Feb 21 01:55:49 2005//
+/gcol.h/1.5/Mon Feb 21 01:55:49 2005//
+/perm.cpp/1.10/Mon Feb 21 01:55:49 2005//
+/perm.h/1.8/Mon Feb 21 01:55:49 2005//
+/room.cpp/1.11/Fri Mar 4 00:34:29 2005//
+/room.h/1.8/Fri Mar 4 00:34:29 2005//
+/sess.cpp/1.6/Mon Feb 21 01:55:49 2005//
+/sess.h/1.6/Mon Feb 21 01:55:49 2005//
+/sman.cpp/1.11/Mon Feb 21 01:55:49 2005//
+/sman.h/1.6/Mon Feb 21 01:55:49 2005//
+/user.cpp/1.18/Sun Mar 6 20:44:47 2005//
+/user.h/1.11/Mon Feb 21 01:55:49 2005//
+D
diff --git a/src/chat/CVS/Repository b/src/chat/CVS/Repository
new file mode 100644
index 0000000..6215e07
--- /dev/null
+++ b/src/chat/CVS/Repository
@@ -0,0 +1 @@
+ychat/src/chat
diff --git a/src/chat/CVS/Root b/src/chat/CVS/Root
new file mode 100644
index 0000000..745de68
--- /dev/null
+++ b/src/chat/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@buetow.org:/usr/home/cvs/cvsroot
diff --git a/src/chat/base.h b/src/chat/base.h
index b995c5c..9da4304 100755
--- a/src/chat/base.h
+++ b/src/chat/base.h
@@ -9,9 +9,6 @@
template<class type>
class base : public nhashmap<type*>
{
-protected:
- void dumpit();
-
public:
base();
~base();
@@ -25,7 +22,6 @@ public:
}
virtual type* get_elem( string s_name, bool &b_found ); // get a element.
- virtual type* get_elem( string s_name );
virtual void add_elem( type* p_type ); // add a element.
// chat::msg_post sends to all users of the system a message.
diff --git a/src/chat/base.tmpl b/src/chat/base.tmpl
index 5b0fceb..0be21aa 100755
--- a/src/chat/base.tmpl
+++ b/src/chat/base.tmpl
@@ -22,40 +22,10 @@ base<type>::get_elem( string s_name, bool &b_found )
}
template<class type>
-type*
-base<type>::get_elem( string s_name)
-{
- bool b;
- return get_elem(s_name, b);
-}
-
-template<class type>
void
base<type>::add_elem( type* p_type )
{
nhashmap<type*>::add_elem(p_type, p_type->get_lowercase_name());
}
-template<class type>
-void
-base<type>::dumpit()
-{
- 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);
- type* p_elem = get_elem(*iter);
- if (p_elem)
- {
- dumpable::next_no_newline();
- dumpable::add(p_elem->dump(dumpable::get_level()));
- }
- }
-
- delete p_vec;
-}
-
#endif
diff --git a/src/chat/chat.cpp b/src/chat/chat.cpp
index e4cbaac..0839261 100755
--- a/src/chat/chat.cpp
+++ b/src/chat/chat.cpp
@@ -165,6 +165,7 @@ chat::login( map<string,string> &map_params )
else
{
sess* p_sess = wrap::SMAN->create_session();
+ //p_sess->set_value( string("nick"), (void *) new string(s_user) );
p_sess->set_user(p_user);
map_params["tmpid"] = p_sess->get_tmpid();
p_user->set_tmpid( map_params["tmpid"] );
@@ -360,11 +361,4 @@ chat::string_replacer(string *p_msg)
}
}
-void
-chat::dumpit()
-{
- dumpable::add("[chat]");
- base<room>::dumpit();
-}
-
#endif
diff --git a/src/chat/chat.h b/src/chat/chat.h
index bb087d5..47645c3 100755
--- a/src/chat/chat.h
+++ b/src/chat/chat.h
@@ -23,7 +23,6 @@ class chat : public base<room>, public perm
private:
map<string,string> map_replace_strings;
vector<string> vec_replace_keys;
- void dumpit();
public:
virtual room* get_room( string s_name )
diff --git a/src/chat/gcol.cpp b/src/chat/gcol.cpp
index d4c9416..7df111d 100755
--- a/src/chat/gcol.cpp
+++ b/src/chat/gcol.cpp
@@ -44,8 +44,6 @@ 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_user->destroy_session();
-
#ifdef NCURSES
print_garbage();
diff --git a/src/chat/room.cpp b/src/chat/room.cpp
index 0e28c84..b927d40 100755
--- a/src/chat/room.cpp
+++ b/src/chat/room.cpp
@@ -101,14 +101,4 @@ room::set_name( string s_name )
#endif
}
-void
-room::dumpit()
-{
- dumpable::add("[room]");
- dumpable::add("Name: "+get_name());
- dumpable::add("Topic: "+get_topic());
- base<user>::dumpit();
-}
-
-
#endif
diff --git a/src/chat/room.h b/src/chat/room.h
index 4c5fac6..06b0a9a 100755
--- a/src/chat/room.h
+++ b/src/chat/room.h
@@ -23,8 +23,6 @@ private:
logd* p_logd;
#endif
-
- void dumpit();
public:
room( string s_name );
diff --git a/src/chat/sman.cpp b/src/chat/sman.cpp
index 530aa17..d80d421 100755
--- a/src/chat/sman.cpp
+++ b/src/chat/sman.cpp
@@ -21,33 +21,23 @@ sman::~sman()
string sman::generate_id( int i_len )
{
- string s_valid = wrap::CONF->get_elem("chat.session.validchars");
+ string valid_chars = wrap::CONF->get_elem("chat.session.validchars");
string s_ret = "";
srand(time(0)+tool::string2int(wrap::CONF->get_elem("chat.session.kloakkey")));
int i_char;
-
for (int i = 0; i < i_len; i++)
{
- i_char = rand() % s_valid.length();
- s_ret += s_valid[i_char];
+ i_char = rand() % 64;
+ s_ret += valid_chars[i_char];
}
if ( wrap::CONF->get_elem("chat.session.md5hash") == "true" )
{
string s_salt = wrap::CONF->get_elem("chat.session.md5salt");
- string s_hash(md5::MD5Crypt(s_ret.c_str(), s_salt.c_str()));
- s_ret.append(s_hash.substr(s_ret.find(s_salt) + s_salt.length() + 3));
- }
-
- // Prove, if the TempID already exists
- sess* p_sess = get_elem(s_ret);
-
- if (p_sess)
- {
- wrap::system_message(SESSEXI);
- return generate_id(i_len);
+ s_ret = string(md5::MD5Crypt(s_ret.c_str(), s_salt.c_str()));
+ return s_ret.substr(s_ret.find(s_salt) + s_salt.length() + 3);
}
return s_ret;
diff --git a/src/chat/sman.h b/src/chat/sman.h
index 13fc45a..992fc64 100755
--- a/src/chat/sman.h
+++ b/src/chat/sman.h
@@ -7,11 +7,10 @@
#include "sess.h"
#include "../maps/shashmap.h"
-#include "../monitor/dump.h"
using namespace std;
-class sman : public shashmap<sess*>
+class sman : private shashmap<sess*>
{
private:
string generate_id( int i_len );
diff --git a/src/chat/user.cpp b/src/chat/user.cpp
index bac8b7e..d46f853 100755
--- a/src/chat/user.cpp
+++ b/src/chat/user.cpp
@@ -73,27 +73,23 @@ user::initialize()
void
user::clean()
{
- destroy_session();
- set_fake( false );
- set_invisible( false );
- set_away( false, "" );
-}
-
-void
-user::destroy_session()
-{
- if ( !get_has_sess() )
- return;
+ // If this user has a session
+ if ( get_has_sess() )
+ {
#ifdef DATABASE
- // Store all changed data into the mysql table if this user is registered:
- if ( b_is_reg )
- wrap::DATA->update_user_data( get_name(), "savechangednick", map_changed_data );
+ // Store all changed data into the mysql table if this user is registered:
+ if ( b_is_reg )
+ wrap::DATA->update_user_data( get_name(), "savechangednick", map_changed_data );
#endif
- set_has_sess(false);
- wrap::SMAN->destroy_session(get_tmpid());
- set_tmpid("");
+ wrap::SMAN->destroy_session( get_tmpid() );
+ // wrap::system_message( SESSION + tool::int2string( wrap::SMAN->get_session_count() ) );
+ }
+
+ set_fake( false );
+ set_invisible( false );
+ set_away( false, "" );
}
string
@@ -581,15 +577,4 @@ void
user::reconf()
{}
-void
-user::dumpit()
-{
- dumpable::add("[user]");
- dumpable::add("Name: " + get_name() +
- "; Room: " + get_room()->get_name() +
- "; Status: " + tool::int2string(get_status()));
- dumpable::add("TempID: " + get_tmpid());
-}
-
-
#endif
diff --git a/src/chat/user.h b/src/chat/user.h
index 4632e07..443eef6 100755
--- a/src/chat/user.h
+++ b/src/chat/user.h
@@ -5,13 +5,13 @@
#include "../name.h"
#include "../time/timo.h"
-#include "../monitor/dump.h"
+//#include "../memb/memb.h"
class room;
using namespace std;
-class user : public name, public timo, public dumpable
+class user : public name, public timo//, public memb<string>
{
private:
@@ -56,8 +56,7 @@ private:
pthread_mutex_t mut_map_changed_data;
void initialize();
- void set_changed_data( string s_varname, string s_value );
- void dumpit();
+ void set_changed_data( string s_varname, string s_value );
public:
pthread_cond_t cond_message;
@@ -68,7 +67,6 @@ public:
~user();
void clean();
- void destroy_session();
// gets specific data of this user und stores it in
// (*p_map<string,string>)["nick"]. this method will be used