+Wed Feb 21 17:01:01 EET 2007 Pekka Riikonen <priikone@silcnet.org>
+
+ * Fixed WHOIS command and requested attributes handling in
+ client library. Affected files are lib/silcclient/command.c
+ and lib/silcclient/client_attrs.c.
+
+ * Fixed silc_time_value to actually work. Added new function
+ silc_timezone. Affected files are lib/silcutil/silctime.[ch].
+
Tue Feb 20 08:31:28 EET 2007 Pekka Riikonen <priikone@silcnet.org>
* SILC Client 1.1 beta2.
EXTRA_DIST = \
silcdefs.h.in \
+#ifdef SILC_DIST_TOOLKIT
+ symbian \
+#endif SILC_DIST_TOOLKIT
#ifdef SILC_DIST_SILC
libtoolfix \
CHANGES CREDITS
o Rewrite silc_client_get_clients_by_channel.
- o Rewrite client side WHOIS command (for whois -details).
+ o Rewrite client side WHOIS command (for whois -details). (***DONE)
o Finish all the missing SILC packet processings, rewrites. (***DONE)
o The client_notify.c rewrite. (***DONE)
- o Resuming to client_register.c (remove client_resume.c)
- (***TESTING NEEDED)
+ o Resuming to client_register.c (remove client_resume.c) (***DONE)
o Rekey rewrite. (***DONE)
o For many APIs leave the hash context allocations to the caller instead
of using client->sha1hash and client->md5hash, or some kind of thread
- safe (no locking) concept.
+ safe (no locking) concept. (***DONE)
o Key agreement rewrite. (***TESTING NEEDED)
o peer-to-peer private messages
- o Private message waiting API (in threads)
+ o Private message waiting API (in threads) (***TESING NEEDED)
o client_attrs.c, attributes rewrite. (***TESTING NEEDED)
o Removing key from the repository is not possible currently. It should
be.
+ o Add fingerprint as search constraint.
+
lib/silcske/silcske.[ch] ****DONE****
========================
The following modes are available:
p Set/unset channel as private channel
- s Set/unset channel as secret channel
+ s Set/unset channel as secret channel. Secret
+ channel are not shown in user's channel list
+ or with /LIST command.
k Enable/disable channel private key usage (*)
i Set/unset channel as invite only channel
t Set/unset that only channel operator or
# You can set the default cipher, hash function and HMAC to be used
# as setting as well. You can set it here or use the /SET command.
#
+# /set crypto_default_cipher
+# /set crypto_default_hash
+# /set crypto_default_hmac
+#
# Available ciphers are (default: aes-256-cbc):
#
+# aes-256-ctr, aes-192-ctr, aes-128-ctr,
# aes-256-cbc, aes-192-cbc, aes-128-cbc,
# twofish-256-cbc, twofish-192-cbc, twofish-128-cbc,
# cast-256-cbc, cast-192-cbc and cast-128-cbc
#
# Available hash functions are (default: sha1):
#
-# sha1 and md5
+# sha256, sha1 and md5
#
# Available HMAC's are (default: hmac-sha1-96):
#
# hmac-sha1-96, hmac-md5-96, hmac-sha1 and hmac-md5
#
settings = {
- "server" = {
- crypto_default_cipher = "aes-256-ctr";
- crypto_default_hash = "sha1";
- crypto_default_hmac = "hmac-sha1-96";
- };
"fe-common/core" = {
autocreate_own_query = "yes";
use_status_window = "no";
{ "attr_geolocation", " Geolocation : $0", 1, { 0 } },
{ "attr_device_info", " Device Info : $0", 1, { 0 } },
{ "attr_public_keys", " Public keys : $0", 1, { 0 } },
- { "attr_timezone", " Timezone : $0", 1, { 0 } },
+ { "attr_timezone", " Timezone (GMT) : $0", 1, { 0 } },
{ "attr_timezone_allow", " Sending timezone : $0", 1, { 0 } },
{ "attr_user_sign_verified", " User's signature : verified successfully", 0 },
{ "attr_user_sign_failed", " User's signature : {hilight signature failed}", 0 },
# Author: Pekka Riikonen <priikone@silcnet.org>
#
# Copyright (C) 2000 - 2007 Pekka Riikonen
-#
+s#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
AC_CHECK_FUNCS(setrlimit time ctime utime gettimeofday getrusage)
AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror)
AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid)
-AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep)
+AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep tzset)
AC_CHECK_FUNCS(strchr snprintf strstr strcpy strncpy memcpy memset memmove)
#ifdef SILC_DIST_SIM
#
AM_CONDITIONAL(SILC_OS2, test xfalse = xtrue)
-#ifdef SILC_DIST_TOOLKIT
-# --with-irssi
-#
-without_irssi=true
-AC_MSG_CHECKING(whether to compile Irssi SILC Client)
-AC_ARG_WITH(irssi,
- [ --with-irssi compile with Irssi SILC Client],
- [
- AC_MSG_RESULT(yes)
- without_irssi=false
- ],
- [
- AC_MSG_RESULT(no)
- without_irssi=true
- ])
-AM_CONDITIONAL(with_irssi, test xwithout_irssi = xfalse)
-
-# --with-silcd
-#
-without_silcd=true
-AC_MSG_CHECKING(whether to compile SILC Server)
-AC_ARG_WITH(silcd,
- [ --with-silcd compile with SILC Server],
- [
- AC_MSG_RESULT(yes)
- without_silcd=false
- ],
- [
- AC_MSG_RESULT(no)
- without_silcd=true
- ])
-#endif SILC_DIST_TOOLKIT
+#ifdef SILC_DIST_SERVER
+without_silcd=false
+#endif SILC_DIST_SERVER
#ifdef SILC_DIST_CLIENT
AM_CONDITIONAL(with_irssi, true)
#endif SILC_DIST_CLIENT
#endif SILC_DIST_INCLUDES
echo ""
-#ifdef SILC_DIST_TOOLKIT
+#ifdef SILC_DIST_CLIENT
if test x$without_irssi = xtrue; then
irssi="no"
fi
-if test x$without_silcd = xtrue; then
- silcd="no"
-fi
-#endif SILC_DIST_TOOLKIT
-
-#ifdef SILC_DIST_CLIENT
echo " Compile SILC Client ...........: $irssi"
#endif SILC_DIST_CLIENT
#ifdef SILC_DIST_SERVER
+if test x$without_silcd = xtrue; then
+ silcd="no"
+fi
echo " Compile SILC Server ...........: $silcd"
#endif SILC_DIST_SERVER
define SILC_DIST_COMPILER
define SILC_DIST_IDCACHE
define SILC_DIST_VCARD
+define SILC_DIST_CRYPTO
# Math library, define only TMA or TFM, not both.
define SILC_DIST_MATH
# Inherits
inherit common
-#inherit client
-#inherit server
# License
license distdir/TOOLKIT
# Distdefs
define SILC_DIST_TOOLKIT
-# SFTP is undefined in server, so force it here
-define SILC_DIST_SFTP
define SILC_DIST_CLIENTLIB
-#XXX remove
define SILC_DIST_HTTP
# Includes
include README.WIN32
include README.MACOSX
include apps/silcer
-include apps/silc
include tutorial
# Noprocess to optimize packaging and avoid re-licensing of certain files
noprocess doc/toolkit/
noprocess apps/
noprocess win32/
+noprocess symbian/
pre-hook distdir/pre-run
post-process-dist-hook distdir/post-process-dist
silc.h \
silcwin32.h \
silcsymbian.h \
- silcbeos.h \
- silcos2.h \
silcversion.h
#endif SILC_DIST_TOOLKIT
silc.h \
silcwin32.h \
silcsymbian.h \
- silcbeos.h \
- silcos2.h \
silcversion.h.in \
silcdistdefs.h
silccore \
silcutil \
silcapputil \
+#ifdef SILC_DIST_CRYPTO
silccrypt \
+#endif SILC_DIST_CRYPTO
#ifdef SILC_DIST_SKR
silcskr \
#endif SILC_DIST_SKR
SUBDIRS = $(SILCLIB_DIRS) $(SILCSERVERLIB_DIRS) $(SILCCLIENTLIB_DIRS)
-CLEANFILES = libsilc.a libsilcclient.a libsilcserver.a
-DISTCLEANFILES = libsilc.a libsilcclient.a libsilcserver.a
+CLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
+DISTCLEANFILES = libsilc.a $(SILCCLIENTLIB) $(SILCSERVERLIB)
remove:
- -rm -f libsilc.a
- -rm -f libsilcclient.a
- -rm -f libsilcserver.a
+ -rm -f $(CLEANFILES)
all:
$(MAKE) remove $(SILCLIB) $(SILCSERVERLIB) $(SILCCLIENTLIB)
install-exec-hook:
-mkdir -p $(DESTDIR)$(libdir)
-$(LIBTOOL) $(INSTALL) libsilc.la $(DESTDIR)$(libdir)/
+#ifdef SILC_DIST_CLIENTLIB
-$(LIBTOOL) $(INSTALL) libsilcclient.la $(DESTDIR)$(libdir)/
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
-$(LIBTOOL) $(INSTALL) libsilcserver.la $(DESTDIR)$(libdir)/
+#endif SILC_DIST_SERVERLIB
#else !SILC_DIST_TOOLKIT
-#ifdef SILC_DIST_SERVER
+#ifdef SILC_DIST_SERVERLIB
install-exec-hook:
if SILC_ENABLE_SHARED
-mkdir -p $(libdir)
-rm -rf $(DESTDIR)$(libdir)/libsilc.a
-rm -rf $(DESTDIR)$(libdir)/libsilcserver.a
endif
-#endif SILC_DIST_SERVER
+#endif SILC_DIST_SERVERLIB
-#ifdef SILC_DIST_CLIENT
+#ifdef SILC_DIST_CLIENTLIB
install-exec-hook:
if SILC_ENABLE_SHARED
-mkdir -p $(libdir)
-rm -rf $(DESTDIR)$(libdir)/libsilc.a
-rm -rf $(DESTDIR)$(libdir)/libsilcclient.a
endif
-#endif SILC_DIST_CLIENT
+#endif SILC_DIST_CLIENTLIB
#endif SILC_DIST_TOOLKIT
LIB_BASE_VERSION=@LIB_BASE_VERSION@
#ifdef SILC_DIST_TOOLKIT
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = silc.pc silcclient.pc silcserver.pc
+pkgconfig_DATA = silc.pc \
+#ifdef SILC_DIST_CLIENTLIB
+ silcclient.pc \
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
+ silcserver.pc
+#endif SILC_DIST_SERVERLIB
-EXTRA_DIST = silc.pc.in silcclient.pc.in silcserver.pc.in
-#endif SILC_DIST_TOOLKIT
+EXTRA_DIST = silc.pc.in \
+#ifdef SILC_DIST_CLIENTLIB
+ silcclient.pc.in \
+#endif SILC_DIST_CLIENTLIB
+#ifdef SILC_DIST_SERVERLIB
+ silcserver.pc.in
+#endif SILC_DIST_SERVERLIB
-#ifdef SILC_DIST_TOOLKIT
toolkit-install:
-mkdir -p $(docdir)/toolkit/
-$(INSTALL_DATA) $(top_srcdir)/doc/toolkit/* $(docdir)/toolkit
# SILC Library directories
SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/contrib"
SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccore"
+#ifdef SILC_DIST_CRYPTO
SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silccrypt"
+#endif SILC_DIST_CRYPTO
#ifdef SILC_DIST_MATH
SILC_LIB_INCLUDES="$SILC_LIB_INCLUDES -I$SILC_TOP_SRCDIR/lib/silcmath"
#endif SILC_DIST_MATH
lib/silcutil/Makefile
lib/silcutil/unix/Makefile
lib/silcutil/win32/Makefile
+lib/silcutil/symbian/Makefile
lib/silcapputil/Makefile
#ifdef SILC_DIST_SFTP
lib/silcsftp/Makefile
libcontrib_la_SOURCES = getopti.c $(STRINGPREP) $(REGEX)
endif
-#ifdef SILC_DIST_TOOLKIT
-if HAVE_REGEX
-REGEXH =
-else
-REGEXH = regexpr.h
-endif
-include_HEADERS = \
- $(REGEXH) \
- getopti.h \
- gunicomp.h \
- gunidecomp.h \
- stringprep.h
-#endif SILC_DIST_TOOLKIT
-
EXTRA_DIST = *.c *.h
include $(top_srcdir)/Makefile.defines.in
Name: @PACKAGE@
Description: SILC Library
Version: @VERSION@
-Conflicts: libsilc <= 0.9.12
Libs: -L${libdir} -lsilc @LIBS@
Cflags: -I${includedir}
silcidcache.h
#endif SILC_DIST_IDCACHE
-SILC_EXTRA_DIST = tests
+SILC_EXTRA_DIST =
#endif SILC_DIST_TOOLKIT
EXTRA_DIST = *.h $(SILC_EXTRA_DIST)
Name: @PACKAGE@ (client library)
Description: SILC Client Library
Version: @VERSION@
-Conflicts: libsilc <= 0.9.12
Requires: silc = @VERSION@
Libs: -L${libdir} -lsilcclient @LIBS@
Cflags: -I${includedir}
silcauth.h \
silcchannel.h \
silcmessage.h \
+ silcmessage_i.h \
silccommand.h \
silcid.h \
silcmode.h \
silcske_groups.h \
silcske_payload.h \
silcske.h \
+ silcske_i.h \
silcconnauth.h
#endif SILC_DIST_TOOLKIT
* to return found keys. If this returns NULL the finding was not
* asynchronous, and the `callback' has been called already.
*
+ * EXAMPLE
+ *
+ * SilcSKRFind find;
+ *
+ * // Find all SILC public keys originating from Finland
+ * find = silc_skr_find_alloc();
+ * silc_skr_find_set_pkcs_type(find, SILC_PKCS_SILC);
+ * silc_skr_find_set_country(find, "FI");
+ *
+ * // Find
+ * silc_skr_find(skr, find, find_callback, cb_context);
+ *
***/
SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSKRFind find,
SilcSKRFindCallback callback,
silclog_i.h \
silcmemory.h \
silcmutex.h \
+ silcatomic.h \
+ silccond.h \
silcnet.h \
+ silcnet_i.h \
silcschedule.h \
silcschedule_i.h \
silcthread.h \
silcstream.h \
silcfdstream.h \
silcsocketstream.h \
+ silcsocketstream_i.h \
silcfsm.h \
silcfsm_i.h \
silctime.h \
silcmime.h \
+ silcmime_i.h \
silcasync.h \
silcasync_i.h \
silcstack.h \
--- /dev/null
+#
+# Makefile.am
+#
+# Author: Pekka Riikonen <priikone@silcnet.org>
+#
+# Copyright (C) 2007 Pekka Riikonen
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
+
+include $(top_srcdir)/Makefile.defines.in