[prev in list] [next in list] [prev in thread] [next in thread]
List: silc-devel
Subject: [Silc-devel] [ANNOUNCE] SILC 20010218
From: Pekka Riikonen <silc () poseidon ! pspt ! fi>
Date: 2001-02-19 15:04:45
Message-ID: Pine.LNX.4.10.10102191700050.13386-100000 () poseidon ! pspt ! fi
[Download RAW message or body]
A new development version 20010219 of SILC is available. The software is
available from http://silc.pspt.fi web site:
http://silc.pspt.fi/silc-20010219.tar.gz
ftp://silc.pspt.fi/pub/silc/snapshots/
A quick bug release version. Though, this fixes a lot fundamental and
fatal bugs. I also believe (again) that I've killed the [<unkown>]
buglet. However, don't be surprised if you see it again. There is a
simple workaround for the [<unknown>] buglet but I've refused to make it
since it does not fix the bug it only fixes the symptoms of it. The bugs
that this version fixes would have not been found if I'd done the
workaround fix. I still refuse to make that fix in order to find out
whether the buglet really is gone. We shall see.
Changes to the previous version:
* Changed SILC_SERVER_COMMAND_EXEC_PENDING macro to the name
SILC_SERVER_PENDING_EXEC and added an new macro
SILC_SERVER_PENDING_DESTRUCTOR which is called to free the
data or when error occurs while processing the pending command.
Added new argument `destructor' into silc_server_command_pending
and to the SilcServerCommandPending object. This destructor is
now called after calling the pending callback or if error occurs
immediately. If error occurs the actual pending callback won't
be called at all - only the destructor. The destructor may be
NULL if destructor is not needed.
All this applies for client library code as well. Similar
changes were made there as well for the pending commands.
In the client, the application must now allocate the
SilcClientCommandContext with the silc_client_command_alloc
function.
* Added reference counter to the SilcServerCommandContext. Added
function silc_server_command_alloc and silc_server_command_dup
functions.
Same type of functions added to the client library for the same
purpose as well.
* Removed the cmd_ident from IDListData away since it is now
global for all connections. It is the command identifier used
in command sending and with pending commands. The affected file
is silcd/idlist.h.
* Added reference counter to the SilcSocketConnection object to
indicate the usage count of the object. The object won't be
freed untill the reference counter hits zero. Currently only
server uses this, and client ignores it. The client must be
set to use this too later. The affected files are
lib/silccore/silcsockconn.[ch]. Added also the function
silc_socket_dup to increase the reference counter.
This was mainly added because it is possible that the socket
is removed underneath of pending command or other async
operation. Now it won't be free'd and proper DISCONNECTING
flags, etc. can be set to avoid sending data to connection that
is not valid anymore.
* Added SILC_SET_DISCONNECTING to server.c when EOF is read from
the connection. After that it sets SILC_SET_DISCONNECTED.
It is, however, possible that the socket data is not still freed.
The silc_server_packet_process now checks that data is not
read or written to connection that is DISCONNECTED. The socket
get's freed when the reference counter hits zero.
* Changed the client operation API: channel_message operation's
`sender' is now the client entry of the sender, not the nickname
and the `channel' is the channel entry, not the channel name.
In the private_message operation the `sender' is now also the
client entry of the sender not the nickname.
Affected file is lib/silcclient/ops.h and all applications
using the client operations.
Pekka
________________________________________________________________________
Pekka Riikonen | Email: priikone@poseidon.pspt.fi
SSH Communications Security Corp. | http://poseidon.pspt.fi/~priikone
Tel. +358 (0)40 580 6673 | Kasarmikatu 11 A4, SF-70110 Kuopio
PGP KeyID A924ED4F: http://poseidon.pspt.fi/~priikone/pubkey.asc
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic