updates.
[silc.git] / apps / silcd / idlist.h
index 89b00f88b8c0ba7247f8630089cee7f37cd1d1a7..0436d9a4ed2481969e2cfa6a527e0b0561ef7b21 100644 (file)
@@ -60,6 +60,7 @@ typedef uint8 SilcIDListStatus;
 #define SILC_IDLIST_STATUS_RESOLVED     0x02    /* Entry info is resolved */
 #define SILC_IDLIST_STATUS_RESOLVING    0x04    /* Entry is being resolved
                                                   with WHOIS or IDENTIFY */
+#define SILC_IDLIST_STATUS_DISABLED     0x08    /* Entry is disabled */
 
 /*
    Generic ID list data structure.
@@ -79,22 +80,28 @@ typedef struct {
   SilcCipher send_key;
   SilcCipher receive_key;
 
-  /* Re-key context */
-  SilcServerRekey rekey;
-
-  /* Hash selected in the SKE protocol, NULL if not needed at all */
-  SilcHash hash;
-
   /* HMAC */
   SilcHmac hmac_send;
   SilcHmac hmac_receive;
 
+  /* Packet sequence numbers */
+  uint32 psn_send;
+  uint32 psn_receive;
+
+  /* Hash selected in the SKE protocol, NULL if not needed at all */
+  SilcHash hash;
+
   /* Public key */
   SilcPublicKey public_key;
 
+  /* Re-key context */
+  SilcServerRekey rekey;
+
   long last_receive;           /* Time last received data */
   long last_sent;              /* Time last sent data */
 
+  unsigned long created;       /* Time when entry was created */
+
   SilcIDListStatus status;     /* Status mask of the entry */
 } *SilcIDListData, SilcIDListDataStruct;
 
@@ -482,6 +489,9 @@ struct SilcChannelEntryStruct {
   SilcHmac hmac;
 
   SilcServerChannelRekey rekey;
+
+  unsigned long created;
+  bool disabled;
 };
 
 /*