Copyright (C) 2012-2013 GNUnet e.V.
GNUnet is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
+ under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Affero General Public License for more details.
-*/
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
+ */
/**
* @file gnunet-credential.c
* @brief command line tool to access command line Credential service
static void
handle_collect_result (void *cls,
- unsigned int d_count,
- struct GNUNET_CREDENTIAL_Delegation *dc,
- unsigned int c_count,
- struct GNUNET_CREDENTIAL_Credential *cred)
+ unsigned int d_count,
+ struct GNUNET_CREDENTIAL_Delegation *dc,
+ unsigned int c_count,
+ struct GNUNET_CREDENTIAL_Credential *cred)
{
int i;
- char* line;
+ char*line;
verify_request = NULL;
if (NULL != cred)
{
- for (i=0;i<c_count;i++)
+ for (i = 0; i < c_count; i++)
{
line = GNUNET_CREDENTIAL_credential_to_string (&cred[i]);
printf ("%s\n",
struct GNUNET_CREDENTIAL_Credential *cred)
{
int i;
- char* iss_key;
- char* sub_key;
+ char*iss_key;
+ char*sub_key;
verify_request = NULL;
if (NULL == cred)
printf ("Failed.\n");
else
{
- printf("Delegation Chain:\n");
- for (i=0;i<d_count;i++)
+ printf ("Delegation Chain:\n");
+ for (i = 0; i < d_count; i++)
{
iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].issuer_key);
sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].subject_key);
printf ("(%d) %s.%s <- %s.%s\n", i,
iss_key, dc[i].issuer_attribute,
sub_key, dc[i].subject_attribute);
- } else {
+ }
+ else
+ {
printf ("(%d) %s.%s <- %s\n", i,
iss_key, dc[i].issuer_attribute,
sub_key);
GNUNET_free (iss_key);
GNUNET_free (sub_key);
}
- printf("\nCredentials:\n");
- for (i=0;i<c_count;i++)
+ printf ("\nCredentials:\n");
+ for (i = 0; i < c_count; i++)
{
iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred[i].issuer_key);
sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred[i].subject_key);
sub_key);
GNUNET_free (iss_key);
GNUNET_free (sub_key);
-
}
printf ("Successful.\n");
}
if (NULL != ego_name)
{
fprintf (stderr,
- _("Ego `%s' not known to identity service\n"),
+ _ ("Ego `%s' not known to identity service\n"),
ego_name);
}
GNUNET_SCHEDULER_shutdown ();
if (GNUNET_YES == collect)
{
-
if (GNUNET_OK !=
GNUNET_CRYPTO_ecdsa_public_key_from_string (issuer_key,
strlen (issuer_key),
&issuer_pkey))
{
fprintf (stderr,
- _("Issuer public key `%s' is not well-formed\n"),
+ _ ("Issuer public key `%s' is not well-formed\n"),
issuer_key);
GNUNET_SCHEDULER_shutdown ();
}
privkey = GNUNET_IDENTITY_ego_get_private_key (ego);
- collect_request = GNUNET_CREDENTIAL_collect(credential,
- &issuer_pkey,
- issuer_attr, //TODO argument
- privkey,
- &handle_collect_result,
- NULL);
+ collect_request = GNUNET_CREDENTIAL_collect (credential,
+ &issuer_pkey,
+ issuer_attr, // TODO argument
+ privkey,
+ &handle_collect_result,
+ NULL);
return;
}
- //Else issue
+ // Else issue
if (NULL == expiration)
{
"Please specify a TTL\n");
GNUNET_SCHEDULER_shutdown ();
return;
- } else if (GNUNET_OK == GNUNET_STRINGS_fancy_time_to_relative (expiration,
- &etime_rel))
+ }
+ else if (GNUNET_OK == GNUNET_STRINGS_fancy_time_to_relative (expiration,
+ &etime_rel))
{
etime_abs = GNUNET_TIME_relative_to_absolute (etime_rel);
- } else if (GNUNET_OK != GNUNET_STRINGS_fancy_time_to_absolute (expiration,
- &etime_abs))
+ }
+ else if (GNUNET_OK != GNUNET_STRINGS_fancy_time_to_absolute (expiration,
+ &etime_abs))
{
fprintf (stderr,
"%s is not a valid ttl!\n",
const char *cfgfile,
const struct GNUNET_CONFIGURATION_Handle *c)
{
-
cfg = c;
&do_timeout, NULL);
GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL);
- if (GNUNET_YES == collect) {
+ if (GNUNET_YES == collect)
+ {
if (NULL == issuer_key)
{
fprintf (stderr,
- _("Issuer public key not well-formed\n"));
+ _ ("Issuer public key not well-formed\n"));
GNUNET_SCHEDULER_shutdown ();
return;
-
}
credential = GNUNET_CREDENTIAL_connect (cfg);
if (NULL == credential)
{
fprintf (stderr,
- _("Failed to connect to CREDENTIAL\n"));
+ _ ("Failed to connect to CREDENTIAL\n"));
GNUNET_SCHEDULER_shutdown ();
return;
}
if (NULL == issuer_attr)
{
fprintf (stderr,
- _("You must provide issuer the attribute\n"));
+ _ ("You must provide issuer the attribute\n"));
GNUNET_SCHEDULER_shutdown ();
return;
}
if (NULL == ego_name)
{
fprintf (stderr,
- _("ego required\n"));
+ _ ("ego required\n"));
GNUNET_SCHEDULER_shutdown ();
return;
-
}
el = GNUNET_IDENTITY_ego_lookup (cfg,
ego_name,
&identity_cb,
(void *) cfg);
return;
-
- }
+ }
if (NULL == subject_key)
{
fprintf (stderr,
- _("Subject public key needed\n"));
+ _ ("Subject public key needed\n"));
GNUNET_SCHEDULER_shutdown ();
return;
-
}
if (GNUNET_OK !=
GNUNET_CRYPTO_ecdsa_public_key_from_string (subject_key,
&subject_pkey))
{
fprintf (stderr,
- _("Subject public key `%s' is not well-formed\n"),
+ _ ("Subject public key `%s' is not well-formed\n"),
subject_key);
GNUNET_SCHEDULER_shutdown ();
return;
}
- if (GNUNET_YES == verify) {
+ if (GNUNET_YES == verify)
+ {
if (NULL == issuer_key)
{
fprintf (stderr,
- _("Issuer public key not well-formed\n"));
+ _ ("Issuer public key not well-formed\n"));
GNUNET_SCHEDULER_shutdown ();
return;
-
}
if (GNUNET_OK !=
GNUNET_CRYPTO_ecdsa_public_key_from_string (issuer_key,
&issuer_pkey))
{
fprintf (stderr,
- _("Issuer public key `%s' is not well-formed\n"),
+ _ ("Issuer public key `%s' is not well-formed\n"),
issuer_key);
GNUNET_SCHEDULER_shutdown ();
return;
if (NULL == credential)
{
fprintf (stderr,
- _("Failed to connect to CREDENTIAL\n"));
+ _ ("Failed to connect to CREDENTIAL\n"));
GNUNET_SCHEDULER_shutdown ();
return;
}
- if (NULL == issuer_attr || NULL == subject_credential)
+ if ((NULL == issuer_attr) ||(NULL == subject_credential) )
{
fprintf (stderr,
- _("You must provide issuer and subject attributes\n"));
+ _ ("You must provide issuer and subject attributes\n"));
GNUNET_SCHEDULER_shutdown ();
return;
}
- //Subject credentials are comma separated
+ // Subject credentials are comma separated
char *tmp = GNUNET_strdup (subject_credential);
char *tok = strtok (tmp, ",");
if (NULL == tok)
}
int count = 1;
int i;
- while (NULL != (tok = strtok(NULL, ",")))
+ while (NULL != (tok = strtok (NULL, ",")))
count++;
struct GNUNET_CREDENTIAL_Credential credentials[count];
struct GNUNET_CREDENTIAL_Credential *cred;
GNUNET_free (tmp);
tmp = GNUNET_strdup (subject_credential);
tok = strtok (tmp, ",");
- for (i=0;i<count;i++)
+ for (i = 0; i < count; i++)
{
cred = GNUNET_CREDENTIAL_credential_from_string (tok);
GNUNET_memcpy (&credentials[i],
cred,
- sizeof (struct GNUNET_CREDENTIAL_Credential));
+ sizeof(struct GNUNET_CREDENTIAL_Credential));
credentials[i].issuer_attribute = GNUNET_strdup (cred->issuer_attribute);
- tok = strtok(NULL, ",");
+ tok = strtok (NULL, ",");
GNUNET_free (cred);
}
- verify_request = GNUNET_CREDENTIAL_verify(credential,
- &issuer_pkey,
- issuer_attr, //TODO argument
- &subject_pkey,
- count,
- credentials,
- &handle_verify_result,
- NULL);
- for (i=0;i<count;i++)
+ verify_request = GNUNET_CREDENTIAL_verify (credential,
+ &issuer_pkey,
+ issuer_attr, // TODO argument
+ &subject_pkey,
+ count,
+ credentials,
+ &handle_verify_result,
+ NULL);
+ for (i = 0; i < count; i++)
{
- GNUNET_free ((char*)credentials[i].issuer_attribute);
+ GNUNET_free ((char*) credentials[i].issuer_attribute);
}
GNUNET_free (tmp);
- } else if (GNUNET_YES == create_cred) {
+ }
+ else if (GNUNET_YES == create_cred)
+ {
if (NULL == ego_name)
{
fprintf (stderr,
- _("Issuer ego required\n"));
+ _ ("Issuer ego required\n"));
GNUNET_SCHEDULER_shutdown ();
return;
-
}
el = GNUNET_IDENTITY_ego_lookup (cfg,
ego_name,
&identity_cb,
(void *) cfg);
return;
- } else {
+ }
+ else
+ {
fprintf (stderr,
- _("Please specify name to lookup, subject key and issuer key!\n"));
+ _ (
+ "Please specify name to lookup, subject key and issuer key!\n"));
GNUNET_SCHEDULER_shutdown ();
}
return;
&create_cred),
GNUNET_GETOPT_option_flag ('V',
"verify",
- gettext_noop ("verify credential against attribute"),
+ gettext_noop (
+ "verify credential against attribute"),
&verify),
GNUNET_GETOPT_option_string ('s',
"subject",
"PKEY",
- gettext_noop ("The public key of the subject to lookup the credential for"),
+ gettext_noop (
+ "The public key of the subject to lookup the credential for"),
&subject_key),
GNUNET_GETOPT_option_string ('b',
"credential",
"CRED",
- gettext_noop ("The name of the credential presented by the subject"),
+ gettext_noop (
+ "The name of the credential presented by the subject"),
&subject_credential),
GNUNET_GETOPT_option_string ('i',
"issuer",
"PKEY",
- gettext_noop ("The public key of the authority to verify the credential against"),
+ gettext_noop (
+ "The public key of the authority to verify the credential against"),
&issuer_key),
GNUNET_GETOPT_option_string ('e',
"ego",
GNUNET_GETOPT_option_string ('a',
"attribute",
"ATTR",
- gettext_noop ("The issuer attribute to verify against or to issue"),
+ gettext_noop (
+ "The issuer attribute to verify against or to issue"),
&issuer_attr),
GNUNET_GETOPT_option_string ('T',
"ttl",
"EXP",
- gettext_noop ("The time to live for the credential"),
+ gettext_noop (
+ "The time to live for the credential"),
&expiration),
GNUNET_GETOPT_option_flag ('g',
"collect",
ret =
(GNUNET_OK ==
GNUNET_PROGRAM_run (argc, argv, "gnunet-credential",
- _("GNUnet credential resolver tool"),
+ _ ("GNUnet credential resolver tool"),
options,
&run, NULL)) ? 0 : 1;
GNUNET_free ((void*) argv);