# HG changeset patch # User Eric Warmenhoven # Date 992751444 0 # Node ID 5424784377f6558cdd6d02c36db4f7a4736b7d3c # Parent 087ae7b0766fa475016a6038e7cd78f140b87f55 [gaim-migrate @ 2056] i'm bored committer: Tailor Script diff -r 087ae7b0766f -r 5424784377f6 TODO --- a/TODO Sun Jun 17 04:00:30 2001 +0000 +++ b/TODO Sun Jun 17 04:17:24 2001 +0000 @@ -8,11 +8,6 @@ Implement: OPT_PROTO_NO_PASSWORD (mainly for IRC/Zephyr) - should hide password dialog in account editor - OPT_PROTO_OFFLINE to allow sending offline messages... checkbox on - the convo window? need to decide UI for switching between - offline/normal message. uh... maybe this isn't the best - idea, but we need something that gives us this functionality.... - prpl->send_im_offline? OPT_PROTO_MAILCHECK (mainly for Yahoo/MSN) - with appropriate toggle on account editor modify thing for whether or not to display it (and also move Yahoo/MSN dialog to prpl.c and have both of @@ -57,7 +52,6 @@ File Transfer ICQ: - Authorization (is requesting Auth necessary?) Chat File Transfer New User Registration diff -r 087ae7b0766f -r 5424784377f6 plugins/icq/gaim_icq.c --- a/plugins/icq/gaim_icq.c Sun Jun 17 04:00:30 2001 +0000 +++ b/plugins/icq/gaim_icq.c Sun Jun 17 04:17:24 2001 +0000 @@ -244,6 +244,36 @@ return; } +struct icq_auth { + icq_Link *link; + unsigned long uin; +}; + +static void icq_den_auth(gpointer x, struct icq_auth *iq) +{ + g_free(iq); +} + +static void icq_acc_auth(gpointer x, struct icq_auth *iq) +{ + icq_SendAuthMsg(iq->link, iq->uin); +} + +static void icq_auth_req(icq_Link *link, unsigned long uin, unsigned char hour, unsigned char minute, + unsigned char day, unsigned char month, unsigned short year, const char *nick, + const char *first, const char *last, const char *email, const char *reason) +{ + char msg[8192]; + struct icq_auth *iq = g_new0(struct icq_auth, 1); + iq->link = link; + iq->uin = uin; + + g_snprintf(msg, sizeof(msg), "The user %s (%s%s%s%s%s) wants you to authorize them.", + nick, first ? first : "", first && last ? " " : "", last ? last : "", + (first || last) && email ? ", " : "", email ? email : ""); + do_ask_dialog(msg, iq, icq_acc_auth, icq_den_auth); +} + static void icq_login(struct aim_user *user) { struct gaim_connection *gc = new_gaim_conn(user); struct icq_data *id = gc->proto_data = g_new0(struct icq_data, 1); @@ -263,6 +293,7 @@ link->icq_RecvURL = icq_url_incoming; link->icq_RecvWebPager = icq_web_pager; link->icq_RecvMailExpress = icq_mail_express; + link->icq_RecvAuthReq = icq_auth_req; link->icq_UserOnline = icq_user_online; link->icq_UserOffline = icq_user_offline; link->icq_UserStatusUpdate = icq_user_status;