Apply patch from MOSFET:

- added ctrlserv command to launch control server listener
- corrected error in manual.html

===========

Control server patch
Posted by MOSFET in Syndie dev on 2009-04-03
page 1 attachment 1 attachment 2 attachment 3

Attached is a patch which adds a programmable interface to Syndie. It makes the 
text UI available via TCP. This patch will be included in the next release I 
prepare. There's no reason to do a binary release just for this since it's only 
of use to a developer.

The patch and two example Python scripts are attached to this message. The 
first example retrieves and prints the list of forums/identities known to the 
Syndie instance. The second creates a message.

The control server is launched from the text ui using this command:

ctrlserv [--port $portNum]

The default port is 10111. The control server will listen only on the loopback 
address (127.0.0.1). There is no security implemented. Anyone who can connect 
to the port will have complete access to impersonate you, read any messages you 
are authorized to read, etc.

You can connect with telnet to test. When you're done issuing commands, just 
close the connection. There is no quit command. The server will accept multiple 
concurrent connections. Because of some idiosyncracies with the Syndie core 
architecture, you'll find that the response messages for any command you issue 
will be transmitted to all open connections (plus the text UI tab if it's 
open). Syndie behaves as if there were only one client. For this reason it 
isn't practical to use multiple concurrent connections. For example creating 
more than one message at a time in separate control connections will fail.

When I first started working on this, I decided to embark on a huge refactoring 
job to clean up the UI infrastucture and remove all these idiosyncrasies. That 
was too much work involving too many changes to unfamiliar code and significant 
repurposing of some core Syndie classes. This implementation, by comparison, is 
small and simple and took almost no time to put together. Since it's my opinion 
that a programmable Syndie interface isn't actually of any value for the 
overwhelming majority of users, this is the correct amount of effort to expend 
on this task. I wouldn't have bothered at all except that I need it myself.


http://mosfet.i2p/urn:syndie:channel:d7:channel44:kyzuHHandjbHiFKq~wXVK60~XTlSDff5QNjbzuoefwA=9:messageIdi1238766873042e4:pagei1ee
suppress remaining deprecation warnings
- Fix NPE when viewing URI with a page number and the message is unknown locally
- Add stack trace to internal error popup
update doc/web
- fix broken links to *.i2p.net
- update build targets
remove unused servlet.jar
add missing licenses
correct outdated info/instructions
build:
- make fonts a little larger (suggested)
- reorder deps in pkg-all target
- create launcher shellscripts for Linux

docs:
- update bin/readme.txt
SyndieURI cleanups, more lenient parsing
minor build tweaks