Mercurial > pidgin
comparison src/protocols/msn/notification.c @ 7134:67f9b43c402a
[gaim-migrate @ 7701]
I think this is the fifth Yahoo authentication method Gaim's seen in its
days. Please tell me if anything stops working.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Fri, 03 Oct 2003 23:01:13 +0000 |
parents | dece74f05509 |
children | d14e026611c0 |
comparison
equal
deleted
inserted
replaced
7133:28dd20b5f4cf | 7134:67f9b43c402a |
---|---|
170 MsnSession *session = pa->gc->proto_data; | 170 MsnSession *session = pa->gc->proto_data; |
171 char outparams[MSN_BUF_LEN]; | 171 char outparams[MSN_BUF_LEN]; |
172 | 172 |
173 g_snprintf(outparams, sizeof(outparams), "AL %s %s", | 173 g_snprintf(outparams, sizeof(outparams), "AL %s %s", |
174 msn_user_get_passport(pa->user), | 174 msn_user_get_passport(pa->user), |
175 msn_url_encode(msn_user_get_name(pa->user))); | 175 gaim_url_encode(msn_user_get_name(pa->user))); |
176 | 176 |
177 if (msn_servconn_send_command(session->notification_conn, | 177 if (msn_servconn_send_command(session->notification_conn, |
178 "ADD", outparams) <= 0) { | 178 "ADD", outparams) <= 0) { |
179 gaim_connection_error(pa->gc, _("Write error")); | 179 gaim_connection_error(pa->gc, _("Write error")); |
180 return; | 180 return; |
198 MsnSession *session = pa->gc->proto_data; | 198 MsnSession *session = pa->gc->proto_data; |
199 char outparams[MSN_BUF_LEN]; | 199 char outparams[MSN_BUF_LEN]; |
200 | 200 |
201 g_snprintf(outparams, sizeof(outparams), "BL %s %s", | 201 g_snprintf(outparams, sizeof(outparams), "BL %s %s", |
202 msn_user_get_passport(pa->user), | 202 msn_user_get_passport(pa->user), |
203 msn_url_encode(msn_user_get_name(pa->user))); | 203 gaim_url_encode(msn_user_get_name(pa->user))); |
204 | 204 |
205 if (msn_servconn_send_command(session->notification_conn, | 205 if (msn_servconn_send_command(session->notification_conn, |
206 "ADD", outparams) <= 0) { | 206 "ADD", outparams) <= 0) { |
207 gaim_connection_error(pa->gc, _("Write error")); | 207 gaim_connection_error(pa->gc, _("Write error")); |
208 return; | 208 return; |
323 char *request_str; | 323 char *request_str; |
324 char *buffer = NULL; | 324 char *buffer = NULL; |
325 size_t s; | 325 size_t s; |
326 | 326 |
327 username = | 327 username = |
328 g_strdup(msn_url_encode(gaim_account_get_username(session->account))); | 328 g_strdup(gaim_url_encode(gaim_account_get_username(session->account))); |
329 password = | 329 password = |
330 g_strdup(msn_url_encode(gaim_account_get_password(session->account))); | 330 g_strdup(gaim_url_encode(gaim_account_get_password(session->account))); |
331 | 331 |
332 request_str = g_strdup_printf( | 332 request_str = g_strdup_printf( |
333 "GET %s HTTP/1.1\r\n" | 333 "GET %s HTTP/1.1\r\n" |
334 "Authorization: Passport1.4 OrgVerb=GET,OrgURL=%s,sign-in=%s,pwd=%s," | 334 "Authorization: Passport1.4 OrgVerb=GET,OrgURL=%s,sign-in=%s,pwd=%s," |
335 "lc=%s,id=%s,tw=%s,fs=%s,ct=%s,kpp=%s,kv=%s,ver=%s,tpf=%s\r\n" | 335 "lc=%s,id=%s,tw=%s,fs=%s,ct=%s,kpp=%s,kv=%s,ver=%s,tpf=%s\r\n" |
426 if ((error = strstr(buffer, "WWW-Authenticate")) != NULL) | 426 if ((error = strstr(buffer, "WWW-Authenticate")) != NULL) |
427 { | 427 { |
428 if ((error = strstr(buffer, "cbtxt=")) != NULL) | 428 if ((error = strstr(buffer, "cbtxt=")) != NULL) |
429 error += strlen("cbtxt="); | 429 error += strlen("cbtxt="); |
430 | 430 |
431 error = msn_url_decode(error); | 431 error = gaim_url_decode(error); |
432 } | 432 } |
433 | 433 |
434 | 434 |
435 if (error == NULL) | 435 if (error == NULL) |
436 { | 436 { |
598 * | 598 * |
599 * Let's find out. | 599 * Let's find out. |
600 */ | 600 */ |
601 if (!g_ascii_strcasecmp(params[1], "OK")) | 601 if (!g_ascii_strcasecmp(params[1], "OK")) |
602 { | 602 { |
603 const char *friendly = msn_url_decode(params[3]); | 603 const char *friendly = gaim_url_decode(params[3]); |
604 | 604 |
605 /* OK */ | 605 /* OK */ |
606 | 606 |
607 gaim_connection_set_display_name(gc, friendly); | 607 gaim_connection_set_display_name(gc, friendly); |
608 | 608 |
656 } | 656 } |
657 | 657 |
658 g_free(challenge_data); | 658 g_free(challenge_data); |
659 | 659 |
660 #if 0 | 660 #if 0 |
661 passport_str = g_strdup(msn_url_decode(params[3])); | 661 passport_str = g_strdup(gaim_url_decode(params[3])); |
662 | 662 |
663 for (c = passport_str; *c != '\0'; c++) | 663 for (c = passport_str; *c != '\0'; c++) |
664 { | 664 { |
665 if (*c == ',') | 665 if (*c == ',') |
666 *c = '&'; | 666 *c = '&'; |
886 char *friend; | 886 char *friend; |
887 char msg[MSN_BUF_LEN]; | 887 char msg[MSN_BUF_LEN]; |
888 | 888 |
889 list = params[1]; | 889 list = params[1]; |
890 passport = params[3]; | 890 passport = params[3]; |
891 friend = msn_url_decode(params[4]); | 891 friend = gaim_url_decode(params[4]); |
892 | 892 |
893 if (param_count >= 6) | 893 if (param_count >= 6) |
894 group_id = params[5]; | 894 group_id = params[5]; |
895 | 895 |
896 if (!g_ascii_strcasecmp(list, "FL")) { | 896 if (!g_ascii_strcasecmp(list, "FL")) { |
937 gint group_id; | 937 gint group_id; |
938 char *group_name; | 938 char *group_name; |
939 | 939 |
940 group_id = atoi(params[3]); | 940 group_id = atoi(params[3]); |
941 | 941 |
942 group_name = msn_url_decode(params[2]); | 942 group_name = gaim_url_decode(params[2]); |
943 | 943 |
944 group = msn_group_new(session, group_id, group_name); | 944 group = msn_group_new(session, group_id, group_name); |
945 | 945 |
946 msn_groups_add(session->groups, group); | 946 msn_groups_add(session->groups, group); |
947 | 947 |
1020 } | 1020 } |
1021 } | 1021 } |
1022 } | 1022 } |
1023 } | 1023 } |
1024 else if (!strcmp(type, "PHH")) | 1024 else if (!strcmp(type, "PHH")) |
1025 msn_user_set_home_phone(user, msn_url_decode(value)); | 1025 msn_user_set_home_phone(user, gaim_url_decode(value)); |
1026 else if (!strcmp(type, "PHW")) | 1026 else if (!strcmp(type, "PHW")) |
1027 msn_user_set_work_phone(user, msn_url_decode(value)); | 1027 msn_user_set_work_phone(user, gaim_url_decode(value)); |
1028 else if (!strcmp(type, "PHM")) | 1028 else if (!strcmp(type, "PHM")) |
1029 msn_user_set_mobile_phone(user, msn_url_decode(value)); | 1029 msn_user_set_mobile_phone(user, gaim_url_decode(value)); |
1030 } | 1030 } |
1031 | 1031 |
1032 return TRUE; | 1032 return TRUE; |
1033 } | 1033 } |
1034 | 1034 |
1055 const char *state, *passport, *friend; | 1055 const char *state, *passport, *friend; |
1056 GaimBuddy *b; | 1056 GaimBuddy *b; |
1057 | 1057 |
1058 state = params[1]; | 1058 state = params[1]; |
1059 passport = params[2]; | 1059 passport = params[2]; |
1060 friend = msn_url_decode(params[3]); | 1060 friend = gaim_url_decode(params[3]); |
1061 | 1061 |
1062 user = msn_users_find_with_passport(session->users, passport); | 1062 user = msn_users_find_with_passport(session->users, passport); |
1063 | 1063 |
1064 serv_got_alias(gc, (char *)passport, (char *)friend); | 1064 serv_got_alias(gc, (char *)passport, (char *)friend); |
1065 | 1065 |
1066 msn_user_set_name(user, friend); | 1066 msn_user_set_name(user, friend); |
1067 | 1067 |
1068 if (session->protocol_ver >= 9 && param_count == 6) | 1068 if (session->protocol_ver >= 9 && param_count == 6) |
1069 { | 1069 { |
1070 msnobj = msn_object_new_from_string(msn_url_decode(params[5])); | 1070 msnobj = msn_object_new_from_string(gaim_url_decode(params[5])); |
1071 msn_user_set_object(user, msnobj); | 1071 msn_user_set_object(user, msnobj); |
1072 } | 1072 } |
1073 | 1073 |
1074 if ((b = gaim_find_buddy(gc->account, passport)) != NULL) | 1074 if ((b = gaim_find_buddy(gc->account, passport)) != NULL) |
1075 status |= ((((b->uc) >> 1) & 0xF0) << 1); | 1075 status |= ((((b->uc) >> 1) & 0xF0) << 1); |
1119 int num_groups, group_id; | 1119 int num_groups, group_id; |
1120 | 1120 |
1121 if (session->protocol_ver >= 8) | 1121 if (session->protocol_ver >= 8) |
1122 { | 1122 { |
1123 group_id = atoi(params[0]); | 1123 group_id = atoi(params[0]); |
1124 name = msn_url_decode(params[1]); | 1124 name = gaim_url_decode(params[1]); |
1125 } | 1125 } |
1126 else | 1126 else |
1127 { | 1127 { |
1128 num_groups = atoi(params[3]); | 1128 num_groups = atoi(params[3]); |
1129 group_id = atoi(params[4]); | 1129 group_id = atoi(params[4]); |
1130 name = msn_url_decode(params[5]); | 1130 name = gaim_url_decode(params[5]); |
1131 | 1131 |
1132 if (num_groups == 0) | 1132 if (num_groups == 0) |
1133 return TRUE; | 1133 return TRUE; |
1134 | 1134 |
1135 if (!strcmp(name, "~")) | 1135 if (!strcmp(name, "~")) |
1162 { | 1162 { |
1163 const char *group_nums; | 1163 const char *group_nums; |
1164 int list_op; | 1164 int list_op; |
1165 | 1165 |
1166 passport = params[0]; | 1166 passport = params[0]; |
1167 friend = msn_url_decode(params[1]); | 1167 friend = gaim_url_decode(params[1]); |
1168 list_op = atoi(params[2]); | 1168 list_op = atoi(params[2]); |
1169 group_nums = params[3]; | 1169 group_nums = params[3]; |
1170 | 1170 |
1171 if (list_op & MSN_LIST_FL_OP) | 1171 if (list_op & MSN_LIST_FL_OP) |
1172 { | 1172 { |
1330 } | 1330 } |
1331 | 1331 |
1332 if (num_users > 0) | 1332 if (num_users > 0) |
1333 { | 1333 { |
1334 passport = params[5]; | 1334 passport = params[5]; |
1335 friend = msn_url_decode(params[6]); | 1335 friend = gaim_url_decode(params[6]); |
1336 } | 1336 } |
1337 | 1337 |
1338 if (session->syncing_lists && session->lists_synced) | 1338 if (session->syncing_lists && session->lists_synced) |
1339 return TRUE; | 1339 return TRUE; |
1340 | 1340 |
1476 const char *friend; | 1476 const char *friend; |
1477 int status = 0; | 1477 int status = 0; |
1478 | 1478 |
1479 state = params[0]; | 1479 state = params[0]; |
1480 passport = params[1]; | 1480 passport = params[1]; |
1481 friend = msn_url_decode(params[2]); | 1481 friend = gaim_url_decode(params[2]); |
1482 | 1482 |
1483 user = msn_users_find_with_passport(session->users, passport); | 1483 user = msn_users_find_with_passport(session->users, passport); |
1484 | 1484 |
1485 serv_got_alias(gc, (char *)passport, (char *)friend); | 1485 serv_got_alias(gc, (char *)passport, (char *)friend); |
1486 | 1486 |
1487 msn_user_set_name(user, friend); | 1487 msn_user_set_name(user, friend); |
1488 | 1488 |
1489 if (session->protocol_ver >= 9 && param_count == 5) | 1489 if (session->protocol_ver >= 9 && param_count == 5) |
1490 { | 1490 { |
1491 msnobj = msn_object_new_from_string(msn_url_decode(params[4])); | 1491 msnobj = msn_object_new_from_string(gaim_url_decode(params[4])); |
1492 msn_user_set_object(user, msnobj); | 1492 msn_user_set_object(user, msnobj); |
1493 } | 1493 } |
1494 | 1494 |
1495 if (!g_ascii_strcasecmp(state, "BSY")) | 1495 if (!g_ascii_strcasecmp(state, "BSY")) |
1496 status |= UC_UNAVAILABLE | (MSN_BUSY << 1); | 1496 status |= UC_UNAVAILABLE | (MSN_BUSY << 1); |
1536 type = params[2]; | 1536 type = params[2]; |
1537 value = params[3]; | 1537 value = params[3]; |
1538 | 1538 |
1539 if (param_count == 4) { | 1539 if (param_count == 4) { |
1540 if (!strcmp(type, "PHH")) | 1540 if (!strcmp(type, "PHH")) |
1541 msn_user_set_home_phone(session->user, msn_url_decode(value)); | 1541 msn_user_set_home_phone(session->user, gaim_url_decode(value)); |
1542 else if (!strcmp(type, "PHW")) | 1542 else if (!strcmp(type, "PHW")) |
1543 msn_user_set_work_phone(session->user, msn_url_decode(value)); | 1543 msn_user_set_work_phone(session->user, gaim_url_decode(value)); |
1544 else if (!strcmp(type, "PHM")) | 1544 else if (!strcmp(type, "PHM")) |
1545 msn_user_set_mobile_phone(session->user, msn_url_decode(value)); | 1545 msn_user_set_mobile_phone(session->user, gaim_url_decode(value)); |
1546 } | 1546 } |
1547 | 1547 |
1548 return TRUE; | 1548 return TRUE; |
1549 } | 1549 } |
1550 | 1550 |
1554 { | 1554 { |
1555 MsnSession *session = servconn->session; | 1555 MsnSession *session = servconn->session; |
1556 GaimConnection *gc = session->account->gc; | 1556 GaimConnection *gc = session->account->gc; |
1557 char *friend; | 1557 char *friend; |
1558 | 1558 |
1559 friend = msn_url_decode(params[3]); | 1559 friend = gaim_url_decode(params[3]); |
1560 | 1560 |
1561 gaim_connection_set_display_name(gc, friend); | 1561 gaim_connection_set_display_name(gc, friend); |
1562 | 1562 |
1563 return TRUE; | 1563 return TRUE; |
1564 } | 1564 } |
1572 int group_id; | 1572 int group_id; |
1573 char *group_name; | 1573 char *group_name; |
1574 | 1574 |
1575 group_id = atoi(params[2]); | 1575 group_id = atoi(params[2]); |
1576 | 1576 |
1577 group_name = msn_url_decode(params[3]); | 1577 group_name = gaim_url_decode(params[3]); |
1578 | 1578 |
1579 group = msn_groups_find_with_id(session->groups, group_id); | 1579 group = msn_groups_find_with_id(session->groups, group_id); |
1580 | 1580 |
1581 gaim_debug(GAIM_DEBUG_INFO, "msn", "Renamed group %s to %s\n", | 1581 gaim_debug(GAIM_DEBUG_INFO, "msn", "Renamed group %s to %s\n", |
1582 msn_group_get_name(group), group_name); | 1582 msn_group_get_name(group), group_name); |
1635 | 1635 |
1636 if ((friendly = msn_user_get_name(session->moving_user)) == NULL) | 1636 if ((friendly = msn_user_get_name(session->moving_user)) == NULL) |
1637 friendly = passport; | 1637 friendly = passport; |
1638 | 1638 |
1639 g_snprintf(outparams, sizeof(outparams), "FL %s %s %d", | 1639 g_snprintf(outparams, sizeof(outparams), "FL %s %s %d", |
1640 passport, msn_url_encode(friendly), | 1640 passport, gaim_url_encode(friendly), |
1641 msn_group_get_id(group)); | 1641 msn_group_get_id(group)); |
1642 | 1642 |
1643 if (!msn_servconn_send_command(session->notification_conn, | 1643 if (!msn_servconn_send_command(session->notification_conn, |
1644 "ADD", outparams)) { | 1644 "ADD", outparams)) { |
1645 gaim_connection_error(gc, _("Write error")); | 1645 gaim_connection_error(gc, _("Write error")); |