ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/pxys2-2.0.0/NEWS
Revision: 3252
Committed: Wed Apr 2 20:41:43 2014 UTC (10 years ago) by michael
File size: 3946 byte(s)
Log Message:
- Imported pxys2-2.0.0

File Contents

# User Rev Content
1 michael 3252 $Id: NEWS,v 1.1.1.1 2003/12/30 17:08:35 mbuna Exp $
2    
3     2003-12-30 Stephane Thiell pxys v2
4     ------------------------------------
5    
6     Woohoo! I found the time to complete the pxys v2 software suite. I now call it
7     software suite as it's no more a single program to run: tasks are separated.
8     I will try to be brief and understandable as possible.
9    
10     Some things never change...and some things do (Ok... easy!). Well, almost
11     all the work has been to improve the internal coding design, program
12     architecture and efficiency. In the meantime, and you probably want to know
13     first what's changing in practice from an administrative point of view and not
14     too much from a developer one. So, some major things have changed:
15    
16     - There are two main programs now. First, the IRCU service server daemon,
17     named pxyservd which links to the IRC network. It manages the remote clients,
18     provides a virtual client and an oper commands interface, send glines,
19     provides logs, etc. ok almost like in pxys v1. The difference is that pxyservd
20     doesn't perform any scans. The scanner daemon is named pxyscand, it performs
21     the scans, keeps IP caches, etc. and connects to pxyservd via a TCP socket
22     (for now only TCP is available). It has been completely rewritten in C++. To
23     communicate, they use a very cheap binary protocol I designed for the occasion,
24     it's called OPAS protocol and I wrote a library (see the libopas directory) to
25     implement it. When a client connects to the network, pxyservd sends a request
26     to pxyscand which performs the scan (in not in cache) and then reply (like a
27     DNS query).
28    
29     - Both programs now use XML configuration files (pxyservdconf.xml and
30     pxyscandconf.xml) with the help of libxml2's standard XPath parsing (see
31     http://www.w3.org/TR/xpath). Don't worry, it's very easy to edit them using
32     a simple text editor (but if you use emacs, I recommend you the use of
33     the nXML major mode, you can find it at the following URL:
34     http://www.thaiopensource.com/download/, or another XML mode). This adds a
35     constraint to pxys2's installation: the very portable libxml2 is required
36     (you can find it at http://xmlsoft.org). It's not included to pxys v2 package
37     as it's a very common library (available in FreeBSD's ports, etc.).
38    
39     - Another library I wrote is needed which however is not part of the pxys
40     v2 package (it's under the BSD license). I almost wrote it especially for
41     pxys. It's a original event library. You can find it at http://peak.sf.net.
42    
43     - The use of this event-based library and the new internal design of the
44     scanner make it VERY efficient. No more 200 threads that take all the CPU time
45     for context switch! 1 thread per CPU is configured for pxyscand. pxyservd,
46     however, is limited to 1 thread as it's not useful (peak doesn't parallelize
47     events on a single socket stream).
48    
49     - pxyservd now handles channels! For now, it's only a test and there is
50     no real usage of this feature, but some will be rapidely possible: an oper
51     will be able to ask for a rescan of a whole channel, if needed (proxies are so
52     volatile these days...), or the scanner could detect if a channel is regularly
53     joined by proxied users and report that to the console channel, for example.
54     Channels management is possible thanks to another library: dbprim written by
55     Kev. It will be a good test for his (cpu and memory) efficient library before
56     it's integrated into Undernet IRCU itself. dbprim is included in pxys v2
57     package as a third party library for convenience.
58    
59     - pxyservd is only P10 n2k compatible. P9 and non n2k networks can't use it.
60    
61     - pxyscand can now use several IPs as scanning IP source (taken randomly).
62    
63     That's almost all for the visible part; IRC commands are still oper only
64     and almost the same, mostly for stats/status purpose. If you are a pxys v1
65     user you will barely see the difference.
66    
67     Known limitation: libpeak only supports x86 and PowerPC processors at the
68     moment. Sparc and several other processor types will be supported soon.