blob: 1b6d3f506aaacad7652f1131bb7ce08b7ff95b91 [file] [log] [blame]
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2021 MariaDB Corporation Ab
package org.mariadb.jdbc.plugin.authentication.addon.gssapi;
import com.sun.jna.Platform;
/** GSSAPI utility */
public class GssUtility {
/**
* Get authentication method according to classpath. Windows native authentication is using
* Waffle-jna.
*
* @return authentication method
*/
public static GssapiAuth getAuthenticationMethod() {
try {
// Waffle-jna has jna as dependency, so if not available on classpath, just use standard
// authentication
if (Platform.isWindows()) {
try {
Class.forName("waffle.windows.auth.impl.WindowsAuthProviderImpl");
return new WindowsNativeSspiAuthentication();
} catch (ClassNotFoundException cle) {
// waffle not in the classpath
}
}
} catch (Throwable cle) {
// jna jar's are not in classpath
}
return new StandardGssapiAuthentication();
}
}