diff --git a/src/main/java/fr/xephi/authme/command/CommandService.java b/src/main/java/fr/xephi/authme/command/CommandService.java index 95ddb563..f88196cc 100644 --- a/src/main/java/fr/xephi/authme/command/CommandService.java +++ b/src/main/java/fr/xephi/authme/command/CommandService.java @@ -34,6 +34,7 @@ public class CommandService { private HelpProvider helpProvider; @Inject private CommandMapper commandMapper; + @SuppressWarnings("unused") @Inject private PasswordSecurity passwordSecurity; @Inject diff --git a/src/main/java/fr/xephi/authme/datasource/MySQL.java b/src/main/java/fr/xephi/authme/datasource/MySQL.java index 5182b859..4f6317bc 100644 --- a/src/main/java/fr/xephi/authme/datasource/MySQL.java +++ b/src/main/java/fr/xephi/authme/datasource/MySQL.java @@ -424,6 +424,7 @@ public class MySQL implements DataSource { rs.close(); pst.close(); } else if (hashAlgorithm == HashAlgorithm.WORDPRESS) { + // NOTE: Eclipse says pst should be closed HERE, but it's a bug, we already close it above. -sgdc3 pst = con.prepareStatement("SELECT " + col.ID + " FROM " + tableName + " WHERE " + col.NAME + "=?;"); pst.setString(1, auth.getNickname()); rs = pst.executeQuery(); @@ -500,6 +501,7 @@ public class MySQL implements DataSource { rs.close(); pst.close(); } else if (hashAlgorithm == HashAlgorithm.XFBCRYPT) { + // NOTE: Eclipse says pst should be closed HERE, but it's a bug, we already close it above. -sgdc3 pst = con.prepareStatement("SELECT " + col.ID + " FROM " + tableName + " WHERE " + col.NAME + "=?;"); pst.setString(1, auth.getNickname()); rs = pst.executeQuery(); diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index a0fa4011..fb44b4c3 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -407,12 +407,6 @@ public class AuthMePlayerListener implements Listener { plugin.getManagement().performQuit(player, true); } - /* - * <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - * Note #360: npc status can be used to bypass security!!! - * <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - */ - @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerPickupItem(PlayerPickupItemEvent event) { if (shouldCancelEvent(event)) { diff --git a/src/main/java/fr/xephi/authme/mail/SendMailSSL.java b/src/main/java/fr/xephi/authme/mail/SendMailSSL.java index d8332602..88d57d9a 100644 --- a/src/main/java/fr/xephi/authme/mail/SendMailSSL.java +++ b/src/main/java/fr/xephi/authme/mail/SendMailSSL.java @@ -152,7 +152,6 @@ public class SendMailSSL { } else { email.setStartTLSEnabled(true); email.setStartTLSRequired(true); - email.setTLS(true); } break; case 25: @@ -161,7 +160,7 @@ public class SendMailSSL { break; case 465: email.setSslSmtpPort(Integer.toString(port)); - email.setSSL(true); + email.setSSLOnConnect(true); break; default: email.setStartTLSEnabled(true); diff --git a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java index 7dfcd40c..388eed9e 100644 --- a/src/main/java/fr/xephi/authme/permission/PermissionsManager.java +++ b/src/main/java/fr/xephi/authme/permission/PermissionsManager.java @@ -346,7 +346,6 @@ public class PermissionsManager implements PermissionsService { case Z_PERMISSIONS: // zPermissions - @SuppressWarnings("deprecation") Map perms = zPermissionsService.getPlayerPermissions(player.getWorld().getName(), null, player.getName()); if (perms.containsKey(permsNode)) return perms.get(permsNode); @@ -448,7 +447,6 @@ public class PermissionsManager implements PermissionsService { * * @return The name of the primary permission group. Or null. */ - @SuppressWarnings("deprecation") public String getPrimaryGroup(Player player) { // If no permissions system is used, return an empty list if (!isEnabled()) diff --git a/src/main/java/fr/xephi/authme/security/pbkdf2/BinTools.java b/src/main/java/fr/xephi/authme/security/pbkdf2/BinTools.java index daadcae8..34bf8aac 100644 --- a/src/main/java/fr/xephi/authme/security/pbkdf2/BinTools.java +++ b/src/main/java/fr/xephi/authme/security/pbkdf2/BinTools.java @@ -1,71 +1,62 @@ package fr.xephi.authme.security.pbkdf2; +/* + * Free auxiliary functions. Copyright 2007, 2014, Matthias Gärtner + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + /** - *

- * Free auxiliary functions. Copyright (c) 2007 Matthias Gärtner - *

- *

- * This library is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 2.1 of the License, or (at your option) - * any later version. - *

- *

- * This library is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - *

- *

- * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - *

- *

- * For Details, see http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. - *

+ * Free auxiliary functions * * @author Matthias Gärtner - * @version 1.0 */ public class BinTools { - - private static final String HEX_CHARS = "0123456789ABCDEF"; - - private BinTools() { - } + public static final String hex = "0123456789ABCDEF"; /** * Simple binary-to-hexadecimal conversion. * - * @param b Input bytes. May be null. - * + * @param b + * Input bytes. May be null. * @return Hexadecimal representation of b. Uppercase A-F, two characters - * per byte. Empty string on null input. + * per byte. Empty string on null input. */ public static String bin2hex(final byte[] b) { if (b == null) { return ""; } - StringBuffer stringBuffer = new StringBuffer(2 * b.length); - for (byte aB : b) { - int v = (256 + aB) % 256; - stringBuffer.append(HEX_CHARS.charAt((v / 16) & 15)); - stringBuffer.append(HEX_CHARS.charAt((v % 16) & 15)); + StringBuffer sb = new StringBuffer(2 * b.length); + for (int i = 0; i < b.length; i++) { + int v = (256 + b[i]) % 256; + sb.append(hex.charAt((v / 16) & 15)); + sb.append(hex.charAt((v % 16) & 15)); } - return stringBuffer.toString(); + return sb.toString(); } /** * Convert hex string to array of bytes. * - * @param s String containing hexadecimal digits. May be null. - * On odd length leading zero will be assumed. - * + * @param s + * String containing hexadecimal digits. May be null + * . On odd length leading zero will be assumed. * @return Array on bytes, non-null. - * @throws IllegalArgumentException when string contains non-hex character + * @throws IllegalArgumentException + * when string contains non-hex character */ public static byte[] hex2bin(final String s) { String m = s; @@ -88,10 +79,11 @@ public class BinTools { /** * Convert hex digit to numerical value. * - * @param c 0-9, a-f, A-F allowed. - * + * @param c + * 0-9, a-f, A-F allowd. * @return 0-15 - * @throws IllegalArgumentException on non-hex character + * @throws IllegalArgumentException + * on non-hex character */ public static int hex2bin(char c) { if (c >= '0' && c <= '9') { @@ -106,9 +98,7 @@ public class BinTools { throw new IllegalArgumentException("Input string may only contain hex digits, but found '" + c + "'"); } - // Note ljacqu 20160313: This appears to be a test method that was present in the third-party source. - // We can keep it for troubleshooting in the future. - private static void testUtils() { + public static void main(String[] args) { byte b[] = new byte[256]; byte bb = 0; for (int i = 0; i < 256; i++) { diff --git a/src/main/java/fr/xephi/authme/util/MigrationService.java b/src/main/java/fr/xephi/authme/util/MigrationService.java index 7bf028f6..cd9bb382 100644 --- a/src/main/java/fr/xephi/authme/util/MigrationService.java +++ b/src/main/java/fr/xephi/authme/util/MigrationService.java @@ -31,7 +31,6 @@ public final class MigrationService { * @param dataSource The data source * @param authmeSha256 Instance to the AuthMe SHA256 encryption method implementation */ - @SuppressWarnings("deprecation") public static void changePlainTextToSha256(NewSetting settings, DataSource dataSource, SHA256 authmeSha256) { if (HashAlgorithm.PLAINTEXT == settings.getProperty(SecuritySettings.PASSWORD_HASH)) { @@ -62,7 +61,6 @@ public final class MigrationService { * @param dataSource The data source * @return The converted datasource (SQLite), or null if no migration was necessary */ - @SuppressWarnings("deprecation") public static DataSource convertFlatfileToSqlite(NewSetting settings, DataSource dataSource) { if (DataSourceType.FILE == settings.getProperty(DatabaseSettings.BACKEND)) { ConsoleLogger.showError("FlatFile backend has been detected and is now deprecated; it will be changed " diff --git a/src/test/java/fr/xephi/authme/command/CommandInitializerTest.java b/src/test/java/fr/xephi/authme/command/CommandInitializerTest.java index 7c62377f..9eac4f40 100644 --- a/src/test/java/fr/xephi/authme/command/CommandInitializerTest.java +++ b/src/test/java/fr/xephi/authme/command/CommandInitializerTest.java @@ -41,6 +41,7 @@ public class CommandInitializerTest { private static Set commands; + @SuppressWarnings("unchecked") @BeforeClass public static void initializeCommandManager() { AuthMeServiceInitializer initializer = mock(AuthMeServiceInitializer.class); diff --git a/src/test/java/fr/xephi/authme/events/EventsConsistencyTest.java b/src/test/java/fr/xephi/authme/events/EventsConsistencyTest.java index d7ba5f74..0f8340d8 100644 --- a/src/test/java/fr/xephi/authme/events/EventsConsistencyTest.java +++ b/src/test/java/fr/xephi/authme/events/EventsConsistencyTest.java @@ -75,6 +75,7 @@ public class EventsConsistencyTest { return !clazz.isInterface() && !clazz.isEnum() && !Modifier.isAbstract(clazz.getModifiers()); } + @SuppressWarnings("unchecked") private static Class getEventClassFromFile(File file) { String fileName = file.getPath(); String className = fileName diff --git a/src/test/java/fr/xephi/authme/initialization/ConstructorInjectionTest.java b/src/test/java/fr/xephi/authme/initialization/ConstructorInjectionTest.java index dd21a590..df5493e7 100644 --- a/src/test/java/fr/xephi/authme/initialization/ConstructorInjectionTest.java +++ b/src/test/java/fr/xephi/authme/initialization/ConstructorInjectionTest.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertThat; */ public class ConstructorInjectionTest { + @SuppressWarnings("unchecked") @Test public void shouldReturnDependencies() { // given @@ -73,6 +74,7 @@ public class ConstructorInjectionTest { @Test public void shouldReturnNullForNoConstructorInjection() { // given / when + @SuppressWarnings("rawtypes") Injection injection = ConstructorInjection.provide(FieldInjection.class).get(); // then diff --git a/src/test/java/fr/xephi/authme/initialization/FieldInjectionTest.java b/src/test/java/fr/xephi/authme/initialization/FieldInjectionTest.java index 9d2294ae..77035e4d 100644 --- a/src/test/java/fr/xephi/authme/initialization/FieldInjectionTest.java +++ b/src/test/java/fr/xephi/authme/initialization/FieldInjectionTest.java @@ -24,6 +24,7 @@ import static org.junit.Assert.assertThat; */ public class FieldInjectionTest { + @SuppressWarnings("unchecked") @Test public void shouldReturnDependencies() { // given @@ -105,9 +106,11 @@ public class FieldInjectionTest { } private static class ThrowingConstructor { + @SuppressWarnings("unused") @Inject private ProvidedClass providedClass; + @SuppressWarnings("unused") public ThrowingConstructor() { throw new UnsupportedOperationException("Exception in constructor"); } diff --git a/src/test/java/fr/xephi/authme/initialization/samples/BadFieldInjection.java b/src/test/java/fr/xephi/authme/initialization/samples/BadFieldInjection.java index 9dc41548..7e218c4c 100644 --- a/src/test/java/fr/xephi/authme/initialization/samples/BadFieldInjection.java +++ b/src/test/java/fr/xephi/authme/initialization/samples/BadFieldInjection.java @@ -7,6 +7,7 @@ import javax.inject.Inject; */ public class BadFieldInjection { + @SuppressWarnings("unused") @Inject private AlphaService alphaService; diff --git a/src/test/java/fr/xephi/authme/initialization/samples/InvalidPostConstruct.java b/src/test/java/fr/xephi/authme/initialization/samples/InvalidPostConstruct.java index e97c4f98..23130e5e 100644 --- a/src/test/java/fr/xephi/authme/initialization/samples/InvalidPostConstruct.java +++ b/src/test/java/fr/xephi/authme/initialization/samples/InvalidPostConstruct.java @@ -9,8 +9,10 @@ import javax.inject.Inject; public abstract class InvalidPostConstruct { public static final class WithParams { + @SuppressWarnings("unused") @Inject private AlphaService alphaService; + @SuppressWarnings("unused") @Inject private ProvidedClass providedClass; diff --git a/src/test/java/fr/xephi/authme/initialization/samples/InvalidStaticFieldInjection.java b/src/test/java/fr/xephi/authme/initialization/samples/InvalidStaticFieldInjection.java index 199b2f4a..83d88b0c 100644 --- a/src/test/java/fr/xephi/authme/initialization/samples/InvalidStaticFieldInjection.java +++ b/src/test/java/fr/xephi/authme/initialization/samples/InvalidStaticFieldInjection.java @@ -7,6 +7,7 @@ import javax.inject.Inject; */ public class InvalidStaticFieldInjection { + @SuppressWarnings("unused") @Inject private ProvidedClass providedClass; @Inject diff --git a/src/test/java/tools/commands/CommandPageCreater.java b/src/test/java/tools/commands/CommandPageCreater.java index 4ba48006..ddfaf3e3 100644 --- a/src/test/java/tools/commands/CommandPageCreater.java +++ b/src/test/java/tools/commands/CommandPageCreater.java @@ -88,6 +88,7 @@ public class CommandPageCreater implements ToolTask { * * @return the initializer mock */ + @SuppressWarnings("unchecked") private static AuthMeServiceInitializer getMockInitializer() { AuthMeServiceInitializer initializer = mock(AuthMeServiceInitializer.class); when(initializer.newInstance(isA(Class.class))).thenAnswer(new Answer() { diff --git a/src/test/java/tools/hashmethods/EncryptionMethodInfoGatherer.java b/src/test/java/tools/hashmethods/EncryptionMethodInfoGatherer.java index ad2ecba4..26af6f82 100644 --- a/src/test/java/tools/hashmethods/EncryptionMethodInfoGatherer.java +++ b/src/test/java/tools/hashmethods/EncryptionMethodInfoGatherer.java @@ -137,6 +137,7 @@ public class EncryptionMethodInfoGatherer { return key.cast(map.get(key)); } + @SuppressWarnings("unchecked") private static AuthMeServiceInitializer createInitializer() { NewSetting settings = mock(NewSetting.class); // Return the default value for any property