Jenkins agent header check doesn't meet RFC, it's case-sensitive

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      When you setup slave with slave-agent.jnlp it tries to connect to /tcpSlaveAgentListener/ and get JNLP port. I'm not sure if this code is relevant but the check seem to be working like this:

      https://github.com/kpfleming/jenkins-remoting/blob/master/src/main/java/hudson/remoting/Engine.java#L166

      However according to RFC 7230 and RFC 7540 HTTP headers are case-insensitive.

       

      The problem is that if you use proxy written in go agent won't connect with an "java.io.IOException: https://myjenkins.net/ is not Jenkins" error.
      See https://github.com/golang/go/issues/21868 for more details.

            Assignee:
            Long Nguyen
            Reporter:
            Roman Belyakovsky
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: