Tue, 15 Oct 2024 00:47:42 -0500
Port prefs to AdwSwitchRow
Now that we depend on Adwaita 1.4, we can flip the switch on using these (pun intended).
This also simplifies some extra tracking we needed to do for activations and focus, since the Adwaita widgets do that for us.
Testing Done:
Opened prefs, confirmed all the switches were there, and toggled them all without any warnings.
Also used the mnemonics to toggle the switches from the keyboard.
Reviewed at https://reviews.imfreedom.org/r/3582/
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
1 | /* |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
2 | * Purple - Internet Messaging Library |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
| 1 | 4 | * |
| 15884 | 5 | * Purple is the legal property of its developers, whose names are too numerous |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 8046 | 7 | * source distribution. |
| 1 | 8 | * |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
9 | * This library is free software; you can redistribute it and/or modify it |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
10 | * under the terms of the GNU General Public License as published by the Free |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
11 | * Software Foundation; either version 2 of the License, or (at your option) |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
12 | * any later version. |
| 1 | 13 | * |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
14 | * This library is distributed in the hope that it will be useful, but WITHOUT |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
15 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
16 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
17 | * more details. |
| 1 | 18 | * |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License along with |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42557
diff
changeset
|
20 | * this library; if not, see <https://www.gnu.org/licenses/>. |
| 1 | 21 | */ |
| 22 | ||
|
40441
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40058
diff
changeset
|
23 | #include <glib/gi18n-lib.h> |
|
f23c7e772667
Make sure we're not including the gettext macros in header files and deal with the repercussions of that.
Gary Kramlich <grim@reaperworld.com>
parents:
40058
diff
changeset
|
24 | |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
25 | #include "debug.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
26 | #include "prefs.h" |
| 1 | 27 | #include "proxy.h" |
|
41672
7d3c68e0a8ee
Rename purple-gio.[ch] to purplegio.[ch] to match the other files
Gary Kramlich <grim@reaperworld.com>
parents:
41657
diff
changeset
|
28 | #include "purplegio.h" |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5681
diff
changeset
|
29 | #include "util.h" |
| 3630 | 30 | |
|
37451
927a083a6c9f
This probably doesn't work, but it compiles (for now)
Gary Kramlich <grim@reaperworld.com>
parents:
37193
diff
changeset
|
31 | #include <gio/gio.h> |
|
39990
7fb53d5427a8
Use SoupURI to parse proxy environment variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
32 | #include <libsoup/soup.h> |
|
37451
927a083a6c9f
This probably doesn't work, but it compiles (for now)
Gary Kramlich <grim@reaperworld.com>
parents:
37193
diff
changeset
|
33 | |
| 15884 | 34 | static PurpleProxyInfo *global_proxy_info = NULL; |
|
14165
0f09ac2220f4
[gaim-migrate @ 16734]
Mark Doliner <markdoliner@pidgin.im>
parents:
14161
diff
changeset
|
35 | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
36 | /************************************************************************** |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
37 | * Global Proxy API |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
38 | **************************************************************************/ |
| 15884 | 39 | PurpleProxyInfo * |
| 40 | purple_global_proxy_get_info(void) | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
41 | { |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
42 | return global_proxy_info; |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
43 | } |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
44 | |
|
25858
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
45 | void |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
46 | purple_global_proxy_set_info(PurpleProxyInfo *info) |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
47 | { |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
48 | g_return_if_fail(info != NULL); |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
49 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
50 | g_clear_object(&global_proxy_info); |
|
25858
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
51 | |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
52 | global_proxy_info = info; |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
53 | } |
|
ec60fbe5a4ab
Patch from fqueze to add API for setting the global proxy settings. Fixes #7610.
Daniel Atallah <datallah@pidgin.im>
parents:
24866
diff
changeset
|
54 | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
55 | /************************************************************************** |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
56 | * Proxy API |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
57 | **************************************************************************/ |
|
4366
d2b52a5ff6fc
[gaim-migrate @ 4632]
Nicolás Lichtmaier <nico@lichtmaier.com.ar>
parents:
3867
diff
changeset
|
58 | |
| 15884 | 59 | PurpleProxyInfo * |
| 60 | purple_proxy_get_setup(PurpleAccount *account) | |
|
1087
bc9c6b635358
[gaim-migrate @ 1097]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1057
diff
changeset
|
61 | { |
| 15884 | 62 | PurpleProxyInfo *gpi = NULL; |
|
6621
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
63 | const gchar *tmp; |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
64 | |
|
15032
65a111aba7a8
[gaim-migrate @ 17749]
Daniel Atallah <datallah@pidgin.im>
parents:
15015
diff
changeset
|
65 | /* This is used as a fallback so we don't overwrite the selected proxy type */ |
| 15884 | 66 | static PurpleProxyInfo *tmp_none_proxy_info = NULL; |
|
15032
65a111aba7a8
[gaim-migrate @ 17749]
Daniel Atallah <datallah@pidgin.im>
parents:
15015
diff
changeset
|
67 | if (!tmp_none_proxy_info) { |
| 15884 | 68 | tmp_none_proxy_info = purple_proxy_info_new(); |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
69 | purple_proxy_info_set_proxy_type(tmp_none_proxy_info, PURPLE_PROXY_TYPE_NONE); |
|
15032
65a111aba7a8
[gaim-migrate @ 17749]
Daniel Atallah <datallah@pidgin.im>
parents:
15015
diff
changeset
|
70 | } |
|
65a111aba7a8
[gaim-migrate @ 17749]
Daniel Atallah <datallah@pidgin.im>
parents:
15015
diff
changeset
|
71 | |
| 15884 | 72 | if (account && purple_account_get_proxy_info(account) != NULL) { |
| 73 | gpi = purple_account_get_proxy_info(account); | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
74 | if (purple_proxy_info_get_proxy_type(gpi) == PURPLE_PROXY_TYPE_USE_GLOBAL) |
|
15041
18a6f6cdce33
[gaim-migrate @ 17758]
Daniel Atallah <datallah@pidgin.im>
parents:
15032
diff
changeset
|
75 | gpi = NULL; |
|
18a6f6cdce33
[gaim-migrate @ 17758]
Daniel Atallah <datallah@pidgin.im>
parents:
15032
diff
changeset
|
76 | } |
|
18a6f6cdce33
[gaim-migrate @ 17758]
Daniel Atallah <datallah@pidgin.im>
parents:
15032
diff
changeset
|
77 | if (gpi == NULL) { |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
78 | gpi = purple_global_proxy_get_info(); |
|
15041
18a6f6cdce33
[gaim-migrate @ 17758]
Daniel Atallah <datallah@pidgin.im>
parents:
15032
diff
changeset
|
79 | } |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
80 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
81 | if (purple_proxy_info_get_proxy_type(gpi) == PURPLE_PROXY_TYPE_USE_ENVVAR) { |
|
6621
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
82 | if ((tmp = g_getenv("HTTP_PROXY")) != NULL || |
|
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
83 | (tmp = g_getenv("http_proxy")) != NULL || |
|
34219
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
84 | (tmp = g_getenv("HTTPPROXY")) != NULL) |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
85 | { |
|
41211
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
86 | gchar *scheme, *host, *username, *password; |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
87 | gint port; |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
88 | GError *error = NULL; |
|
6621
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
89 | |
| 9129 | 90 | /* http_proxy-format: |
| 9227 | 91 | * export http_proxy="http://user:passwd@your.proxy.server:port/" |
|
7652
d60ba2565661
[gaim-migrate @ 8296]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
7475
diff
changeset
|
92 | */ |
|
41211
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
93 | if (!g_uri_split_with_user(tmp, G_URI_FLAGS_HAS_PASSWORD, &scheme, |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
94 | &username, &password, NULL, |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
95 | &host, &port, NULL, NULL, NULL, &error)) |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
96 | { |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
97 | purple_debug_warning("proxy", "Couldn't parse URL: %s: %s", tmp, error->message); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
98 | g_error_free(error); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
99 | return gpi; |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
100 | } |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
101 | if (!purple_strequal(scheme, "http")) { |
|
39990
7fb53d5427a8
Use SoupURI to parse proxy environment variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
102 | purple_debug_warning("proxy", "Couldn't parse URL: %s", tmp); |
|
41211
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
103 | g_free(username); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
104 | g_free(password); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
105 | g_free(host); |
|
34219
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
106 | return gpi; |
|
7652
d60ba2565661
[gaim-migrate @ 8296]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
7475
diff
changeset
|
107 | } |
|
34219
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
108 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
109 | purple_proxy_info_set_hostname(gpi, host); |
|
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
110 | purple_proxy_info_set_port(gpi, port); |
|
41211
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
111 | purple_proxy_info_set_username(gpi, username); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
112 | purple_proxy_info_set_password(gpi, password); |
|
39990
7fb53d5427a8
Use SoupURI to parse proxy environment variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
113 | |
|
41211
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
114 | g_free(host); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
115 | g_free(username); |
|
2e804c9c0919
Switch SoupURI to GUri
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41157
diff
changeset
|
116 | g_free(password); |
|
34219
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
117 | |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
118 | /* XXX: Do we want to skip this step if user/password/port were part of url? */ |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
119 | if ((tmp = g_getenv("HTTP_PROXY_USER")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
120 | (tmp = g_getenv("http_proxy_user")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
121 | (tmp = g_getenv("HTTPPROXYUSER")) != NULL) |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
122 | purple_proxy_info_set_username(gpi, tmp); |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
123 | |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
124 | if ((tmp = g_getenv("HTTP_PROXY_PASS")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
125 | (tmp = g_getenv("http_proxy_pass")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
126 | (tmp = g_getenv("HTTPPROXYPASS")) != NULL) |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
127 | purple_proxy_info_set_password(gpi, tmp); |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
128 | |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
129 | if ((tmp = g_getenv("HTTP_PROXY_PORT")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
130 | (tmp = g_getenv("http_proxy_port")) != NULL || |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
131 | (tmp = g_getenv("HTTPPROXYPORT")) != NULL) |
|
eee308def583
HTTP: get rid of purple_url_parse
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
34218
diff
changeset
|
132 | purple_proxy_info_set_port(gpi, atoi(tmp)); |
|
10534
c28eef1b882a
[gaim-migrate @ 11866]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10320
diff
changeset
|
133 | } else { |
|
c28eef1b882a
[gaim-migrate @ 11866]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
10320
diff
changeset
|
134 | /* no proxy environment variable found, don't use a proxy */ |
| 15884 | 135 | purple_debug_info("proxy", "No environment settings found, not using a proxy\n"); |
|
15032
65a111aba7a8
[gaim-migrate @ 17749]
Daniel Atallah <datallah@pidgin.im>
parents:
15015
diff
changeset
|
136 | gpi = tmp_none_proxy_info; |
|
6621
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
137 | } |
|
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
138 | |
|
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
139 | } |
|
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6320
diff
changeset
|
140 | |
| 13515 | 141 | return gpi; |
| 142 | } | |
| 143 | ||
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
144 | GProxyResolver * |
|
37965
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
145 | purple_proxy_get_proxy_resolver(PurpleAccount *account, GError **error) |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
146 | { |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
147 | PurpleProxyInfo *info = purple_proxy_get_setup(account); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
148 | const gchar *protocol; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
149 | const gchar *username; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
150 | const gchar *password; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
151 | gchar *auth; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
152 | gchar *proxy; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
153 | GProxyResolver *resolver; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
154 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
155 | if (purple_proxy_info_get_proxy_type(info) == PURPLE_PROXY_TYPE_NONE) { |
|
37942
33f8691a69df
proxy: don't use default resolver if direct connection is wanted
Jakub Adam <jakub.adam@ktknet.cz>
parents:
37939
diff
changeset
|
156 | /* Return an empty simple resolver, which will resolve on direct |
|
33f8691a69df
proxy: don't use default resolver if direct connection is wanted
Jakub Adam <jakub.adam@ktknet.cz>
parents:
37939
diff
changeset
|
157 | * connection. */ |
|
33f8691a69df
proxy: don't use default resolver if direct connection is wanted
Jakub Adam <jakub.adam@ktknet.cz>
parents:
37939
diff
changeset
|
158 | return g_simple_proxy_resolver_new(NULL, NULL); |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
159 | } |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
160 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
161 | switch (purple_proxy_info_get_proxy_type(info)) |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
162 | { |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
163 | /* PURPLE_PROXY_NONE already handled above */ |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
164 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
165 | case PURPLE_PROXY_TYPE_USE_ENVVAR: |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
166 | /* Intentional passthrough */ |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
167 | case PURPLE_PROXY_TYPE_HTTP: |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
168 | protocol = "http"; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
169 | break; |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
170 | case PURPLE_PROXY_TYPE_SOCKS4: |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
171 | protocol = "socks4"; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
172 | break; |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
173 | case PURPLE_PROXY_TYPE_SOCKS5: |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
174 | /* Intentional passthrough */ |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
175 | case PURPLE_PROXY_TYPE_TOR: |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
176 | protocol = "socks5"; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
177 | break; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
178 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
179 | default: |
|
37965
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
180 | g_set_error(error, PURPLE_CONNECTION_ERROR, |
|
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
181 | PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, |
|
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
182 | _("Invalid Proxy type (%d) specified"), |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
183 | purple_proxy_info_get_proxy_type(info)); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
184 | return NULL; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
185 | } |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
186 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
187 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
188 | if (purple_proxy_info_get_hostname(info) == NULL || |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
189 | purple_proxy_info_get_port(info) <= 0) { |
|
37965
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
190 | g_set_error_literal(error, PURPLE_CONNECTION_ERROR, |
|
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
191 | PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
192 | _("Either the host name or port number " |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
193 | "specified for your given proxy type is " |
|
37965
b67fb3fb5f85
proxy: Add GError argument to purple_proxy_get_proxy_resolver()
Mike Ruprecht <cmaiku@gmail.com>
parents:
37964
diff
changeset
|
194 | "invalid.")); |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
195 | return NULL; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
196 | } |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
197 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
198 | /* Everything checks out. Create and return the GProxyResolver */ |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
199 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
200 | username = purple_proxy_info_get_username(info); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
201 | password = purple_proxy_info_get_password(info); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
202 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
203 | /* Username and password are optional */ |
|
41157
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
204 | if(username != NULL && *username != '\0') { |
|
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
205 | if(password != NULL && *password != '\0') { |
|
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
206 | auth = g_strdup_printf("%s:%s@", username, password); |
|
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
207 | } else { |
|
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
208 | auth = g_strdup_printf("%s@", username); |
|
f223b69f7da2
Fix some bugs with proxies for xmpp
Gary Kramlich <grim@reaperworld.com>
parents:
40654
diff
changeset
|
209 | } |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
210 | } else { |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
211 | auth = NULL; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
212 | } |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
213 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
214 | proxy = g_strdup_printf("%s://%s%s:%i", protocol, |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
215 | auth != NULL ? auth : "", |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
216 | purple_proxy_info_get_hostname(info), |
|
37532
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
217 | purple_proxy_info_get_port(info)); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
218 | g_free(auth); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
219 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
220 | resolver = g_simple_proxy_resolver_new(proxy, NULL); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
221 | g_free(proxy); |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
222 | |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
223 | return resolver; |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
224 | } |
|
5aaf2d93e7e3
Implement function to get a GProxyResolver with an account's settings
Mike Ruprecht <cmaiku@gmail.com>
parents:
37518
diff
changeset
|
225 | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
226 | static void |
|
41960
c8a4853205e3
Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
227 | proxy_pref_cb(const char *name, G_GNUC_UNUSED PurplePrefType type, |
|
c8a4853205e3
Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41840
diff
changeset
|
228 | gconstpointer value, G_GNUC_UNUSED gpointer data) |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
229 | { |
| 15884 | 230 | PurpleProxyInfo *info = purple_global_proxy_get_info(); |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
231 | |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
232 | if (purple_strequal(name, "/purple/proxy/type")) { |
|
6001
1abbeff6571c
[gaim-migrate @ 6449]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
233 | int proxytype; |
|
12816
5f93e09fa9a6
[gaim-migrate @ 15164]
Mark Doliner <markdoliner@pidgin.im>
parents:
12811
diff
changeset
|
234 | const char *type = value; |
|
6001
1abbeff6571c
[gaim-migrate @ 6449]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
235 | |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
236 | if (purple_strequal(type, "none")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
237 | proxytype = PURPLE_PROXY_TYPE_NONE; |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
238 | else if (purple_strequal(type, "http")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
239 | proxytype = PURPLE_PROXY_TYPE_HTTP; |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
240 | else if (purple_strequal(type, "socks4")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
241 | proxytype = PURPLE_PROXY_TYPE_SOCKS4; |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
242 | else if (purple_strequal(type, "socks5")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
243 | proxytype = PURPLE_PROXY_TYPE_SOCKS5; |
|
31677
042eaab1468c
Add a new proxy type of "Tor". This is really just a SOCKS5 proxy, but can be
Daniel Atallah <datallah@pidgin.im>
parents:
30626
diff
changeset
|
244 | else if (purple_strequal(type, "tor")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
245 | proxytype = PURPLE_PROXY_TYPE_TOR; |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
246 | else if (purple_strequal(type, "envvar")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
247 | proxytype = PURPLE_PROXY_TYPE_USE_ENVVAR; |
|
6001
1abbeff6571c
[gaim-migrate @ 6449]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
248 | else |
|
1abbeff6571c
[gaim-migrate @ 6449]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
249 | proxytype = -1; |
|
1abbeff6571c
[gaim-migrate @ 6449]
Mark Doliner <markdoliner@pidgin.im>
parents:
5970
diff
changeset
|
250 | |
|
35378
5d9e2581005b
gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents:
35265
diff
changeset
|
251 | purple_proxy_info_set_proxy_type(info, proxytype); |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
252 | } else if (purple_strequal(name, "/purple/proxy/host")) |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
253 | purple_proxy_info_set_hostname(info, value); |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
254 | else if (purple_strequal(name, "/purple/proxy/port")) |
| 15884 | 255 | purple_proxy_info_set_port(info, GPOINTER_TO_INT(value)); |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
256 | else if (purple_strequal(name, "/purple/proxy/username")) |
| 15884 | 257 | purple_proxy_info_set_username(info, value); |
|
25859
b42be7bb9dac
Patch from Paul Aurich to add purple_strequal to help readability and simplicity of code. Ie, don't need to negate the value of strcmp, since this does a strcmp and does the negation for us
Paul Aurich <darkrain42@pidgin.im>
parents:
24866
diff
changeset
|
258 | else if (purple_strequal(name, "/purple/proxy/password")) |
| 15884 | 259 | purple_proxy_info_set_password(info, value); |
|
1087
bc9c6b635358
[gaim-migrate @ 1097]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1057
diff
changeset
|
260 | } |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
261 | |
|
42038
ecb08d1c66eb
Make purple_proxy_get_handle private
Gary Kramlich <grim@reaperworld.com>
parents:
41960
diff
changeset
|
262 | static void * |
|
41840
fe350460fb1c
Remove C99-obsoleted constructs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41685
diff
changeset
|
263 | purple_proxy_get_handle(void) |
|
14151
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
264 | { |
|
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
265 | static int handle; |
|
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
266 | |
|
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
267 | return &handle; |
|
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
268 | } |
|
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
269 | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
270 | void |
| 15884 | 271 | purple_proxy_init(void) |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
272 | { |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9863
diff
changeset
|
273 | void *handle; |
|
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9863
diff
changeset
|
274 | |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
275 | /* Initialize a default proxy info struct. */ |
| 15884 | 276 | global_proxy_info = purple_proxy_info_new(); |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
277 | |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
278 | /* Proxy */ |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
279 | purple_prefs_add_none("/purple/proxy"); |
|
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
280 | purple_prefs_add_string("/purple/proxy/type", "none"); |
|
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
281 | purple_prefs_add_string("/purple/proxy/host", ""); |
|
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
282 | purple_prefs_add_int("/purple/proxy/port", 0); |
|
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
283 | purple_prefs_add_string("/purple/proxy/username", ""); |
|
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
284 | purple_prefs_add_string("/purple/proxy/password", ""); |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
285 | |
|
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
286 | /* Setup callbacks for the preferences. */ |
| 15884 | 287 | handle = purple_proxy_get_handle(); |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
288 | purple_prefs_connect_callback(handle, "/purple/proxy/type", proxy_pref_cb, |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
13085
diff
changeset
|
289 | NULL); |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
290 | purple_prefs_connect_callback(handle, "/purple/proxy/host", proxy_pref_cb, |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
13085
diff
changeset
|
291 | NULL); |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
292 | purple_prefs_connect_callback(handle, "/purple/proxy/port", proxy_pref_cb, |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
13085
diff
changeset
|
293 | NULL); |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
294 | purple_prefs_connect_callback(handle, "/purple/proxy/username", |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
13085
diff
changeset
|
295 | proxy_pref_cb, NULL); |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16037
diff
changeset
|
296 | purple_prefs_connect_callback(handle, "/purple/proxy/password", |
|
13201
8c224ef70efa
[gaim-migrate @ 15563]
Daniel Atallah <datallah@pidgin.im>
parents:
13085
diff
changeset
|
297 | proxy_pref_cb, NULL); |
|
20053
68ce40196f8a
grab revision 6be36979d022284283217c2a32f2b812740cbbf3
Luke Schierer <lschiere@pidgin.im>
parents:
19985
diff
changeset
|
298 | |
|
68ce40196f8a
grab revision 6be36979d022284283217c2a32f2b812740cbbf3
Luke Schierer <lschiere@pidgin.im>
parents:
19985
diff
changeset
|
299 | /* Load the initial proxy settings */ |
|
20055
ca7144d5605f
grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents:
20053
diff
changeset
|
300 | purple_prefs_trigger_callback("/purple/proxy/type"); |
|
ca7144d5605f
grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents:
20053
diff
changeset
|
301 | purple_prefs_trigger_callback("/purple/proxy/host"); |
|
ca7144d5605f
grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents:
20053
diff
changeset
|
302 | purple_prefs_trigger_callback("/purple/proxy/port"); |
|
ca7144d5605f
grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents:
20053
diff
changeset
|
303 | purple_prefs_trigger_callback("/purple/proxy/username"); |
|
ca7144d5605f
grab revision 240d37f3b465527200f862ff3c0da77618ae32ae
Luke Schierer <lschiere@pidgin.im>
parents:
20053
diff
changeset
|
304 | purple_prefs_trigger_callback("/purple/proxy/password"); |
|
5681
514fbc5374dc
[gaim-migrate @ 6100]
Christian Hammond <chipx86@chipx86.com>
parents:
5580
diff
changeset
|
305 | } |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9863
diff
changeset
|
306 | |
|
14151
34427f138b1f
[gaim-migrate @ 16712]
Mark Doliner <markdoliner@pidgin.im>
parents:
14097
diff
changeset
|
307 | void |
| 15884 | 308 | purple_proxy_uninit(void) |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9863
diff
changeset
|
309 | { |
|
28177
e62fe687ca6c
Clean up various file-scoped globals at uninit.
Paul Aurich <darkrain42@pidgin.im>
parents:
27943
diff
changeset
|
310 | purple_prefs_disconnect_by_handle(purple_proxy_get_handle()); |
|
e62fe687ca6c
Clean up various file-scoped globals at uninit.
Paul Aurich <darkrain42@pidgin.im>
parents:
27943
diff
changeset
|
311 | |
|
41318
56092ffeae95
Move PurpleProxyInfo from a boxed type to a GObject
Gary Kramlich <grim@reaperworld.com>
parents:
41211
diff
changeset
|
312 | g_clear_object(&global_proxy_info); |
|
10087
e5b80a38939d
[gaim-migrate @ 11098]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
9863
diff
changeset
|
313 | } |