]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_mon: warn on invalid port configuration 18073/head
authorLi Wang <laurence.liwang@gmail.com>
Tue, 3 Oct 2017 05:29:23 +0000 (05:29 +0000)
committerLi Wang <laurence.liwang@gmail.com>
Tue, 3 Oct 2017 05:40:09 +0000 (05:40 +0000)
It checks the validty of monitor port configuration
in ceph.conf, and warns if necessary.

Signed-off-by: Li Wang <laurence.liwang@gmail.com>
src/ceph_mon.cc
src/msg/msg_types.cc
src/msg/msg_types.h

index edf262753ca0c94d9cb4929d1888e0a7366c8de8..f334efd2cf086a98dcf80c8e566a2c1c8e249796 100644 (file)
@@ -635,7 +635,9 @@ int main(int argc, const char **argv)
               << " does not match monmap file" << std::endl
               << "         continuing with monmap configuration" << dendl;
         }
-      }
+      } else
+          derr << "WARNING: invalid 'mon addr' config option" << std::endl
+               << "         continuing with monmap configuration" << dendl;
     }
   } else {
     dout(0) << g_conf->name << " does not exist in monmap, will attempt to join an existing cluster" << dendl;
index 28cedef1cb2726e04a1b021a9f727f6f3dcaa92c..d1a53b03420eb0a6a84d23461c2b6245e576cbb7 100644 (file)
@@ -140,6 +140,9 @@ bool entity_addr_t::parse(const char *s, const char **end)
     // parse a port, too!
     p++;
     int port = atoi(p);
+    if (port > MAX_PORT_NUMBER) {
+      return false;
+    }
     set_port(port);
     while (*p && *p >= '0' && *p <= '9')
       p++;
index 8a20ba0f060eb5fb3c6286e1b0652eee60f2634f..a0d57de78d450d131f5a9fd33298457f48a86111 100644 (file)
@@ -22,6 +22,8 @@
 #include "include/blobhash.h"
 #include "include/encoding.h"
 
+#define MAX_PORT_NUMBER 65535
+
 namespace ceph {
   class Formatter;
 }