GNUnet  0.11.x
Macros | Functions | Variables
gnunet-identity.c File Reference

IDENTITY management command line tool. More...

#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_identity_service.h"
Include dependency graph for gnunet-identity.c:

Go to the source code of this file.

Macros

#define TIMEOUT_STATUS_CODE   40
 Return value from main on timeout. More...
 

Functions

static void shutdown_task (void *cls)
 Task run on shutdown. More...
 
static void test_finished (void)
 Test if we are finished yet. More...
 
static void delete_finished (void *cls, const char *emsg)
 Deletion operation finished. More...
 
static void create_finished (void *cls, const struct GNUNET_IDENTITY_PrivateKey *pk, const char *emsg)
 Creation operation finished. More...
 
static void set_done (void *cls, const char *emsg)
 Function called by GNUNET_IDENTITY_set up on completion. More...
 
static void print_ego (void *cls, struct GNUNET_IDENTITY_Ego *ego, void **ctx, const char *identifier)
 If listing is enabled, prints information about the egos. More...
 
static void run (void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg)
 Main function that will be run by the scheduler. More...
 
int main (int argc, char *const *argv)
 The main function. More...
 

Variables

static struct GNUNET_IDENTITY_Handlesh
 Handle to IDENTITY service. More...
 
static int list
 Was "list" specified? More...
 
static int monitor
 Was "monitor" specified? More...
 
static int private_keys
 Was "private" specified? More...
 
static unsigned int verbose
 Was "verbose" specified? More...
 
static int quiet
 Was "quiet" specified? More...
 
static int type_eddsa
 Was "eddsa" specified? More...
 
static char * create_ego
 -C option More...
 
static char * delete_ego
 -D option More...
 
static char * privkey_ego
 -P option More...
 
static char * set_ego
 -s option. More...
 
static char * set_subsystem
 -S option. More...
 
static struct GNUNET_IDENTITY_Operationset_op
 Operation handle for set operation. More...
 
static struct GNUNET_IDENTITY_Operationcreate_op
 Handle for create operation. More...
 
static struct GNUNET_IDENTITY_Operationdelete_op
 Handle for delete operation. More...
 
struct GNUNET_IDENTITY_PrivateKey pk
 Private key from command line option, or NULL. More...
 
static int global_ret
 Value to return from main(). More...
 

Detailed Description

IDENTITY management command line tool.

Author
Christian Grothoff

Todo:

Definition in file gnunet-identity.c.

Macro Definition Documentation

◆ TIMEOUT_STATUS_CODE

#define TIMEOUT_STATUS_CODE   40

Return value from main on timeout.

Definition at line 36 of file gnunet-identity.c.

Referenced by main(), and test_finished().

Function Documentation

◆ shutdown_task()

static void shutdown_task ( void *  cls)
static

Task run on shutdown.

Parameters
clsNULL

Definition at line 130 of file gnunet-identity.c.

References GNUNET_free, GNUNET_IDENTITY_cancel(), GNUNET_IDENTITY_disconnect(), and set_ego.

Referenced by run().

131 {
132  if (NULL != set_op)
133  {
135  set_op = NULL;
136  }
137  if (NULL != create_op)
138  {
140  create_op = NULL;
141  }
142  if (NULL != delete_op)
143  {
145  delete_op = NULL;
146  }
147  if (NULL != set_ego)
148  {
150  set_ego = NULL;
151  }
153  sh = NULL;
154 }
void GNUNET_IDENTITY_cancel(struct GNUNET_IDENTITY_Operation *op)
Cancel an identity operation.
Definition: identity_api.c:904
static char * set_ego
-s option.
static struct GNUNET_IDENTITY_Operation * set_op
Operation handle for set operation.
void GNUNET_IDENTITY_disconnect(struct GNUNET_IDENTITY_Handle *h)
Disconnect from identity service.
Definition: identity_api.c:921
static struct GNUNET_IDENTITY_Handle * sh
Handle to IDENTITY service.
static struct GNUNET_IDENTITY_Operation * create_op
Handle for create operation.
static struct GNUNET_IDENTITY_Operation * delete_op
Handle for delete operation.
#define GNUNET_free(ptr)
Wrapper around free.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_finished()

static void test_finished ( void  )
static

Test if we are finished yet.

Definition at line 161 of file gnunet-identity.c.

References global_ret, GNUNET_SCHEDULER_shutdown(), list, monitor, set_subsystem, and TIMEOUT_STATUS_CODE.

Referenced by create_finished(), delete_finished(), print_ego(), run(), and set_done().

162 {
163  if ( (NULL == create_op) &&
164  (NULL == delete_op) &&
165  (NULL == set_op) &&
166  (NULL == set_subsystem) &&
167  (! list) &&
168  (! monitor))
169  {
171  global_ret = 0;
173  }
174 }
static int global_ret
Value to return from main().
static int monitor
Was "monitor" specified?
static struct GNUNET_IDENTITY_Operation * set_op
Operation handle for set operation.
void GNUNET_SCHEDULER_shutdown(void)
Request the shutdown of a scheduler.
Definition: scheduler.c:531
#define TIMEOUT_STATUS_CODE
Return value from main on timeout.
static char * set_subsystem
-S option.
static struct GNUNET_IDENTITY_Operation * create_op
Handle for create operation.
static struct GNUNET_IDENTITY_Operation * delete_op
Handle for delete operation.
static int list
Was "list" specified?
Here is the call graph for this function:
Here is the caller graph for this function:

◆ delete_finished()

static void delete_finished ( void *  cls,
const char *  emsg 
)
static

Deletion operation finished.

Parameters
clspointer to operation handle
emsgNULL on success, otherwise an error message

Definition at line 184 of file gnunet-identity.c.

References GNUNET_IDENTITY_Operation::cls, gettext, op, and test_finished().

Referenced by run().

186 {
187  struct GNUNET_IDENTITY_Operation **op = cls;
188 
189  *op = NULL;
190  if (NULL != emsg)
191  fprintf (stderr, "%s\n", gettext (emsg));
192  test_finished ();
193 }
#define gettext(Msgid)
Definition: gettext.h:45
Handle for an operation with the identity service.
Definition: identity_api.c:39
static void test_finished(void)
Test if we are finished yet.
void * cls
Closure for cont or cb.
Definition: identity_api.c:88
static struct GNUNET_ARM_Operation * op
Current operation.
Definition: gnunet-arm.c:144
Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_finished()

static void create_finished ( void *  cls,
const struct GNUNET_IDENTITY_PrivateKey pk,
const char *  emsg 
)
static

Creation operation finished.

Parameters
clspointer to operation handle
pkprivate key of the ego, or NULL on error
emsgerror message, NULL on success

Definition at line 204 of file gnunet-identity.c.

References _, GNUNET_IDENTITY_Operation::cls, global_ret, GNUNET_free, GNUNET_IDENTITY_key_get_public(), GNUNET_IDENTITY_private_key_to_string(), GNUNET_IDENTITY_public_key_to_string(), op, private_keys, test_finished(), and verbose.

Referenced by run().

207 {
208  struct GNUNET_IDENTITY_Operation **op = cls;
209 
210  *op = NULL;
211  if (NULL == pk)
212  {
213  fprintf (stderr,
214  _ ("Failed to create ego: %s\n"),
215  emsg);
216  global_ret = 1;
217  }
218  else if (verbose)
219  {
221  char *pubs;
222 
225  if (private_keys)
226  {
227  char *privs;
228 
230  fprintf (stdout, "%s - %s\n", pubs, privs);
231  GNUNET_free (privs);
232  }
233  else
234  {
235  fprintf (stdout, "%s\n", pubs);
236  }
237  GNUNET_free (pubs);
238  }
239  test_finished ();
240 }
static int global_ret
Value to return from main().
char * GNUNET_IDENTITY_public_key_to_string(const struct GNUNET_IDENTITY_PublicKey *key)
Creates a (Base32) string representation of the public key.
static int private_keys
Was "private" specified?
Handle for an operation with the identity service.
Definition: identity_api.c:39
#define _(String)
GNU gettext support macro.
Definition: platform.h:184
char * GNUNET_IDENTITY_private_key_to_string(const struct GNUNET_IDENTITY_PrivateKey *key)
Creates a (Base32) string representation of the private key.
static void test_finished(void)
Test if we are finished yet.
enum GNUNET_GenericReturnValue GNUNET_IDENTITY_key_get_public(const struct GNUNET_IDENTITY_PrivateKey *privkey, struct GNUNET_IDENTITY_PublicKey *key)
Retrieves the public key representation of a private key.
Definition: identity_api.c:175
static unsigned int verbose
Was "verbose" specified?
An identity key as per LSD0001.
static struct GNUNET_CRYPTO_EddsaPublicKey pub
Definition: gnunet-scrypt.c:46
void * cls
Closure for cont or cb.
Definition: identity_api.c:88
static struct GNUNET_ARM_Operation * op
Current operation.
Definition: gnunet-arm.c:144
#define GNUNET_free(ptr)
Wrapper around free.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_done()

static void set_done ( void *  cls,
const char *  emsg 
)
static

Function called by GNUNET_IDENTITY_set up on completion.

Parameters
clsNULL
emsgerror message (NULL on success)

Definition at line 250 of file gnunet-identity.c.

References _, global_ret, and test_finished().

Referenced by print_ego().

251 {
252  set_op = NULL;
253  if (NULL != emsg)
254  {
255  fprintf (stderr, _ ("Failed to set default ego: %s\n"), emsg);
256  global_ret = 1;
257  }
258  test_finished ();
259 }
static int global_ret
Value to return from main().
static struct GNUNET_IDENTITY_Operation * set_op
Operation handle for set operation.
#define _(String)
GNU gettext support macro.
Definition: platform.h:184
static void test_finished(void)
Test if we are finished yet.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ print_ego()

static void print_ego ( void *  cls,
struct GNUNET_IDENTITY_Ego ego,
void **  ctx,
const char *  identifier 
)
static

If listing is enabled, prints information about the egos.

This function is initially called for all egos and then again whenever a ego's identifier changes or if it is deleted. At the end of the initial pass over all egos, the function is once called with 'NULL' for 'ego'. That does NOT mean that the callback won't be invoked in the future or that there was an error.

When used with 'GNUNET_IDENTITY_create' or 'GNUNET_IDENTITY_get', this function is only called ONCE, and 'NULL' being passed in 'ego' does indicate an error (i.e. name is taken or no default value is known). If 'ego' is non-NULL and if '*ctx' is set in those callbacks, the value WILL be passed to a subsequent call to the identity callback of 'GNUNET_IDENTITY_connect' (if that one was not NULL).

When an identity is renamed, this function is called with the (known) ego but the NEW identifier.

When an identity is deleted, this function is called with the (known) ego and "NULL" for the 'identifier'. In this case, the 'ego' is henceforth invalid (and the 'ctx' should also be cleaned up).

Parameters
clsclosure
egoego handle
ctxcontext for application to store data for this ego (during the lifetime of this process, initially NULL)
identifieridentifier assigned by the user for this ego, NULL if the user just deleted the ego and it must thus no longer be used

Definition at line 296 of file gnunet-identity.c.

References GNUNET_free, GNUNET_IDENTITY_ego_get_private_key(), GNUNET_IDENTITY_ego_get_public_key(), GNUNET_IDENTITY_private_key_to_string(), GNUNET_IDENTITY_public_key_to_string(), GNUNET_IDENTITY_set(), GNUNET_IDENTITY_TYPE_ECDSA, list, monitor, private_keys, quiet, set_done(), set_ego, set_subsystem, test_finished(), and GNUNET_IDENTITY_PublicKey::type.

Referenced by run().

300 {
302  char *s;
303  char *privs;
304 
305  if ( (NULL != set_ego) &&
306  (NULL != set_subsystem) &&
307  (NULL != ego) &&
308  (NULL != identifier) &&
309  (0 == strcmp (identifier, set_ego)))
310  {
313  ego,
314  &set_done,
315  NULL);
317  set_subsystem = NULL;
319  set_ego = NULL;
320  }
321  if ( (NULL == ego) &&
322  (NULL != set_ego) &&
323  (NULL != set_subsystem) )
324  {
325  fprintf (stderr,
326  "Could not set ego to `%s' for subsystem `%s', ego not known\n",
327  set_ego,
328  set_subsystem);
330  set_subsystem = NULL;
332  set_ego = NULL;
333  }
334  if ((NULL == ego) && (! monitor))
335  {
336  list = 0;
337  test_finished ();
338  return;
339  }
340  if (! (list | monitor))
341  return;
342  if ( (NULL == ego) ||
343  (NULL == identifier) )
344  return;
345  if ( (NULL != set_ego) &&
346  (0 != strcmp (identifier,
347  set_ego)) )
348  return;
353  if ((monitor) || (NULL != identifier))
354  {
355  if (quiet)
356  {
357  if (private_keys)
358  fprintf (stdout, "%s - %s\n", s, privs);
359  else
360  fprintf (stdout, "%s\n", s);
361  }
362  else
363  {
364  if (private_keys)
365  fprintf (stdout, "%s - %s - %s - %s\n",
366  identifier, s, privs,
367  (ntohl (pk.type) == GNUNET_IDENTITY_TYPE_ECDSA) ?
368  "ECDSA" : "EdDSA");
369  else
370  fprintf (stdout, "%s - %s - %s\n",
371  identifier, s,
372  (ntohl (pk.type) == GNUNET_IDENTITY_TYPE_ECDSA) ?
373  "ECDSA" : "EdDSA");
374 
375  }
376  }
377  GNUNET_free (privs);
378  GNUNET_free (s);
379 }
static char * set_ego
-s option.
char * GNUNET_IDENTITY_public_key_to_string(const struct GNUNET_IDENTITY_PublicKey *key)
Creates a (Base32) string representation of the public key.
static int private_keys
Was "private" specified?
struct GNUNET_IDENTITY_Operation * GNUNET_IDENTITY_set(struct GNUNET_IDENTITY_Handle *h, const char *service_name, struct GNUNET_IDENTITY_Ego *ego, GNUNET_IDENTITY_Continuation cont, void *cont_cls)
Set the preferred/default identity for a service.
Definition: identity_api.c:720
static int monitor
Was "monitor" specified?
static struct GNUNET_IDENTITY_Operation * set_op
Operation handle for set operation.
void GNUNET_IDENTITY_ego_get_public_key(struct GNUNET_IDENTITY_Ego *ego, struct GNUNET_IDENTITY_PublicKey *pk)
Get the identifier (public key) of an ego.
Definition: identity_api.c:652
char * GNUNET_IDENTITY_private_key_to_string(const struct GNUNET_IDENTITY_PrivateKey *key)
Creates a (Base32) string representation of the private key.
static void test_finished(void)
Test if we are finished yet.
static struct GNUNET_IDENTITY_Handle * sh
Handle to IDENTITY service.
static void set_done(void *cls, const char *emsg)
Function called by GNUNET_IDENTITY_set up on completion.
static char * set_subsystem
-S option.
uint32_t type
Type of public key.
static int quiet
Was "quiet" specified?
An identity key as per LSD0001.
struct GNUNET_IDENTITY_PrivateKey pk
Private key from command line option, or NULL.
const struct GNUNET_IDENTITY_PrivateKey * GNUNET_IDENTITY_ego_get_private_key(const struct GNUNET_IDENTITY_Ego *ego)
Obtain the ECC key associated with a ego.
Definition: identity_api.c:639
static int list
Was "list" specified?
#define GNUNET_free(ptr)
Wrapper around free.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

static void run ( void *  cls,
char *const *  args,
const char *  cfgfile,
const struct GNUNET_CONFIGURATION_Handle cfg 
)
static

Main function that will be run by the scheduler.

Parameters
clsclosure
argsremaining command-line arguments
cfgfilename of the configuration file used (for saving, can be NULL!)
cfgconfiguration

Definition at line 391 of file gnunet-identity.c.

References create_ego, create_finished(), delete_ego, delete_finished(), GNUNET_IDENTITY_connect(), GNUNET_IDENTITY_create(), GNUNET_IDENTITY_delete(), GNUNET_IDENTITY_TYPE_ECDSA, GNUNET_IDENTITY_TYPE_EDDSA, GNUNET_SCHEDULER_add_shutdown(), GNUNET_STRINGS_string_to_data(), list, monitor, pk, print_ego(), privkey_ego, set_ego, set_subsystem, shutdown_task(), test_finished(), and type_eddsa.

Referenced by main().

395 {
396  if ((NULL != set_subsystem) && (NULL == set_ego))
397  {
398  fprintf (stderr, "Option -s requires option -e to be specified as well.\n");
399  return;
400  }
402  (monitor | list) ||
403  (NULL != set_ego) ||
404  (NULL != set_subsystem)
405  ? &print_ego
406  : NULL,
407  NULL);
408  if (NULL != delete_ego)
409  delete_op =
411  delete_ego,
413  &delete_op);
414  if (NULL != create_ego)
415  {
416  if (NULL != privkey_ego)
417  {
419  strlen (privkey_ego),
420  &pk,
421  sizeof(struct
423  create_op =
425  create_ego,
426  &pk,
427  0, // Ignored
429  &create_op);
430  }
431  else
432  create_op =
434  create_ego,
435  NULL,
436  (type_eddsa) ?
440  &create_op);
441  }
443  NULL);
444  test_finished ();
445 }
struct GNUNET_IDENTITY_Handle * GNUNET_IDENTITY_connect(const struct GNUNET_CONFIGURATION_Handle *cfg, GNUNET_IDENTITY_Callback cb, void *cb_cls)
Connect to the identity service.
Definition: identity_api.c:610
static char * set_ego
-s option.
static void shutdown_task(void *cls)
Task run on shutdown.
static void create_finished(void *cls, const struct GNUNET_IDENTITY_PrivateKey *pk, const char *emsg)
Creation operation finished.
struct GNUNET_SCHEDULER_Task * GNUNET_SCHEDULER_add_shutdown(GNUNET_SCHEDULER_TaskCallback task, void *task_cls)
Schedule a new task to be run on shutdown, that is when a CTRL-C signal is received, or when GNUNET_SCHEDULER_shutdown() is being invoked.
Definition: scheduler.c:1331
struct GNUNET_IDENTITY_Operation * GNUNET_IDENTITY_delete(struct GNUNET_IDENTITY_Handle *h, const char *name, GNUNET_IDENTITY_Continuation cb, void *cb_cls)
Delete an existing identity.
Definition: identity_api.c:863
static void delete_finished(void *cls, const char *emsg)
Deletion operation finished.
A private key for an identity as per LSD0001.
static int monitor
Was "monitor" specified?
static char * privkey_ego
-P option
static void test_finished(void)
Test if we are finished yet.
struct GNUNET_IDENTITY_Operation * GNUNET_IDENTITY_create(struct GNUNET_IDENTITY_Handle *h, const char *name, const struct GNUNET_IDENTITY_PrivateKey *privkey, enum GNUNET_IDENTITY_KeyType ktype, GNUNET_IDENTITY_CreateContinuation cont, void *cont_cls)
Create a new ego with the given name.
Definition: identity_api.c:757
static struct GNUNET_IDENTITY_Handle * sh
Handle to IDENTITY service.
static char * set_subsystem
-S option.
static struct GNUNET_IDENTITY_Operation * create_op
Handle for create operation.
struct GNUNET_IDENTITY_PrivateKey pk
Private key from command line option, or NULL.
static int type_eddsa
Was "eddsa" specified?
static char * create_ego
-C option
static struct GNUNET_IDENTITY_Operation * delete_op
Handle for delete operation.
static char * delete_ego
-D option
static int list
Was "list" specified?
int GNUNET_STRINGS_string_to_data(const char *enc, size_t enclen, void *out, size_t out_size)
Convert CrockfordBase32 encoding back to data.
Definition: strings.c:972
static void print_ego(void *cls, struct GNUNET_IDENTITY_Ego *ego, void **ctx, const char *identifier)
If listing is enabled, prints information about the egos.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *const *  argv 
)

The main function.

Parameters
argcnumber of arguments from the command line
argvcommand line arguments
Returns
0 ok, 1 on error

Definition at line 456 of file gnunet-identity.c.

References create_ego, delete_ego, gettext_noop, global_ret, GNUNET_free_nz, GNUNET_GETOPT_OPTION_END, GNUNET_GETOPT_option_flag(), GNUNET_GETOPT_option_string(), GNUNET_GETOPT_option_verbose(), GNUNET_OK, GNUNET_PROGRAM_run(), GNUNET_STRINGS_get_utf8_args(), list, monitor, private_keys, privkey_ego, quiet, res, run(), set_ego, set_subsystem, TIMEOUT_STATUS_CODE, type_eddsa, and verbose.

457 {
460  "create",
461  "NAME",
462  gettext_noop ("create ego NAME"),
463  &create_ego),
465  "delete",
466  "NAME",
467  gettext_noop ("delete ego NAME "),
468  &delete_ego),
470  "privkey",
471  "PRIVATE_KEY",
472  gettext_noop (
473  "set the private key for the identity to PRIVATE_KEY (use together with -C)"),
474  &privkey_ego),
476  "eddsa",
477  gettext_noop (
478  "generate an EdDSA identity. (use together with -C) EXPERIMENTAL"),
479  &type_eddsa),
481  "display",
482  gettext_noop ("display all egos"),
483  &list),
485  "quiet",
486  gettext_noop ("reduce output"),
487  &quiet),
489  'e',
490  "ego",
491  "NAME",
492  gettext_noop (
493  "set default identity to NAME for a subsystem SUBSYSTEM (use together with -s) or restrict results to NAME (use together with -d)"),
494  &set_ego),
496  "monitor",
497  gettext_noop ("run in monitor mode egos"),
498  &monitor),
500  "private-keys",
501  gettext_noop ("display private keys as well"),
502  &private_keys),
504  's',
505  "set",
506  "SUBSYSTEM",
507  gettext_noop (
508  "set default identity to EGO for a subsystem SUBSYSTEM (use together with -e)"),
509  &set_subsystem),
512  };
513  int res;
514 
515  if (GNUNET_OK !=
516  GNUNET_STRINGS_get_utf8_args (argc, argv,
517  &argc, &argv))
518  return 4;
519  global_ret = TIMEOUT_STATUS_CODE; /* timeout */
520  res = GNUNET_PROGRAM_run (argc,
521  argv,
522  "gnunet-identity",
523  gettext_noop ("Maintain egos"),
524  options,
525  &run,
526  NULL);
527  GNUNET_free_nz ((void *) argv);
528 
529  if (GNUNET_OK != res)
530  return 3;
531  return global_ret;
532 }
static int global_ret
Value to return from main().
static char * set_ego
-s option.
struct GNUNET_GETOPT_CommandLineOption options[]
Definition: 002.c:5
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_verbose(unsigned int *level)
Define the '-V' verbosity option.
int GNUNET_STRINGS_get_utf8_args(int argc, char *const *argv, int *u8argc, char *const **u8argv)
Returns utf-8 encoded arguments.
Definition: strings.c:1459
static int private_keys
Was "private" specified?
static int monitor
Was "monitor" specified?
Definition of a command line option.
static void run(void *cls, char *const *args, const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg)
Main function that will be run by the scheduler.
static char * privkey_ego
-P option
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_OPTION_END
Definition: 002.c:13
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_string(char shortName, const char *name, const char *argumentHelp, const char *description, char **str)
Allow user to specify a string.
#define TIMEOUT_STATUS_CODE
Return value from main on timeout.
static int res
#define GNUNET_free_nz(ptr)
Wrapper around free.
static char * set_subsystem
-S option.
static int quiet
Was "quiet" specified?
static unsigned int verbose
Was "verbose" specified?
struct GNUNET_GETOPT_CommandLineOption GNUNET_GETOPT_option_flag(char shortName, const char *name, const char *description, int *val)
Allow user to specify a flag (which internally means setting an integer to 1/GNUNET_YES/GNUNET_OK.
int GNUNET_PROGRAM_run(int argc, char *const *argv, const char *binaryName, const char *binaryHelp, const struct GNUNET_GETOPT_CommandLineOption *options, GNUNET_PROGRAM_Main task, void *task_cls)
Run a standard GNUnet command startup sequence (initialize loggers and configuration, parse options).
Definition: program.c:372
static int type_eddsa
Was "eddsa" specified?
static char * create_ego
-C option
static char * delete_ego
-D option
static int list
Was "list" specified?
#define gettext_noop(String)
Definition: gettext.h:69
Here is the call graph for this function:

Variable Documentation

◆ sh

struct GNUNET_IDENTITY_Handle* sh
static

Handle to IDENTITY service.

Definition at line 41 of file gnunet-identity.c.

◆ list

int list
static

Was "list" specified?

Definition at line 46 of file gnunet-identity.c.

Referenced by main(), print_ego(), run(), and test_finished().

◆ monitor

int monitor
static

Was "monitor" specified?

Definition at line 51 of file gnunet-identity.c.

Referenced by main(), print_ego(), run(), and test_finished().

◆ private_keys

int private_keys
static

Was "private" specified?

Definition at line 56 of file gnunet-identity.c.

Referenced by create_finished(), main(), and print_ego().

◆ verbose

unsigned int verbose
static

Was "verbose" specified?

Definition at line 61 of file gnunet-identity.c.

Referenced by create_finished(), and main().

◆ quiet

int quiet
static

Was "quiet" specified?

Definition at line 66 of file gnunet-identity.c.

Referenced by main(), and print_ego().

◆ type_eddsa

int type_eddsa
static

Was "eddsa" specified?

Definition at line 71 of file gnunet-identity.c.

Referenced by main(), and run().

◆ create_ego

char* create_ego
static

-C option

Definition at line 76 of file gnunet-identity.c.

Referenced by main(), and run().

◆ delete_ego

char* delete_ego
static

-D option

Definition at line 81 of file gnunet-identity.c.

Referenced by main(), and run().

◆ privkey_ego

char* privkey_ego
static

-P option

Definition at line 86 of file gnunet-identity.c.

Referenced by main(), and run().

◆ set_ego

char* set_ego
static

-s option.

Definition at line 91 of file gnunet-identity.c.

Referenced by main(), print_ego(), run(), and shutdown_task().

◆ set_subsystem

char* set_subsystem
static

-S option.

Definition at line 96 of file gnunet-identity.c.

Referenced by main(), print_ego(), run(), and test_finished().

◆ set_op

struct GNUNET_IDENTITY_Operation* set_op
static

Operation handle for set operation.

Definition at line 101 of file gnunet-identity.c.

◆ create_op

struct GNUNET_IDENTITY_Operation* create_op
static

Handle for create operation.

Definition at line 106 of file gnunet-identity.c.

◆ delete_op

struct GNUNET_IDENTITY_Operation* delete_op
static

Handle for delete operation.

Definition at line 111 of file gnunet-identity.c.

◆ pk

◆ global_ret

int global_ret
static

Value to return from main().

Definition at line 121 of file gnunet-identity.c.

Referenced by create_finished(), main(), set_done(), and test_finished().