Browse Source

Handle workernames with a delimiter but no worker extension

master
ckolivas 10 years ago
parent
commit
bafba9bc6a
  1. 9
      src/stratifier.c

9
src/stratifier.c

@ -1254,11 +1254,12 @@ static json_t *parse_subscribe(int64_t client_id, json_t *params_val)
* user or creates a new one. */ * user or creates a new one. */
static user_instance_t *authorise_user(const char *workername) static user_instance_t *authorise_user(const char *workername)
{ {
char *username = strdupa(workername); char *base_username = strdupa(workername), *username;
user_instance_t *instance; user_instance_t *instance;
username = strsep(&username, "."); username = strsep(&base_username, "._");
username = strsep(&username, "_"); if (!username || !strlen(username))
username = base_username;
if (strlen(username) > 127) if (strlen(username) > 127)
username[127] = '\0'; username[127] = '\0';
@ -1392,7 +1393,7 @@ static json_t *parse_authorise(stratum_instance_t *client, json_t *params_val, j
*err_val = json_string("Empty workername parameter"); *err_val = json_string("Empty workername parameter");
goto out; goto out;
} }
if (!memcmp(buf, ".", 1)) { if (!memcmp(buf, ".", 1) || !memcmp(buf, "_", 1)) {
*err_val = json_string("Empty username parameter"); *err_val = json_string("Empty username parameter");
goto out; goto out;
} }

Loading…
Cancel
Save