providers/opm: It Works™
This commit is contained in:
parent
8aacefa338
commit
8860e46a33
1 changed files with 18 additions and 7 deletions
|
@ -123,15 +123,26 @@ read_opm_reply(rb_fde_t *F, void *data)
|
||||||
|
|
||||||
for(struct opm_proxy *proxy = opm_proxy_scans; proxy->note != NULL; proxy++)
|
for(struct opm_proxy *proxy = opm_proxy_scans; proxy->note != NULL; proxy++)
|
||||||
{
|
{
|
||||||
if(strncmp(proxy->note, readbuf, sizeof(readbuf)) != 0)
|
if(strncmp(proxy->note, readbuf, sizeof(readbuf)) == 0)
|
||||||
/* Nope */
|
{
|
||||||
continue;
|
rb_dlink_node *ptr, *nptr;
|
||||||
|
|
||||||
|
/* Cancel outstanding lookups */
|
||||||
|
RB_DLINK_FOREACH_SAFE(ptr, nptr, lookup->scans.head)
|
||||||
|
{
|
||||||
|
struct opm_scan *scan = ptr->data;
|
||||||
|
|
||||||
|
rb_close(scan->F);
|
||||||
|
rb_free(scan);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No longer needed, client is going away */
|
||||||
|
rb_free(lookup);
|
||||||
|
|
||||||
/* If we get here we have an open proxy */
|
|
||||||
reject_client(auth, PROVIDER_OPM, readbuf, "Open proxy detected");
|
reject_client(auth, PROVIDER_OPM, readbuf, "Open proxy detected");
|
||||||
opm_cancel(auth);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rb_close(F);
|
rb_close(F);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue