]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/listensocket.cpp
Fix parsing <bind:permissions> as base 10 instead of base 8.
[user/henk/code/inspircd.git] / src / listensocket.cpp
index 3d6b11568d27658fdede1932f677874edb8c1886..811c6c8aca33ce496a6ceadf71a625d3596549ed 100644 (file)
@@ -68,8 +68,9 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
 
        if (bind_to.family() == AF_UNIX)
        {
-               unsigned int permissions = tag->getUInt("permissions", 0, 0, 777);
-               if (permissions)
+               const std::string permissionstr = tag->getString("permissions");
+               unsigned int permissions = strtoul(permissionstr.c_str(), NULL, 8);
+               if (permissions && permissions <= 07777)
                        chmod(bind_to.str().c_str(), permissions);
        }