7016698: test sun/security/krb5/runNameEquals.sh failed on Ubuntu
Valerie (Yu-Ching) Peng
valerie.peng at oracle.com
Thu Feb 10 19:14:30 UTC 2011
Max,
As long as the GSS library can be found, users don't care about the
default values for the "sun.security.jgss.lib" property since they don't
need to use it.
Once we add the new name to known libname list, i.e. "gssLibs", for
Linux, then this particular scenario would work.
If some other library name is desired, user can override w/ the existing
security property "sun.security.jgss.lib". I don't see the need to
support multiple libraries under that security property.
Is the CCC for changing the format of the security property so users can
specify multiple library names?
There is no default value for that security property since it's meant to
override what we have in place and I prefer to keep it this way for
simplicity.
So, my preference would be closer to your suggestion#2.
Thanks,
Valerie
On 02/09/11 05:47 PM, Weijun Wang wrote:
> 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 at 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 weijun.wang at oracle.com
>
> === *Workaround*
> =============================================================
> Add system property -Dsun.security.jgss.lib=libgssapi_krb5.so.2
>
> *** (#1 of 1): 2011-02-09 09:04:49 GMT+00:00 weijun.wang at oracle.com
> *** Last Edit: 2011-02-09 09:31:18 GMT+00:00 weijun.wang at oracle.com
>
>
More information about the security-dev
mailing list