A NSS module to provide parental controls to DNS queries via malcontent (https://gitlab.freedesktop.org/pwithnall/malcontent).
Go to file
Matteo Settenvini 6582c27a43
Update deps and fix getaddrinfo test for canary
Apparently the return of getaddrinfo for the canary domain has
changed in the latest versions of either glibc or the corresponding
crate.

The error returned is Eai::NoData rather than Eai::NoName.
2023-01-10 17:13:05 +01:00
.vscode Add basic test 2022-08-13 17:04:22 +02:00
LICENSES Add short readme 2022-08-23 11:19:13 +02:00
src Use a p2p dbus connection during tests 2022-09-12 00:38:24 +02:00
tests Update deps and fix getaddrinfo test for canary 2023-01-10 17:13:05 +01:00
.gitignore Finish implementation of gethostbyname 2022-09-05 23:15:29 +02:00
.gitlab-ci.yml Run tests normally 2022-09-05 23:45:38 +02:00
.rusty-hook.toml Add license info and commit hooks 2022-08-13 10:44:46 +02:00
CMakeLists.txt Move to rust stable, introduce mock for dbus in tests 2022-08-18 13:59:11 +02:00
Cargo.toml Update deps and fix getaddrinfo test for canary 2023-01-10 17:13:05 +01:00
Dockerfile Ensure getent is available 2022-09-12 00:44:43 +02:00
README.md Add short readme 2022-08-23 11:19:13 +02:00
README.md.license Add short readme 2022-08-23 11:19:13 +02:00
build.rs Use an async context for module and refactor 2022-08-21 14:47:37 +02:00
deny.toml Add TLS support to resolver, implement DBus ifaces 2022-08-24 16:18:09 +02:00
wrapper.hpp Use an async context for module and refactor 2022-08-21 14:47:37 +02:00

README.md

Malcontent NSS Module

Disclaimer: this is a proof-of-concept and a work in progress. As such, the code is still rather ugly, especially when handling C structures.

This is a proof of concept for a NSS module allowing to perform parental controls when querying the system interfaces for hostname resolution (DNS). It is designed to be integrated with Malcontent.

When the code will be ready, a system administrator would install the module after compiling it through CMake. Then they would add it to the hosts entry in /etc/nsswitch.conf. For instance:

hosts: files myhostname malcontent resolve [!UNAVAIL=return] dns

Note how malcontent precedes both systemd's resolve and the libc dns modules.

Parental control configuration would happen through the Malcontent client or GUI.