Freedom Mail System Documentation
Author: Roger McFarlane
<roger@zks.net>
Revision: $Revision: 1.2 $
Last Modified: $Date: 2001/04/19 19:28:20 $
This document outlines the necessary steps and procedures required to modify the the Nym-to-Internet block list.
The Nym-to-Internet block list facilitates the enforcement of mail refusal policy on behalf of Internet users. That is, the mail system has the capability to deny delivery of mail from particular nyms to particular addresses or domains; an action which may be requested by said address of domain.
The block list is represented by a CDB format database, a copy of which is stored on each NMTAB at:
/freedom/qmail/control/blocklist.cdb
In order to manage the blocklist, the operator of the mail system must maintain a master list of blocking rules.
This utility program converts a plain text blocking rule into a one-way hashed representation of the same rule. It reads the blocking rules one line at a time from its standard input and outpus the hashed rules one line at a time to its standard output.
list2hashlist < source.txt > hashed.txtor
cat source.txt | list2hashlist > hashed.txt
The format of the blocking rules is as follows
[sender][,recipient]
For instance, the following is a valid input stream:
This input stream results in a list of block list keys being sent to stdout such that txt2cdbmake can read it in order to construct a cdbmake input file. Once converted into a CDB arcive, it can act as a blocklist which prohibits:alice@freedom.net,bob@hotmail.com ,foo@bar.net aol.com
Typically the Nym-To-Internet block list should only contain rules of the first type (i.e., blocking specific converstions) where the sender is a particular nym and the recipient is either an e-mail address or a domain. Occasionally, a nym may request that all mail originating from the freedom network be blocked, which is a rule of the third type.
This utility program converts a hashed list of blocking rules to the input format expected by the cdbmake utility; which can then be used to create the blocklist file. It reads the hashed blocking rules one hash at a time, seperated by any whitespace (e.g., space, tab, newline), from its standard input and outputs the cdbmake format rule file.
txt2cdbmake < hashed.txt > cdbmake-source.txtor
cat hashed.txt | txt2cdbmake > cdbmake-source.txt
This utility program, a part of the CDB package, takes textual key-value pair and converts them into a fast hashed-lookup database file. It takes its input from its standard input and outputs the CDB file to dest-file using temp-file as an intermediary. If cdbmake is unable to complete its activities dest-file is left untouched.
cdbmake destination temporary < cdbmake-source.txtor
cat cdbmake-source.txt | cdbmake dest-file temp-file
Given a collection of rules that you wish to add to the block list:
The web facility which allows Internet users to request a blocking rule could be modified to automatically add the hashed rule to a pool of additions and subtractions (using list2hashlist). Periodically, a cron job could come along and ...
Copyright © 2000 Zero-Knowledge Systems Inc.
All Rights Reserved