diff -urN fence-virt-53a2b29/server/mcast.c mod/server/mcast.c --- fence-virt-53a2b29/server/mcast.c 2011-08-11 09:53:47.000000000 +0900 +++ mod/server/mcast.c 2011-09-12 11:19:17.000000000 +0900 @@ -293,6 +293,11 @@ req->seqno, info->priv); break; case FENCE_STATUS: + if (map_check(info->map, ip_addr_src, + (const char *)req->domain) == 0) { + response = RESP_PERM; + break; + } response = info->cb->status((char *)req->domain, info->priv); break; case FENCE_DEVSTATUS: diff -urN fence-virt-53a2b29/server/serial.c mod/server/serial.c --- fence-virt-53a2b29/server/serial.c 2011-08-11 09:53:47.000000000 +0900 +++ mod/server/serial.c 2011-09-12 11:19:09.000000000 +0900 @@ -211,6 +211,11 @@ req->seqno, info->priv); break; case FENCE_STATUS: + if (map_check(info->maps, src, + (const char *)req->domain) == 0) { + response = RESP_PERM; + break; + } response = info->cb->status((char *)req->domain, info->priv); break; case FENCE_DEVSTATUS: