/* * SIPB service monitor * * Nickolai Zeldovich * May 2002 */ #include #include #include "sipbmon.h" static rxx pgp_resp_http ("^HTTP/1.0 200 OK"); static rxx pgp_resp_key ("BEGIN PGP PUBLIC KEY BLOCK"); static void check_pgp_cb (struct sm_service *svc, str m, bool ok) { if (!ok) { service_down (svc, m); return; } if (pgp_resp_http.match (m)) { service_down (svc, "Invalid HTTP response"); return; } if (pgp_resp_key.match (m)) { service_down (svc, "Unable to fetch a key"); return; } service_up (svc); } void check_pgp (struct sm_service *svc) { http_get ("http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x49083725", wrap (&check_pgp_cb, svc)); }