Commit Graph
73 Commits
Author SHA1 Message Date
Kohsuke Kawaguchi 2dc6e811e5 excluding this from animal sniffer check 2012-09-28 14:17:30 -07:00
Kohsuke Kawaguchi 25d990c539 Implemented transport security to CLI connection.
It uses Diffie Hellman to come up with one-time session key, then have
the server sign this session key to allow the client to verify that
there's no man in the middle.
2012-05-24 15:49:37 -07:00
Kohsuke Kawaguchi fd5aa2bc56 bit of simplification 2012-05-24 11:02:09 -07:00
Kohsuke Kawaguchi a5691ea056 avoid using deprecated method 2012-05-24 11:01:16 -07:00
Manolo Carrasco 1f5bc9bdd6 Update Spanish translation 2012-05-22 12:32:33 +02:00
Kohsuke Kawaguchi 76efb9eecb improved error diagnostics 2012-05-21 17:03:08 -07:00
Richard Mortimer ea1b80aebe [FIXED JENKINS-12037] CLI - I/O error in channel Chunked connection
Use a ping timeout of 3/4 of the ping interval instead of the default
4 minute timeout.
This happens to workaround an issue in the remoting PingThread
implementation which causes the ping to busy wait for the timeout
period instead of keeping the channel alive.
2012-03-30 00:39:09 +01:00
Kohsuke Kawaguchi bf7565293a Fixed a socket file descriptor leak. 2012-03-21 18:46:05 -07:00
Kohsuke Kawaguchi 707490aee3 Use a smaller time out.
On iptables protected system, full time out can take 30 secs, which is
too long.
2012-02-27 13:22:54 -08:00
Seiji Sogabe 939d13c86c Updated japanese translations. 2012-01-29 11:14:26 +09:00
Kohsuke Kawaguchi 7360f45d54 this breaks in Java5 so at least giving the user better message 2012-01-27 17:33:58 -08:00
Vojtech Juranek d6eb3cfb88 Added support for ecnrypted key files 2012-01-27 17:31:03 -08:00
Kohsuke Kawaguchi a2e6b59241 made it easier to add parameters to the connection in the future 2012-01-22 15:34:06 -08:00
Kohsuke Kawaguchi 2dfe417c9c added a mechanism to pass in the authorization header separately, so that we can deal with OAuth, etc. 2012-01-22 15:34:06 -08:00
Kohsuke Kawaguchi 1c06615adc added a new constructor to specify the authorization header separately 2012-01-22 15:34:06 -08:00
Kohsuke Kawaguchi 760f9030a8 CLI now supports using HTTP proxy for tunneling its TCP/IP connection 2011-12-19 14:15:50 -08:00
Kohsuke Kawaguchi 721111b196 unused parameter 2011-12-19 14:15:49 -08:00
Kohsuke Kawaguchi 9713527367 Advertise the host name to enable direct connection. 2011-12-19 12:15:34 -08:00
Kohsuke Kawaguchi eec37460da [FIXED JENKINS-11873] don't say proceeding with anonouymous because we might not 2011-12-16 18:42:38 -08:00
Kohsuke Kawaguchi c9958b7ee2 CLI jar now has the version number in the manifest as well as the
"-version" option.
2011-11-14 16:08:57 -08:00
Richard Mortimer 92496f99e4 [FIXED JENKINS-11130] SEVERE: I/O error in channel Chunked connection when using jenkins-cli.jar
When using HTTP full duplex connections the upstream channel can be idle for
long periods of time and the webserver will time the connection out. Jenkins
sees this and terminates the downstream channel causing the unexpected closure
of the read channel in the CLI client.

Timeout of 15 seconds is based on the 20 second default timeout as seen in
Ubuntu Oneiric Tomcat 6 installations.
2011-11-07 14:56:15 -08:00
Richard Mortimer 87995e97b0 Flush HTTP input and error streams after searching for the X-Hudson-CLI-Port
property. This releases the HTTP connection in a friendly way and allows the
webserver to recycle the connection a little quicker.
2011-11-07 14:56:15 -08:00
Kohsuke Kawaguchi 5f756c6170 [FIXED JENKINS-10611] fall back to HTTP if direct TCP connection doesn't
work.
2011-08-09 18:20:03 -07:00
Kohsuke Kawaguchi a70e867590 Jenkins! 2011-07-25 12:57:24 -07:00
Kohsuke Kawaguchi 69d95cb2d0 added more convenience method 2011-06-23 23:57:08 -07:00
Kohsuke Kawaguchi a5c87c3dc2 if the -i option is given, failure to authenticate should cause the CLI to fail. 2011-06-23 16:04:29 -07:00
Kohsuke Kawaguchi 65eb334fdf removed debug statement and unused code. 2011-06-23 16:04:29 -07:00
Kohsuke Kawaguchi 8257ac25e8 Added a mechanism to upgrade the channel to unrestricted one for
programmatic clients.
2011-06-23 15:50:40 -07:00
Kohsuke Kawaguchi fb421b9a08 exposed channel 2011-06-23 15:19:15 -07:00
Kohsuke Kawaguchi 0d4117e48f Implemented SecurityRealm-independent authentication mechanism,
and an implementation around SSH keys.

changelog will be updated when the server-side authentication module
is added.
2011-06-23 12:15:14 -07:00
Jesse Farinacci 3803a3e382 [FIXED JENKINS-9521] exploit commons-codec for Base64 encoding rather than proprietary sun.misc.BASE64Encoder 2011-04-26 11:44:45 -04:00
Kohsuke Kawaguchi 7cb015e10c Added two new CLI commands, inspired by pull-91. 2011-04-12 18:06:52 -07:00
Kohsuke Kawaguchi 3a2def7903 CLI connection needs to be shut down at the end of the test to release resources 2011-03-26 21:35:28 -07:00
Kohsuke Kawaguchi 10c1bcaccd Honor JENKINS_URL. 2011-02-22 05:44:32 +09:00
Manolo Carrasco 0803e89068 Add Spanish missing keys. Update Spanish internationalized values to have the word Jenkins instead of Hudson. Changes in translation tool to advise when a file have the Hudson word 2011-02-02 09:41:55 +01:00
Kohsuke Kawaguchi f08fd38a76 hudson-cli.jar to jenkins-cli.jar rename 2011-01-30 23:51:35 -08:00
Kohsuke Kawaguchi 2f7fbafdd7 i18n.
Regrettably the CLI client and the CLI server are in the same package, and this doesn't work very well with i18n scheme as we end up having two classes of the same name (and one hides the other in the server.)

So I'm renaming the Messages class on the client, but not the classes itself for compatibility
2011-01-14 11:32:13 -08:00
cleibersilva 70f863d1e2 Translation to pt_BR 2010-11-24 19:27:35 -02:00
knupouls 4ad64c24bd initial commit of danish l12n
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@35080 71c3de6d-444a-0410-be80-ed276b4c234a
2010-09-21 22:36:59 +00:00
kohsuke f1400695a9 [FIXED HUDSON-3796]
CLI can now work with a reverse proxy that requires BASIC auth.
    (<a href="http://issues.hudson-ci.org/browse/HUDSON-3796">issue 3796</a>)


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@33167 71c3de6d-444a-0410-be80-ed276b4c234a
2010-07-22 17:34:48 +00:00
bagrehc 1c93fdd3dd Translated to Brazilian Portuguese.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@32925 71c3de6d-444a-0410-be80-ed276b4c234a
2010-07-15 13:20:29 +00:00
kohsuke 10db7d103a improving the error diagnostics.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@32826 71c3de6d-444a-0410-be80-ed276b4c234a
2010-07-13 01:27:28 +00:00
bagrehc 795634ed10 Update the propertie files of brazilian portuguese translation.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@32799 71c3de6d-444a-0410-be80-ed276b4c234a
2010-07-12 17:50:46 +00:00
wyukawa 84791dbcea added Japanese localization for Hudson CLI
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@29287 71c3de6d-444a-0410-be80-ed276b4c234a
2010-03-26 09:57:32 +00:00
manuel_carrasco ba373c6cec more Spanish translations
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@26080 71c3de6d-444a-0410-be80-ed276b4c234a
2010-01-19 12:34:16 +00:00
swiest 423fcd059d Fixed typo in German localization.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@22701 71c3de6d-444a-0410-be80-ed276b4c234a
2009-10-13 14:03:17 +00:00
kohsuke c403f7428d fixed a bug in the socket partial close problem
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@22524 71c3de6d-444a-0410-be80-ed276b4c234a
2009-10-08 16:55:53 +00:00
kohsuke 3e967dd85d added a mechanism to check the existence of a command.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@22059 71c3de6d-444a-0410-be80-ed276b4c234a
2009-09-23 19:07:05 +00:00
kohsuke 5b5cf3a18b Added the first test case for Hudson CLI.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@21320 71c3de6d-444a-0410-be80-ed276b4c234a
2009-09-01 14:10:17 +00:00
kohsuke ca0b6e830d I discovered that when Apache sits in front of Hudson as a reverse proxy, it blocks the traffic in such a way that breaks tunneling of the remoting.
The issue is that the CLI initiates the upload side of the connection and sends some small chunk, yet Apache never forwads that to Hudson, presumably because it's trying to buffer more contents from CLI, which never arrives.

A similar problem seems to exist for the download side, although various reports (like http://mail-archives.apache.org/mod_mbox/httpd-users/200509.mbox/%3C20050927152742.GA8726@redhat.com%3E) suggests that this is fixed in a relatively recent version of Apache.

Other pages, like http://httpd.apache.org/docs/2.2/mod/mod_proxy.html , seems to suggest that Apache can be configured not to do this buffering, but my attempt to configure them failed, both on Ubuntu and OpenSolaris. It could be my mistake, but the lesson for me is that even if Apache can be configured not to interfere, it's still rather error prone.

On top of that, it's not hard to imagine that other forward/reverse proxy have similar problems --- IIRC, Dean Yu reported a similar problem.

So I decided to let CLI talk to Hudson via a conventional TCP/IP connection, if possible. An extra bonus is that this is more resource efficient on the server side (which was tying 2 request handling for pushing and pulling before this change.)

The downside of this change is that if the client is behind the proxy, or if the server is behind a reverse proxy, this needs an extra set up. I thought this is a lesser evil, as Hudson tends to run inside a corporate network, and this issue is already better understood since JNLP slaves have the same issue.

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@19378 71c3de6d-444a-0410-be80-ed276b4c234a
2009-07-03 00:12:46 +00:00