Mercurial > pidgin
comparison src/toc.c @ 1843:4dbd8533d209
[gaim-migrate @ 1853]
http can be authenticated
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Sat, 12 May 2001 08:09:54 +0000 |
| parents | 1d137dde946f |
| children | 9845deede1e9 |
comparison
equal
deleted
inserted
replaced
| 1842:1d137dde946f | 1843:4dbd8533d209 |
|---|---|
| 116 #define USEROPT_AUTH 0 | 116 #define USEROPT_AUTH 0 |
| 117 #define USEROPT_AUTHPORT 1 | 117 #define USEROPT_AUTHPORT 1 |
| 118 #define USEROPT_PROXYHOST 2 | 118 #define USEROPT_PROXYHOST 2 |
| 119 #define USEROPT_PROXYPORT 3 | 119 #define USEROPT_PROXYPORT 3 |
| 120 #define USEROPT_PROXYTYPE 4 | 120 #define USEROPT_PROXYTYPE 4 |
| 121 #define USEROPT_USER 5 | |
| 122 #define USEROPT_PASS 6 | |
| 121 | 123 |
| 122 static GtkWidget *join_chat_spin = NULL; | 124 static GtkWidget *join_chat_spin = NULL; |
| 123 static GtkWidget *join_chat_entry = NULL; | 125 static GtkWidget *join_chat_entry = NULL; |
| 124 | 126 |
| 125 static void toc_login_callback(gpointer, gint, GdkInputCondition); | 127 static void toc_login_callback(gpointer, gint, GdkInputCondition); |
| 149 user->proto_opt[USEROPT_AUTHPORT][0] ? | 151 user->proto_opt[USEROPT_AUTHPORT][0] ? |
| 150 atoi(user->proto_opt[USEROPT_AUTHPORT]) : TOC_PORT, | 152 atoi(user->proto_opt[USEROPT_AUTHPORT]) : TOC_PORT, |
| 151 user->proto_opt[USEROPT_PROXYHOST], | 153 user->proto_opt[USEROPT_PROXYHOST], |
| 152 atoi(user->proto_opt[USEROPT_PROXYPORT]), | 154 atoi(user->proto_opt[USEROPT_PROXYPORT]), |
| 153 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | 155 atoi(user->proto_opt[USEROPT_PROXYTYPE]), |
| 156 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
| 154 toc_login_callback, gc); | 157 toc_login_callback, gc); |
| 155 | 158 |
| 156 if (tdt->toc_fd < 0) { | 159 if (tdt->toc_fd < 0) { |
| 157 g_snprintf(buf, sizeof(buf), "Connect to %s failed", user->proto_opt[USEROPT_AUTH]); | 160 g_snprintf(buf, sizeof(buf), "Connect to %s failed", user->proto_opt[USEROPT_AUTH]); |
| 158 hide_login_progress(gc, buf); | 161 hide_login_progress(gc, buf); |
| 1024 g_snprintf(user->proto_opt[USEROPT_PROXYHOST], | 1027 g_snprintf(user->proto_opt[USEROPT_PROXYHOST], |
| 1025 sizeof(user->proto_opt[USEROPT_PROXYHOST]), "%s", gtk_entry_get_text(entry)); | 1028 sizeof(user->proto_opt[USEROPT_PROXYHOST]), "%s", gtk_entry_get_text(entry)); |
| 1026 } else if (entrynum == USEROPT_PROXYPORT) { | 1029 } else if (entrynum == USEROPT_PROXYPORT) { |
| 1027 g_snprintf(user->proto_opt[USEROPT_PROXYPORT], | 1030 g_snprintf(user->proto_opt[USEROPT_PROXYPORT], |
| 1028 sizeof(user->proto_opt[USEROPT_PROXYPORT]), "%s", gtk_entry_get_text(entry)); | 1031 sizeof(user->proto_opt[USEROPT_PROXYPORT]), "%s", gtk_entry_get_text(entry)); |
| 1032 } else if (entrynum == USEROPT_USER) { | |
| 1033 g_snprintf(user->proto_opt[USEROPT_USER], | |
| 1034 sizeof(user->proto_opt[USEROPT_USER]), "%s", gtk_entry_get_text(entry)); | |
| 1035 } else if (entrynum == USEROPT_PASS) { | |
| 1036 g_snprintf(user->proto_opt[USEROPT_PASS], | |
| 1037 sizeof(user->proto_opt[USEROPT_PASS]), "%s", gtk_entry_get_text(entry)); | |
| 1029 } | 1038 } |
| 1030 } | 1039 } |
| 1031 | 1040 |
| 1032 static void toc_print_optionrad(GtkRadioButton * entry, struct aim_user *user) | 1041 static void toc_print_optionrad(GtkRadioButton * entry, struct aim_user *user) |
| 1033 { | 1042 { |
| 1090 } else | 1099 } else |
| 1091 gtk_entry_set_text(GTK_ENTRY(entry), "9898"); | 1100 gtk_entry_set_text(GTK_ENTRY(entry), "9898"); |
| 1092 | 1101 |
| 1093 gtk_widget_show(entry); | 1102 gtk_widget_show(entry); |
| 1094 | 1103 |
| 1104 hbox = gtk_hbox_new(TRUE, 0); | |
| 1105 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 1106 gtk_widget_show(hbox); | |
| 1107 | |
| 1108 first = gtk_radio_button_new_with_label(NULL, "No proxy"); | |
| 1109 gtk_box_pack_start(GTK_BOX(hbox), first, FALSE, FALSE, 0); | |
| 1110 gtk_object_set_user_data(GTK_OBJECT(first), (void *)PROXY_NONE); | |
| 1111 gtk_signal_connect(GTK_OBJECT(first), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | |
| 1112 gtk_widget_show(first); | |
| 1113 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_NONE) | |
| 1114 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(first), TRUE); | |
| 1115 | |
| 1116 opt = | |
| 1117 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 4"); | |
| 1118 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
| 1119 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS4); | |
| 1120 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | |
| 1121 gtk_widget_show(opt); | |
| 1122 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS4) | |
| 1123 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
| 1124 | |
| 1125 hbox = gtk_hbox_new(TRUE, 0); | |
| 1126 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
| 1127 gtk_widget_show(hbox); | |
| 1128 | |
| 1129 opt = | |
| 1130 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 5"); | |
| 1131 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
| 1132 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS5); | |
| 1133 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | |
| 1134 gtk_widget_show(opt); | |
| 1135 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS5) | |
| 1136 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
| 1137 | |
| 1138 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "HTTP"); | |
| 1139 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
| 1140 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_HTTP); | |
| 1141 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | |
| 1142 gtk_widget_show(opt); | |
| 1143 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_HTTP) | |
| 1144 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
| 1145 | |
| 1095 hbox = gtk_hbox_new(FALSE, 0); | 1146 hbox = gtk_hbox_new(FALSE, 0); |
| 1096 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1147 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 1097 gtk_widget_show(hbox); | 1148 gtk_widget_show(hbox); |
| 1098 | 1149 |
| 1099 label = gtk_label_new("Proxy Host:"); | 1150 label = gtk_label_new("Proxy Host:"); |
| 1126 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PROXYPORT]); | 1177 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PROXYPORT]); |
| 1127 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PROXYPORT]); | 1178 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PROXYPORT]); |
| 1128 } | 1179 } |
| 1129 gtk_widget_show(entry); | 1180 gtk_widget_show(entry); |
| 1130 | 1181 |
| 1131 first = gtk_radio_button_new_with_label(NULL, "No proxy"); | 1182 hbox = gtk_hbox_new(FALSE, 0); |
| 1132 gtk_box_pack_start(GTK_BOX(vbox), first, FALSE, FALSE, 0); | 1183 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 1133 gtk_object_set_user_data(GTK_OBJECT(first), (void *)PROXY_NONE); | 1184 gtk_widget_show(hbox); |
| 1134 gtk_signal_connect(GTK_OBJECT(first), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | 1185 |
| 1135 gtk_widget_show(first); | 1186 label = gtk_label_new("HTTP User:"); |
| 1136 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_NONE) | 1187 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1137 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(first), TRUE); | 1188 gtk_widget_show(label); |
| 1138 | 1189 |
| 1139 opt = | 1190 entry = gtk_entry_new(); |
| 1140 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 4"); | 1191 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| 1141 gtk_box_pack_start(GTK_BOX(vbox), opt, FALSE, FALSE, 0); | 1192 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_USER); |
| 1142 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS4); | 1193 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(toc_print_option), user); |
| 1143 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | 1194 if (user->proto_opt[USEROPT_USER][0]) { |
| 1144 gtk_widget_show(opt); | 1195 debug_printf("setting text %s\n", user->proto_opt[USEROPT_USER]); |
| 1145 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS4) | 1196 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_USER]); |
| 1146 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 1197 } |
| 1147 | 1198 gtk_widget_show(entry); |
| 1148 opt = | 1199 |
| 1149 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 5"); | 1200 hbox = gtk_hbox_new(FALSE, 5); |
| 1150 gtk_box_pack_start(GTK_BOX(vbox), opt, FALSE, FALSE, 0); | 1201 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| 1151 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS5); | 1202 gtk_widget_show(hbox); |
| 1152 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | 1203 |
| 1153 gtk_widget_show(opt); | 1204 label = gtk_label_new("HTTP Password:"); |
| 1154 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS5) | 1205 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 1155 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 1206 gtk_widget_show(label); |
| 1156 | 1207 |
| 1157 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "HTTP"); | 1208 entry = gtk_entry_new(); |
| 1158 gtk_box_pack_start(GTK_BOX(vbox), opt, FALSE, FALSE, 0); | 1209 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| 1159 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_HTTP); | 1210 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); |
| 1160 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(toc_print_optionrad), user); | 1211 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_PASS); |
| 1161 gtk_widget_show(opt); | 1212 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(toc_print_option), user); |
| 1162 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_HTTP) | 1213 if (user->proto_opt[USEROPT_PASS][0]) { |
| 1163 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 1214 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PASS]); |
| 1215 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PASS]); | |
| 1216 } | |
| 1217 gtk_widget_show(entry); | |
| 1164 } | 1218 } |
| 1165 | 1219 |
| 1166 static void toc_add_permit(struct gaim_connection *gc, char *who) | 1220 static void toc_add_permit(struct gaim_connection *gc, char *who) |
| 1167 { | 1221 { |
| 1168 char buf2[BUF_LEN * 2]; | 1222 char buf2[BUF_LEN * 2]; |
| 1591 fd = | 1645 fd = |
| 1592 proxy_connect(ft->ip, ft->port, | 1646 proxy_connect(ft->ip, ft->port, |
| 1593 user->proto_opt[USEROPT_PROXYHOST], | 1647 user->proto_opt[USEROPT_PROXYHOST], |
| 1594 atoi(user->proto_opt[USEROPT_PROXYPORT]), | 1648 atoi(user->proto_opt[USEROPT_PROXYPORT]), |
| 1595 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | 1649 atoi(user->proto_opt[USEROPT_PROXYTYPE]), |
| 1650 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
| 1596 toc_send_file_connect, ft); | 1651 toc_send_file_connect, ft); |
| 1597 if (fd < 0) { | 1652 if (fd < 0) { |
| 1598 do_error_dialog(_("Could not connect for transfer!"), _("Error")); | 1653 do_error_dialog(_("Could not connect for transfer!"), _("Error")); |
| 1599 g_free(ft->filename); | 1654 g_free(ft->filename); |
| 1600 g_free(ft->cookie); | 1655 g_free(ft->cookie); |
| 1815 fd = | 1870 fd = |
| 1816 proxy_connect(ft->ip, ft->port, | 1871 proxy_connect(ft->ip, ft->port, |
| 1817 user->proto_opt[USEROPT_PROXYHOST], | 1872 user->proto_opt[USEROPT_PROXYHOST], |
| 1818 atoi(user->proto_opt[USEROPT_PROXYPORT]), | 1873 atoi(user->proto_opt[USEROPT_PROXYPORT]), |
| 1819 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | 1874 atoi(user->proto_opt[USEROPT_PROXYTYPE]), |
| 1875 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
| 1820 toc_get_file_connect, ft); | 1876 toc_get_file_connect, ft); |
| 1821 if (fd < 0) { | 1877 if (fd < 0) { |
| 1822 do_error_dialog(_("Could not connect for transfer!"), _("Error")); | 1878 do_error_dialog(_("Could not connect for transfer!"), _("Error")); |
| 1823 fclose(ft->file); | 1879 fclose(ft->file); |
| 1824 g_free(ft->filename); | 1880 g_free(ft->filename); |
