SILC CVS
 
 
SILC CVS provides everything related to the SILC project. It includes the SILC software, the web pages and other project material. Anonymous access is provided to the CVS repository. Web CVS access is also available for easy browsing.
 


CVS Branches & Tags
 
The following list contains the SILC CVS branches and indicates also where the current development is taking place.
 
Branch Development Browse
N/A trunk, development for 1.2 versions HTTP
silc_1_1_branch current, development for 1.1 versions HTTP
silc_1_0_branch current, development for 1.0 versions HTTP

 
When a new release is made it is also tagged. You can deduce a tag name by knowing the software package name and version.
 
silc_<name>_<version>
 
For example: silc_client_0_9_10, silc_toolkit_0_9_2, etc.
 
 
Checkout
 
The SILC CVS repository can be checkout by using anonymous pserver with CVS.
 
For those who are using sh/ksh/bash/zsh the checkout is done as follows:
 
export CVSROOT=:pserver:cvs@cvs.silcnet.org:/cvs/silc
 
cvs login
cvs co silc
cvs logout

 
For those who are using csh/tcsh the checkout is done as follows:
 
setenv CVSROOT :pserver:cvs@cvs.silcnet.org:/cvs/silc
 
cvs login
cvs co silc
cvs logout

 
Whatever method you will decide to use, after you have done cvs login you will be prompted for password:
 
CVS password: silc
 
Type the password "silc" and press <ENTER>
 
The actual SILC source tree is checkout using the cvs co silc command, described above. This command will fetch the source tree and save it into directory named silc.
 
If you want to checkout a specific branch or tag then use the -r options, for example:
 
cvs co -r silc_1_0_branch silc
cvs co -r silc_client_0_9_9 silc

 
 
Preparing And Compiling
 
After checkout the source tree must be prepared for configuration and compilation before it actually can be compiled. You may also want to read the README.CVS file from the source tree before continuing. The preparation and compilation is done as follows:
 
./prepare
./configure
make

 
If you give ./prepare without options it will prepare for Toolkit distribution. Generally this is fine as it will compile everything in the source tree. Give ./configure --help to see ./configure options. Generally you should give at least --enable-debug and may also give --enable-stack-trace. Your system should have GNU Make when you compile so you may need to give gmake instead of make to compile the source tree.
 
 
Debugging
 
All SILC software provides some sort of debug outputs and monitoring data from the software. To use debugging in SILC software you must configure the source tree with --enable-debug option. Warning is due here: The debugging produced by both client and server is huge so it is suggested to narrow down the debugging with debug strings.
 
The -d option enables the debug printing. The argument for the -d option is a string that is used to match the output debug. For example "*" will match for everything, and all debugs will be printed. If you want to limit the debugs you want to printout you can give for example a string like "*server*,*rng*" to match all functions, and filenames that has "server" or "rng" string in them. Others will not be printed out. You can freely define regural expressions as debug string. For example:
 
./silc -d"*client*
./silcd -d"*server*,silc_rng*"
./silcd -d"*"