Re: [jdee-devel] Call to Fork or simply for JDEE TODO items

"Gian Uberto Lauri" <[email protected]> Tue, 7 May 2013 09:13:59 +0200
Newsgroups gmane.emacs.jdee.user,gmane.emacs.jdee.devel
Message-ID <[email protected]>
>>>>> "PL" == Paul Landes <[email protected]> writes:

PL> In your case, the first time it runs it will download the ant
PL> plugin.  Someone else on this list has a concern about running it
PL> offline but that's a different discussion.

Maven as  default and mandatory  choiche is B  A D. Maven  support for
those willing  to use maven  is good. 

And a separate ANT support is required.

Let's examine the scenario you depict.

"the first time it runs it will download the ant plugin".

Again, ANT has a weak and insecure support for HTTP proxies, the same
of the JVM.

I had to use Maven when I worked on the Venus-C project and the only
way I had to use it behind the our corporate proxy was to use this
script as replacement of the java command:

#-----------------------------------8<--------------------------------------
#!/bin/bash
export JAVA_HOME=/usr/local/lib/jdk1.6.0_27
export PATH=/usr/local/lib/jdk1.6.0_27/bin/:$PATH

if [ -z $http_proxy ] 
then

/usr/local/lib/jdk1.6.0_27/bin/javabin $@

else
	echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
	echo "Using the proxy"
	echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
	HOST=`echo $http_proxy | awk -F: '{print $1}'`//`echo $http_proxy | awk -F: '{print $3}' | awk -F\@ '{print $2}'`
	PORT=`echo $http_proxy | awk -F: '{print $4}'`
	USER=`echo $http_proxy | awk -F: '{print $2}' | awk -F/ '{print $3}'`
	PASS=`echo $http_proxy | awk -F: '{print $3}' | awk -F\@ '{print $1}'`
	
	/usr/local/lib/jdk1.6.0_27/bin/javabin\
 -Dhttp.proxyHost=$HOST\
 -Dhttp.proxyPort=$PORT\
 -Dhttp.proxyUser=$USER\
 -Dhttp.proxyPassword=$PASS $@
fi
#-----------------------------------8<--------------------------------------

This is a major security issue, since ANY USER on the machine can see
the -Dhttp.proxyUser=[username] and -Dhttp.proxyPassword=[clear text
password] command line parameter by issuing a ps with the appropriate
parameters (on ANY Unix or unix replacement, this includes Mac OS X
and GNU/Linux).

And  if  the  corporate  proxy  authenticates  against  the  corporate
directory service (LDAP in our case) you can gain access to the identity
of the user in the corporation.

The other option is being unable to run even ant scripts.

--
ing. Gian Uberto Lauri
Solution Developer Senior
Direzione Ricerca e Innovazione
[email protected]

Sun Java Certified Programmer

Engineering Ingegneria Informatica spa
Corso Stati Uniti 23/C, 35127 Padova (PD)

Tel. +39-049.8283.571         | main(){printf(&unix["\021%six\012\0"],
Fax  +39-049.8283.569		  |    (unix)["have"]+"fun"-0x60);}
http://www.eng.it          	  |          David Korn, AT&T Bell Labs
                  			  |          ioccc best One Liner, 1987

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may