|
@@ -1,111 +1,25 @@
|
|
|
package captiveportal;
|
|
package captiveportal;
|
|
|
|
|
|
|
|
-import java.sql.*;
|
|
|
|
|
|
|
+import java.io.BufferedReader;
|
|
|
|
|
+import java.io.InputStreamReader;
|
|
|
|
|
|
|
|
-public class Database {
|
|
|
|
|
- private Connection conn = null;
|
|
|
|
|
- private Statement stmt = null;
|
|
|
|
|
- private ResultSet resultSet = null;
|
|
|
|
|
- private int count = 0;
|
|
|
|
|
-
|
|
|
|
|
- //#######Database details#######
|
|
|
|
|
- private String dbHost = "192.168.2.22"; //The ip or hostname of the database host e.g: localhost or 127.0.0.1 etc.
|
|
|
|
|
- private String dbPort = "3306"; //The port the database is listening to
|
|
|
|
|
- private String dbName = "CaptivePortal"; //The name of the scheme
|
|
|
|
|
- private String dbUser = "CaptivePortal"; //The username of the account that can 'Update and Select' on the scheme
|
|
|
|
|
- private String dbPass = "raspberry"; //The password of the account that can 'Update and Select' on the scheme
|
|
|
|
|
- //##############################
|
|
|
|
|
-
|
|
|
|
|
- //Create method for checking if ticket/lastname combination exists (On SUCCES => true else => false)
|
|
|
|
|
- public boolean Select(String ticket, String lastName) throws Exception {
|
|
|
|
|
- try {
|
|
|
|
|
- //Load the MySQL driver
|
|
|
|
|
- Class.forName("com.mysql.jdbc.Driver");
|
|
|
|
|
- //Setup the connection with the database
|
|
|
|
|
- conn = DriverManager.getConnection("jdbc:mysql://" +dbHost+ ":" +dbPort+ "/" +dbName, dbUser, dbPass);
|
|
|
|
|
- //Create statement to execute query
|
|
|
|
|
- stmt = conn.createStatement();
|
|
|
|
|
- //Execute query
|
|
|
|
|
- resultSet = stmt.executeQuery("select lastname, ticket from users where ticket='" +ticket+ "'and lastname='" +lastName+ "'");
|
|
|
|
|
- //Count the results that are returned (affected rows) this should be 1 (unique ticket/lastname combination)
|
|
|
|
|
- while(resultSet.next())
|
|
|
|
|
- {
|
|
|
|
|
- //increment count by 1
|
|
|
|
|
- count++;
|
|
|
|
|
- }
|
|
|
|
|
- if (count == 1)
|
|
|
|
|
- {
|
|
|
|
|
- //If there is 1 row with the ticket/lastname combination => return true
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- else
|
|
|
|
|
- {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- //If there is an error, throw it
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- throw e;
|
|
|
|
|
- //Finally close the connections
|
|
|
|
|
- } finally {
|
|
|
|
|
- if (stmt != null) stmt.close();
|
|
|
|
|
- if (conn != null) conn.close();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+public class Command {
|
|
|
|
|
+ public boolean Grand (String ip) {
|
|
|
|
|
+ String command = "sudo /bin/bash /portal/rules.sh grand " +ip;
|
|
|
|
|
+ try {
|
|
|
|
|
+ Process process;
|
|
|
|
|
+ process = Runtime.getRuntime().exec(command);
|
|
|
|
|
+ String line;
|
|
|
|
|
+ BufferedReader is = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
|
|
|
|
+ while((line = is.readLine()) != null){
|
|
|
|
|
+ System.out.println(line);
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } catch ( Exception err ) {
|
|
|
|
|
+ err.printStackTrace();
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- //Create method for registering internet usage per user (On SUCCES => true else => false)
|
|
|
|
|
- public boolean Update(String ticket, String lastName) throws Exception {
|
|
|
|
|
- try {
|
|
|
|
|
- //Load the MySQL driver
|
|
|
|
|
- Class.forName("com.mysql.jdbc.Driver");
|
|
|
|
|
- //Setup the connection with the database
|
|
|
|
|
- conn = DriverManager.getConnection("jdbc:mysql://" +dbHost+ ":" +dbPort+ "/" +dbName, dbUser, dbPass);
|
|
|
|
|
- //Create statement to execute query
|
|
|
|
|
- stmt = conn.createStatement();
|
|
|
|
|
- //Execute query
|
|
|
|
|
- int result = stmt.executeUpdate("update users set internet = '1' where ticket='" +ticket+ "' and lastname='" +lastName+ "'");
|
|
|
|
|
- //Result is already an int so, if good => true else => false (executeUpdate returns the number of rows updated, so it should be 1)
|
|
|
|
|
- if(result == 1) {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- //If there is an error, throw it
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- throw e;
|
|
|
|
|
- //Finally close the connections
|
|
|
|
|
- } finally {
|
|
|
|
|
- if (stmt != null) stmt.close();
|
|
|
|
|
- if (conn != null) conn.close();
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- //Create method for resetting user in database (set internet to 0) (On SUCCES => true else => false)
|
|
|
|
|
- public boolean Reset(String ticket, String lastName) throws Exception {
|
|
|
|
|
- try {
|
|
|
|
|
- //Load the MySQL driver
|
|
|
|
|
- Class.forName("com.mysql.jdbc.Driver");
|
|
|
|
|
- //Setup the connection with the database
|
|
|
|
|
- conn = DriverManager.getConnection("jdbc:mysql://" +dbHost+ ":" +dbPort+ "/" +dbName, dbUser, dbPass);
|
|
|
|
|
- //Create statement to execute query
|
|
|
|
|
- stmt = conn.createStatement();
|
|
|
|
|
- //Execute query
|
|
|
|
|
- int result = stmt.executeUpdate("update users set internet = '0' where ticket='" +ticket+ "' and lastname='" +lastName+ "'");
|
|
|
|
|
- //Result is already an int so, if good => true else => false (executeUpdate returns the number of rows updated, so it should be 1)
|
|
|
|
|
- if(result == 1) {
|
|
|
|
|
- return true;
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- //If there is an error, throw it
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- throw e;
|
|
|
|
|
- //Finally close the connections
|
|
|
|
|
- } finally {
|
|
|
|
|
- if (stmt != null) stmt.close();
|
|
|
|
|
- if (conn != null) conn.close();
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
|
|
+
|