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