]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon: check 'nonce' validity for cidr ranges
authorGreg Farnum <gfarnum@redhat.com>
Mon, 15 Nov 2021 20:06:50 +0000 (20:06 +0000)
committerGreg Farnum <gfarnum@redhat.com>
Wed, 13 Apr 2022 00:14:16 +0000 (00:14 +0000)
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
src/mon/OSDMonitor.cc

index e452c37964a167396f33d8397612cc34ee5f5b60..966746782c62cb92ba1103b2f9654d95722faf6a 100644 (file)
@@ -12710,6 +12710,12 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
        if (err) {
          goto reply;
        }
+       if ((addr.is_ipv4() && addr.get_nonce() > 32) ||
+           (addr.is_ipv6() && addr.get_nonce() > 128)) {
+         ss << "Too many bits in range for that protocol!";
+         err = -EINVAL;
+         goto reply;
+       }
       } else {
        if (osdmap.require_osd_release >= ceph_release_t::nautilus) {
          // always blocklist type ANY