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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
* Add possibility to block blacklisted IPs also in firewall (done)
- Implemented and tested
- Add registration of blacklisted IP's on startup as well,
ability to disable via config
- Flush chain on startup/shutdown, ability to disable via config
* BUGFIX: Improve shutdown of firewall update thread (done)
- At present, waitpid() fails, because the process looses its
relation to the parent process when openvpn is run as a daemon
Possible solution: Let master process wait for a confirmation
sent via Posix Semaphore as confirmation that the process is
shutting down.
* Go through all log statements, make sure log type and log level is sane
* Add pthread mutex locking in eurephia_log(...) [beta_0.9 req]
* Make new eurephiadb-driver_template.c - template for creating db driver (DONE)
- add new parameter to eDBregister_attempt(...) -- attempt_mode
* Implement logging of env.variable time_duration on disconnect (DONE)
- Needs to expand the openvpn_lastlog table with connection_duration
field.
* Write firewall (iptables) implementation
- Add function declarations in eurephia_firewall.h (DONE)
- Enable firewall functionality by checking if firewall_interface
config variable is set. (DONE)
- Add eDBget_firewall_profile(ctx, session) in eurephiadb (DONE)
- Add eurephia_firewall(ctx, mode{ADD|DELETE}, {profilename|macaddr},
(eurephiaCTX *, const int mode, char *) (DONE)
- This function is located in eurephia_fw_iptables.c (DONE)
- iptables -I {INSERT place} is taken from config:
firewall_destination (DONE)
- iptables -j {vpnuser_profile} is taken from VPN users
accessprofile (DONE)
- Needs probably to be an own thread with root permission and a
socket to send ADD/DELETE commands (DONE)
- Flush iptables chain on startup (DONE)
* Log MACaddresses per session into openvpn_macaddr_history (DONE)
- 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(...)
* BUGFIX: Core dumps when log file cannot be created (DONE)
* Fix core dump when openvpn process closes eDBdriver (DONE)
* Write eurephia main module - phase 1 (DONE)
- replaces sqlite-auth.so (DONE)
- utilising eurephiaDB database driver (DONE)
- Add openvpn_plugin_close_v1 (DONE)
* Rename eDBfree_sessionkey -> eDBfree_session (DONE)
* Move get_config from eurephiadb-sqlite.c to ../../eurephia_values.c (DONE)
- Make it more general (DONE)
- make use of eurephiaVALUES instead of its own dblconfig struct (DONE)
= Now it is also used by eurephiadb_session.c too.
* Rename eDBgenerate_sessionkey(...) -> eDBopen_session(...) (DONE)
* certinfo.c (DONE)
- cname -> common_name failure (DONE)
* rename dblink to eurephiaDB (DONE)
- DBL -> eDB (DONE)
- Find better names than eDBsessionvalues, eDBsessionkey (eDB -> eurephia) (DONE)
- DBLsessionkey -> eueurephiaSESSION (DONE)
- DBLsessionvalues -> eurephiaVALUES (DONE)
- Find better names than DBLattempt_* (DONE)
- Rename DBLconnection -> eDBconn (DONE)
- plugin_context -> eurephiaCTX (DONE)
* Go through code, check comments (DONE)
* Improve drivers/sqlite/sqlite.c (DONE)
- remove headers from all record tuples, put result headers in an own data struct
- put a pointer in record pointers to the corresponding header column
- make dbresult record chain a circular chain, with pointers in both directions
- write an algorithm which finds the shortest way to loop to a specific record ID
* Implement eDB_DriverVersion() and eDB_DriverAPIversion() (DONE)
|