change approach, too much m4
This commit is contained in:
@ -1,16 +1,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Projects - just for fun</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
define(`TITLE', `Children Protection for Postfix-based EMail-Server')
|
||||
define(`DATE', `2013-06-27')
|
||||
define(`CONTENT', `
|
||||
This small tool implements a whitelist on a Postfix mail-server. It prevents certain recipient addresses (your kids ones) from receiving mail from any not whitelisted address. Any mail from not whitelisted senders is redirected to a delegate (a parent).
|
||||
|
||||
Code is here <a href="http://files.a385e-5.de/files/ChildProt-0.9.tar.gz">http://files.a385e-5.de/files/ChildProt-0.9.tar.gz</a>
|
||||
@ -53,8 +43,4 @@ The tool is querying the view <em>child_v</em>.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
')
|
||||
|
@ -1,46 +0,0 @@
|
||||
define(`TITLE', `Children Protection for Postfix-based EMail-Server')
|
||||
define(`DATE', `2013-06-27')
|
||||
define(`CONTENT', `
|
||||
This small tool implements a whitelist on a Postfix mail-server. It prevents certain recipient addresses (your kids ones) from receiving mail from any not whitelisted address. Any mail from not whitelisted senders is redirected to a delegate (a parent).
|
||||
|
||||
Code is here <a href="http://files.a385e-5.de/files/ChildProt-0.9.tar.gz">http://files.a385e-5.de/files/ChildProt-0.9.tar.gz</a>
|
||||
|
||||
Configure it by adding this line into the <em>master.cf</em> of the Postfix installation:
|
||||
<pre>childprot unix - n n - 25 spawn user=mail argv=/opt/sbin/ChildProt</pre>
|
||||
and this to the <em>main.cf</em>:
|
||||
<pre class="brush: text; gutter: false">smtpd_recipient_restrictions =
|
||||
[...]
|
||||
check_policy_service unix:private/childprot
|
||||
[...]</pre>
|
||||
The restricted recipients and the whitelists are stored in an SQLite3 database:
|
||||
<pre class="brush: sql; gutter: false">CREATE TABLE child_address_t (
|
||||
child INTEGER REFERENCES child_t(id),
|
||||
address TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE child_t (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT,
|
||||
delegate TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE whitelist_t (
|
||||
child INTEGER REFERENCES child_t(id),
|
||||
address TEXT
|
||||
);
|
||||
|
||||
CREATE VIEW child_v AS
|
||||
SELECT c.id as id,
|
||||
c.delegate as delegate,
|
||||
ca.address as address
|
||||
FROM child_t c,
|
||||
child_address_t ca
|
||||
WHERE c.id = ca.child;</pre>
|
||||
Restricted persons together with their delegates are added to the table <em>child_t</em>, multiple addresses can be assigned to those persons in <em>child_address_t</em>. Whitelists per person are maintained in <em>whitelist_t</em>.
|
||||
|
||||
The tool is querying the view <em>child_v</em>.
|
||||
|
||||
|
||||
|
||||
|
||||
')
|
Reference in New Issue
Block a user