|
|
@ -677,19 +677,6 @@ retry: |
|
|
|
* so look for them first. */ |
|
|
|
* so look for them first. */ |
|
|
|
if (likely(buf[0] == '{')) { |
|
|
|
if (likely(buf[0] == '{')) { |
|
|
|
process_client_msg(cdata, buf); |
|
|
|
process_client_msg(cdata, buf); |
|
|
|
} else if (cmdmatch(buf, "ping")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received ping request"); |
|
|
|
|
|
|
|
send_unix_msg(sockd, "pong"); |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "accept")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received accept signal"); |
|
|
|
|
|
|
|
cdata->accept = true; |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "reject")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received reject signal"); |
|
|
|
|
|
|
|
cdata->accept = false; |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "loglevel")) { |
|
|
|
|
|
|
|
sscanf(buf, "loglevel=%d", &ckp->loglevel); |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "shutdown")) { |
|
|
|
|
|
|
|
goto out; |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "dropclient")) { |
|
|
|
} else if (cmdmatch(buf, "dropclient")) { |
|
|
|
client_instance_t *client; |
|
|
|
client_instance_t *client; |
|
|
|
|
|
|
|
|
|
|
@ -702,12 +689,26 @@ retry: |
|
|
|
client = ref_client_by_id(cdata, client_id); |
|
|
|
client = ref_client_by_id(cdata, client_id); |
|
|
|
if (unlikely(!client)) { |
|
|
|
if (unlikely(!client)) { |
|
|
|
LOGINFO("Connector failed to find client id %ld to drop", client_id); |
|
|
|
LOGINFO("Connector failed to find client id %ld to drop", client_id); |
|
|
|
|
|
|
|
stratifier_drop_client(ckp, client_id); |
|
|
|
goto retry; |
|
|
|
goto retry; |
|
|
|
} |
|
|
|
} |
|
|
|
ret = drop_client(cdata, client); |
|
|
|
ret = drop_client(cdata, client); |
|
|
|
dec_instance_ref(cdata, client); |
|
|
|
dec_instance_ref(cdata, client); |
|
|
|
if (ret >= 0) |
|
|
|
if (ret >= 0) |
|
|
|
LOGINFO("Connector dropped client id: %ld", client_id); |
|
|
|
LOGINFO("Connector dropped client id: %ld", client_id); |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "ping")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received ping request"); |
|
|
|
|
|
|
|
send_unix_msg(sockd, "pong"); |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "accept")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received accept signal"); |
|
|
|
|
|
|
|
cdata->accept = true; |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "reject")) { |
|
|
|
|
|
|
|
LOGDEBUG("Connector received reject signal"); |
|
|
|
|
|
|
|
cdata->accept = false; |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "loglevel")) { |
|
|
|
|
|
|
|
sscanf(buf, "loglevel=%d", &ckp->loglevel); |
|
|
|
|
|
|
|
} else if (cmdmatch(buf, "shutdown")) { |
|
|
|
|
|
|
|
goto out; |
|
|
|
} else if (cmdmatch(buf, "passthrough")) { |
|
|
|
} else if (cmdmatch(buf, "passthrough")) { |
|
|
|
client_instance_t *client; |
|
|
|
client_instance_t *client; |
|
|
|
|
|
|
|
|
|
|
|