Update of /cvsroot/gaim/gaim/src/protocols/oscar
In directory usw-pr-cvs1:/tmp/cvs-serv16570
Modified Files:
oscar.c
Log Message:
Please buy the Swordfish DVD, and talk to GabrielShear on AIM.
(But SmarterChild is better.)
Index: oscar.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- oscar.c 2001/10/25 05:05:05 1.51
+++ oscar.c 2001/11/01 02:25:13 1.52
@@ -858,29 +858,10 @@
}
static int server_ready_auth(aim_session_t *sess, aim_frame_t *fr, ...) {
- struct gaim_connection *gc = sess->aux_data;
- struct oscar_data *od = gc->proto_data;
aim_auth_setversions(sess, fr->conn);
aim_bos_reqrate(sess, fr->conn);
debug_printf("done with AUTH ServerReady\n");
- if (od->chpass) {
- debug_printf("changing password\n");
- aim_auth_changepasswd(sess, fr->conn, od->newp, od->oldp);
- g_free(od->oldp);
- g_free(od->newp);
- od->chpass = FALSE;
- }
- if (od->conf) {
- debug_printf("confirming account\n");
- aim_auth_reqconfirm(sess, fr->conn);
- od->conf = FALSE;
- }
- if (od->reqemail) {
- debug_printf("requesting email\n");
- aim_auth_getinfo(sess, fr->conn, 0x0011);
- od->reqemail = FALSE;
- }
return 1;
}
@@ -893,33 +874,47 @@
return 1;
}
+static int rateresp_chat(aim_session_t *sess, aim_frame_t *fr, ...) {
+ struct gaim_connection *gc = sess->aux_data;
+ struct chat_connection *chatcon;
+ static int id = 1;
+
+ aim_bos_ackrateresp(sess, fr->conn);
+ aim_chat_clientready(sess, fr->conn);
+ chatcon = find_oscar_chat_by_conn(gc, fr->conn);
+ chatcon->id = id;
+ chatcon->cnv = serv_got_joined_chat(gc, id++, chatcon->show);
+
+ return 1;
+}
+
+static int rateresp_chatnav(aim_session_t *sess, aim_frame_t *fr, ...) {
+
+ aim_bos_ackrateresp(sess, fr->conn);
+ aim_chatnav_clientready(sess, fr->conn);
+ aim_chatnav_reqrights(sess, fr->conn);
+
+ return 1;
+}
+
static int server_ready_chatnav(aim_session_t *sess, aim_frame_t *fr, ...) {
debug_printf("chatnav: got server ready\n");
+ aim_conn_addhandler(sess, fr->conn, 0x0001, 0x0007, rateresp_chatnav, 0);
aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CTN, AIM_CB_CTN_INFO, gaim_chatnav_info, 0);
aim_bos_reqrate(sess, fr->conn);
- aim_bos_ackrateresp(sess, fr->conn);
- aim_chatnav_clientready(sess, fr->conn);
- aim_chatnav_reqrights(sess, fr->conn);
return 1;
}
static int server_ready_chat(aim_session_t *sess, aim_frame_t *fr, ...) {
- struct gaim_connection *gc = sess->aux_data;
- struct chat_connection *chatcon;
- static int id = 1;
debug_printf("chat: got server ready\n");
+ aim_conn_addhandler(sess, fr->conn, 0x0001, 0x0007, rateresp_chat, 0);
aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERJOIN, gaim_chat_join, 0);
aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_USERLEAVE, gaim_chat_leave, 0);
aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_ROOMINFOUPDATE, gaim_chat_info_update, 0);
aim_conn_addhandler(sess, fr->conn, AIM_CB_FAM_CHT, AIM_CB_CHT_INCOMINGMSG, gaim_chat_incoming_msg, 0);
aim_bos_reqrate(sess, fr->conn);
- aim_bos_ackrateresp(sess, fr->conn);
- aim_chat_clientready(sess, fr->conn);
- chatcon = find_oscar_chat_by_conn(gc, fr->conn);
- chatcon->id = id;
- chatcon->cnv = serv_got_joined_chat(gc, id++, chatcon->show);
return 1;
}
@@ -1965,9 +1960,30 @@
}
static int rateresp_auth(aim_session_t *sess, aim_frame_t *fr, ...) {
+ struct gaim_connection *gc = sess->aux_data;
+ struct oscar_data *od = gc->proto_data;
+
aim_bos_ackrateresp(sess, fr->conn);
aim_auth_clientready(sess, fr->conn);
debug_printf("connected to auth (admin)\n");
+
+ if (od->chpass) {
+ debug_printf("changing password\n");
+ aim_auth_changepasswd(sess, fr->conn, od->newp, od->oldp);
+ g_free(od->oldp);
+ g_free(od->newp);
+ od->chpass = FALSE;
+ }
+ if (od->conf) {
+ debug_printf("confirming account\n");
+ aim_auth_reqconfirm(sess, fr->conn);
+ od->conf = FALSE;
+ }
+ if (od->reqemail) {
+ debug_printf("requesting email\n");
+ aim_auth_getinfo(sess, fr->conn, 0x0011);
+ od->reqemail = FALSE;
+ }
return 1;
}
|