Commit Graph
28 Commits
Author SHA1 Message Date
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
kohsuke c8b13169b0 simplified a bit
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@19377 71c3de6d-444a-0410-be80-ed276b4c234a
2009-07-02 23:27:25 +00:00
swiest c8b5df7091 Updated German localization.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@19070 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-19 20:41:35 +00:00
kohsuke ce70052503 close is asynchronous operation, so we need to join.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@19008 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-17 05:57:48 +00:00
kohsuke 753a531fdb moved the '/cli' handling logic to the CLI class
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18902 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-14 17:34:36 +00:00
kohsuke 87af4f3a3b allow ExecutorService to be supplied from outside
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18901 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-14 16:36:46 +00:00
kohsuke b172a606e2 making it closeable
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18898 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-14 15:39:18 +00:00
kohsuke 9546fd2c75 refactored for a better reusability
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18894 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-14 15:00:30 +00:00
kohsuke 3c0516f146 this happens if the crumb is not configured, so tone down the error
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18851 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-12 19:08:35 +00:00
dty 8c4e97d171 Merge in changes that implement the cross-site request forgery crumb feature.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@18738 71c3de6d-444a-0410-be80-ed276b4c234a
2009-06-09 07:09:02 +00:00
kohsuke c492fdda19 fixed a race condition that occasioanlly results in NPE.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17848 71c3de6d-444a-0410-be80-ed276b4c234a
2009-05-07 20:13:33 +00:00
kohsuke e0ec3e0711 filed a bug as suggested by Jesse
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17622 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 16:32:45 +00:00
kohsuke b3677b3306 shorter frequency ping is needed as HTTP servers have a much shorter read time out
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17608 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 05:29:41 +00:00
kohsuke e3a58d8c18 fixed a serialization problem
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17607 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 05:07:28 +00:00
kohsuke bb4ccdad87 Detect if the remote server is really Hudson.
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17605 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 04:46:14 +00:00
kohsuke 66a340105b needs to call the CLI URL
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17604 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 04:40:26 +00:00
kohsuke ed708a5e9d bug fix
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17603 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 04:26:03 +00:00
kohsuke 3356de58e3 added the -s option
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17602 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 04:22:48 +00:00
kohsuke 4e02d7f75b - set the Authentication object right so that the CLI implementations can do permission check
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17599 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 00:39:03 +00:00
kohsuke 1f8dc570aa - added stdin forwarding.
- added groovysh command for interactive manipulation of Hudson server

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17597 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-29 00:26:31 +00:00
kohsuke 95d4f7b21f made more tweaks and added the first command
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17592 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-28 22:24:08 +00:00
kohsuke 2350c9b1ba implemented the CLI entry point hook up
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17590 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-28 21:50:30 +00:00
kohsuke e2500b07b9 throwing away much of the early experiment
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17576 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-28 17:36:50 +00:00
kohsuke 7926a20408 added a CLI entry point for Hudson over HTTP by adding full-duplex byte stream over HTTP. Note that this ties two threads on the server side, so it's not meant for a long-running sessions
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@17544 71c3de6d-444a-0410-be80-ed276b4c234a
2009-04-27 05:17:45 +00:00