Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 226462 | Differences between
and this patch

Collapse All | Expand All

(-)fragments/org.eclipse.core.net.linux.x86/build.properties (-1 / +2 lines)
Lines 12-18 Link Here
12
               .,\
12
               .,\
13
               META-INF/,\
13
               META-INF/,\
14
               about.html,\
14
               about.html,\
15
               libproxysupport.so,\
15
               libproxyenv.so,\
16
               libproxygnome.so,\
16
               bin/
17
               bin/
17
src.includes = about.html
18
src.includes = about.html
18
generateSourceBundle=false
19
generateSourceBundle=false
(-)natives/unix/Debug/objects.mk (-7 lines)
Removed Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
USER_OBJS :=
6
7
LIBS := -lgconf-2 -lORBit-2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0
(-)natives/unix/Debug/sources.mk (-17 lines)
Removed Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
O_SRCS := 
6
C_SRCS := 
7
S_SRCS := 
8
OBJ_SRCS := 
9
ASM_SRCS := 
10
OBJS := 
11
C_DEPS := 
12
LIBRARIES := 
13
14
# Every subdirectory with source files must be described here
15
SUBDIRS := \
16
. \
17
(-)natives/unix/Debug/subdir.mk (-24 lines)
Removed Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
# Add inputs and outputs from these tool invocations to the build variables 
6
C_SRCS += \
7
../getsystemproxy.c 
8
9
OBJS += \
10
./getsystemproxy.o 
11
12
C_DEPS += \
13
./getsystemproxy.d 
14
15
16
# Each subdirectory must supply rules for building sources it contributes
17
%.o: ../%.c
18
	@echo 'Building file: $<'
19
	@echo 'Invoking: GCC C Compiler'
20
	gcc -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -O0 -fPIC -g3 -Wall -c -fmessage-length=0 -m32 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
21
	@echo 'Finished building: $<'
22
	@echo ' '
23
24
(-)natives/unix/Debug/getsystemproxy.d (-226 lines)
Removed Link Here
1
getsystemproxy.d getsystemproxy.o: ../getsystemproxy.c \
2
  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
3
  /usr/include/glib-2.0/glib/gtypes.h \
4
  /usr/lib/glib-2.0/include/glibconfig.h \
5
  /usr/include/glib-2.0/glib/gmacros.h \
6
  /usr/include/glib-2.0/glib/garray.h \
7
  /usr/include/glib-2.0/glib/gasyncqueue.h \
8
  /usr/include/glib-2.0/glib/gthread.h \
9
  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
10
  /usr/include/glib-2.0/glib/gutils.h \
11
  /usr/include/glib-2.0/glib/gatomic.h \
12
  /usr/include/glib-2.0/glib/gbacktrace.h \
13
  /usr/include/glib-2.0/glib/gbase64.h \
14
  /usr/include/glib-2.0/glib/gbookmarkfile.h \
15
  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
16
  /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
17
  /usr/include/glib-2.0/glib/gcompletion.h \
18
  /usr/include/glib-2.0/glib/gconvert.h \
19
  /usr/include/glib-2.0/glib/gdataset.h \
20
  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
21
  /usr/include/glib-2.0/glib/gfileutils.h \
22
  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
23
  /usr/include/glib-2.0/glib/giochannel.h \
24
  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
25
  /usr/include/glib-2.0/glib/gstring.h \
26
  /usr/include/glib-2.0/glib/gunicode.h \
27
  /usr/include/glib-2.0/glib/gkeyfile.h \
28
  /usr/include/glib-2.0/glib/gmappedfile.h \
29
  /usr/include/glib-2.0/glib/gmarkup.h \
30
  /usr/include/glib-2.0/glib/gmessages.h \
31
  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
32
  /usr/include/glib-2.0/glib/gpattern.h \
33
  /usr/include/glib-2.0/glib/gprimes.h \
34
  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
35
  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
36
  /usr/include/glib-2.0/glib/gregex.h \
37
  /usr/include/glib-2.0/glib/gscanner.h \
38
  /usr/include/glib-2.0/glib/gsequence.h \
39
  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
40
  /usr/include/glib-2.0/glib/gstrfuncs.h \
41
  /usr/include/glib-2.0/glib/gthreadpool.h \
42
  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
43
  /usr/include/gconf/2/gconf/gconf-value.h \
44
  /usr/include/gconf/2/gconf/gconf-error.h \
45
  /usr/include/gconf/2/gconf/gconf-client.h \
46
  /usr/include/glib-2.0/glib-object.h \
47
  /usr/include/glib-2.0/gobject/gboxed.h \
48
  /usr/include/glib-2.0/gobject/gtype.h \
49
  /usr/include/glib-2.0/gobject/genums.h \
50
  /usr/include/glib-2.0/gobject/gobject.h \
51
  /usr/include/glib-2.0/gobject/gvalue.h \
52
  /usr/include/glib-2.0/gobject/gparam.h \
53
  /usr/include/glib-2.0/gobject/gclosure.h \
54
  /usr/include/glib-2.0/gobject/gsignal.h \
55
  /usr/include/glib-2.0/gobject/gmarshal.h \
56
  /usr/include/glib-2.0/gobject/gparamspecs.h \
57
  /usr/include/glib-2.0/gobject/gsourceclosure.h \
58
  /usr/include/glib-2.0/gobject/gtypemodule.h \
59
  /usr/include/glib-2.0/gobject/gtypeplugin.h \
60
  /usr/include/glib-2.0/gobject/gvaluearray.h \
61
  /usr/include/glib-2.0/gobject/gvaluetypes.h \
62
  /usr/include/gconf/2/gconf/gconf.h \
63
  /usr/include/gconf/2/gconf/gconf-schema.h \
64
  /usr/include/gconf/2/gconf/gconf-engine.h \
65
  /usr/include/gconf/2/gconf/gconf-error.h \
66
  /usr/include/gconf/2/gconf/gconf-enum-types.h \
67
  /usr/include/gconf/2/gconf/gconf-listeners.h \
68
  /usr/include/gconf/2/gconf/gconf-changeset.h
69
70
/usr/include/glib-2.0/glib.h:
71
72
/usr/include/glib-2.0/glib/galloca.h:
73
74
/usr/include/glib-2.0/glib/gtypes.h:
75
76
/usr/lib/glib-2.0/include/glibconfig.h:
77
78
/usr/include/glib-2.0/glib/gmacros.h:
79
80
/usr/include/glib-2.0/glib/garray.h:
81
82
/usr/include/glib-2.0/glib/gasyncqueue.h:
83
84
/usr/include/glib-2.0/glib/gthread.h:
85
86
/usr/include/glib-2.0/glib/gerror.h:
87
88
/usr/include/glib-2.0/glib/gquark.h:
89
90
/usr/include/glib-2.0/glib/gutils.h:
91
92
/usr/include/glib-2.0/glib/gatomic.h:
93
94
/usr/include/glib-2.0/glib/gbacktrace.h:
95
96
/usr/include/glib-2.0/glib/gbase64.h:
97
98
/usr/include/glib-2.0/glib/gbookmarkfile.h:
99
100
/usr/include/glib-2.0/glib/gcache.h:
101
102
/usr/include/glib-2.0/glib/glist.h:
103
104
/usr/include/glib-2.0/glib/gmem.h:
105
106
/usr/include/glib-2.0/glib/gslice.h:
107
108
/usr/include/glib-2.0/glib/gcompletion.h:
109
110
/usr/include/glib-2.0/glib/gconvert.h:
111
112
/usr/include/glib-2.0/glib/gdataset.h:
113
114
/usr/include/glib-2.0/glib/gdate.h:
115
116
/usr/include/glib-2.0/glib/gdir.h:
117
118
/usr/include/glib-2.0/glib/gfileutils.h:
119
120
/usr/include/glib-2.0/glib/ghash.h:
121
122
/usr/include/glib-2.0/glib/ghook.h:
123
124
/usr/include/glib-2.0/glib/giochannel.h:
125
126
/usr/include/glib-2.0/glib/gmain.h:
127
128
/usr/include/glib-2.0/glib/gslist.h:
129
130
/usr/include/glib-2.0/glib/gstring.h:
131
132
/usr/include/glib-2.0/glib/gunicode.h:
133
134
/usr/include/glib-2.0/glib/gkeyfile.h:
135
136
/usr/include/glib-2.0/glib/gmappedfile.h:
137
138
/usr/include/glib-2.0/glib/gmarkup.h:
139
140
/usr/include/glib-2.0/glib/gmessages.h:
141
142
/usr/include/glib-2.0/glib/gnode.h:
143
144
/usr/include/glib-2.0/glib/goption.h:
145
146
/usr/include/glib-2.0/glib/gpattern.h:
147
148
/usr/include/glib-2.0/glib/gprimes.h:
149
150
/usr/include/glib-2.0/glib/gqsort.h:
151
152
/usr/include/glib-2.0/glib/gqueue.h:
153
154
/usr/include/glib-2.0/glib/grand.h:
155
156
/usr/include/glib-2.0/glib/grel.h:
157
158
/usr/include/glib-2.0/glib/gregex.h:
159
160
/usr/include/glib-2.0/glib/gscanner.h:
161
162
/usr/include/glib-2.0/glib/gsequence.h:
163
164
/usr/include/glib-2.0/glib/gshell.h:
165
166
/usr/include/glib-2.0/glib/gspawn.h:
167
168
/usr/include/glib-2.0/glib/gstrfuncs.h:
169
170
/usr/include/glib-2.0/glib/gthreadpool.h:
171
172
/usr/include/glib-2.0/glib/gtimer.h:
173
174
/usr/include/glib-2.0/glib/gtree.h:
175
176
/usr/include/gconf/2/gconf/gconf-value.h:
177
178
/usr/include/gconf/2/gconf/gconf-error.h:
179
180
/usr/include/gconf/2/gconf/gconf-client.h:
181
182
/usr/include/glib-2.0/glib-object.h:
183
184
/usr/include/glib-2.0/gobject/gboxed.h:
185
186
/usr/include/glib-2.0/gobject/gtype.h:
187
188
/usr/include/glib-2.0/gobject/genums.h:
189
190
/usr/include/glib-2.0/gobject/gobject.h:
191
192
/usr/include/glib-2.0/gobject/gvalue.h:
193
194
/usr/include/glib-2.0/gobject/gparam.h:
195
196
/usr/include/glib-2.0/gobject/gclosure.h:
197
198
/usr/include/glib-2.0/gobject/gsignal.h:
199
200
/usr/include/glib-2.0/gobject/gmarshal.h:
201
202
/usr/include/glib-2.0/gobject/gparamspecs.h:
203
204
/usr/include/glib-2.0/gobject/gsourceclosure.h:
205
206
/usr/include/glib-2.0/gobject/gtypemodule.h:
207
208
/usr/include/glib-2.0/gobject/gtypeplugin.h:
209
210
/usr/include/glib-2.0/gobject/gvaluearray.h:
211
212
/usr/include/glib-2.0/gobject/gvaluetypes.h:
213
214
/usr/include/gconf/2/gconf/gconf.h:
215
216
/usr/include/gconf/2/gconf/gconf-schema.h:
217
218
/usr/include/gconf/2/gconf/gconf-engine.h:
219
220
/usr/include/gconf/2/gconf/gconf-error.h:
221
222
/usr/include/gconf/2/gconf/gconf-enum-types.h:
223
224
/usr/include/gconf/2/gconf/gconf-listeners.h:
225
226
/usr/include/gconf/2/gconf/gconf-changeset.h:
(-)natives/unix/Debug/makefile (-43 lines)
Removed Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
-include ../makefile.init
6
7
RM := rm -rf
8
9
# All of the sources participating in the build are defined here
10
-include sources.mk
11
-include subdir.mk
12
-include objects.mk
13
14
ifneq ($(MAKECMDGOALS),clean)
15
ifneq ($(strip $(C_DEPS)),)
16
-include $(C_DEPS)
17
endif
18
endif
19
20
-include ../makefile.defs
21
22
# Add inputs and outputs from these tool invocations to the build variables 
23
24
# All Target
25
all: libproxysupport.so
26
27
# Tool invocations
28
libproxysupport.so: $(OBJS) $(USER_OBJS)
29
	@echo 'Building target: $@'
30
	@echo 'Invoking: GCC C Linker'
31
	gcc -m32 -shared -o"libproxysupport.so" $(OBJS) $(USER_OBJS) $(LIBS)
32
	@echo 'Finished building target: $@'
33
	@echo ' '
34
35
# Other Targets
36
clean:
37
	-$(RM) $(OBJS)$(C_DEPS)$(LIBRARIES) libproxysupport.so
38
	-@echo ' '
39
40
.PHONY: all clean dependents
41
.SECONDARY:
42
43
-include ../makefile.targets
(-)META-INF/MANIFEST.MF (+1 lines)
Lines 13-18 Link Here
13
 org.eclipse.equinox.registry;bundle-version="3.4.0"
13
 org.eclipse.equinox.registry;bundle-version="3.4.0"
14
Bundle-ActivationPolicy: lazy
14
Bundle-ActivationPolicy: lazy
15
Export-Package: org.eclipse.core.internal.net;x-internal:=true,
15
Export-Package: org.eclipse.core.internal.net;x-internal:=true,
16
 org.eclipse.core.internal.net.proxy.unix;x-internal:=true, 
16
 org.eclipse.core.net.proxy
17
 org.eclipse.core.net.proxy
17
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
18
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
18
 CDC-1.0/Foundation-1.0,
19
 CDC-1.0/Foundation-1.0,
(-)natives/unix/getsystemproxy.c (-237 lines)
Removed Link Here
1
/*
2
 * Copyright 2008 Oakland Software Incorporated and others
3
 * All rights reserved. This program and the accompanying materials 
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 */
11
12
#include <jni.h>
13
14
#include <glib.h>
15
#include <glib/gslist.h>
16
#include <gconf/gconf-value.h>
17
#include <gconf/gconf-client.h>
18
19
#ifdef __linux__
20
#include <string.h>
21
#else
22
#include <strings.h>
23
#endif
24
25
static GConfClient *client= NULL;
26
27
static jclass proxyInfoClass;
28
static jclass stringClass;
29
static jmethodID proxyInfoConstructor;
30
static jmethodID toString;
31
32
static jmethodID hostMethod;
33
static jmethodID portMethod;
34
static jmethodID requiresAuthenticationMethod;
35
static jmethodID userMethod;
36
static jmethodID passwordMethod;
37
38
#define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI error at line %d\n", __LINE__); } 
39
40
static void gconfInit(JNIEnv *env) {
41
	client = gconf_client_get_default();
42
	jclass cls= NULL;
43
	CHECK_NULL(cls = (*env)->FindClass(env, "org/eclipse/core/internal/net/ProxyData"));
44
	proxyInfoClass = (*env)->NewGlobalRef(env, cls);
45
46
	CHECK_NULL(cls = (*env)->FindClass(env, "java/lang/String"));
47
	stringClass = (*env)->NewGlobalRef(env, cls);
48
49
	CHECK_NULL(proxyInfoConstructor = (*env)->GetMethodID(env, proxyInfoClass, "<init>", "(Ljava/lang/String;)V"));
50
51
	CHECK_NULL(toString = (*env)->GetMethodID(env, proxyInfoClass, "toString", "()Ljava/lang/String;"));
52
53
	CHECK_NULL(hostMethod = (*env)->GetMethodID(env, proxyInfoClass, "setHost",
54
					"(Ljava/lang/String;)V"));
55
	CHECK_NULL(portMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPort",
56
					"(I)V"));
57
	CHECK_NULL(requiresAuthenticationMethod= (*env)->GetMethodID(env, proxyInfoClass, "setRequiresAuthentication",
58
					"(Z)V"));
59
	CHECK_NULL(userMethod = (*env)->GetMethodID(env, proxyInfoClass, "setUserid",
60
					"(Ljava/lang/String;)V"));
61
	CHECK_NULL(passwordMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPassword",
62
					"(Ljava/lang/String;)V"));
63
}
64
65
/*
66
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
67
 * Method:    getGConfProxyInfo
68
 * Signature: ([Ljava/lang/String);
69
 */
70
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfProxyInfo(
71
		JNIEnv *env, jclass clazz, jstring protocol) {
72
73
	jboolean isCopy;
74
	const char *cprotocol;
75
76
	jobject proxyInfo= NULL;
77
78
	if (client == NULL) {
79
		gconfInit(env);
80
	}
81
82
	CHECK_NULL(proxyInfo = (*env)->NewObject(env, proxyInfoClass, proxyInfoConstructor, protocol));
83
84
	cprotocol = (*env)->GetStringUTFChars(env, protocol, &isCopy);
85
	if (cprotocol == NULL)
86
		return NULL;
87
88
	//printf("cprotocol: %s\n", cprotocol);
89
90
	if (strcasecmp(cprotocol, "http") == 0) {
91
		gboolean useProxy = gconf_client_get_bool(client,
92
				"/system/http_proxy/use_http_proxy", NULL);
93
		if (!useProxy) {
94
			proxyInfo = NULL;
95
			goto exit;
96
		}
97
98
		gchar *host = gconf_client_get_string(client,
99
				"/system/http_proxy/host", NULL);
100
		jobject jhost = (*env)->NewStringUTF(env, host);
101
		(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
102
103
		gint port = gconf_client_get_int(client, "/system/http_proxy/port",
104
				NULL);
105
		(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
106
107
		gboolean reqAuth = gconf_client_get_bool(client,
108
				"/system/http_proxy/use_authentication", NULL);
109
		(*env)->CallVoidMethod(env, proxyInfo,
110
				requiresAuthenticationMethod, reqAuth);
111
		if (reqAuth) {
112
113
			gchar *user = gconf_client_get_string(client,
114
					"/system/http_proxy/authentication_user", NULL);
115
			jobject juser = (*env)->NewStringUTF(env, user);
116
			(*env)->CallVoidMethod(env, proxyInfo, userMethod, juser);
117
118
			gchar *password = gconf_client_get_string(client,
119
					"/system/http_proxy/authentication_password", NULL);
120
			jobject jpassword = (*env)->NewStringUTF(env, password);
121
			(*env)->CallVoidMethod(env, proxyInfo, passwordMethod,
122
					jpassword);
123
		}
124
		goto exit;
125
	}
126
127
	// Everything else applies only if the system proxy mode is manual
128
	gchar *mode = gconf_client_get_string(client, "/system/proxy/mode", NULL);
129
	if (strcasecmp(mode, "manual") != 0) {
130
		proxyInfo = NULL;
131
		goto exit;
132
	}
133
134
	char selector[100];
135
136
	if (strcasecmp(cprotocol, "https") == 0) {
137
		strcpy(selector, "/system/proxy/secure_");
138
	} else if (strcasecmp(cprotocol, "socks") == 0) {
139
		strcpy(selector, "/system/proxy/socks_");
140
	} else if (strcasecmp(cprotocol, "ftp") == 0) {
141
		strcpy(selector, "/system/proxy/ftp_");
142
	} else {
143
		proxyInfo = NULL;
144
		goto exit;
145
	}
146
147
	char useSelector[100];
148
	strcpy(useSelector, selector);
149
150
	gchar *host = gconf_client_get_string(client, strcat(useSelector, "host"),
151
			NULL);
152
	jobject jhost = (*env)->NewStringUTF(env, host);
153
	(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
154
155
	strcpy(useSelector, selector);
156
	gint port = gconf_client_get_int(client, strcat(useSelector, "port"), NULL);
157
	(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
158
159
	exit: if (isCopy == JNI_TRUE)
160
		(*env)->ReleaseStringUTFChars(env, protocol, cprotocol);
161
	return proxyInfo;
162
}
163
164
typedef struct {
165
	jobjectArray npHostArray;
166
	JNIEnv *env;
167
	int index;
168
} ListProcContext;
169
170
// user_data is the ListProcContext
171
void listProc(gpointer data, gpointer user_data) {
172
	ListProcContext *lpc = user_data;
173
	jobject jnpHost = (*lpc->env)->NewStringUTF(lpc->env, (char *)data);
174
	(*lpc->env)->SetObjectArrayElement(lpc->env, lpc->npHostArray,
175
			lpc->index++, jnpHost);
176
}
177
178
/*
179
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
180
 * Method:    getGConfNonProxyHosts
181
 * Signature: ()[Ljava/lang/String;
182
 */
183
JNIEXPORT jobjectArray JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getGConfNonProxyHosts(
184
		JNIEnv *env, jclass clazz) {
185
186
	if (client == NULL) {
187
		gconfInit(env);
188
	}
189
190
	GSList *npHosts;
191
	int size;
192
193
	npHosts = gconf_client_get_list(client, "/system/http_proxy/ignore_hosts",
194
			GCONF_VALUE_STRING, NULL);
195
	size = g_slist_length(npHosts);
196
197
	// TODO - I'm not sure this is really valid, it's from the JVM implementation
198
	// of ProxySelector
199
	if (size == 0) {
200
		npHosts = gconf_client_get_list(client, "/system/proxy/no_proxy_for",
201
				GCONF_VALUE_STRING, NULL);
202
	}
203
	size = g_slist_length(npHosts);
204
205
	jobjectArray ret = (*env)->NewObjectArray(env, size, stringClass, NULL);
206
207
	ListProcContext lpc;
208
	lpc.env = env;
209
	lpc.npHostArray = ret;
210
	lpc.index = 0;
211
212
	g_slist_foreach(npHosts, listProc, &lpc);
213
	return ret;
214
}
215
216
/*
217
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
218
 * Method:    getKdeProxyInfo
219
 * Signature: ([Ljava/lang/String);
220
 */
221
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeProxyInfo(
222
		JNIEnv *env, jclass clazz, jstring protocol) {
223
	//printf("getKdeProxyInfo - not implemented\n");
224
	return NULL;
225
}
226
227
/*
228
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
229
 * Method:    getKdeNonProxyHosts
230
 * Signature: ()Ljava/lang/String;
231
 */
232
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_UnixProxyProvider_getKdeNonProxyHosts(
233
		JNIEnv *env, jclass clazz) {
234
	//printf("getKdeNonProxyHosts - not implemented\n");
235
	return NULL;
236
}
237
(-)src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java (-18 / +50 lines)
Lines 20-30 Link Here
20
public class UnixProxyProvider extends AbstractProxyProvider {
20
public class UnixProxyProvider extends AbstractProxyProvider {
21
21
22
	static {
22
	static {
23
24
		// Load each of the libraries separately so that we get
25
		// whichever ones work
26
		try {
27
			System.out.println("java.library.path: "+ System.getProperty("java.library.path"));  //$NON-NLS-1$//$NON-NLS-2$
28
			System.out.println("proxyenv attempted"); //$NON-NLS-1$
29
			System.loadLibrary("libproxyenv"); //$NON-NLS-1$
30
			System.out.println("proxyenv loaded"); //$NON-NLS-1$
31
		} catch (UnsatisfiedLinkError ex) {
32
			System.out.println("load failed:" + ex); //$NON-NLS-1$
33
			// This will happen on systems that are missing Gnome libraries
34
		}
35
23
		try {
36
		try {
24
			System.loadLibrary("libproxysupport"); //$NON-NLS-1$
37
			System.loadLibrary("libproxygnome"); //$NON-NLS-1$
38
			System.out.println("proxygnome loaded"); //$NON-NLS-1$
25
		} catch (UnsatisfiedLinkError ex) {
39
		} catch (UnsatisfiedLinkError ex) {
26
			// This will happen on systems that are missing Gnome libraries
40
			// This will happen on systems that are missing Gnome libraries
27
		}
41
		}
42
43
		// TODO - don't have a library for KDE yet, put it here when we do
28
	}
44
	}
29
45
30
	public UnixProxyProvider() {
46
	public UnixProxyProvider() {
Lines 46-55 Link Here
46
	}
62
	}
47
63
48
	protected String[] getNonProxiedHosts() {
64
	protected String[] getNonProxiedHosts() {
65
		String[] npHosts;
49
		try {
66
		try {
50
			String[] npHosts = getGConfNonProxyHosts();
67
			npHosts = getGConfNonProxyHosts();
51
			if (npHosts != null && npHosts.length > 0)
68
			if (npHosts != null && npHosts.length > 0)
52
				return npHosts;
69
				return npHosts;
70
		} catch (UnsatisfiedLinkError ex) {
71
			// This has already been reported (the native code did not load)
72
		}
73
74
		try {
53
			return getKdeNonProxyHosts();
75
			return getKdeNonProxyHosts();
54
		} catch (UnsatisfiedLinkError ex) {
76
		} catch (UnsatisfiedLinkError ex) {
55
			// This has already been reported (the native code did not load)
77
			// This has already been reported (the native code did not load)
Lines 61-83 Link Here
61
	protected ProxyData getSystemProxyInfo(String protocol) {
83
	protected ProxyData getSystemProxyInfo(String protocol) {
62
		ProxyData pd = null;
84
		ProxyData pd = null;
63
85
64
		// First try the environment variable which is a URL
86
		try {
65
		// TODO: native calls for system properties, since System#getenx is
87
			// First try the environment variable which is a URL
66
		// deprecated in 1.4
88
			String sysHttp = null;
67
		String sysHttp = null;
89
			sysHttp = getEnvProxyString(protocol);
68
		// System.getenv(protocol.toLowerCase() + "_proxy"); //$NON-NLS-1$
90
			System.out.println("got syshttp:" + sysHttp); //$NON-NLS-1$
69
		if (sysHttp != null) {
91
			if (sysHttp != null) {
70
			URI uri = null;
92
				URI uri = null;
71
			try {
93
				try {
72
				uri = new URI(sysHttp);
94
					uri = new URI(sysHttp);
73
			} catch (URISyntaxException e) {
95
				} catch (URISyntaxException e) {
74
				return null;
96
					return null;
97
				}
98
99
				pd = new ProxyData(protocol);
100
				pd.setHost(uri.getHost());
101
				pd.setPort(uri.getPort());
102
				return pd;
75
			}
103
			}
76
104
		} catch (UnsatisfiedLinkError ex) {
77
			pd = new ProxyData(protocol);
105
			// This has already been reported when the native code did not load
78
			pd.setHost(uri.getHost());
79
			pd.setPort(uri.getPort());
80
			return pd;
81
		}
106
		}
82
107
83
		try {
108
		try {
Lines 87-92 Link Here
87
			if (pd != null)
112
			if (pd != null)
88
				return pd;
113
				return pd;
89
114
115
		} catch (UnsatisfiedLinkError ex) {
116
			// This has already been reported when the native code did not load
117
		}
118
119
		try {
90
			// Then ask KDE
120
			// Then ask KDE
91
			pd = getKdeProxyInfo(protocol);
121
			pd = getKdeProxyInfo(protocol);
92
			if (pd != null)
122
			if (pd != null)
Lines 98-103 Link Here
98
		return null;
128
		return null;
99
	}
129
	}
100
130
131
	protected static native String getEnvProxyString(String protocol);
132
101
	protected static native ProxyData getGConfProxyInfo(String protocol);
133
	protected static native ProxyData getGConfProxyInfo(String protocol);
102
134
103
	protected static native String[] getGConfNonProxyHosts();
135
	protected static native String[] getGConfNonProxyHosts();
(-)natives/unix/README.txt (+12 lines)
Added Link Here
1
The source for getting the native proxy info is in the top level unix directory.  If
2
there are more specific compile options, makefiles, etc, then they should be moved
3
to subdirectories, like in org.eclipse.core.filesystem.
4
5
The GetProxy* directories actually have the make files; this is the makefile as generated by the CDT.
6
7
To build this, go into GetProxy* directory and type "make clean", then "make", 
8
the library will be built in that same directory.  Then you will need to copy the library to the correct org.eclipse.core.net.*
9
fragment.
10
11
There is no automatic build process for building the native code, instead the binary
12
shared libraries are checked in for each fragment, just like in org.eclipse.code.filesystem.
(-)natives/unix/getproxyenv.c (+53 lines)
Added Link Here
1
/*
2
 * Copyright 2008 Oakland Software Incorporated and others
3
 * All rights reserved. This program and the accompanying materials 
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 */
11
12
#include <jni.h>
13
14
#include <stdlib.h>
15
#ifdef __linux__
16
#include <string.h>
17
#else
18
#include <strings.h>
19
#endif
20
21
/*
22
 * Class:     org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider
23
 * Method:    getEnvProxyString
24
 * Signature: ([Ljava/lang/String);
25
 */
26
JNIEXPORT jstring JNICALL Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_getEnvProxyString(
27
		JNIEnv *env, jclass clazz, jstring protocol) {
28
29
	jboolean isCopy;
30
	const char *cprotocol;
31
32
	cprotocol = (*env)->GetStringUTFChars(env, protocol, &isCopy);
33
	if (cprotocol == NULL)
34
		return NULL;
35
36
	static char *proxy = "_proxy";
37
	char *envName = calloc(strlen(cprotocol) + strlen(proxy) + 1, 1);
38
	strcpy(envName, cprotocol);
39
	strcat(envName, proxy);
40
	printf("envName: %s\n", envName);
41
	char *envValue = getenv(envName);
42
	free(envName);
43
	if (envValue == NULL)
44
		return NULL;
45
	
46
	printf("envValue: %s\n", envValue);
47
48
	jstring jenvValue = (*env)->NewStringUTF(env, envValue);
49
	return jenvValue;
50
}
51
52
53
(-)natives/unix/GetProxyGnome/makefile (+43 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
-include ../makefile.init
6
7
RM := rm -rf
8
9
# All of the sources participating in the build are defined here
10
-include sources.mk
11
-include subdir.mk
12
-include objects.mk
13
14
ifneq ($(MAKECMDGOALS),clean)
15
ifneq ($(strip $(C_DEPS)),)
16
-include $(C_DEPS)
17
endif
18
endif
19
20
-include ../makefile.defs
21
22
# Add inputs and outputs from these tool invocations to the build variables 
23
24
# All Target
25
all: libproxygnome.so
26
27
# Tool invocations
28
libproxygnome.so: $(OBJS) $(USER_OBJS)
29
	@echo 'Building target: $@'
30
	@echo 'Invoking: GCC C Linker'
31
	gcc -m32 -shared -o"libproxygnome.so" $(OBJS) $(USER_OBJS) $(LIBS)
32
	@echo 'Finished building target: $@'
33
	@echo ' '
34
35
# Other Targets
36
clean:
37
	-$(RM) $(OBJS)$(C_DEPS)$(LIBRARIES) libproxygnome.so
38
	-@echo ' '
39
40
.PHONY: all clean dependents
41
.SECONDARY:
42
43
-include ../makefile.targets
(-)natives/unix/getproxygnome.c (+215 lines)
Added Link Here
1
/*
2
 * Copyright 2008 Oakland Software Incorporated and others
3
 * All rights reserved. This program and the accompanying materials 
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors:
9
 *     Oakland Software Incorporated - initial API and implementation
10
 */
11
12
#include <jni.h>
13
14
#include <glib.h>
15
#include <glib/gslist.h>
16
#include <gconf/gconf-value.h>
17
#include <gconf/gconf-client.h>
18
19
#ifdef __linux__
20
#include <string.h>
21
#else
22
#include <strings.h>
23
#endif
24
25
static GConfClient *client= NULL;
26
27
static jclass proxyInfoClass;
28
static jclass stringClass;
29
static jmethodID proxyInfoConstructor;
30
static jmethodID toString;
31
32
static jmethodID hostMethod;
33
static jmethodID portMethod;
34
static jmethodID requiresAuthenticationMethod;
35
static jmethodID userMethod;
36
static jmethodID passwordMethod;
37
38
#define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI error at line %d\n", __LINE__); } 
39
40
static void gconfInit(JNIEnv *env) {
41
	client = gconf_client_get_default();
42
	jclass cls= NULL;
43
	CHECK_NULL(cls = (*env)->FindClass(env, "org/eclipse/core/internal/net/ProxyData"));
44
	proxyInfoClass = (*env)->NewGlobalRef(env, cls);
45
46
	CHECK_NULL(cls = (*env)->FindClass(env, "java/lang/String"));
47
	stringClass = (*env)->NewGlobalRef(env, cls);
48
49
	CHECK_NULL(proxyInfoConstructor = (*env)->GetMethodID(env, proxyInfoClass, "<init>", "(Ljava/lang/String;)V"));
50
51
	CHECK_NULL(toString = (*env)->GetMethodID(env, proxyInfoClass, "toString", "()Ljava/lang/String;"));
52
53
	CHECK_NULL(hostMethod = (*env)->GetMethodID(env, proxyInfoClass, "setHost",
54
					"(Ljava/lang/String;)V"));
55
	CHECK_NULL(portMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPort",
56
					"(I)V"));
57
	CHECK_NULL(requiresAuthenticationMethod= (*env)->GetMethodID(env, proxyInfoClass, "setRequiresAuthentication",
58
					"(Z)V"));
59
	CHECK_NULL(userMethod = (*env)->GetMethodID(env, proxyInfoClass, "setUserid",
60
					"(Ljava/lang/String;)V"));
61
	CHECK_NULL(passwordMethod = (*env)->GetMethodID(env, proxyInfoClass, "setPassword",
62
					"(Ljava/lang/String;)V"));
63
}
64
65
/*
66
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
67
 * Method:    getGConfProxyInfo
68
 * Signature: ([Ljava/lang/String);
69
 */
70
JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_getGConfProxyInfo(
71
		JNIEnv *env, jclass clazz, jstring protocol) {
72
73
	jboolean isCopy;
74
	const char *cprotocol;
75
76
	jobject proxyInfo= NULL;
77
78
	if (client == NULL) {
79
		gconfInit(env);
80
	}
81
82
	CHECK_NULL(proxyInfo = (*env)->NewObject(env, proxyInfoClass, proxyInfoConstructor, protocol));
83
84
	cprotocol = (*env)->GetStringUTFChars(env, protocol, &isCopy);
85
	if (cprotocol == NULL)
86
		return NULL;
87
88
	//printf("cprotocol: %s\n", cprotocol);
89
90
	if (strcasecmp(cprotocol, "http") == 0) {
91
		gboolean useProxy = gconf_client_get_bool(client,
92
				"/system/http_proxy/use_http_proxy", NULL);
93
		if (!useProxy) {
94
			proxyInfo = NULL;
95
			goto exit;
96
		}
97
98
		gchar *host = gconf_client_get_string(client,
99
				"/system/http_proxy/host", NULL);
100
		jobject jhost = (*env)->NewStringUTF(env, host);
101
		(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
102
103
		gint port = gconf_client_get_int(client, "/system/http_proxy/port",
104
				NULL);
105
		(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
106
107
		gboolean reqAuth = gconf_client_get_bool(client,
108
				"/system/http_proxy/use_authentication", NULL);
109
		(*env)->CallVoidMethod(env, proxyInfo,
110
				requiresAuthenticationMethod, reqAuth);
111
		if (reqAuth) {
112
113
			gchar *user = gconf_client_get_string(client,
114
					"/system/http_proxy/authentication_user", NULL);
115
			jobject juser = (*env)->NewStringUTF(env, user);
116
			(*env)->CallVoidMethod(env, proxyInfo, userMethod, juser);
117
118
			gchar *password = gconf_client_get_string(client,
119
					"/system/http_proxy/authentication_password", NULL);
120
			jobject jpassword = (*env)->NewStringUTF(env, password);
121
			(*env)->CallVoidMethod(env, proxyInfo, passwordMethod,
122
					jpassword);
123
		}
124
		goto exit;
125
	}
126
127
	// Everything else applies only if the system proxy mode is manual
128
	gchar *mode = gconf_client_get_string(client, "/system/proxy/mode", NULL);
129
	if (strcasecmp(mode, "manual") != 0) {
130
		proxyInfo = NULL;
131
		goto exit;
132
	}
133
134
	char selector[100];
135
136
	if (strcasecmp(cprotocol, "https") == 0) {
137
		strcpy(selector, "/system/proxy/secure_");
138
	} else if (strcasecmp(cprotocol, "socks") == 0) {
139
		strcpy(selector, "/system/proxy/socks_");
140
	} else if (strcasecmp(cprotocol, "ftp") == 0) {
141
		strcpy(selector, "/system/proxy/ftp_");
142
	} else {
143
		proxyInfo = NULL;
144
		goto exit;
145
	}
146
147
	char useSelector[100];
148
	strcpy(useSelector, selector);
149
150
	gchar *host = gconf_client_get_string(client, strcat(useSelector, "host"),
151
			NULL);
152
	jobject jhost = (*env)->NewStringUTF(env, host);
153
	(*env)->CallVoidMethod(env, proxyInfo, hostMethod, jhost);
154
155
	strcpy(useSelector, selector);
156
	gint port = gconf_client_get_int(client, strcat(useSelector, "port"), NULL);
157
	(*env)->CallVoidMethod(env, proxyInfo, portMethod, port);
158
159
	exit: if (isCopy == JNI_TRUE)
160
		(*env)->ReleaseStringUTFChars(env, protocol, cprotocol);
161
	return proxyInfo;
162
}
163
164
typedef struct {
165
	jobjectArray npHostArray;
166
	JNIEnv *env;
167
	int index;
168
} ListProcContext;
169
170
// user_data is the ListProcContext
171
void listProc(gpointer data, gpointer user_data) {
172
	ListProcContext *lpc = user_data;
173
	jobject jnpHost = (*lpc->env)->NewStringUTF(lpc->env, (char *)data);
174
	(*lpc->env)->SetObjectArrayElement(lpc->env, lpc->npHostArray,
175
			lpc->index++, jnpHost);
176
}
177
178
/*
179
 * Class:     org_eclipse_core_internal_net_UnixProxyProvider
180
 * Method:    getGConfNonProxyHosts
181
 * Signature: ()[Ljava/lang/String;
182
 */
183
JNIEXPORT jobjectArray JNICALL Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_getGConfNonProxyHosts(
184
		JNIEnv *env, jclass clazz) {
185
186
	if (client == NULL) {
187
		gconfInit(env);
188
	}
189
190
	GSList *npHosts;
191
	int size;
192
193
	npHosts = gconf_client_get_list(client, "/system/http_proxy/ignore_hosts",
194
			GCONF_VALUE_STRING, NULL);
195
	size = g_slist_length(npHosts);
196
197
	// TODO - I'm not sure this is really valid, it's from the JVM implementation
198
	// of ProxySelector
199
	if (size == 0) {
200
		npHosts = gconf_client_get_list(client, "/system/proxy/no_proxy_for",
201
				GCONF_VALUE_STRING, NULL);
202
	}
203
	size = g_slist_length(npHosts);
204
205
	jobjectArray ret = (*env)->NewObjectArray(env, size, stringClass, NULL);
206
207
	ListProcContext lpc;
208
	lpc.env = env;
209
	lpc.npHostArray = ret;
210
	lpc.index = 0;
211
212
	g_slist_foreach(npHosts, listProc, &lpc);
213
	return ret;
214
}
215
(-)natives/unix/GetProxyEnv/makefile (+43 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
-include ../makefile.init
6
7
RM := rm -rf
8
9
# All of the sources participating in the build are defined here
10
-include sources.mk
11
-include subdir.mk
12
-include objects.mk
13
14
ifneq ($(MAKECMDGOALS),clean)
15
ifneq ($(strip $(C_DEPS)),)
16
-include $(C_DEPS)
17
endif
18
endif
19
20
-include ../makefile.defs
21
22
# Add inputs and outputs from these tool invocations to the build variables 
23
24
# All Target
25
all: libproxyenv.so
26
27
# Tool invocations
28
libproxyenv.so: $(OBJS) $(USER_OBJS)
29
	@echo 'Building target: $@'
30
	@echo 'Invoking: GCC C Linker'
31
	gcc -m32 -shared -o"libproxyenv.so" $(OBJS) $(USER_OBJS) $(LIBS)
32
	@echo 'Finished building target: $@'
33
	@echo ' '
34
35
# Other Targets
36
clean:
37
	-$(RM) $(OBJS)$(C_DEPS)$(LIBRARIES) libproxyenv.so
38
	-@echo ' '
39
40
.PHONY: all clean dependents
41
.SECONDARY:
42
43
-include ../makefile.targets
(-)natives/unix/GetProxyGnome/objects.mk (+7 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
USER_OBJS :=
6
7
LIBS := -lgconf-2 -lORBit-2 -lgthread-2.0 -lrt -lgobject-2.0 -lglib-2.0
(-)natives/unix/GetProxyGnome/sources.mk (+17 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
O_SRCS := 
6
C_SRCS := 
7
S_SRCS := 
8
OBJ_SRCS := 
9
ASM_SRCS := 
10
OBJS := 
11
C_DEPS := 
12
LIBRARIES := 
13
14
# Every subdirectory with source files must be described here
15
SUBDIRS := \
16
. \
17
(-)natives/unix/GetProxyEnv/getproxyenv.d (+1 lines)
Added Link Here
1
getproxyenv.d getproxyenv.o: ../getproxyenv.c
(-)natives/unix/GetProxyGnome/getproxygnome.d (+226 lines)
Added Link Here
1
getproxygnome.d getproxygnome.o: ../getproxygnome.c \
2
  /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \
3
  /usr/include/glib-2.0/glib/gtypes.h \
4
  /usr/lib/glib-2.0/include/glibconfig.h \
5
  /usr/include/glib-2.0/glib/gmacros.h \
6
  /usr/include/glib-2.0/glib/garray.h \
7
  /usr/include/glib-2.0/glib/gasyncqueue.h \
8
  /usr/include/glib-2.0/glib/gthread.h \
9
  /usr/include/glib-2.0/glib/gerror.h /usr/include/glib-2.0/glib/gquark.h \
10
  /usr/include/glib-2.0/glib/gutils.h \
11
  /usr/include/glib-2.0/glib/gatomic.h \
12
  /usr/include/glib-2.0/glib/gbacktrace.h \
13
  /usr/include/glib-2.0/glib/gbase64.h \
14
  /usr/include/glib-2.0/glib/gbookmarkfile.h \
15
  /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
16
  /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
17
  /usr/include/glib-2.0/glib/gcompletion.h \
18
  /usr/include/glib-2.0/glib/gconvert.h \
19
  /usr/include/glib-2.0/glib/gdataset.h \
20
  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
21
  /usr/include/glib-2.0/glib/gfileutils.h \
22
  /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
23
  /usr/include/glib-2.0/glib/giochannel.h \
24
  /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gslist.h \
25
  /usr/include/glib-2.0/glib/gstring.h \
26
  /usr/include/glib-2.0/glib/gunicode.h \
27
  /usr/include/glib-2.0/glib/gkeyfile.h \
28
  /usr/include/glib-2.0/glib/gmappedfile.h \
29
  /usr/include/glib-2.0/glib/gmarkup.h \
30
  /usr/include/glib-2.0/glib/gmessages.h \
31
  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
32
  /usr/include/glib-2.0/glib/gpattern.h \
33
  /usr/include/glib-2.0/glib/gprimes.h \
34
  /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
35
  /usr/include/glib-2.0/glib/grand.h /usr/include/glib-2.0/glib/grel.h \
36
  /usr/include/glib-2.0/glib/gregex.h \
37
  /usr/include/glib-2.0/glib/gscanner.h \
38
  /usr/include/glib-2.0/glib/gsequence.h \
39
  /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gspawn.h \
40
  /usr/include/glib-2.0/glib/gstrfuncs.h \
41
  /usr/include/glib-2.0/glib/gthreadpool.h \
42
  /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
43
  /usr/include/gconf/2/gconf/gconf-value.h \
44
  /usr/include/gconf/2/gconf/gconf-error.h \
45
  /usr/include/gconf/2/gconf/gconf-client.h \
46
  /usr/include/glib-2.0/glib-object.h \
47
  /usr/include/glib-2.0/gobject/gboxed.h \
48
  /usr/include/glib-2.0/gobject/gtype.h \
49
  /usr/include/glib-2.0/gobject/genums.h \
50
  /usr/include/glib-2.0/gobject/gobject.h \
51
  /usr/include/glib-2.0/gobject/gvalue.h \
52
  /usr/include/glib-2.0/gobject/gparam.h \
53
  /usr/include/glib-2.0/gobject/gclosure.h \
54
  /usr/include/glib-2.0/gobject/gsignal.h \
55
  /usr/include/glib-2.0/gobject/gmarshal.h \
56
  /usr/include/glib-2.0/gobject/gparamspecs.h \
57
  /usr/include/glib-2.0/gobject/gsourceclosure.h \
58
  /usr/include/glib-2.0/gobject/gtypemodule.h \
59
  /usr/include/glib-2.0/gobject/gtypeplugin.h \
60
  /usr/include/glib-2.0/gobject/gvaluearray.h \
61
  /usr/include/glib-2.0/gobject/gvaluetypes.h \
62
  /usr/include/gconf/2/gconf/gconf.h \
63
  /usr/include/gconf/2/gconf/gconf-schema.h \
64
  /usr/include/gconf/2/gconf/gconf-engine.h \
65
  /usr/include/gconf/2/gconf/gconf-error.h \
66
  /usr/include/gconf/2/gconf/gconf-enum-types.h \
67
  /usr/include/gconf/2/gconf/gconf-listeners.h \
68
  /usr/include/gconf/2/gconf/gconf-changeset.h
69
70
/usr/include/glib-2.0/glib.h:
71
72
/usr/include/glib-2.0/glib/galloca.h:
73
74
/usr/include/glib-2.0/glib/gtypes.h:
75
76
/usr/lib/glib-2.0/include/glibconfig.h:
77
78
/usr/include/glib-2.0/glib/gmacros.h:
79
80
/usr/include/glib-2.0/glib/garray.h:
81
82
/usr/include/glib-2.0/glib/gasyncqueue.h:
83
84
/usr/include/glib-2.0/glib/gthread.h:
85
86
/usr/include/glib-2.0/glib/gerror.h:
87
88
/usr/include/glib-2.0/glib/gquark.h:
89
90
/usr/include/glib-2.0/glib/gutils.h:
91
92
/usr/include/glib-2.0/glib/gatomic.h:
93
94
/usr/include/glib-2.0/glib/gbacktrace.h:
95
96
/usr/include/glib-2.0/glib/gbase64.h:
97
98
/usr/include/glib-2.0/glib/gbookmarkfile.h:
99
100
/usr/include/glib-2.0/glib/gcache.h:
101
102
/usr/include/glib-2.0/glib/glist.h:
103
104
/usr/include/glib-2.0/glib/gmem.h:
105
106
/usr/include/glib-2.0/glib/gslice.h:
107
108
/usr/include/glib-2.0/glib/gcompletion.h:
109
110
/usr/include/glib-2.0/glib/gconvert.h:
111
112
/usr/include/glib-2.0/glib/gdataset.h:
113
114
/usr/include/glib-2.0/glib/gdate.h:
115
116
/usr/include/glib-2.0/glib/gdir.h:
117
118
/usr/include/glib-2.0/glib/gfileutils.h:
119
120
/usr/include/glib-2.0/glib/ghash.h:
121
122
/usr/include/glib-2.0/glib/ghook.h:
123
124
/usr/include/glib-2.0/glib/giochannel.h:
125
126
/usr/include/glib-2.0/glib/gmain.h:
127
128
/usr/include/glib-2.0/glib/gslist.h:
129
130
/usr/include/glib-2.0/glib/gstring.h:
131
132
/usr/include/glib-2.0/glib/gunicode.h:
133
134
/usr/include/glib-2.0/glib/gkeyfile.h:
135
136
/usr/include/glib-2.0/glib/gmappedfile.h:
137
138
/usr/include/glib-2.0/glib/gmarkup.h:
139
140
/usr/include/glib-2.0/glib/gmessages.h:
141
142
/usr/include/glib-2.0/glib/gnode.h:
143
144
/usr/include/glib-2.0/glib/goption.h:
145
146
/usr/include/glib-2.0/glib/gpattern.h:
147
148
/usr/include/glib-2.0/glib/gprimes.h:
149
150
/usr/include/glib-2.0/glib/gqsort.h:
151
152
/usr/include/glib-2.0/glib/gqueue.h:
153
154
/usr/include/glib-2.0/glib/grand.h:
155
156
/usr/include/glib-2.0/glib/grel.h:
157
158
/usr/include/glib-2.0/glib/gregex.h:
159
160
/usr/include/glib-2.0/glib/gscanner.h:
161
162
/usr/include/glib-2.0/glib/gsequence.h:
163
164
/usr/include/glib-2.0/glib/gshell.h:
165
166
/usr/include/glib-2.0/glib/gspawn.h:
167
168
/usr/include/glib-2.0/glib/gstrfuncs.h:
169
170
/usr/include/glib-2.0/glib/gthreadpool.h:
171
172
/usr/include/glib-2.0/glib/gtimer.h:
173
174
/usr/include/glib-2.0/glib/gtree.h:
175
176
/usr/include/gconf/2/gconf/gconf-value.h:
177
178
/usr/include/gconf/2/gconf/gconf-error.h:
179
180
/usr/include/gconf/2/gconf/gconf-client.h:
181
182
/usr/include/glib-2.0/glib-object.h:
183
184
/usr/include/glib-2.0/gobject/gboxed.h:
185
186
/usr/include/glib-2.0/gobject/gtype.h:
187
188
/usr/include/glib-2.0/gobject/genums.h:
189
190
/usr/include/glib-2.0/gobject/gobject.h:
191
192
/usr/include/glib-2.0/gobject/gvalue.h:
193
194
/usr/include/glib-2.0/gobject/gparam.h:
195
196
/usr/include/glib-2.0/gobject/gclosure.h:
197
198
/usr/include/glib-2.0/gobject/gsignal.h:
199
200
/usr/include/glib-2.0/gobject/gmarshal.h:
201
202
/usr/include/glib-2.0/gobject/gparamspecs.h:
203
204
/usr/include/glib-2.0/gobject/gsourceclosure.h:
205
206
/usr/include/glib-2.0/gobject/gtypemodule.h:
207
208
/usr/include/glib-2.0/gobject/gtypeplugin.h:
209
210
/usr/include/glib-2.0/gobject/gvaluearray.h:
211
212
/usr/include/glib-2.0/gobject/gvaluetypes.h:
213
214
/usr/include/gconf/2/gconf/gconf.h:
215
216
/usr/include/gconf/2/gconf/gconf-schema.h:
217
218
/usr/include/gconf/2/gconf/gconf-engine.h:
219
220
/usr/include/gconf/2/gconf/gconf-error.h:
221
222
/usr/include/gconf/2/gconf/gconf-enum-types.h:
223
224
/usr/include/gconf/2/gconf/gconf-listeners.h:
225
226
/usr/include/gconf/2/gconf/gconf-changeset.h:
(-)natives/unix/GetProxyGnome/subdir.mk (+24 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
# Add inputs and outputs from these tool invocations to the build variables 
6
C_SRCS += \
7
../getproxygnome.c 
8
9
OBJS += \
10
./getproxygnome.o 
11
12
C_DEPS += \
13
./getproxygnome.d 
14
15
16
# Each subdirectory must supply rules for building sources it contributes
17
%.o: ../%.c
18
	@echo 'Building file: $<'
19
	@echo 'Invoking: GCC C Compiler'
20
	gcc -I/usr/include/gconf/2 -I/usr/include/orbit-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -O0 -fPIC -g3 -Wall -c -fmessage-length=0 -m32 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
21
	@echo 'Finished building: $<'
22
	@echo ' '
23
24
(-)natives/unix/GetProxyEnv/objects.mk (+7 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
USER_OBJS :=
6
7
LIBS := -lrt
(-)natives/unix/GetProxyEnv/subdir.mk (+24 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
# Add inputs and outputs from these tool invocations to the build variables 
6
C_SRCS += \
7
../getproxyenv.c 
8
9
OBJS += \
10
./getproxyenv.o 
11
12
C_DEPS += \
13
./getproxyenv.d 
14
15
16
# Each subdirectory must supply rules for building sources it contributes
17
%.o: ../%.c
18
	@echo 'Building file: $<'
19
	@echo 'Invoking: GCC C Compiler'
20
	gcc -O0 -fPIC -g3 -Wall -c -fmessage-length=0 -m32 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
21
	@echo 'Finished building: $<'
22
	@echo ' '
23
24
(-)natives/unix/GetProxyEnv/sources.mk (+17 lines)
Added Link Here
1
################################################################################
2
# Automatically-generated file. Do not edit!
3
################################################################################
4
5
O_SRCS := 
6
C_SRCS := 
7
S_SRCS := 
8
OBJ_SRCS := 
9
ASM_SRCS := 
10
OBJS := 
11
C_DEPS := 
12
LIBRARIES := 
13
14
# Every subdirectory with source files must be described here
15
SUBDIRS := \
16
. \
17

Return to bug 226462