[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