+Mon Jul 23 18:31:43 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Added _EXTRA_DIST SILC distribution variable to the
+ distributions file. It is used to conditionally add extra
+ files or directories to the specific distribution. Affected
+ files ./prepare, Makefile.am.pre and distributions.
+
+ Removed the `_' from the start of the distribution names.
+ It is redundant.
+
+ * Added README.WIN32 for instructions to compile the Toolkit
+ under WIN32.
+
Mon Jul 23 10:12:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
* Fixed a double free in disconnection in the server. Affected
-bzip2 $(distdir).tar
-rm -rf $(distdir)
-EXTRA_DIST = CHANGES CREDITS
+SILC_EXTRA_DIST = SILC_DISTRIBUTION_EXTRA
+EXTRA_DIST = CHANGES CREDITS $(SILC_EXTRA_DIST)
#
# Installing of SILC into the system
History
=======
-Even though SILC were released in summer 2000 to the public the idea and
-the protocol itself is quite old. I got the idea about SILC in its
-current form in the year 1996 and first lines of codes were written in
-early 1997. This release is now third rewrite of the SILC. The very first
-version were written in 1997 and it included SILC client and very very
-preliminary SILC server. The server actually weren't usable but the
-client looked pretty much the same as it does now. At that time the SILC
-also included RSA implementation and 3DES implementation. The random
-number generator that exists in this current release is actually based on
-the RNG written in 1997. The RNG written in 1997, on the other hand, were
-based on the SSH's random number generator. The RNG has been rewritten
-twice since the first version.
-
-I stopped writing the SILC later in 1997 when I got busy at school and in
-work. The pause lasted several months. The development resumed in 1998
-when my friend (Juha Räsänen) and I implemented ElGamal algorithm. I
-rewrote some other parts as well. However, for the same reasons as
-previously the development stopped again. I resumed the development later
-in 1998 by doing rewrite of the SILC in C++. This was obviously a mistake
-but at that time it seemed like a good idea. Again, in the winter 1999 I
-got very busy writing my thesis and was forced to stop the development
-again. I also, started a new job in the spring.
-
-Later, in 1999, I decided that this time I'm going to make it the right
-way. C++ was obviously a bad choice so I decided to fall back to plain C
-language. I also decided to do complete rewrite and started doing more
-thorough planning of what the SILC actually should include. I also
-decided that this time it is going to kill me before I stop the
-development. I started writing SILC in the weekends and actually
-everytime I had some spare time. I also started a new job but I didn't
-let that get to my way. The result of this development effort is the
-release now in public.
-
-I've learned a lot by doing the SILC. I guess, when I started it I wasn't
-that good of a C programmer. That alone was a reason why SILC hasn't seen
-the day of light before now. My programming style has also changed
-dramatically during these years. Actually, it has changed couple times
-since this last rewrite as well. However, the code style of current SILC
-release is quite consistent (actually the coding style SILC has been
-written now I've learned in my current job).
-
-There is probably over 85% of new code in this third rewrite. Rest has
-just been copied from the old versions and only minor changes has been
-made (like changed function names and overall coding style). I've
-preserved the dates of the old files (dating back to 1997) that has
-existed in some forms in the old versions. There is a lot of new code but
-already I see a lot that needs rewriting. The development continues.
+SILC was released in the summer 2000 to the public, but the idea and the
+protocol itself is quite old. The SILC was designed by Pekka Riikonen in
+the year 1996 and first lines of codes were written in the early 1997. The
+SILC has been rewritten three times since its very first version in 1997.
+The first version included SILC client, very preliminary SILC server, RSA
+implementation and 3DES implementation. The server actually was not usable
+but the client looked pretty much the same as the first client released in
+the summer 2000. The first version had also random number generator which
+were based on the SSH's random number generator. The current RNG is based
+on the first RNG but has been rewritten twice since the first version.
+
+The development of SILC was suspended in 1997 when Pekka got busy at
+school and in work. The pause laster several months. The development
+resumed in 1998 when Juha Räsänen and Pekka implemented the ElGamal
+algorithm. However, for the same reasons as previously the development
+stopped again, and was resumed again later in 1998 by doing rewrite of
+ther SILC in C++. This was obviously a mistake but at that time it seemed
+like a good idea. Again, in the winter 1999 the development suspended when
+Pekka got busy writing his thesis and was forced to stop the development.
+
+Later, in 1999, it was decided that this time SILC will be rewritten from
+scratch in the right way. C++ was obviously a bad choice so plain C
+language was selected again. The protocol itself faced some rework by
+redesigning some core parts of the protocol. The protocol was also fully
+documented and the protocol specifications were submitted to the IETF. The
+result of this development effort is the release now in public. Since the
+release in the summer 2000 several other people have contributed to the
+project as well. And, the development continues.
Contact
FTP archive for SILC project : ftp://ftp.silcnet.org/
Development mailing list address : silc-devel@lists.sourceforge.net
SILC Server : /server silc.silcnet.org
-
- Pekka Riikonen <priikone@silcnet.org>
Compiling SILC Toolkit on WIN32
===============================
-SILC Toolkit works on native WIN32 systems as well. This README is
+SILC Toolkit works on native WIN32 systems as well. This document is
intended for those who needs to compile the Toolkit for native WIN32
systems. The Toolkit can be compiled for native WIN32 systems using
generally any compiler. However, the compilation environment is designed
#
# The format of this file is as follows:
#
-# _<name>_SUBDIRS Subdirs for the distribution
-# _<name>_SUBDIRS_<dir> Subdirs under <dir>
-# _<name>_DISTLABEL Preprocessor label
+# <name>_SUBDIRS Subdirs for the distribution
+# <name>_SUBDIRS_<dir> Subdirs under <dir>
+# <name>_DISTLABEL Preprocessor label
+# <name>_EXTRA_DIST List of extra files or directories
#
# DISTRBUTIONS=<distributions>
#
# The _SUBDIRS define all the subdirectories that the Makefile should
-# traverse. The _SUBDIRS_<dir> defines all subdirectories in the
-# subdirectory <dir>. The _DISTLABEL defines a preprocessor label
+# traverse. The SUBDIRS_<dir> defines all subdirectories in the
+# subdirectory <dir>. The DISTLABEL defines a preprocessor label
# that can be used in the source code like `#ifdef SILC_DIST_CLIENT' to
# define code only for the specific distribution. The label can also be
# used in the Makefiles by `if SILC_DIST_CLIENT' to define something in
# the Makefile only for the specific distribution.
#
-# The DISTRIBUTIONS defines all distributions in this file.
+# The DISTRIBUTIONS defines all distributions in this file. The
+# EXTRA_DIST is used to add extra files or directories to the
+# distribution. The files may be in subdirectories.
#
# NOTE: For now this supports only one sublevel of the directories.
# Also make sure that the <dir> directory includes Makefile.am.pre
# must have DIST_SUBDIRS = SILC_DISTRIBUTIONS_SUBDIRS line in it.
#
# NOTE: Also note that if any subdirectory has Makefile.am.pre then you
-# must list it here as _<name>_SUBDIRS_<dir>. To define all sub
+# must list it here as <name>_SUBDIRS_<dir>. To define all sub
# directories use $(COMMONDIRS) that must be defined in the Makefile
# and list all subdirs.
#
# Example:
#
-# _xyz_SUBDIRS=lib irssi doc includes
-# _xyz_SUBDIRS_lib=$(COMMONDIRS)
-# _xyz_DISTLABEL=SILC_DIST_XYZ
+# xyz_SUBDIRS=lib irssi doc includes
+# xyz_SUBDIRS_lib=$(COMMONDIRS)
+# xyz_DISTLABEL=SILC_DIST_XYZ
+# xyz_EXTRA_DIST=README.XYZ
#
# To prepare the distribution give command ./prepare xyz 1.0.4
#
# Default Toolkit distribution
-_toolkit_SUBDIRS=lib irssi silc silcd doc includes win32
-_toolkit_SUBDIRS_lib=$(COMMONDIRS)
-_toolkit_SUBDIRS_doc=$(COMMONDIRS)
-_toolkit_DISTLABEL=SILC_DIST_TOOLKIT
+toolkit_SUBDIRS=lib irssi silc silcd doc includes win32
+toolkit_SUBDIRS_lib=$(COMMONDIRS)
+toolkit_SUBDIRS_doc=$(COMMONDIRS)
+toolkit_DISTLABEL=SILC_DIST_TOOLKIT
+toolkit_EXTRA_DIST=README.CVS README.WIN32
# Irssi SILC Client distribution
-_client_SUBDIRS=lib irssi doc includes
-_client_SUBDIRS_lib=contrib silccore silccrypt silcsim silcmath silcske silcutil trq silcclient
-_client_SUBDIRS_doc=$(COMMONDIRS)
-_client_DISTLABEL=SILC_DIST_CLIENT
+client_SUBDIRS=lib irssi doc includes
+client_SUBDIRS_lib=contrib silccore silccrypt silcsim silcmath silcske silcutil trq silcclient
+client_SUBDIRS_doc=$(COMMONDIRS)
+client_DISTLABEL=SILC_DIST_CLIENT
# SILC Server distribution
-_server_SUBDIRS=lib silcd doc includes
-_server_SUBDIRS_lib=contrib silccore silccrypt silcsim silcmath silcske silcutil trq dotconf
-_server_SUBDIRS_doc=$(COMMONDIRS)
-_server_DISTLABEL=SILC_DIST_SERVER
+server_SUBDIRS=lib silcd doc includes
+server_SUBDIRS_lib=contrib silccore silccrypt silcsim silcmath silcske silcutil trq dotconf
+server_SUBDIRS_doc=$(COMMONDIRS)
+server_DISTLABEL=SILC_DIST_SERVER
# Native WIN32 SILC library distribution (will include only the libraries)
-_win32dll_SUBDIRS=lib doc includes
-_win32dll_SUBDIRS_lib=silccore silccrypt silcsim silcmath silcske silcutil trq silcclient
-_win32dll_SUBDIRS_doc=$(COMMONDIRS)
-_win32dll_DISTLABEL=SILC_DIST_WIN32DLL
+win32dll_SUBDIRS=lib doc includes
+win32dll_SUBDIRS_lib=silccore silccrypt silcsim silcmath silcske silcutil trq silcclient
+win32dll_SUBDIRS_doc=$(COMMONDIRS)
+win32dll_DISTLABEL=SILC_DIST_WIN32DLL
+win32dll_EXTRA_DIST=README.CVS README.WIN32
DISTRIBUTIONS=toolkit client server win32dll
# Go though the subdirs and create the Makefile.ams from the
# Makefile.am.pre files.
#
-subdirs=`grep _"$distribution"_SUBDIRS= distributions |cut -d= -f2`
-sed -e "/SILC_DISTRIBUTION_SUBDIRS/s//$subdirs/" Makefile.am.pre >Makefile.am
+subdirs=`grep "$distribution"_SUBDIRS= distributions |cut -d= -f2`
+ed=`grep "$distribution"_EXTRA_DIST= distributions |cut -d= -f2`
+sed -e "/SILC_DISTRIBUTION_SUBDIRS/s//$subdirs/" -e "/SILC_DISTRIBUTION_EXTRA/s//$ed/" Makefile.am.pre >Makefile.am
path=`pwd`
for i in $subdirs
do
cd $i
- sub=`grep _"$distribution"_SUBDIRS_"$i"= $path/distributions |cut -d= -f2`
+ sub=`grep "$distribution"_SUBDIRS_"$i"= $path/distributions |cut -d= -f2`
if test "$sub" = ""; then
cd $path
continue;
touch am_cond
for i in $dists
do
- dl=`grep _"$i"_DISTLABEL= distributions |cut -d= -f2`
+ dl=`grep "$i"_DISTLABEL= distributions |cut -d= -f2`
echo "#undef $dl" >>acconfig.h
if test "$i" = "$distribution"; then
echo "AM_CONDITIONAL($dl, test xtrue = xtrue)" >>am_cond
done
sed '/SILC_DIST_DEFINE/ r am_cond' configure.in2 >configure.in3
-dl=`grep _"$distribution"_DISTLABEL= distributions |cut -d= -f2`
+dl=`grep "$distribution"_DISTLABEL= distributions |cut -d= -f2`
sed -e "/SILC_DIST_DEFINE/s//$dl/" configure.in3 >configure.in
rm -f configure.in2 configure.in3 am_cond
echo "#define SILC_PROTOCOL_VERSION_STRING \"SILC-1.0-$version\"" >>$file
echo "#define SILC_NAME \"SILC $distribution\"" >>$file
-
# preparing irssi
cd irssi
sh autogen.sh 2>/dev/null 1>/dev/null