if (client->recursionquota == NULL) {
result = isc_quota_attach(&client->sctx->recursionquota,
&client->recursionquota);
- if (result == ISC_R_SUCCESS && !client->mortal && !TCP(client))
+ if (result == ISC_R_SUCCESS || result == ISC_R_SOFTQUOTA) {
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
+ }
+ if (result == ISC_R_SUCCESS && !client->mortal &&
+ !TCP(client))
+ {
result = ns_client_replace(client);
- if (result != ISC_R_SUCCESS)
+ }
+ if (result != ISC_R_SUCCESS) {
return;
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
+ }
}
tmprdataset = ns_client_newrdataset(client);
if (client->recursionquota == NULL) {
result = isc_quota_attach(&client->sctx->recursionquota,
&client->recursionquota);
- if (result == ISC_R_SUCCESS && !client->mortal && !TCP(client))
+ if (result == ISC_R_SUCCESS || result == ISC_R_SOFTQUOTA) {
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
+ }
+ if (result == ISC_R_SUCCESS && !client->mortal &&
+ !TCP(client))
+ {
result = ns_client_replace(client);
- if (result != ISC_R_SUCCESS)
+ }
+ if (result != ISC_R_SUCCESS) {
return;
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
+ }
}
tmprdataset = ns_client_newrdataset(client);
if (client->recursionquota == NULL) {
result = isc_quota_attach(&client->sctx->recursionquota,
&client->recursionquota);
-
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
+ if (result == ISC_R_SUCCESS || result == ISC_R_SOFTQUOTA) {
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
+ }
if (result == ISC_R_SOFTQUOTA) {
static atomic_uint_fast32_t last = 0;