package handling.login.handler; import clientside.LoginCrypto; import database.DatabaseConnection; import java.io.PrintStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class AutoRegister { private static final int ACCOUNTS_PER_IP = 2; public static final boolean autoRegister = true; public static boolean success = false; public static boolean getAccountExists(String login) { boolean accountExists = false; Connection con = DatabaseConnection.getConnection(); try { PreparedStatement ps = con.prepareStatement("SELECT name FROM accounts WHERE name = ?"); ps.setString(1, login); ResultSet rs = ps.executeQuery(); if (rs.first()) { accountExists = true; } } catch (Exception ex) { System.out.println(ex); } return accountExists; } public static void createAccount(String login, String pwd, String eip) { String sockAddr = eip; Connection con; try { con = DatabaseConnection.getConnection(); } catch (Exception ex) { System.out.println(ex); return; } try { PreparedStatement ipc = con.prepareStatement("SELECT SessionIP FROM accounts WHERE SessionIP = ?"); Throwable localThrowable3 = null; ResultSet rs; try { ipc.setString(1, sockAddr.substring(1, sockAddr.lastIndexOf(':'))); rs = ipc.executeQuery(); if ((!rs.first()) || ((rs.last() == true) && (rs.getRow() < 2))) { try { PreparedStatement ps = con.prepareStatement("INSERT INTO accounts (name, password, email, birthday, macs, SessionIP) VALUES (?, ?, ?, ?, ?, ?)"); Throwable localThrowable4 = null; try { ps.setString(1, login); ps.setString(2, LoginCrypto.hexSha1(pwd)); ps.setString(3, "no@email.provided"); ps.setString(4, "2008-04-07"); ps.setString(5, "00-00-00-00-00-00"); ps.setString(6, sockAddr.substring(1, sockAddr.lastIndexOf(':'))); ps.executeUpdate(); } catch (Throwable localThrowable1) { localThrowable4 = localThrowable1; throw localThrowable1; } finally { } success = true; } catch (SQLException ex) { System.out.println(ex); return; } } } catch (Throwable localThrowable2) { localThrowable3 = localThrowable2; throw localThrowable2; } finally { if (ipc != null) { if (localThrowable3 != null) { try { ipc.close(); } catch (Throwable x2) { localThrowable3.addSuppressed(x2); } } else { ipc.close(); } } } rs.close(); } catch (SQLException ex) { System.out.println(ex); } } }