summaryrefslogtreecommitdiffstats
path: root/TODO
blob: f4686d0090269f16c7dfb5349375a1cc1bc7e8db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

* Write firewall (iptables) implementation
   - Add function declarations in eurephia_firewall.h
   - Enable firewall functionality by checking config:
     firewall_enabled == 1
   - Add eDBget_firewall_profile(ctx, session) in eurephiadb
   - Add eurephia_firewall(ctx, mode{ADD|DELETE}, {profilename|macaddr}
                          (eurephiaCTX *, const int mode, char *)
      - This function is located in eurephia_fw_iptables.c
      - iptables -I {INSERT place} is taken from config: iptables_vpnclients
      - iptables -j {vpnuser_profile} is taken from $profilename

   - Needs probably to be an own thread with root permission and a
     socket to send ADD/DELETE commands

* Logg MACaddresses per session into openvpn_macaddr_history
   - Can change during a session
      CREATE TABLE openvpn_macaddr_history (
             sessionkey varchar(64)  NOT NULL,
             macaddr    varchar(20)  NOT NULL,
             registered timestamp    DEFAULT CURRENT_TIMESTAMP,
             semaid     integer      PRIMARY KEY AUTOINCREMENT,
             KEY(sessionkey),
             KEY(macaddr)
      );
    - Add insert in database/sqlite/eurphia-sqlite.c -- eDBregister_vpnaddr(...)

* Write admin program
   - Add / Delete / Modify users
   - Add / Delete / Modify certificates (by loading the certfile)
   - Add / Remove user->certlink
   - Add / Delete blacklisted users/cert/IP addr
   - Show lastlog
   - Show blacklist
   - Admin program should use eurephiaDB
   
* Make new dblink-tpl.c template (started)
   - add new parameter to eDBregister_attempt(...) -- attempt_mode

* Write PostgreSQL driver

* A lot of QA
   - Writing test program for DB drivers
       - which tests only the driver
       - which tests the API, going through eurephiaDB
   - Check that user gets blocked on too many failing attempts