Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 326797

Summary: [transport][director] Unable to use headless director when proxies are required
Product: [Eclipse Project] Equinox Reporter: Michal Ruzicka <michal.ruza>
Component: p2Assignee: P2 Inbox <equinox.p2-inbox>
Status: CLOSED WORKSFORME QA Contact:
Severity: blocker    
Priority: P3 CC: eckart.langhuth, filip.hrbek, Kenn.Hussey, mikaelpetterson, pascal, pawel.pogorzelski1, slewis, Szymon.Brandys, thomas
Version: 3.6   
Target Milestone: 3.7   
Hardware: All   
OS: All   
Whiteboard:

Description Michal Ruzicka CLA 2010-10-01 11:58:29 EDT
Could you please create jobs detailed below?

The jobs:
buckminster-head
buckminster-maintenance

Who should have access:
thallgren
mruzicka

TIA
Comment 1 Denis Roy CLA 2010-10-04 15:51:13 EDT
Those jobs have been created with the requested access permissions:

https://hudson.eclipse.org/hudson/job/buckminster-head/

https://hudson.eclipse.org/hudson/job/buckminster-maintenance/

Closing as fixed; please reopen if you need anything else.
Comment 2 Thomas Hallgren CLA 2010-10-05 02:55:37 EDT
Something is wrong. When i run on on the master, p2 is not able to find repositories at:

http://download.cloudsmith.com/buckminster/external-3.6

The repositories are there though, I can access it from other sites. It seems like it's somehow related to restricted outgoing access. On the master, the failure is quick (seconds) but on a slave the request to access the repository hangs indefinitely.
Comment 3 Denis Roy CLA 2010-10-05 10:08:31 EDT
> Something is wrong.

The problem is that your build is not using the proxy server to access the Internet.

Your build seems to spawn a second java process -- I'm guessing this is because of ant.  Although the second process has the correct proxy settings in the ANT_OPTS and ANT_ARGS environment variables, the proxy server settings are not featured on the command line like the Hudson job process shows them.

This is the java process that Hudson launches (pardon the lack of spaces).

/shared/common/sun-jdk1.6.0_21_x64/jre/bin/java-Dhttp.proxyHost=proxy.eclipse.org-Dhttp.proxyPort=9898-Dhttps.proxyHost=proxy.eclipse.org-Dhttps.proxyPort=9898-Dhttp.nonProxyHosts=*.eclipse.org-Dhttps.nonProxyHosts=*.eclipse.org-Dftp.proxyHost=proxy.eclipse.org-Dftp.proxyPort=9898-Dftp.nonProxyHosts=*.eclipse.org-classpath/shared/stp/apps/apache-ant-1.7.1/lib/ant-launcher.jar-Dant.home=/shared/stp/apps/apache-ant-1.7.1-Dant.library.dir=/shared/stp/apps/apache-ant-1.7.1/liborg.apache.tools.ant.launch.Launcher-Dhttp.proxyHost=proxy.eclipse.org-Dhttp.proxyPort=9898-Dhttps.proxyHost=proxy.eclipse.org-Dhttps.proxyPort=9898-Dhttp.nonProxyHosts=*.eclipse.org-Dhttps.nonProxyHosts=*.eclipse.org-Dftp.proxyHost=proxy.eclipse.org-Dftp.proxyPort=9898-Dftp.nonProxyHosts=*.eclipse.org-cp-DBUCKMINSTER_LOGLEVEL=WARNING-DANT_TARGET=promote.sites-Dbuckminster.loglevel=WARNINGpromote.siteshudson

The second process is this one.  Notice how it uses eclipse.p2.mirrors=false, as well as no settings for proxyHost and proxyPort.

/opt/public/common/sun-jdk1.6.0_21_x64/jre/bin/java-Declipse.p2.mirrors=false-jar/opt/users/hudsonbuild/workspace/buckminster-maintenance/tools/director/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar-rfile:/home/data/httpd/download.eclipse.org/tools/buckminster/headless-3.6-rhttp://download.cloudsmith.com/buckminster/external-3.6-d/opt/users/hudsonbuild/workspace/buckminster-maintenance/tools/buckminster-pBuckminster-iorg.eclipse.buckminster.cmdline.product-iorg.eclipse.buckminster.core.headless.feature.feature.group-iorg.eclipse.buckminster.pde.headless.feature.feature.group-iorg.eclipse.buckminster.cvs.headless.feature.feature.group-iorg.eclipse.buckminster.subclipse.headless.feature.feature.group-iorg.eclipse.buckminster.emma.headless.feature.feature.group

Although I don't understand why the second process does not have the proxy settings in the command line as parameters, could you add these two parameters t your build.xml (or wherever you have defined eclipse.p2.mirrors)?

http.proxyHost=proxy.eclipse.org
http.proxyPort=9898

.. just to see if that solves the problem?  



You would also likely have to remove download.cloudsmith.com from your noproxy property in build.xml:
<condition property="no.proxy" value="${env.no_proxy}, dev.eclipse.org, download.cloudsmith.com" else="dev.eclipse.org, download.cloudsmith.com">
Comment 4 Thomas Hallgren CLA 2010-10-05 11:40:37 EDT
(In reply to comment #3)

> Although I don't understand why the second process does not have the proxy
> settings in the command line as parameters, could you add these two parameters
> t your build.xml (or wherever you have defined eclipse.p2.mirrors)?
> 
> http.proxyHost=proxy.eclipse.org
> http.proxyPort=9898
> 
These are added now. But why would you expect them to be there? I spawn a new JVM from ant with explicit parameters. It used to work but something is undoubtedly different now. If anyone has said something about proxy parameters, I've missed it completely.

> .. just to see if that solves the problem?  
> 
It doesn't seem to. It still hangs on the same spot.
 
> You would also likely have to remove download.cloudsmith.com from your noproxy
> property in build.xml:
> <condition property="no.proxy" value="${env.no_proxy}, dev.eclipse.org,
> download.cloudsmith.com" else="dev.eclipse.org, download.cloudsmith.com">

I added that as an experiment when things didn't work. It's removed now.
Comment 5 Denis Roy CLA 2010-10-05 13:20:01 EDT
(In reply to comment #4)
> (In reply to comment #3)
> 
> > Although I don't understand why the second process does not have the proxy
> > settings in the command line as parameters, could you add these two parameters
> > t your build.xml (or wherever you have defined eclipse.p2.mirrors)?
> > 
> > http.proxyHost=proxy.eclipse.org
> > http.proxyPort=9898
> > 
> These are added now. But why would you expect them to be there? I spawn a new
> JVM from ant with explicit parameters. It used to work but something is
> undoubtedly different now. If anyone has said something about proxy parameters,
> I've missed it completely.

I wouldn't expect those settings to be in your build job since we have defined them globally.  In fact, I wouldn't expect you to be required to set them since they are defined in the environment, but for some reason that sub-process isn't using those values that we have defined.



> 
> > .. just to see if that solves the problem?  
> > 
> It doesn't seem to. It still hangs on the same spot.

The process now shows the parameters:

/opt/public/common/sun-jdk1.6.0_21_x64/jre/bin/java -Dhttp.proxyHost=proxy.eclipse.org -Dhttp.proxyPort=9898 -Declipse.p2.mirrors=false -jar /opt/users/hudsonbuild/workspace/buckminster-maintenance/tools/director/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -r file:/home/data/httpd/download.eclipse.org/tools/buckminster/headless-3.6 -r http://download.cloudsmith.com/buckminster/external-3.6 -d /opt/users/hudsonbuild/workspace/buckminster-maintenance/tools/buckminster -p Buckminster -i org.eclipse.buckminster.cmdline.product -i org.eclipse.buckminster.core.headless.feature.feature.group -i org.eclipse.buckminster.pde.headless.feature.feature.group -i org.eclipse.buckminster.cvs.headless.feature.feature.group -i org.eclipse.buckminster.subclipse.headless.feature.feature.group -i org.eclipse.buckminster.emma.headless.feature.feature.group

However, according to my proxy logs, the proxy is not even being contacted, so it appears it's still trying to fetch your external dependencies directly.  Do you know if anything else could be overriding these settings?
Comment 6 Thomas Hallgren CLA 2010-10-05 16:49:41 EDT
(In reply to comment #5)
> I wouldn't expect those settings to be in your build job since we have defined
> them globally.  In fact, I wouldn't expect you to be required to set them since
> they are defined in the environment, but for some reason that sub-process isn't
> using those values that we have defined.
> 
Not sure if we're talking (or writing) past each other here. The -Dxxx=yyy options are properties, not environment, and I pass them explicitly in the ant-script. There's no automatic passing of properties when calling java from ant. The environment is inherited of course but its invisible in the ps listing.

> However, according to my proxy logs, the proxy is not even being contacted, so
> it appears it's still trying to fetch your external dependencies directly.  Do
> you know if anything else could be overriding these settings?

No, I'm sorry. I don't have a clue. This is a call to the headless p2 director and whatever symptoms it shows should also be apparent when attempting to access the repository from any other running Eclipse instance.
Comment 7 Denis Roy CLA 2010-10-05 19:01:14 EDT
(In reply to comment #6)
> Not sure if we're talking (or writing) past each other here. The -Dxxx=yyy
> options are properties, not environment, and I pass them explicitly in the
> ant-script. There's no automatic passing of properties when calling java from
> ant. The environment is inherited of course but its invisible in the ps
> listing.

ant, the 'executable', is nothing more than a shell script that grabs $ANT_OPTS from the environment and passes it to the commandline (hence visible to ps)

droy@build:~> file /opt/public/common/apache-ant-1.7.1/bin/ant
/opt/public/common/apache-ant-1.7.1/bin/ant: POSIX shell script text

That script contains:
ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\" $ant_exec_args"


If you're calling ant another way, you'll need to pass the proxy values for http, https and ftp as needed.

proxy.eclipse.org  port 9898

Closing as NOT_ECLIPSE but do reopen if there is anything I can assist you with.
Comment 8 Thomas Hallgren CLA 2010-10-06 00:31:06 EDT
Since I now, on your recommendation indeed do pass the needed options, and it still doesn't work, I'm not inclined to consider this resolved, nor as a NOT_ECLIPSE since the actual utility that I'm using is the p2 director.

I'm in a position where my build has stopped working and I have no clue what to do about it. The only thing I have done is to follow your advice and move it to another machine. This machine does not permit access to the outside world. So please help me resolve this.
Comment 9 Thomas Hallgren CLA 2010-10-06 00:33:16 EDT
Also, please note that I'm not calling ant at all, Hudson does. I'm using ant to call java but a qualified guess is that I'm far from the only one that does that.
Comment 10 Denis Roy CLA 2010-10-06 08:41:51 EDT
> This machine does not permit access to the outside world.

All the Hudson machines have unrestricted access to the outside world -- but you must use a proxy server.

> the actual utility that I'm using is the p2 director.

Is p2 director aware of our proxies?

http://dev.eclipse.org/mhonarc/lists/equinox-dev/msg04705.html

We have defined the proxy settings in the OS environment, in the Hudson environment and in the Java variables; as you can see below, I needn't tell wget to use a proxy.

hudsonbuild@hudson-slave2:~> wget http://www.google.com
--2010-10-06 08:38:27--  http://www.google.com/
Resolving proxy.eclipse.org... 206.191.52.57
Connecting to proxy.eclipse.org|206.191.52.57|:9898... connected.
Proxy request sent, awaiting response... 302 Found
Location: http://www.google.ca/ [following]
--2010-10-06 08:38:27--  http://www.google.ca/
Connecting to proxy.eclipse.org|206.191.52.57|:9898... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html'

    [ <=>                                                                                                                                                                  ] 9,346       --.-K/s   in 0.007s  

2010-10-06 08:38:27 (1.36 MB/s) - `index.html' saved [9346]


http://www.eclipse.org/forums/index.php?t=msg&th=181615
Comment 11 Denis Roy CLA 2010-10-07 11:50:56 EDT
If anyone can confirm that the p2 director cannot/does not use proxies I will rig something up on our local Hudson instances to allow Thomas' builds to run.
Comment 12 Thomas Hallgren CLA 2010-10-13 04:50:33 EDT
Raising the priority on this since it blocks our builds completely.

We cannot use the p2 (i.e. the director app) at the hudson build server to access repositories outside of eclipse.org. It doesn't matter what options or environment settings we use. This has to be resolved!

Why doesn't the director honor the normal proxy settings? Is the ECF httpclient doing something special here. Does it honor some other settings? We are passing the settings below but it doesn't seem to help.

-Dhttp.proxyHost=proxy.eclipse.org
-Dhttp.proxyPort=9898
-Dhttps.proxyHost=proxy.eclipse.org
-Dhttps.proxyPort=9898
-Dftp.proxyHost=proxy.eclipse.org
-Dftp.proxyPort=9898
-DhttpnonProxyHosts=*.eclipse.org
-DhttpsnonProxyHosts=*.eclipse.org
-DftpnonProxyHosts=*.eclipse.org
Comment 13 Scott Lewis CLA 2010-10-13 10:16:46 EDT
(In reply to comment #12)
> Raising the priority on this since it blocks our builds completely.
> 
> We cannot use the p2 (i.e. the director app) at the hudson build server to
> access repositories outside of eclipse.org. It doesn't matter what options or
> environment settings we use. This has to be resolved!
> 
> Why doesn't the director honor the normal proxy settings? Is the ECF httpclient
> doing something special here. Does it honor some other settings? We are passing
> the settings below but it doesn't seem to help.
> 
> -Dhttp.proxyHost=proxy.eclipse.org
> -Dhttp.proxyPort=9898
> -Dhttps.proxyHost=proxy.eclipse.org
> -Dhttps.proxyPort=9898
> -Dftp.proxyHost=proxy.eclipse.org
> -Dftp.proxyPort=9898
> -DhttpnonProxyHosts=*.eclipse.org
> -DhttpsnonProxyHosts=*.eclipse.org
> -DftpnonProxyHosts=*.eclipse.org

I haven't had a chance to look at all of the comments on this bug (as I've just been made aware of it), but just to clarify...what ECF does WRT proxy configuration is that it uses the proxy configuration specified in org.eclipse.core.net proxy API (as it must for Eclipse) rather than from the JRE system properties.  It sounds like you may need to a) add the (optional) org.eclipse.core.net bundle to the headless director...if it's not already there...and b) setup the proxy configuration you want with org.eclipse.core.net proxy API.



1) If the org.eclipse.
Comment 14 Thomas Hallgren CLA 2010-10-13 10:24:42 EDT
Thanks for rapid reply Scott.

(In reply to comment #13)
> It sounds like you may need to a) add the (optional)
> org.eclipse.core.net bundle to the headless director...if it's not already
> there...

It's there.

> and b) setup the proxy configuration you want with org.eclipse.core.net
> proxy API.
> 
That is problematic since the director is a headless application and this is a headless build. The director is downloaded as part of the build.

I think in general, this highlights a problem with the Eclipse proxy support in that it doesn't default to the settings for the standard proxy properties. Is there any way to get around that?
Comment 15 Thomas Hallgren CLA 2010-10-13 10:27:00 EDT
Next problem is of course when I use the director to install Buckminster and then use Buckminster to access repositories outside of Eclipse. How do I configure the Eclipse ProxyManager in that situation?
Comment 16 Scott Lewis CLA 2010-10-13 10:42:17 EDT
(In reply to comment #15)
> Next problem is of course when I use the director to install Buckminster and
> then use Buckminster to access repositories outside of Eclipse. How do I
> configure the Eclipse ProxyManager in that situation?

Not quickly/easily, unfortunately.  The changeover to httpclient as the primary filetransfer provider (and it's http/https proxy configuration) necessitated depending upon the core.net Proxy api for the proxy configuration.

I'm looking to see if there are any Apache httpclient 3.1.0 proxy system properties to set the default...in the case where the proxy API isn't present...but I don't remember that there are.

Could I ask...why did this come up all of a sudden?  Was there some change in the proxy config at Eclipse.org?

I believe the proxy API uses the preference store to persist the proxy preferences...perhaps the director could use a preference store with the correct values in it.  I know this isn't the right permanent solution...but just producing ideas.
Comment 17 Scott Lewis CLA 2010-10-13 10:47:31 EDT
(In reply to comment #15)
> Next problem is of course when I use the director to install Buckminster and
> then use Buckminster to access repositories outside of Eclipse. How do I
> configure the Eclipse ProxyManager in that situation?

I think the director should probably be enhanced to pass in proxy config for headless operation...and use the core.net proxy API to set that config appropriately prior to use.
Comment 18 Thomas Hallgren CLA 2010-10-13 11:03:24 EDT
(In reply to comment #16)
> Could I ask...why did this come up all of a sudden?  Was there some change in
> the proxy config at Eclipse.org?
> 
Yes. The new Hudson build server is using a proxy. The old one didn't.

> I believe the proxy API uses the preference store to persist the proxy
> preferences...perhaps the director could use a preference store with the
> correct values in it.  I know this isn't the right permanent solution...but
> just producing ideas.

Thanks. I'm using that now. Let's see if it works.
Comment 19 Thomas Hallgren CLA 2010-10-13 11:10:11 EDT
(In reply to comment #17)
> I think the director should probably be enhanced to pass in proxy config for
> headless operation...and use the core.net proxy API to set that config
> appropriately prior to use.

I think that whatever is changed should apply to all headless commands and not just the director. We have the same problem in Buckminster. I guess that anyone who uses the ant-launcher or similar will face the same issue. The right thing to do IMO, would be to fall back to the standard System properties when nothing has been declared in the preferences. That doesn't happen now though.
Comment 20 Scott Lewis CLA 2010-10-13 11:21:54 EDT
(In reply to comment #19)
> (In reply to comment #17)
> > I think the director should probably be enhanced to pass in proxy config for
> > headless operation...and use the core.net proxy API to set that config
> > appropriately prior to use.
> 
> I think that whatever is changed should apply to all headless commands and not
> just the director. We have the same problem in Buckminster. I guess that anyone
> who uses the ant-launcher or similar will face the same issue. The right thing
> to do IMO, would be to fall back to the standard System properties when nothing
> has been declared in the preferences. That doesn't happen now though.

That's true...this fallback to the jre system properties doesn't happen now...and I agree it probably should (although I vaguely remember that there are some subtleties WRT the httpclient proxying, jre 1.5 vs. 1.4 support in Equinox, proxy authentication, and the proxy API).  

Neither I nor Henrich Kraemer (the ECF contributor who has done most of the recent work with proxy API) had the resources to take on this extra task when the httpclient proxy work was done...so it wasn't done.
Comment 21 Thomas Hallgren CLA 2010-10-13 11:31:08 EDT
I tried adding a <install>/configuration/.settings/org.eclipse.core.net.prefs that was preconfigured using my IDE. For some reason that doesn't help either. So I'm back at square one.
Comment 22 Scott Lewis CLA 2010-10-13 11:44:15 EDT
(In reply to comment #21)
> I tried adding a <install>/configuration/.settings/org.eclipse.core.net.prefs
> that was preconfigured using my IDE. For some reason that doesn't help either.
> So I'm back at square one.

I'll do what I can to help Thomas.  

I've added Szymon and Pawel to this bug...they are the experts on the core.net proxy API that I'm aware of.  

Szymon and Pawel:  Thomas is trying to run the p2 director app headlessly behind a proxy, and so needs to configure the proxy API preferences for running the director (which uses p2, which uses ECF filetransfer, which uses the core.net proxy API).  Could you help him with the configuration of the proxy API in headless environment?
Comment 23 Michal Ruzicka CLA 2010-10-14 10:49:06 EDT
(In reply to comment #7)

As far as I know Thomas has tried to run the build using the Buckminster plugin for Hudson (http://wiki.hudson-ci.org//display/HUDSON/Buckminster+PlugIn). There was a serious bug in this plugin (until its version 1.0.2 inclusively) which caused that the spawned Buckminster process did not inherit environment variables added by Hudson (see http://issues.hudson-ci.org/browse/HUDSON-6488).

If the Buckminster plugin for Hudson installed at hudson.eclipse.org is old enough to contain the bug, it might be related to the issue.

In any case could you please upgrade the plugin to its latest version (if it is not the case already)?
As perticularly the problem with not propagating the environment variables has other serious consequences like making it difficult to run anything that requires GUI (and thus Xvnc plugin) from within Buckminster spawned by the plugin (because the DISPLAY environment variable defined by the Xvnc plugin is not propagated).
Comment 24 Pascal Rapicault CLA 2010-12-23 23:15:38 EST
Where are we at on this issue? Could someone do a recap?  Thx.
Comment 25 Mikael Petterson CLA 2011-04-13 02:11:08 EDT
Hi,

I am facing similar problem for Eclipse 3.5 (Linux).

http://www.eclipse.org/forums/index.php?t=msg&th=207598&start=0&S=716ec12771544c9785fa8027caac6e3a

Any solution to the problem?

br,

//mike
Comment 26 Scott Lewis CLA 2011-05-02 15:51:52 EDT
(In reply to comment #24)
> Where are we at on this issue? Could someone do a recap?  Thx.

My understanding is the following:

1) ECF uses the proxy API (as per bug 181544) to get proxy settings
2) For headless usage (of director and/or other apps), there is a desire to be able to specify proxy settings via system properties, as per comment 3.

There would be at least a couple of ways to achieve 2:

a) ECF filetransfer could use both the proxy API and/or system properties to specify proxy settings...for the apache httpclient-based provider (primary) and other providers (secondary).  

b) Another way to achieve the same thing would be for the proxy API to read some/these system properties and populate itself based upon these values...and then ECF filetransfer would just use the appropriate/correct values (by using whatever is exposed by the proxy API).

'b' seems to me a more general solution...because then the handling of system-property-specified proxy information has to only be done once (by the proxy API), rather than reproduced separately for each ECF provider (which would be necessary if ECF handled the proxy system properties directly).  Also the proxy API can be responsible for dealing with proxy data conflicts, etc.

Also...in the near future...and assuming no contributions...ECF has no resources to apply to doing a...so that's another reason why b would be preferred from our perspective.
Comment 27 Mikael Petterson CLA 2011-05-03 02:18:11 EDT
Where can the source for the proxy API be found?

//mike
Comment 28 Pascal Rapicault CLA 2011-05-14 16:56:14 EDT
I've just tried the director.application included in the RC1 build of the eclipse SDK and it works fine in the context of proxy (I have a windows VM that connect to the external world through a pfsense VM that is used as the proxy). I have been able to successfully install egit from indigo.

I'm starting to wonder if the issue is not caused by the absence of the platform specific fragments in the configuration that you are running or maybe the proxy type itself.

I also seem to remember that the org.eclipse.core.net bundle (that contains the proxy code) sometimes try to use the standard java system properties for specifying proxy (e.g. http.proxy). http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.6.1/org.eclipse.core/net/1.2.100/org/eclipse/core/internal/net/ProxyManager.java#ProxyManager

Can someone indicate where we are at?
Comment 29 Pascal Rapicault CLA 2011-05-17 20:02:39 EDT
Closing as worksforme. Please reopen with details (maybe a complete p2 director app used), or details about the proxy itself.
Comment 30 Eckart Langhuth CLA 2011-09-23 04:50:18 EDT
It doesn't work for me.
Following the http://wiki.eclipse.org/Eclipse_b3/aggregator/manual and using
http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/products/director_latest.zip
there is no way to provide required http proxy setting to the director application using the system properties http.proxyHost, http.proxyPort.
I tried setting these properties and providing them in the director.ini as vmargs.
I would assume this to work for a command line application.

There is a workaround. Define the required settings in the Network Setting preference page of an Eclipse installation.
The information will be persisted in configuration/.settings/org.eclipse.core.net.prefs
Copying this file to the related .setting folder in the director installation works.
Comment 31 Scott Lewis CLA 2011-09-23 11:21:45 EDT
(In reply to comment #30)
> It doesn't work for me.
> Following the http://wiki.eclipse.org/Eclipse_b3/aggregator/manual and using
> http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/products/director_latest.zip
> there is no way to provide required http proxy setting to the director
> application using the system properties http.proxyHost, http.proxyPort.
> I tried setting these properties and providing them in the director.ini as
> vmargs.
> I would assume this to work for a command line application.

No...Eclipse has it's own proxy settings via the core proxy API.

> 
> There is a workaround. Define the required settings in the Network Setting
> preference page of an Eclipse installation.
> The information will be persisted in
> configuration/.settings/org.eclipse.core.net.prefs
> Copying this file to the related .setting folder in the director installation
> works.

Just to be clear...what you specify as the workaround is the supported way of specifying proxy information (i.e. using the proxy API...which is the proxy information used by the ECF transport...as required by bug 181544).  

It is possible to support using *both* the proxy API and normal system properties, but ECF has not had sufficient resources to do it.  If you would like to contribute such an enhancement, please open an enhancement request against ECF filetransfer component, and I/we will happily work with you on it.