From: Pekka Riikonen Date: Sun, 22 Apr 2007 18:18:18 +0000 (+0000) Subject: Added SILC_SKR_USAGE_SERVICE_AUTHORIZATION. Added SilcSchedule X-Git-Tag: silc.toolkit.1.1.beta1~45 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=38fc611c5a6232bbbce6586041a9931a3e248c61 Added SILC_SKR_USAGE_SERVICE_AUTHORIZATION. Added SilcSchedule to silc_skr_find. --- diff --git a/lib/silcskr/silcskr.c b/lib/silcskr/silcskr.c index 1ed22beb..2a495f43 100644 --- a/lib/silcskr/silcskr.c +++ b/lib/silcskr/silcskr.c @@ -4,7 +4,7 @@ Author: Pekka Riikonen - 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) { diff --git a/lib/silcskr/silcskr.h b/lib/silcskr/silcskr.h index 63293ea9..eb9a5d98 100644 --- a/lib/silcskr/silcskr.h +++ b/lib/silcskr/silcskr.h @@ -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); diff --git a/lib/silcskr/tests/test_silcskr.c b/lib/silcskr/tests/test_silcskr.c index 4ee45cb3..00936a82 100644 --- a/lib/silcskr/tests/test_silcskr.c +++ b/lib/silcskr/tests/test_silcskr.c @@ -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;