Package ids.Server

Source Code of ids.Server.Server

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ids.Server;

import ids.IA.IA;
import ids.IDS;
import java.io.IOException;
import java.util.Vector;
import java.util.Date;
import java.util.Timer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;

/**
*
* @author Peet
*/
public class Server {

    private final String Sig_TCP_Bind = "TCP_Bind";
    private final String Sig_HTTP_Request = "HTTP_Request";
    private final String Sig_TCP_Connect = "TCP_Connect";
    private final String Sig_SQL_Error = "SQL_Error";
    private final String Sig_Stop_Respond = "Stop_Respond";
    IDS ids;
    ServerUI serverUI;
    IA ia;
    public TableOfWeight tableWeight;
    Date d;
    long msStart;
    TableOfEvents Events;
    Vector<String> fichiersInterdits;

    public Server(IDS i) throws IOException, ParserConfigurationException, SAXException {
        this.ids = i;
        serverUI = new ServerUI();
        serverUI.setLocation(0, 300);
        serverUI.setVisible(true);
        d = new Date();
        msStart = d.getTime();
        Events = new TableOfEvents();
        fichiersInterdits = new Vector<String>();
        tableWeight = new TableOfWeight();
        fichiersInterdits.add("admin/admin.php");
        fichiersInterdits.add("admin/batch.sql");
        ia = new IA(this);
        ia.start();
    }

    public boolean ReceiveSignal(String signal) {
        Events.add(signal);
        boolean ret;
        if (signal.equals(Sig_Stop_Respond)) {
            ret = Sig_stopRespond();
        } else {
            ret = Sig_Unrecognized();
        }
        return ret;
    }

    public boolean ReceiveSignal(String signal, String arg1) {
        Events.add(signal, arg1);
        boolean ret;
        ret = Sig_Unrecognized();

        return ret;
    }

    public boolean ReceiveSignal(String signal, String arg1, String arg2) {
        Events.add(signal, arg1, arg2);
        boolean ret;
        if (signal.equals(Sig_HTTP_Request)) {
            ret = Sig_HTTP_Request(arg1, arg2);
        } else if (signal.equals(Sig_TCP_Connect)) {
            ret = Sig_TCP_Connect_Out(arg1, Integer.valueOf(arg2));
        } else if (signal.equals(Sig_TCP_Bind)) {
            ret = Sig_TCP_Bind(arg1, Integer.valueOf(arg2));
        } else {
            ret = Sig_Unrecognized();
        }
        return ret;
    }

    public boolean ReceiveSignal(String signal, String arg1, String arg2, String arg3) {
        Events.add(signal, arg1, arg2, arg3);
        boolean ret;
        if (signal.equals(Sig_SQL_Error)) {
            ret = Sig_SQL_Error(arg1, arg2, arg3);
        } else {
            ret = Sig_Unrecognized();
        }
        return ret;
    }

    private boolean Sig_Unrecognized() {
        if (canRespond()) {
            serverUI.writeLine("ERROR: Unrecognized Signal");
        }
        return false;
    }

    private boolean Sig_TCP_Bind(String addr, int port) {
        boolean ret = false;
        if (canRespond()) {
            serverUI.writeLine("TCP Bind on port " + port);
            ret = true;
        }
        return ret;
    }

    private boolean Sig_HTTP_Request(String page, String addr_src) {
        boolean ret = false;
        if (canRespond()) {
            serverUI.writeLine("HTTP Request on page " + page + " from " + addr_src);
            ret = true;
        }
        return ret;
    }

    private boolean Sig_TCP_Connect_Out(String addr, int port) {
        boolean ret = false;
        if (canRespond()) {
            serverUI.writeLine("Exiting TCP connection to " + addr + "on port " + port);
            ret = true;
        }
        return ret;
    }

    private boolean Sig_SQL_Error(String type, String page, String addr) {
        boolean ret = false;
        if (canRespond()) {
            serverUI.writeLine("SQL Error :" + type + " on page " + page + " on a connection from " + addr);
            ret = true;
        }
        return ret;
    }

    private boolean Sig_stopRespond() {
        d = new Date();
        serverUI.writeLine("Server stopping to respond for 3 seconds");
        msStart = d.getTime() + 3000;
        return true;
    }

    private boolean canRespond() {
        d = new Date();

        return (msStart < d.getTime());
    }

    public TableOfEvents getTableOfEvents() {
        return this.Events;
    }

    public void setStatus(String status, String diagnostic, String solution) {
        this.serverUI.setStatus(status, diagnostic, solution);
    }

    public TableOfEvents getCopyTable() {
        TableOfEvents tableTmp = new TableOfEvents();
        for (LineInTableOfEvents l : this.Events.Events) {
            tableTmp.Events.add(l);
        }
        return tableTmp;
    }

    void updateTableOfWeigth(String string) {
        this.tableWeight.updateWeight(string);
    }
}
TOP

Related Classes of ids.Server.Server

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.