Development Page
This page will contain project information geared towards project developers.
I've managed to hodge podge Ursus together from existing technologies without much
trouble, but what one mediocre programmer can do is very limited. Ursus needs help from the community!
If you're reading this page and you feel like you could contribute something to Ursus,
please send mail to me at agsjr@users.sourceforge.net.
JavaDoc Documentation for Ursus 0.3a1.
I used the util.concurrent package in the development of Ursus, information about
this package can be found at the
online supplement to the book Concurrent
Programming in Java Design principles and patterns by Doug Lea. This site is definitely
worth a look at. Online supplement
This version of Ursus uses the backport of the java.util.concurrent package, check out the site
maintained by Dawid Kurzyniec
JSR 166(java.util.concurrent) backport to J2SE 1.4
Wish list
- Server commands like reboot and halt need to be created.
- Real time configuration of core server classes - within reason.
- A security policy implementation for accessing server resources
- Load tests, profiling, benchmarking
- A basic authentication framework using a combination of digital keys and password hashing.
- Logging
- Utility class that sets up the database for new users.
- File exchange utilities for client to client and client to/from server. This will
be an interesting project due to the nature of the event based IO. I would like
to build the file exchange on top of the existing IO without modifying it too much.
Want better encryption?
If you're paranoid and you want to plug the craziest possible encryption
into Ursus please visit
The Legion of the Bouncy Castle. Recently
an improved attack on the AES algorithm that the SunJCE provides has been found.
AES Rijndael is still super secure and the theoretical attack only works on up to 6 rounds.
Rijndael, I believe, currently uses 10 rounds. If you are still
paranoid download the JCE provider from Bouncy Castle and install it.
To enable the provider add the following
lines to the conf.xml file in both the client and server directories.
<jce_provider class = "org.bouncycastle.jce.provider.BouncyCastleProvider"/>
Now add the following lines to only the conf.xml file in the server directory. I recommend
using the Serpent engine with 256bit keys for super paranoid encryption schemes.
If you use key sizes greater than 64bits you have to read the
Encryption Info in the Ursus Documentation.
<cipher_spec provider = "BC" bits = "256" algorithm = "Serpent" transform = "Serpent"/>
|