* [JENKINS-18114] The CLI client already asks for a crumb; we just to actually serve it, from CrumbIssuer.RestrictedApi.
* serveCliActionToAnonymousUserWithoutPermissions() was checking some stuff better checked by authentication(), and was failing since this fake client was not passing a crumb.
* Bring back CliCrumbExclusion, needed for anonymous use with no read access, and just let the client stop asking for a crumb.
* Added FullDuplexHttpServiceTest; useful to have a simple, self-contained demonstration of the HTTP Duplex transport.
java.nio.file.FileSystemException: …\.ssh\known_hosts: Incorrect function.
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:90)
at sun.nio.fs.WindowsAclFileAttributeView.getFileSecurity(WindowsAclFileAttributeView.java:88)
at sun.nio.fs.WindowsAclFileAttributeView.getOwner(WindowsAclFileAttributeView.java:121)
at sun.nio.fs.FileOwnerAttributeViewImpl.getOwner(FileOwnerAttributeViewImpl.java:91)
at java.nio.file.Files.getOwner(Files.java:2079)
at org.apache.sshd.common.util.io.IoUtils.getFileOwner(IoUtils.java:272)
at org.apache.sshd.common.util.io.ModifiableFileWatcher.validateStrictConfigFilePermissions(ModifiableFileWatcher.java:240)
at org.apache.sshd.client.keyverifier.DefaultKnownHostsServerKeyVerifier.reloadKnownHosts(DefaultKnownHostsServerKeyVerifier.java:79)
at org.apache.sshd.client.keyverifier.KnownHostsServerKeyVerifier.verifyServerKey(KnownHostsServerKeyVerifier.java:161)
at …
Interactive testing of known_hosts on XP works as expected.
* Enhance CLI HTTP proxy support
Fix few issues around proxy support in CLI:
* make proxy support work with recent Squid version which reply with HTTP/1.1 even if request is HTTP 1.0
* close the socket connected to the proxy if the connection failed
* output an error message when proxy connection failed
* don't do a reverse DNS lookup, instead use the host string provided in X-Jenkins-CLI-Host headers (we don't know if the DNS resolver on the
proxy will be able to resolve the name correctly, or like us).
* Use stdout to output CLI proxy connection error message
* Use the logger to output the error message, not System.out
* Add a 'verbose' option to the CLI to turn logging on
This should help people diagnosing connection issues with the CLI.
* [JENKINS-42191] Set log level to FINEST when -v is passed
Simpler, does not rely on Remoting, allows use of API tokens, and bypasses JENKINS-12543.
(You could actually do this before but only by embedding userinfo in the -s URL, especially awkward for usernames containing @.)