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 (9 years, 11 months ago) by michael
File size: 3946 byte(s)
Log Message:
- Imported pxys2-2.0.0

File Contents

# Content
1 $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.