The Ursus Project

Home

Documentation

Development

SourceForge.net Logo

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"/>