Index: /trunk/cgi-bin/IPDB.pm
===================================================================
--- /trunk/cgi-bin/IPDB.pm	(revision 779)
+++ /trunk/cgi-bin/IPDB.pm	(revision 780)
@@ -117,4 +117,9 @@
 # (eg, NetAddr::IP->bits - NetAddr::IP->masklen)
 our $maxrevlist = 5;  # /27
+
+# Display the per-IP rDNS list on all block types even when it might not
+# make sense (typically for IP pools, where the per-IP entries are available
+# from each IP's edit page)
+our $revlistalltypes = 0;
 
 # UI layout for subblocks/containers
Index: /trunk/cgi-bin/MyIPDB.pm
===================================================================
--- /trunk/cgi-bin/MyIPDB.pm	(revision 779)
+++ /trunk/cgi-bin/MyIPDB.pm	(revision 780)
@@ -38,9 +38,9 @@
 # Set some globals declared in IPDB.pm.  Most of these only affect mailNotify().
 # Note that while you *can* leave these at defaults, it's probably a Really Bad Idea.
-#$IPDB::org_name = "Bob's Big Bonaza";
-#$IPDB::smtphost = '127.0.0.1';
-#$IPDB::domain = 'bob.com';
+#$IPDB::org_name = 'Example Corp';
+#$IPDB::smtphost = 'smtp.example.com';
+#$IPDB::domain = 'example.com';
 #$IPDB::defcustid = '5554242';
-#$IPDB::smtpsender = "ipdb\@$domain";
+#$IPDB::smtpsender = 'ipdb@example.com';
 # Globals for db2rwhois.pl
 #$IPDB::rwhoisDataPath = '/usr/local/rwhoisd/etc/rwhoisd';
@@ -59,5 +59,5 @@
 # Note that the value here should have the LOG_ prefix removed, and convert to lower-case.
 # local0 through local7 and user make the most sense.
-#$IPDB::syslog_facility = 'daemon';
+#$IPDB::syslog_facility = 'local2';
 
 # RPC URL for pushing DNS changes out.  Blank by default;  disables RPC calls for DNS changes when blank.
@@ -67,5 +67,8 @@
 # (eg, NetAddr::IP->bits - NetAddr::IP->masklen)
 # allowing longer than a /27 is probably going to slow things down;  longer than /29 will scroll.
-#$IPDB::maxrevlist = 8;  # v4 /24
+#$IPDB::maxrevlist = 5;
+
+# Show per-IP rDNS list even on pools?
+#$IPDB::revlistalltypes = 0;
 
 ## UI layout for showing subblocks
Index: /trunk/cgi-bin/main.cgi
===================================================================
--- /trunk/cgi-bin/main.cgi	(revision 779)
+++ /trunk/cgi-bin/main.cgi	(revision 780)
@@ -592,6 +592,11 @@
     if ($IPDBacl{$authuser} =~ /c/
 	&& $cidr->masklen != $cidr->bits
-	&& ($cidr->bits - $cidr->masklen) <= $IPDB::maxrevlist
-	&& $webvar{alloctype} !~ /^.[dpi]/
+        && ($cidr->bits - $cidr->masklen) <= $IPDB::maxrevlist
+        # config flag for "all block types" OR "not-a-pool-or-IP type"
+        && ($IPDB::revlistalltypes || $webvar{alloctype} !~ /^.[dpi]/)
+        # safety against trying to retrieve and display more than 1k (10 bits, /22 v4) worth of individual IPs
+        # ever.  If you really need to manage a long list of IPs like that all in one place, you can use the DNS
+        # management tool.  Even a /26 is a bit much, really.
+        && ($cidr->bits - $cidr->masklen) <= 10
 	# do we want to allow v6 at all?
 	#&& ! $cidr->{isv6}
@@ -917,5 +922,10 @@
         && $cidr->masklen != $cidr->bits
         && ($cidr->bits - $cidr->masklen) <= $IPDB::maxrevlist
-        && $blockinfo->{type} !~ /^.[dpi]/
+        # config flag for "all block types" OR "not-a-pool-or-IP type"
+        && ($IPDB::revlistalltypes || $blockinfo->{type} !~ /^.[dpi]/)
+        # safety against trying to retrieve and display more than 1k (10 bits, /22 v4) worth of individual IPs
+        # ever.  If you really need to manage a long list of IPs like that all in one place, you can use the DNS
+        # management tool.  Even a /26 is a bit much, really.
+        && ($cidr->bits - $cidr->masklen) <= 10
         # do we want to allow v6 at all?
         #&& ! $cidr->{isv6}
