providers/opm: It Works™

This commit is contained in:
Elizabeth Myers 2016-04-01 02:17:25 -05:00
parent 8aacefa338
commit 8860e46a33

View file

@ -123,14 +123,25 @@ 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;
/* If we get here we have an open proxy */ /* Cancel outstanding lookups */
reject_client(auth, PROVIDER_OPM, readbuf, "Open proxy detected"); RB_DLINK_FOREACH_SAFE(ptr, nptr, lookup->scans.head)
opm_cancel(auth); {
break; struct opm_scan *scan = ptr->data;
rb_close(scan->F);
rb_free(scan);
}
/* No longer needed, client is going away */
rb_free(lookup);
reject_client(auth, PROVIDER_OPM, readbuf, "Open proxy detected");
break;
}
} }
rb_close(F); rb_close(F);