Mercurial > pidgin.yaz
comparison src/oscar.c @ 1881:a02584b98823
[gaim-migrate @ 1891]
C:)
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 23 May 2001 07:59:05 +0000 |
parents | 4836d30127df |
children | 5df1e36f26e1 |
comparison
equal
deleted
inserted
replaced
1880:b8245bcce7e6 | 1881:a02584b98823 |
---|---|
51 #include "pixmaps/free_icon.xpm" | 51 #include "pixmaps/free_icon.xpm" |
52 | 52 |
53 /* constants to identify proto_opts */ | 53 /* constants to identify proto_opts */ |
54 #define USEROPT_AUTH 0 | 54 #define USEROPT_AUTH 0 |
55 #define USEROPT_AUTHPORT 1 | 55 #define USEROPT_AUTHPORT 1 |
56 #define USEROPT_PROXYHOST 2 | |
57 #define USEROPT_PROXYPORT 3 | |
58 #define USEROPT_PROXYTYPE 4 | |
59 #define USEROPT_USER 5 | |
60 #define USEROPT_PASS 6 | |
61 | 56 |
62 #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" | 57 #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" |
63 | 58 |
64 static int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_GETFILE | AIM_CAPS_IMIMAGE; | 59 static int gaim_caps = AIM_CAPS_CHAT | AIM_CAPS_GETFILE | AIM_CAPS_IMIMAGE; |
65 | 60 |
471 | 466 |
472 conn->fd = proxy_connect(user->proto_opt[USEROPT_AUTH][0] ? | 467 conn->fd = proxy_connect(user->proto_opt[USEROPT_AUTH][0] ? |
473 user->proto_opt[USEROPT_AUTH] : FAIM_LOGIN_SERVER, | 468 user->proto_opt[USEROPT_AUTH] : FAIM_LOGIN_SERVER, |
474 user->proto_opt[USEROPT_AUTHPORT][0] ? | 469 user->proto_opt[USEROPT_AUTHPORT][0] ? |
475 atoi(user->proto_opt[USEROPT_AUTHPORT]) : FAIM_LOGIN_PORT, | 470 atoi(user->proto_opt[USEROPT_AUTHPORT]) : FAIM_LOGIN_PORT, |
476 user->proto_opt[USEROPT_PROXYHOST], | |
477 atoi(user->proto_opt[USEROPT_PROXYPORT]), | |
478 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | |
479 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
480 oscar_login_connect, gc); | 471 oscar_login_connect, gc); |
481 if (!user->gc || (conn->fd < 0)) { | 472 if (!user->gc || (conn->fd < 0)) { |
482 hide_login_progress(gc, _("Couldn't connect to host")); | 473 hide_login_progress(gc, _("Couldn't connect to host")); |
483 signoff(gc); | 474 signoff(gc); |
484 return; | 475 return; |
666 break; | 657 break; |
667 } | 658 } |
668 } | 659 } |
669 host = g_strndup(bosip, i); | 660 host = g_strndup(bosip, i); |
670 bosconn->priv = g_memdup(cookie, AIM_COOKIELEN); | 661 bosconn->priv = g_memdup(cookie, AIM_COOKIELEN); |
671 bosconn->fd = proxy_connect(host, port, | 662 bosconn->fd = proxy_connect(host, port, oscar_bos_connect, gc); |
672 gc->user->proto_opt[USEROPT_PROXYHOST], | |
673 atoi(gc->user->proto_opt[USEROPT_PROXYPORT]), | |
674 atoi(gc->user->proto_opt[USEROPT_PROXYTYPE]), | |
675 gc->user->proto_opt[USEROPT_USER], gc->user->proto_opt[USEROPT_PASS], | |
676 oscar_bos_connect, gc); | |
677 g_free(host); | 663 g_free(host); |
678 if (!user->gc || (bosconn->fd < 0)) { | 664 if (!user->gc || (bosconn->fd < 0)) { |
679 if (bosconn->priv) | 665 if (bosconn->priv) |
680 g_free(bosconn->priv); | 666 g_free(bosconn->priv); |
681 bosconn->priv = NULL; | 667 bosconn->priv = NULL; |
762 /* size of icbmui.ocm, the largest module in AIM 3.5 */ | 748 /* size of icbmui.ocm, the largest module in AIM 3.5 */ |
763 #define AIM_MAX_FILE_SIZE 98304 | 749 #define AIM_MAX_FILE_SIZE 98304 |
764 | 750 |
765 int gaim_memrequest(struct aim_session_t *sess, | 751 int gaim_memrequest(struct aim_session_t *sess, |
766 struct command_rx_struct *command, ...) { | 752 struct command_rx_struct *command, ...) { |
767 struct gaim_connection *gc = sess->aux_data; | |
768 va_list ap; | 753 va_list ap; |
769 struct pieceofcrap *pos; | 754 struct pieceofcrap *pos; |
770 unsigned long offset, len; | 755 unsigned long offset, len; |
771 char *modname; | 756 char *modname; |
772 int fd; | 757 int fd; |
817 | 802 |
818 pos->offset = offset; | 803 pos->offset = offset; |
819 pos->len = len; | 804 pos->len = len; |
820 pos->modname = modname ? g_strdup(modname) : NULL; | 805 pos->modname = modname ? g_strdup(modname) : NULL; |
821 | 806 |
822 fd = proxy_connect("gaim.sourceforge.net", 80, | 807 fd = proxy_connect("gaim.sourceforge.net", 80, straight_to_hell, pos); |
823 gc->user->proto_opt[USEROPT_PROXYHOST], | |
824 atoi(gc->user->proto_opt[USEROPT_PROXYPORT]), | |
825 atoi(gc->user->proto_opt[USEROPT_PROXYTYPE]), | |
826 gc->user->proto_opt[USEROPT_USER], gc->user->proto_opt[USEROPT_PASS], | |
827 straight_to_hell, pos); | |
828 if (fd < 0) { | 808 if (fd < 0) { |
829 if (pos->modname) | 809 if (pos->modname) |
830 g_free(pos->modname); | 810 g_free(pos->modname); |
831 g_free(pos); | 811 g_free(pos); |
832 do_error_dialog("Gaim was unable to get a valid hash for logging into AIM." | 812 do_error_dialog("Gaim was unable to get a valid hash for logging into AIM." |
1017 va_list ap; | 997 va_list ap; |
1018 int serviceid; | 998 int serviceid; |
1019 char *ip; | 999 char *ip; |
1020 unsigned char *cookie; | 1000 unsigned char *cookie; |
1021 struct gaim_connection *gc = sess->aux_data; | 1001 struct gaim_connection *gc = sess->aux_data; |
1022 struct aim_user *user = gc->user; | |
1023 struct aim_conn_t *tstconn; | 1002 struct aim_conn_t *tstconn; |
1024 int i; | 1003 int i; |
1025 char *host; int port = FAIM_LOGIN_PORT, fd; | 1004 char *host; int port = FAIM_LOGIN_PORT, fd; |
1026 | 1005 |
1027 va_start(ap, command); | 1006 va_start(ap, command); |
1051 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0003, gaim_info_change, 0); | 1030 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0003, gaim_info_change, 0); |
1052 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0005, gaim_info_change, 0); | 1031 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0005, gaim_info_change, 0); |
1053 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0007, gaim_account_confirm, 0); | 1032 aim_conn_addhandler(sess, tstconn, 0x0007, 0x0007, gaim_account_confirm, 0); |
1054 | 1033 |
1055 tstconn->priv = g_memdup(cookie, AIM_COOKIELEN); | 1034 tstconn->priv = g_memdup(cookie, AIM_COOKIELEN); |
1056 fd = proxy_connect(host, port, user->proto_opt[USEROPT_PROXYHOST], | 1035 fd = proxy_connect(host, port, oscar_auth_connect, gc); |
1057 atoi(user->proto_opt[USEROPT_PROXYPORT]), | |
1058 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | |
1059 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
1060 oscar_auth_connect, gc); | |
1061 if (fd < 0) { | 1036 if (fd < 0) { |
1062 if (tstconn->priv) | 1037 if (tstconn->priv) |
1063 g_free(tstconn->priv); | 1038 g_free(tstconn->priv); |
1064 tstconn->priv = NULL; | 1039 tstconn->priv = NULL; |
1065 aim_conn_kill(sess, &tstconn); | 1040 aim_conn_kill(sess, &tstconn); |
1077 return 1; | 1052 return 1; |
1078 } | 1053 } |
1079 aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, gaim_server_ready, 0); | 1054 aim_conn_addhandler(sess, tstconn, 0x0001, 0x0003, gaim_server_ready, 0); |
1080 | 1055 |
1081 tstconn->priv = g_memdup(cookie, AIM_COOKIELEN); | 1056 tstconn->priv = g_memdup(cookie, AIM_COOKIELEN); |
1082 fd = proxy_connect(host, port, user->proto_opt[USEROPT_PROXYHOST], | 1057 fd = proxy_connect(host, port, oscar_chatnav_connect, gc); |
1083 atoi(user->proto_opt[USEROPT_PROXYPORT]), | |
1084 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | |
1085 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
1086 oscar_chatnav_connect, gc); | |
1087 if (fd < 0) { | 1058 if (fd < 0) { |
1088 if (tstconn->priv) | 1059 if (tstconn->priv) |
1089 g_free(tstconn->priv); | 1060 g_free(tstconn->priv); |
1090 tstconn->priv = NULL; | 1061 tstconn->priv = NULL; |
1091 aim_conn_kill(sess, &tstconn); | 1062 aim_conn_kill(sess, &tstconn); |
1115 ccon->name = g_strdup(roomname); | 1086 ccon->name = g_strdup(roomname); |
1116 ccon->exchange = exchange; | 1087 ccon->exchange = exchange; |
1117 ccon->show = extract_name(roomname); | 1088 ccon->show = extract_name(roomname); |
1118 | 1089 |
1119 ccon->priv = g_memdup(cookie, AIM_COOKIELEN); | 1090 ccon->priv = g_memdup(cookie, AIM_COOKIELEN); |
1120 fd = proxy_connect(host, port, user->proto_opt[USEROPT_PROXYHOST], | 1091 fd = proxy_connect(host, port, oscar_chat_connect, ccon); |
1121 atoi(user->proto_opt[USEROPT_PROXYPORT]), | |
1122 atoi(user->proto_opt[USEROPT_PROXYTYPE]), | |
1123 user->proto_opt[USEROPT_USER], user->proto_opt[USEROPT_PASS], | |
1124 oscar_chat_connect, ccon); | |
1125 if (fd < 0) { | 1092 if (fd < 0) { |
1126 aim_conn_kill(sess, &tstconn); | 1093 aim_conn_kill(sess, &tstconn); |
1127 debug_printf("unable to connect to chat server\n"); | 1094 debug_printf("unable to connect to chat server\n"); |
1128 g_free(host); | 1095 g_free(host); |
1129 g_free(ccon->priv); | 1096 g_free(ccon->priv); |
1276 port = atoi(&(d->priv->ip[i+1])); | 1243 port = atoi(&(d->priv->ip[i+1])); |
1277 break; | 1244 break; |
1278 } | 1245 } |
1279 } | 1246 } |
1280 host = g_strndup(d->priv->ip, i); | 1247 host = g_strndup(d->priv->ip, i); |
1281 dim->conn->fd = proxy_connect(host, port, | 1248 dim->conn->fd = proxy_connect(host, port, oscar_directim_callback, dim); |
1282 gc->user->proto_opt[USEROPT_PROXYHOST], | |
1283 atoi(gc->user->proto_opt[USEROPT_PROXYPORT]), | |
1284 atoi(gc->user->proto_opt[USEROPT_PROXYTYPE]), | |
1285 gc->user->proto_opt[USEROPT_USER], | |
1286 gc->user->proto_opt[USEROPT_PASS], | |
1287 oscar_directim_callback, dim); | |
1288 g_free(host); | 1249 g_free(host); |
1289 if (dim->conn->fd < 0) { | 1250 if (dim->conn->fd < 0) { |
1290 aim_conn_kill(od->sess, &dim->conn); | 1251 aim_conn_kill(od->sess, &dim->conn); |
1291 g_free(dim); | 1252 g_free(dim); |
1292 cancel_direct_im(w, d); | 1253 cancel_direct_im(w, d); |
2773 g_snprintf(user->proto_opt[USEROPT_AUTH], | 2734 g_snprintf(user->proto_opt[USEROPT_AUTH], |
2774 sizeof(user->proto_opt[USEROPT_AUTH]), "%s", gtk_entry_get_text(entry)); | 2735 sizeof(user->proto_opt[USEROPT_AUTH]), "%s", gtk_entry_get_text(entry)); |
2775 } else if (entrynum == USEROPT_AUTHPORT) { | 2736 } else if (entrynum == USEROPT_AUTHPORT) { |
2776 g_snprintf(user->proto_opt[USEROPT_AUTHPORT], | 2737 g_snprintf(user->proto_opt[USEROPT_AUTHPORT], |
2777 sizeof(user->proto_opt[USEROPT_AUTHPORT]), "%s", gtk_entry_get_text(entry)); | 2738 sizeof(user->proto_opt[USEROPT_AUTHPORT]), "%s", gtk_entry_get_text(entry)); |
2778 } else if (entrynum == USEROPT_PROXYHOST) { | 2739 } |
2779 g_snprintf(user->proto_opt[USEROPT_PROXYHOST], | |
2780 sizeof(user->proto_opt[USEROPT_PROXYHOST]), "%s", gtk_entry_get_text(entry)); | |
2781 } else if (entrynum == USEROPT_PROXYPORT) { | |
2782 g_snprintf(user->proto_opt[USEROPT_PROXYPORT], | |
2783 sizeof(user->proto_opt[USEROPT_PROXYPORT]), "%s", gtk_entry_get_text(entry)); | |
2784 } else if (entrynum == USEROPT_USER) { | |
2785 g_snprintf(user->proto_opt[USEROPT_USER], | |
2786 sizeof(user->proto_opt[USEROPT_USER]), "%s", gtk_entry_get_text(entry)); | |
2787 } else if (entrynum == USEROPT_PASS) { | |
2788 g_snprintf(user->proto_opt[USEROPT_PASS], | |
2789 sizeof(user->proto_opt[USEROPT_PASS]), "%s", gtk_entry_get_text(entry)); | |
2790 } | |
2791 } | |
2792 | |
2793 static void oscar_print_optionrad(GtkRadioButton * entry, struct aim_user *user) | |
2794 { | |
2795 int entrynum; | |
2796 | |
2797 entrynum = (int)gtk_object_get_user_data(GTK_OBJECT(entry)); | |
2798 | |
2799 g_snprintf(user->proto_opt[USEROPT_PROXYTYPE], | |
2800 sizeof(user->proto_opt[USEROPT_PROXYTYPE]), "%d", entrynum); | |
2801 } | 2740 } |
2802 | 2741 |
2803 static void oscar_user_opts(GtkWidget *book, struct aim_user *user) | 2742 static void oscar_user_opts(GtkWidget *book, struct aim_user *user) |
2804 { | 2743 { |
2805 /* so here, we create the new notebook page */ | 2744 /* so here, we create the new notebook page */ |
2806 GtkWidget *vbox; | 2745 GtkWidget *vbox; |
2807 GtkWidget *hbox; | 2746 GtkWidget *hbox; |
2808 GtkWidget *label; | 2747 GtkWidget *label; |
2809 GtkWidget *entry; | 2748 GtkWidget *entry; |
2810 GtkWidget *first, *opt; | |
2811 | 2749 |
2812 vbox = gtk_vbox_new(FALSE, 5); | 2750 vbox = gtk_vbox_new(FALSE, 5); |
2813 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 2751 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
2814 gtk_notebook_append_page(GTK_NOTEBOOK(book), vbox, gtk_label_new("Oscar Options")); | 2752 gtk_notebook_append_page(GTK_NOTEBOOK(book), vbox, gtk_label_new("Oscar Options")); |
2815 gtk_widget_show(vbox); | 2753 gtk_widget_show(vbox); |
2849 debug_printf("setting text %s\n", user->proto_opt[USEROPT_AUTHPORT]); | 2787 debug_printf("setting text %s\n", user->proto_opt[USEROPT_AUTHPORT]); |
2850 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_AUTHPORT]); | 2788 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_AUTHPORT]); |
2851 } else | 2789 } else |
2852 gtk_entry_set_text(GTK_ENTRY(entry), "9898"); | 2790 gtk_entry_set_text(GTK_ENTRY(entry), "9898"); |
2853 | 2791 |
2854 gtk_widget_show(entry); | |
2855 | |
2856 hbox = gtk_hbox_new(TRUE, 0); | |
2857 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2858 gtk_widget_show(hbox); | |
2859 | |
2860 first = gtk_radio_button_new_with_label(NULL, "No proxy"); | |
2861 gtk_box_pack_start(GTK_BOX(hbox), first, FALSE, FALSE, 0); | |
2862 gtk_object_set_user_data(GTK_OBJECT(first), (void *)PROXY_NONE); | |
2863 gtk_signal_connect(GTK_OBJECT(first), "clicked", GTK_SIGNAL_FUNC(oscar_print_optionrad), user); | |
2864 gtk_widget_show(first); | |
2865 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_NONE) | |
2866 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(first), TRUE); | |
2867 | |
2868 opt = | |
2869 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 4"); | |
2870 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
2871 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS4); | |
2872 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(oscar_print_optionrad), user); | |
2873 gtk_widget_show(opt); | |
2874 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS4) | |
2875 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
2876 | |
2877 hbox = gtk_hbox_new(TRUE, 0); | |
2878 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2879 gtk_widget_show(hbox); | |
2880 | |
2881 opt = | |
2882 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "SOCKS 5"); | |
2883 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
2884 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_SOCKS5); | |
2885 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(oscar_print_optionrad), user); | |
2886 gtk_widget_show(opt); | |
2887 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_SOCKS5) | |
2888 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
2889 | |
2890 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(first)), "HTTP"); | |
2891 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); | |
2892 gtk_object_set_user_data(GTK_OBJECT(opt), (void *)PROXY_HTTP); | |
2893 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(oscar_print_optionrad), user); | |
2894 gtk_widget_show(opt); | |
2895 if (atoi(user->proto_opt[USEROPT_PROXYTYPE]) == PROXY_HTTP) | |
2896 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | |
2897 | |
2898 hbox = gtk_hbox_new(FALSE, 0); | |
2899 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2900 gtk_widget_show(hbox); | |
2901 | |
2902 label = gtk_label_new("Proxy Host:"); | |
2903 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
2904 gtk_widget_show(label); | |
2905 | |
2906 entry = gtk_entry_new(); | |
2907 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
2908 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_PROXYHOST); | |
2909 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(oscar_print_option), user); | |
2910 if (user->proto_opt[USEROPT_PROXYHOST][0]) { | |
2911 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PROXYHOST]); | |
2912 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PROXYHOST]); | |
2913 } | |
2914 gtk_widget_show(entry); | |
2915 | |
2916 hbox = gtk_hbox_new(FALSE, 0); | |
2917 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2918 gtk_widget_show(hbox); | |
2919 | |
2920 label = gtk_label_new("Proxy Port:"); | |
2921 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
2922 gtk_widget_show(label); | |
2923 | |
2924 entry = gtk_entry_new(); | |
2925 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
2926 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_PROXYPORT); | |
2927 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(oscar_print_option), user); | |
2928 if (user->proto_opt[USEROPT_PROXYPORT][0]) { | |
2929 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PROXYPORT]); | |
2930 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PROXYPORT]); | |
2931 } | |
2932 gtk_widget_show(entry); | |
2933 | |
2934 hbox = gtk_hbox_new(FALSE, 0); | |
2935 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2936 gtk_widget_show(hbox); | |
2937 | |
2938 label = gtk_label_new("Proxy User:"); | |
2939 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
2940 gtk_widget_show(label); | |
2941 | |
2942 entry = gtk_entry_new(); | |
2943 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
2944 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_USER); | |
2945 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(oscar_print_option), user); | |
2946 if (user->proto_opt[USEROPT_USER][0]) { | |
2947 debug_printf("setting text %s\n", user->proto_opt[USEROPT_USER]); | |
2948 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_USER]); | |
2949 } | |
2950 gtk_widget_show(entry); | |
2951 | |
2952 hbox = gtk_hbox_new(FALSE, 5); | |
2953 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
2954 gtk_widget_show(hbox); | |
2955 | |
2956 label = gtk_label_new("Proxy Password:"); | |
2957 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
2958 gtk_widget_show(label); | |
2959 | |
2960 entry = gtk_entry_new(); | |
2961 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); | |
2962 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | |
2963 gtk_object_set_user_data(GTK_OBJECT(entry), (void *)USEROPT_PASS); | |
2964 gtk_signal_connect(GTK_OBJECT(entry), "changed", GTK_SIGNAL_FUNC(oscar_print_option), user); | |
2965 if (user->proto_opt[USEROPT_PASS][0]) { | |
2966 debug_printf("setting text %s\n", user->proto_opt[USEROPT_PASS]); | |
2967 gtk_entry_set_text(GTK_ENTRY(entry), user->proto_opt[USEROPT_PASS]); | |
2968 } | |
2969 gtk_widget_show(entry); | 2792 gtk_widget_show(entry); |
2970 } | 2793 } |
2971 | 2794 |
2972 static void oscar_set_permit_deny(struct gaim_connection *gc) { | 2795 static void oscar_set_permit_deny(struct gaim_connection *gc) { |
2973 struct oscar_data *od = (struct oscar_data *)gc->proto_data; | 2796 struct oscar_data *od = (struct oscar_data *)gc->proto_data; |