Added SILC_SKR_USAGE_SERVICE_AUTHORIZATION. Added SilcSchedule
authorPekka Riikonen <priikone@silcnet.org>
Sun, 22 Apr 2007 18:18:18 +0000 (18:18 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 22 Apr 2007 18:18:18 +0000 (18:18 +0000)
to silc_skr_find.

lib/silcskr/silcskr.c
lib/silcskr/silcskr.h
lib/silcskr/tests/test_silcskr.c

index 1ed22beb005b340c51cf271c4855d95b9b856e0a..2a495f4362945475dda58cff5fa4d0ff32c5c83d 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2005 - 2006 Pekka Riikonen
+  Copyright (C) 2005 - 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
@@ -494,7 +494,7 @@ static SilcBool silc_skr_results_and(SilcDList list, SilcSKRStatus *status,
 
 /* Allocate key repository */
 
-SilcSKR silc_skr_alloc(SilcSchedule scheduler)
+SilcSKR silc_skr_alloc(void)
 {
   SilcSKR skr;
 
@@ -502,7 +502,7 @@ SilcSKR silc_skr_alloc(SilcSchedule scheduler)
   if (!skr)
     return NULL;
 
-  if (!silc_skr_init(skr, scheduler)) {
+  if (!silc_skr_init(skr)) {
     silc_skr_free(skr);
     return NULL;
   }
@@ -520,13 +520,8 @@ void silc_skr_free(SilcSKR skr)
 
 /* Initializes key repository */
 
-SilcBool silc_skr_init(SilcSKR skr, SilcSchedule scheduler)
+SilcBool silc_skr_init(SilcSKR skr)
 {
-  if (!scheduler)
-    return FALSE;
-
-  skr->scheduler = scheduler;
-
   if (!silc_mutex_alloc(&skr->lock))
     return FALSE;
 
@@ -730,7 +725,8 @@ SilcBool silc_skr_find_set_usage(SilcSKRFind find, SilcSKRKeyUsage usage)
    once keys has been found. */
 /* This is now synchronous function but may later change async */
 
-SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSKRFind find,
+SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSchedule schedule,
+                                SilcSKRFind find,
                                 SilcSKRFindCallback callback,
                                 void *callback_context)
 {
index 63293ea947dc43674237f4bf74c9ef0a12855d9b..eb9a5d98caf861eafe56b95a2490aa923bfdea24 100644 (file)
@@ -73,7 +73,7 @@ typedef struct SilcSKRFindStruct *SilcSKRFind;
  *
  *    Indicates the usage of the key.  Keys can be added for different
  *    reasons and for different purpose to the repository.  SilcSKRKeyUsage
- *    indicates what for the key exists in the repository.  The default
+ *    indicates for what reason the key exists in the repository.  The default
  *    usage is SILC_SKR_USAGE_ANY and allows any kind of usage for the key.
  *    If the usage should be limited then specific usage bitmask can be
  *    specified when adding the key.  When searching keys from the
@@ -83,11 +83,14 @@ typedef struct SilcSKRFindStruct *SilcSKRFind;
  * SOURCE
  */
 typedef enum {
-  SILC_SKR_USAGE_ANY            = 0x0000,  /* Any usage */
-  SILC_SKR_USAGE_AUTH           = 0x0001,  /* Signatures/verification */
-  SILC_SKR_USAGE_ENC            = 0x0002,  /* Encryption/decryption */
-  SILC_SKR_USAGE_KEY_AGREEMENT  = 0x0004,  /* Key agreement protocol */
-  SILC_SKR_USAGE_IDENTIFICATION = 0x0008,  /* Identifying key owner */
+  SILC_SKR_USAGE_ANY                   = 0x0000,  /* Any usage */
+  SILC_SKR_USAGE_AUTH                  = 0x0001,  /* Signatures/verification */
+  SILC_SKR_USAGE_ENC                   = 0x0002,  /* Encryption/decryption */
+  SILC_SKR_USAGE_KEY_AGREEMENT         = 0x0004,  /* Key agreement protocol */
+  SILC_SKR_USAGE_IDENTIFICATION        = 0x0008,  /* Identifying key owner */
+  SILC_SKR_USAGE_SERVICE_AUTHORIZATION = 0x0010,  /* Service authorization */
+
+  /* From 0x0100 reserved for private/application use. */
 } SilcSKRKeyUsage;
 /***/
 
@@ -169,14 +172,14 @@ typedef void (*SilcSKRFindCallback)(SilcSKR skr, SilcSKRFind find,
  *
  * SYNOPSIS
  *
- *    SilcSKR silc_skr_alloc(SilcSchedule scheduler);
+ *    SilcSKR silc_skr_alloc(void);
  *
  * DESCRIPTION
  *
  *    Allocates key repository context.
  *
  ***/
-SilcSKR silc_skr_alloc(SilcSchedule scheduler);
+SilcSKR silc_skr_alloc(void);
 
 /****f* silcskr/SilcSKRAPI/silc_skr_free
  *
@@ -195,7 +198,7 @@ void silc_skr_free(SilcSKR skr);
  *
  * SYNOPSIS
  *
- *    SilcBool silc_skr_init(SilcSKR skr, SilcSchedule scheduler);
+ *    SilcBool silc_skr_init(SilcSKR skr);
  *
  * DESCRIPTION
  *
@@ -204,7 +207,7 @@ void silc_skr_free(SilcSKR skr);
  *    argument.  Returns FALSE if initialization failed.
  *
  ***/
-SilcBool silc_skr_init(SilcSKR skr, SilcSchedule scheduler);
+SilcBool silc_skr_init(SilcSKR skr);
 
 /****f* silcskr/SilcSKRAPI/silc_skr_uninit
  *
@@ -478,7 +481,8 @@ SilcBool silc_skr_find_set_usage(SilcSKRFind find, SilcSKRKeyUsage usage);
  *
  * SYNOPSIS
  *
- *    SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSKRFind find,
+ *    SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSchedule schedule,
+ *                                     SilcSKRFind find,
  *                                     SilcSKRFindCallback callback,
  *                                     void *callback_context);
  *
@@ -501,10 +505,11 @@ SilcBool silc_skr_find_set_usage(SilcSKRFind find, SilcSKRKeyUsage usage);
  *   silc_skr_find_set_country(find, "FI");
  *
  *   // Find
- *   silc_skr_find(skr, find, find_callback, cb_context);
+ *   silc_skr_find(skr, schedule, find, find_callback, cb_context);
  *
  ***/
-SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSKRFind find,
+SilcAsyncOperation silc_skr_find(SilcSKR skr, SilcSchedule schedule,
+                                SilcSKRFind find,
                                 SilcSKRFindCallback callback,
                                 void *callback_context);
 
index 4ee45cb39f6676d12035619128e6eb79b44db5f1..00936a827ffa39a0edbfdb63d608e65f9f7eaa3d 100644 (file)
@@ -41,7 +41,7 @@ int main(int argc, char **argv)
   schedule = silc_schedule_init(0, NULL);
 
   SILC_LOG_DEBUG(("Allocating SKR"));
-  skr = silc_skr_alloc(schedule);
+  skr = silc_skr_alloc();
   if (!skr)
     goto err;
 
@@ -79,7 +79,7 @@ int main(int argc, char **argv)
   SILC_LOG_DEBUG(("Finding public key by email"));
   find = silc_skr_find_alloc();
   silc_skr_find_set_email(find, "foo@foo.com");
-  silc_skr_find(skr, find, skr_found, NULL);
+  silc_skr_find(skr, schedule, find, skr_found, NULL);
   silc_skr_find_free(find);
   if (!found)
     goto err;
@@ -87,7 +87,7 @@ int main(int argc, char **argv)
   SILC_LOG_DEBUG(("Finding public key by country"));
   find = silc_skr_find_alloc();
   silc_skr_find_set_country(find, "FI");
-  silc_skr_find(skr, find, skr_found, NULL);
+  silc_skr_find(skr, schedule, find, skr_found, NULL);
   silc_skr_find_free(find);
   if (!found)
     goto err;
@@ -97,7 +97,7 @@ int main(int argc, char **argv)
   silc_skr_find_set_country(find, "FI");
   silc_skr_find_set_org(find, "ORG");
   silc_skr_find_set_host(find, "foo.com");
-  silc_skr_find(skr, find, skr_found, NULL);
+  silc_skr_find(skr, schedule, find, skr_found, NULL);
   silc_skr_find_free(find);
   if (!found)
     goto err;
@@ -111,7 +111,7 @@ int main(int argc, char **argv)
   find = silc_skr_find_alloc();
   silc_skr_find_set_country(find, "FI");
   silc_skr_find_set_usage(find, SILC_SKR_USAGE_ENC);
-  silc_skr_find(skr, find, skr_found, NULL);
+  silc_skr_find(skr, schedule, find, skr_found, NULL);
   silc_skr_find_free(find);
   if (found)
     goto err;
@@ -120,7 +120,7 @@ int main(int argc, char **argv)
   find = silc_skr_find_alloc();
   silc_skr_find_set_country(find, "FI");
   silc_skr_find_set_usage(find, SILC_SKR_USAGE_IDENTIFICATION);
-  silc_skr_find(skr, find, skr_found, NULL);
+  silc_skr_find(skr, schedule, find, skr_found, NULL);
   silc_skr_find_free(find);
   if (!found)
     goto err;