File event monitoring in watched directories. Accesses to files can be stored in SQL and/or reported by email, dbus local or remote notifications.
OCaml Shell Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Certificates
rsyslog.d
rw_client
rw_server
syslog-ng
.gitignore
Changelogs
LICENSE
README

README

This software is under the MIT license.

To contact the author :
gregory.bellier -- gmail -- com

Dependencies for Debian/Ubuntu:
ocaml ocaml-findlib ocaml-nox ocaml-native-compilers libssl-ocaml-dev libmysql-ocaml-dev libpostgresql-ocaml-dev libinotify-ocaml-dev libdbus-ocaml-dev libdbus-1-dev libocamlnet-ocaml-dev libsyslog-ocaml-dev libcalendar-ocaml-dev

and also the ocaml-fdinfo library version 0.4.1 or above, downloadable: https://github.com/gbe/ocaml-fdinfo

* Please note that you need ocaml-ssl version 0.4.5 or +
* Please note that you need ocaml-mysql version 1.1.1 or +

The Repwatcher database and its "accesses" table are automatically created at Repwatcher server runtime if:
- sql_rdbms is activated in the configuration file
- they do not already exist.

The database name is the one set in the configuration file. However, for your information, this is the accesses table in MySQL syntax:

CREATE TABLE IF NOT EXISTS `accesses` (
  `ID` int(10) NOT NULL AUTO_INCREMENT,
  `LOGIN` varchar(32) NOT NULL,
  `USERNAME` varchar(256) NOT NULL,
  `PROGRAM` varchar(26) NOT NULL,
  `PROGRAM_PID` int(8) NOT NULL,
  `PATH` varchar(512) NOT NULL,
  `FILENAME` varchar(256) NOT NULL,
  `FILESIZE` bigint(20) unsigned DEFAULT NULL,
  `FILEDESCRIPTOR` int(7) unsigned NOT NULL,
  `FIRST_KNOWN_OFFSET` bigint(20) unsigned DEFAULT NULL,
  `LAST_KNOWN_OFFSET` bigint(20) unsigned DEFAULT NULL,
  `OPENING_DATE` datetime NOT NULL,
  `CLOSING_DATE` datetime DEFAULT NULL,
  `CREATED` tinyint(1) unsigned NOT NULL,
  `IN_PROGRESS` tinyint(1) unsigned NOT NULL,
  PRIMARY KEY (`ID`),
  INDEX in_progress_idx (`IN_PROGRESS`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;


As usual, to clean the sources and build: make clean && make
Before running the server, you need to configure the file repwatcher.conf.

If you want remote notifications, you need a CA, private keys and certificates for the server and its clients. You can generate a set with the script in the Certificate folder. The authorisations are not supported yet. It means that somebody will have an access granted if the certificate presented by the client has been signed by the same CA than the server.

You can either run Repwatcher in a "screen" or with "nohup ./rw_server &".

Use the -f argument to tell the server where the configuration file is. It searches by default in the directory rw_server runs.

Don't hesitate to give me some feedbacks.