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
|