+Wed Apr 11 22:10:15 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Disable force sending of packets when REKEY protocol is active.
+ We must assure that no packet is sent directly when rekey is
+ performed. All packets must be sent through packet queue.
+ Added macro SILC_SERVER_IS_REKEY to silcd/server.h and
+ SILC_CLIENT_IS_REKEY to lib/silcclient/client.h. Affected
+ function is silc_[server/client]_packet_send_real to check
+ the situation.
+
+ * Replaced the SIM paths from example config files to
+ /usr/local/modules. Also, make install creates now
+ /usr/local/silc/logs directory to hold all the SILC server
+ logs.
+
Wed Apr 11 16:59:59 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Made the configure.in.pre work on Solaris. Patch by salo.
# Installing of SILC into the system
#
+etcdir = @ETCDIR@
modulesdir = $(prefix)/@MODULESDIR@
helpdir = $(prefix)/@HELPDIR@
docdir = $(prefix)/@DOCDIR@
-etcdir = @ETCDIR@
+logsdir = $(prefix)/@LOGSDIR@
install-dirs:
-mkdir -p $(etcdir)
-mkdir -p $(modulesdir)
-mkdir -p $(helpdir)
-mkdir -p $(docdir)
+ -mkdir -p $(logsdir)
generate-server-key:
-$(sbindir)/silcd -C $(etcdir)
-cp -fR $(srcdir)/lib/silcsim/modules/*.so $(modulesdir)/
doc-install:
- -cp -fR $(srcdir)/doc/* $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/doc/CodingStyle $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/doc/FAQ $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/doc/example* $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/doc/*.txt $(docdir)/
$(INSTALL_DATA) $(srcdir)/COPYING $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/CHANGES $(docdir)/
+ $(INSTALL_DATA) $(srcdir)/CREDITS $(docdir)/
$(INSTALL_DATA) $(srcdir)/README $(docdir)/
$(INSTALL_DATA) $(srcdir)/INSTALL $(docdir)/
$(INSTALL_DATA) $(srcdir)/TODO $(docdir)/
-@if test '!' -f $(etcdir)/silcd.conf ; then \
$(INSTALL_DATA) $(srcdir)/doc/example_silcd.conf \
$(etcdir)/silcd.conf; \
+ chmod go= $(etcdir)/silcd.conf; \
fi
-@if test '!' -f $(etcdir)/silc.conf ; then \
$(INSTALL_DATA) $(srcdir)/doc/example_silc.conf \
{
int ret;
+ /* If rekey protocol is active we must assure that all packets are
+ sent through packet queue. */
+ if (SILC_SERVER_IS_REKEY(sock))
+ force_send = FALSE;
+
/* Send the packet */
ret = silc_packet_send(sock, force_send);
if (ret != -2)
silc_free(__fmt__); \
} while(0);
+/* Check whether rekey protocol is active */
+#define SILC_SERVER_IS_REKEY(sock) \
+ (sock->protocol && sock->protocol->protocol && \
+ sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_REKEY)
+
/* Prototypes */
int silc_server_alloc(SilcServer *new_server);
void silc_server_free(SilcServer server);
#
# Default installation destination
-AC_PREFIX_DEFAULT(/usr/local/silc/)
+AC_PREFIX_DEFAULT(/usr/local/silc)
# etc directory
ETCDIR="/etc/silc"
)
AC_SUBST(MODULESDIR)
+# Logs directory
+LOGSDIR="logs"
+AC_ARG_WITH(logsdir,
+[ --with-logsdir[=PATH] Directory for Server logs [PREFIX/logs]],
+[ case "$withval" in
+ no)
+ ;;
+ yes)
+ ;;
+ *)
+ LOGSDIR="$withwal"
+ ;;
+ esac ],
+)
+AC_SUBST(LOGSDIR)
+
# Debug checking
AC_MSG_CHECKING(for enabled debugging)
AC_ARG_ENABLE(debug,
# SOCKS4 support checking
AC_MSG_CHECKING(whether to support SOCKS4)
AC_ARG_WITH(socks4,
-[ --with-socks4[=PATH] Compile with SOCKS4 support.],
+[ --with-socks4[=PATH] Compile with SOCKS4 support],
[ case "$withval" in
no)
AC_MSG_RESULT(no)
# SOCKS5 support checking
AC_MSG_CHECKING(whether to support SOCKS5)
AC_ARG_WITH(socks5,
-[ --with-socks5[=PATH] Compile with SOCKS5 support.],
+[ --with-socks5[=PATH] Compile with SOCKS5 support],
[ case "$withval" in
no)
AC_MSG_RESULT(no)
AC_ARG_WITH(silcd-config-file,
[ --with-silcd-config-file[=PATH]
Use PATH as default configuration file in SILC
- server.],
+ server [/etc/silc/silcd.conf]],
[ AC_DEFINE_UNQUOTED(SILC_SERVER_CONFIG_FILE, "$withval") ])
# XXX
# If the cipher is builtin the <module path> maybe omitted.
#
[cipher]
-aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16
-aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16
-aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16
-twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16
-twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16
-twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16
-mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16
-mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16
-mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16
-none:../lib/silcsim/modules/none.sim.so:0:0
+aes-256-cbc:/usr/local/silc/silc/modules/aes.sim.so:32:16
+aes-192-cbc:/usr/local/silc/modules/aes.sim.so:24:16
+aes-128-cbc:/usr/local/silc/modules/aes.sim.so:16:16
+twofish-256-cbc:/usr/local/silc/modules/twofish.sim.so:32:16
+twofish-192-cbc:/usr/local/silc/modules/twofish.sim.so:24:16
+twofish-128-cbc:/usr/local/silc/modules/twofish.sim.so:16:16
+mars-256-cbc:/usr/local/silc/modules/mars.sim.so:32:16
+mars-192-cbc:/usr/local/silc/modules/mars.sim.so:24:16
+mars-128-cbc:/usr/local/silc/modules/mars.sim.so:16:16
+none:/usr/local/silc/modules/none.sim.so:0:0
#
# Configured hash functions.
# If the cipher is builtin the <module path> maybe omitted.
#
[Cipher]
-aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16
-aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16
-aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16
-twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16
-twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16
-twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16
-mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16
-mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16
-mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16
-none:../lib/silcsim/modules/none.sim.so:0:0
+aes-256-cbc:/usr/local/silc/modules/aes.sim.so:32:16
+aes-192-cbc:/usr/local/silc/modules/aes.sim.so:24:16
+aes-128-cbc:/usr/local/silc/modules/aes.sim.so:16:16
+twofish-256-cbc:/usr/local/silc/modules/twofish.sim.so:32:16
+twofish-192-cbc:/usr/local/silc/modules/twofish.sim.so:24:16
+twofish-128-cbc:/usr/local/silc/modules/twofish.sim.so:16:16
+mars-256-cbc:/usr/local/silc/modules/mars.sim.so:32:16
+mars-192-cbc:/usr/local/silc/modules/mars.sim.so:24:16
+mars-128-cbc:/usr/local/silc/modules/mars.sim.so:16:16
+none:/usr/local/silc/modules/none.sim.so:0:0
#
# Configured hash functions.
# fatallogile:<path>:<max byte size>
#
[Logging]
-infologfile:silcd.log:10000
-#warninglogfile:/var/log/silcd_warning.log:10000
-#errorlogfile:ERROR.log:10000
-#fatallogfile:/var/log/silcd_error.log:
+infologfile:/usr/local/silc/logs/silcd.log:10000
+#warninglogfile:/usr/local/silc/logs/silcd_warning.log:10000
+#errorlogfile:/usr/local/silc/logs/error.log:10000
+#fatallogfile:/usr/local/silc/logs/silcd_error.log:
#
# Connection classes.
{
int ret;
+ /* If rekey protocol is active we must assure that all packets are
+ sent through packet queue. */
+ if (SILC_CLIENT_IS_REKEY(sock))
+ force_send = FALSE;
+
/* Send the packet */
ret = silc_packet_send(sock, force_send);
if (ret != -2)
(__sock) = (__x)->conns[__i]->sock; \
} while(0)
+/* Check whether rekey protocol is active */
+#define SILC_CLIENT_IS_REKEY(sock) \
+ (sock->protocol && sock->protocol->protocol && \
+ sock->protocol->protocol->type == SILC_PROTOCOL_CLIENT_REKEY)
+
/* Prototypes (some of the prototypes are defined in the silcapi.h) */
void silc_client_packet_send(SilcClient client,