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"));