aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
authorSven Moritz Hallberg <sm@khjk.org>2008-02-09 18:58:13 +0100
committerSven Moritz Hallberg <sm@khjk.org>2008-02-09 18:58:13 +0100
commit5a71d9c5b14aa749b532666b71b25ce2afcdc5bb (patch)
tree5e6ec25cb526a9940ba6ba4c63dc590a8991679f /protocols
parenta13855a57daae6eba05c9600b69f640c2949e944 (diff)
- add support for setting ops/voice according to OTR msgstate
- add 'otr trust' user command - support non-otr messages during keygen - run otr messages through strip_html - interpret <b> and <i> tags in html messages - record max message size in prpl - add 'encrypted' flag to user_t - cosmetics
Diffstat (limited to 'protocols')
-rw-r--r--protocols/jabber/jabber.c1
-rw-r--r--protocols/msn/msn.c1
-rw-r--r--protocols/nogaim.c17
-rw-r--r--protocols/nogaim.h4
-rw-r--r--protocols/oscar/oscar.c1
-rw-r--r--protocols/yahoo/yahoo.c1
6 files changed, 19 insertions, 6 deletions
diff --git a/protocols/jabber/jabber.c b/protocols/jabber/jabber.c
index 243ed7fd..dac18bae 100644
--- a/protocols/jabber/jabber.c
+++ b/protocols/jabber/jabber.c
@@ -510,6 +510,7 @@ void jabber_initmodule()
struct prpl *ret = g_new0( struct prpl, 1 );
ret->name = "jabber";
+ ret->mms = 0; /* no limit */
ret->login = jabber_login;
ret->init = jabber_init;
ret->logout = jabber_logout;
diff --git a/protocols/msn/msn.c b/protocols/msn/msn.c
index a2e8519a..335ae894 100644
--- a/protocols/msn/msn.c
+++ b/protocols/msn/msn.c
@@ -371,6 +371,7 @@ void msn_initmodule()
struct prpl *ret = g_new0(struct prpl, 1);
ret->name = "msn";
+ ret->mms = 1409; /* this guess taken from libotr UPGRADING file */
ret->login = msn_login;
ret->init = msn_init;
ret->logout = msn_logout;
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index d8bfad14..138e2ce1 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -602,10 +602,9 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,
/* else waste_any_state_information_for_now(); */
/* LISPy... */
- if( ( set_getbool( &ic->irc->set, "away_devoice" ) ) && /* Don't do a thing when user doesn't want it */
- ( u->online ) && /* Don't touch offline people */
- ( ( ( u->online != oo ) && !u->away ) || /* Voice joining people */
- ( ( u->online == oo ) && ( oa == !u->away ) ) ) ) /* (De)voice people changing state */
+ if( ( u->online ) && /* Don't touch offline people */
+ ( ( ( u->online != oo ) && !u->away ) || /* Do joining people */
+ ( ( u->online == oo ) && ( oa == !u->away ) ) ) ) /* Do people changing state */
{
char *from;
@@ -618,8 +617,14 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,
from = g_strdup_printf( "%s!%s@%s", ic->irc->mynick, ic->irc->mynick,
ic->irc->myhost );
}
- irc_write( ic->irc, ":%s MODE %s %cv %s", from, ic->irc->channel,
- u->away?'-':'+', u->nick );
+ if(!strcmp(set_getstr(&ic->irc->set, "voice_buddies"), "notaway")) {
+ irc_write( ic->irc, ":%s MODE %s %cv %s", from, ic->irc->channel,
+ u->away?'-':'+', u->nick );
+ }
+ if(!strcmp(set_getstr(&ic->irc->set, "op_buddies"), "notaway")) {
+ irc_write( ic->irc, ":%s MODE %s %co %s", from, ic->irc->channel,
+ u->away?'-':'+', u->nick );
+ }
g_free( from );
}
}
diff --git a/protocols/nogaim.h b/protocols/nogaim.h
index 7d391edd..3eb640e2 100644
--- a/protocols/nogaim.h
+++ b/protocols/nogaim.h
@@ -135,6 +135,10 @@ struct prpl {
/* You should set this to the name of your protocol.
* - The user sees this name ie. when imcb_log() is used. */
const char *name;
+ /* Maximum Message Size of this protocol.
+ * - Introduced for OTR, in order to fragment large protocol messages.
+ * - 0 means "unlimited". */
+ unsigned int mms;
/* Added this one to be able to add per-account settings, don't think
* it should be used for anything else. You are supposed to use the
diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c
index 30ad4b68..9167f6a3 100644
--- a/protocols/oscar/oscar.c
+++ b/protocols/oscar/oscar.c
@@ -2602,6 +2602,7 @@ void oscar_initmodule()
{
struct prpl *ret = g_new0(struct prpl, 1);
ret->name = "oscar";
+ ret->mms = 2343; /* this guess taken from libotr UPGRADING file */
ret->away_states = oscar_away_states;
ret->init = oscar_init;
ret->login = oscar_login;
diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c
index 9f9ffcf7..52747bb4 100644
--- a/protocols/yahoo/yahoo.c
+++ b/protocols/yahoo/yahoo.c
@@ -353,6 +353,7 @@ void byahoo_initmodule( )
{
struct prpl *ret = g_new0(struct prpl, 1);
ret->name = "yahoo";
+ ret->mms = 832; /* this guess taken from libotr UPGRADING file */
ret->init = byahoo_init;
ret->login = byahoo_login;