| With asserts on, I am seeing:
java.lang.IllegalArgumentException: The client module name was not found in the login file: spnego-client
at org.codelibs.spnego.SpnegoFilterConfig.moduleExists(SpnegoFilterConfig.java:383)
at org.codelibs.spnego.SpnegoFilterConfig.doClientModule(SpnegoFilterConfig.java:169)
...
I unpacked the *.jar files in our jre (java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64) and can see the configured class:
# find -name Krb5LoginModule.class
./com/sun/security/auth/module/Krb5LoginModule.class
Some other things I have noticed: With 1.6, the file where the plugin saves it's config has been renamed kerberos-sso.xml => com.sonymobile.jenkins.plugins.kerberossso.PluginImpl.xml. I tried any combination of names, both files present/absent but can still only enable the plugin via CasC. With no CasC, plugin installed but deactivated I can see this when strace'ing a freshly started java process:
29455 openat(AT_FDCWD, "/var/lib/jenkins/./kerberos.conf", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory)
29455 openat(AT_FDCWD, "/tmp/kerberos.conf", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory)
So something tries to open these paths as directory. When I then try to activate the plugin, I can see stats on the config file:
29439 stat("/var/lib/jenkins/kerberos.conf", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
29439 stat("/var/lib/jenkins/kerberos.conf", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
29439 stat("/var/lib/jenkins/kerberos.conf", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
With CasC the order changes and the plugin is enabled:
30937 stat("/var/lib/jenkins/kerberos.conf", <unfinished ...>
30937 stat("/var/lib/jenkins/kerberos.conf", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
30937 open("/var/lib/jenkins/kerberos.conf", O_RDONLY <unfinished ...>
30937 openat(AT_FDCWD, "/var/lib/jenkins/./kerberos.conf", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory)
30937 openat(AT_FDCWD, "/tmp/kerberos.conf", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory)
When I change the name of the login.conf file to foo.conf, the openat() also changes it's parameters:
32823 stat("/var/lib/jenkins/foo.conf", <unfinished ...>
32823 stat("/var/lib/jenkins/foo.conf", {st_mode=S_IFREG|0644, st_size=1059, ...}) = 0
32823 open("/var/lib/jenkins/foo.conf", O_RDONLY) = 685
32823 openat(AT_FDCWD, "/var/lib/jenkins/./foo.conf", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOTDIR (Not a directory)
|