Hi Valerie

I just looked into to this bug, the reason is that the failed Ubuntu has a libgssapi_krb5.so.2 but no libgssapi_krb5.so.

Turns out that a newly installed Ubuntu only has the GSS/krb5 runtime installed, which include the .so.2 file. On the other hand, the .so file (simply a symlink to the .so.2 file) is provided by the libkrb5-dev package, normally not installed by end users. This is similar to the JRE vs JDK difference.

I have 3 choices now:

1. Do not fix, and tell the user to add
     -Dsun.security.jgss.lib=libgssapi_krb5.so.2

   We still need to fix the test, probably add lines like

     if [ -e /usr/lib/libgssapi_krb5.so ]; then

2. Add the new name to known libname list, we've already had 2:

                                 gssLibs = new String[]{
                                     "libgssapi.so",
                                     "libgssapi_krb5.so",
+                                    "libgssapi_krb5.so.2",
                                 };

3. Change the hardcoded names above to a security property also named "sun.security.jgss.lib". We can provide different default values for solaris and linux. This needs a CCC.

I prefer 3. Your suggestion?

Thanks
Max




-------- Original Message --------
*Change Request ID*: 7016698
*Synopsis*: test sun/security/krb5/runNameEquals.sh failed on Ubuntu


=== *Description* ============================================================
Testsuite name: regression
test
sun/security/krb5/runNameEquals.sh
failed :

command: shell runNameEquals.sh []
reason: Assumed action based on file name: run shell runNameEquals.sh
elapsed time (seconds): 0.587
----------System.out:(4/73)----------
Testing native provider
Native provider fails
Testing java provider
Done
----------System.err:(9/630)----------
Exception in thread "main" GSSException: Unsupported mechanism requested: 1.2.840.113554.1.2.2
        at sun.security.jgss.ProviderList.getMechFactory(ProviderList.java:204)
        at sun.security.jgss.ProviderList.getMechFactory(ProviderList.java:171)
        at 
sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:201)
        at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:472)
        at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:201)
        at sun.security.jgss.GSSNameImpl.<init>(GSSNameImpl.java:170)
        at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:137)
        at Krb5NameEquals.main(Krb5NameEquals.java:53)
result: Failed. Execution failed: exit code 1

I did not see the failures on Suse or Solaris.

JDK/JRE tested: build 1.7.0-ea-b126
OS/architecture: Ubuntu
stt-robot@stt-89:~$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"


=== *Evaluation* =============================================================
Debug message shows:

SunNativeGSS: [GSSLibStub_init] libName=libgssapi.so
SunNativeGSS: libgssapi.so: cannot open shared object file: No such file or directory
SunNativeGSS: [GSSLibStub_init] libName=libgssapi_krb5.so
SunNativeGSS: libgssapi_krb5.so: cannot open shared object file: No such file or directory

The problem is that there is no libgssapi_krb5.so:

$ ls -al /usr/lib/libgssap*
lrwxrwxrwx 1 root root 21 2011-01-27 12:23 /usr/lib/libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2 -rw-r--r-- 1 root root 191280 2010-12-08 19:22 /usr/lib/libgssapi_krb5.so.2.2

Is this normal on Linux systems? On my Ubuntu, there is an extra symlink:

$ l /usr/lib/libgssapi_krb5*
lrwxrwxrwx 1 root root 26 2010-12-10 09:04 /usr/lib/libgssapi_krb5.so -> mit-krb5/libgssapi_krb5.so lrwxrwxrwx 1 root root 21 2010-12-10 09:04 /usr/lib/libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2 -rw-r--r-- 1 root root 213784 2010-12-09 00:25 /usr/lib/libgssapi_krb5.so.2.2
$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.2 LTS"

*** (#1 of 1): 2011-02-09 09:04:49 GMT+00:00 [email protected]

=== *Workaround* =============================================================
Add system property -Dsun.security.jgss.lib=libgssapi_krb5.so.2

*** (#1 of 1): 2011-02-09 09:04:49 GMT+00:00 [email protected]
*** Last Edit: 2011-02-09 09:31:18 GMT+00:00 [email protected]


Reply via email to