diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-06-06 00:26:07 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-06-06 00:26:07 +0100 | 
| commit | 1fdb0a48438d6dc4a4795d195737890ed3e46a96 (patch) | |
| tree | 8a50bf83b78ee1c0e516e8ae6e9f9a079a3fe6df /protocols/oscar | |
| parent | b308cf9bafbdf76da73a57607b65c4763aa3057b (diff) | |
| parent | 3dc6d86076dbea16c313bb87aa2f37166f289a8e (diff) | |
Merging mainline.
Diffstat (limited to 'protocols/oscar')
| -rw-r--r-- | protocols/oscar/auth.c | 3 | ||||
| -rw-r--r-- | protocols/oscar/oscar.c | 10 | 
2 files changed, 10 insertions, 3 deletions
| diff --git a/protocols/oscar/auth.c b/protocols/oscar/auth.c index eb6a9d64..0f7c8d0f 100644 --- a/protocols/oscar/auth.c +++ b/protocols/oscar/auth.c @@ -119,11 +119,12 @@ int aim_request_login(aim_session_t *sess, aim_conn_t *conn, const char *sn)  	aim_frame_t *fr;  	aim_snacid_t snacid;  	aim_tlvlist_t *tl = NULL; +	struct im_connection *ic = sess->aux_data;  	if (!sess || !conn || !sn)  		return -EINVAL; -	if ((sn[0] >= '0') && (sn[0] <= '9')) +	if (isdigit(sn[0]) && set_getbool(&ic->acc->set, "old_icq_auth"))  		return goddamnicq(sess, conn, sn);  	sess->flags |= AIM_SESS_FLAGS_SNACLOGIN; diff --git a/protocols/oscar/oscar.c b/protocols/oscar/oscar.c index 5633d399..7086657a 100644 --- a/protocols/oscar/oscar.c +++ b/protocols/oscar/oscar.c @@ -373,6 +373,7 @@ static void oscar_init(account_t *acc)  	if (isdigit(acc->user[0])) {  		set_add(&acc->set, "ignore_auth_requests", "false", set_eval_bool, acc); +		set_add(&acc->set, "old_icq_auth", "false", set_eval_bool, acc);  	}  	s = set_add(&acc->set, "server", AIM_DEFAULT_LOGIN_SERVER, set_eval_account, acc); @@ -1029,16 +1030,21 @@ static int incomingim_chan2(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_  		*exch = args->info.chat.roominfo.exchange;  		m = g_list_append(m, exch); -		g_snprintf( txt, 1024, "Got an invitation to chatroom %s from %s: %s", name, userinfo->sn, args->msg ); +		g_snprintf(txt, 1024, "Got an invitation to chatroom %s from %s: %s", name, userinfo->sn, args->msg);  		inv->ic = ic;  		inv->exchange = *exch;  		inv->name = g_strdup(name); -		imcb_ask( ic, txt, inv, oscar_accept_chat, oscar_reject_chat); +		imcb_ask(ic, txt, inv, oscar_accept_chat, oscar_reject_chat);  		if (name)  			g_free(name); +	} else if (args->reqclass & AIM_CAPS_ICQRTF) { +		// TODO: constify +		char text[strlen(args->info.rtfmsg.rtfmsg)+1]; +		strncpy(text, args->info.rtfmsg.rtfmsg, sizeof(text)); +		imcb_buddy_msg(ic, normalize(userinfo->sn), text, 0, 0);  	}  	return 1; | 
