X-Git-Url: https://blacka.com/cgi-bin/gitweb.cgi?p=python-rwhoisd.git;a=blobdiff_plain;f=README;h=aaa88955be5812b88cdf03d25c68a92923bffa7c;hp=bc781a479f6c6b03afd365b75be9aaf5ce9a430f;hb=HEAD;hpb=f4a1c6e02ecf1314bf6afb1f219129395f28e2c0 diff --git a/README b/README index bc781a4..aaa8895 100644 --- a/README +++ b/README @@ -1,26 +1,33 @@ WHAT IS THIS? -As a programming exercise for learning Python, I wrote a simple rwhois -server (described in RFC 2167). It uses in-memory data structures, -and it intuits the schema based on the data it sees. The server takes -as input a schema file, which for now just describes which attributes -should be indexed (and how), and data files which look much like the C -rwhoisd's data files. +In 2003, as a programming exercise for learning Python, I wrote a +simple rwhois server (described in RFC 2167). It uses in-memory data +structures, and it intuits the schema based on the data it sees. The +server takes as input a schema file, which for now just describes +which attributes should be indexed (and how), and data files which +look much like the C rwhoisd's data files. This version supports a sort of extended query syntax: IP or CIDR queries ending in "**" will result in a "subnet" search, where all of the found subnets at or below the specified network will be returned. Ending a IP or CIDR query with a single "*" will result in a -"supernet" search. +"supernet" search, returning all the networks enclosing the queried +network. (A plain network query will return the closest enclosing +network, including matching networks). + +It supports (as of v0.4) IPv6 CIDR networks and network blocks, and +supports indexing network-block type values. That is, you can index +values like "10.131.10.0 - 10.131.11.255" and "3ffe:4:5::0 - +3ffe:4:6::ffff". REQUIREMENTS -python 2.2 or later +python 2.2 or later. INSTALL -This can be run from it's source directory, which is the preferable -way to do it. +This can be run from it's source directory, which is a fine way to do +it. However, if you wish to install it, as root: @@ -38,9 +45,9 @@ RUNNING IT This is assuming that you are running it from the distribution directory. -% tar zxvf python-rwhoisd-0.1.tar.gz +% tar zxvf python-rwhoisd-0.4.tar.gz -% cd python-rwhoisd-0.1 +% cd python-rwhoisd-0.4 % ./bin/pyrwhoisd sample_data/example_schema \ sample_data/example_data & @@ -48,6 +55,10 @@ directory. Voila! You should now have some sort of rwhois server running on port 4321 +You can also give it multiple data files: + +% ./bin/pyrwhoisd sample_data/example_schema sample_data/*_data & + CONFIGURING IT Edit rwhoisd/config.py. @@ -66,8 +77,7 @@ following differences, however: * These files may have records separated by blank lines instead of dashes. -* They are not sensitive to trailing separators (whitespace or - dashes) +* They are not sensitive to trailing separators (whitespace or dashes) * They do not have to be arranged in any special manner. That is, the C rwhoisd forces (or at least encourages) you to arrange your data