When set, this option will enforce a random
token in any cases.
Not using the option --token has the same effect
asking for a random token.
So the option now serves to enforce a random token.
Change-Id: Iea2cee44b95d5479c36217d312ab6e8ce6726005
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
#include <limits.h>
#include <unistd.h>
#include <limits.h>
#include <unistd.h>
-#include <uuid/uuid.h>
-
#include "verbose.h"
#include "afb-config.h"
#include "afb-hook.h"
#include "verbose.h"
#include "afb-config.h"
#include "afb-hook.h"
#define DEFLT_CACHE_TIMEOUT 100000 // default Static File Chache
// [Client Side Cache
// 100000~=1day]
#define DEFLT_CACHE_TIMEOUT 100000 // default Static File Chache
// [Client Side Cache
// 100000~=1day]
-#define DEFLT_AUTH_TOKEN NULL // expect for debug should == NULL
#define CTX_NBCLIENTS 10 // allow a default of 10 authenticated
// clients
#define CTX_NBCLIENTS 10 // allow a default of 10 authenticated
// clients
{NO_LDPATH, 0, "no-ldpaths", "Discard default ldpaths loading"},
{SET_AUTH_TOKEN, 1, "token", "Initial Secret [default=no-session, --token= for session without authentication]"},
{NO_LDPATH, 0, "no-ldpaths", "Discard default ldpaths loading"},
{SET_AUTH_TOKEN, 1, "token", "Initial Secret [default=no-session, --token= for session without authentication]"},
- {SET_RNDTOKEN, 0, "random-token","Creates a random token"},
+ {SET_RNDTOKEN, 0, "random-token","Enforce a random token"},
{DISPLAY_VERSION, 0, "version", "Display version and copyright"},
{DISPLAY_HELP, 0, "help", "Display this help"},
{DISPLAY_VERSION, 0, "version", "Display version and copyright"},
{DISPLAY_HELP, 0, "help", "Display this help"},
-/*----------------------------------------------------------
- | adds a string to the list
- +--------------------------------------------------------- */
-static char *random_token()
-{
- static char uuidstr[37];
- uuid_t uuid;
- uuid_generate_random(uuid);
- uuid_unparse(uuid, uuidstr);
- return uuidstr;
-}
-
/*----------------------------------------------------------
| adds a string to the list
+--------------------------------------------------------- */
/*----------------------------------------------------------
| adds a string to the list
+--------------------------------------------------------- */
break;
case SET_RNDTOKEN:
break;
case SET_RNDTOKEN:
- config->token = random_token();
+ config->random_token = 1;
+ break;
#if defined(WITH_MONITORING_OTPION)
case SET_MONITORING:
#if defined(WITH_MONITORING_OTPION)
case SET_MONITORING:
-// load config from disk and merge with CLI option
-static void config_set_default(struct afb_config *config)
+static void fulfill_config(struct afb_config *config)
{
// default HTTP port
if (config->httpdPort == 0)
{
// default HTTP port
if (config->httpdPort == 0)
config->apiTimeout = DEFLT_API_TIMEOUT;
// default AUTH_TOKEN
config->apiTimeout = DEFLT_API_TIMEOUT;
// default AUTH_TOKEN
- if (config->token == NULL)
- config->token = DEFLT_AUTH_TOKEN;
+ if (config->random_token)
+ config->token = NULL;
// cache timeout default one hour
if (config->cacheTimeout == 0)
// cache timeout default one hour
if (config->cacheTimeout == 0)
result = calloc(1, sizeof *result);
parse_arguments(argc, argv, result);
result = calloc(1, sizeof *result);
parse_arguments(argc, argv, result);
- config_set_default(result);
+ fulfill_config(result);
if (verbosity >= 3)
afb_config_dump(result);
return result;
if (verbosity >= 3)
afb_config_dump(result);
return result;
unsigned noHttpd: 1;
unsigned background: 1; /* run in backround mode */
unsigned monitoring: 1; /* activates monitoring */
unsigned noHttpd: 1;
unsigned background: 1; /* run in backround mode */
unsigned monitoring: 1; /* activates monitoring */
+ unsigned random_token: 1; /* expects a random token */
};
extern struct afb_config *afb_config_parse_arguments(int argc, char **argv);
};
extern struct afb_config *afb_config_parse_arguments(int argc, char **argv);