Commit f4e9e72e authored by jan.koester's avatar jan.koester
Browse files

test

parent d9f234b7
Loading
Loading
Loading
Loading
Loading
+22 −19
Changes for src/authdb.cpp: 22 added lines, 19 removed lines.
Original line number Diff line number Diff line
@@ -431,25 +431,6 @@ int main(int argc,char *argv[]){
        close(STDERR_FILENO);
    }

    if (getuid() == 0) {
        struct passwd *pw = getpwnam("authdb");
        if (pw) {
            if (setgid(pw->pw_gid) != 0) {
                std::cerr << "setgid failed" << std::endl;
                return 1;
            }
            if (initgroups("authdb", pw->pw_gid) != 0) {
                std::cerr << "initgroups failed" << std::endl;
                return 1;
            }
            if (setuid(pw->pw_uid) != 0) {
                std::cerr << "setuid failed" << std::endl;
                return 1;
            }
        } else {
            std::cerr << "user authdb not found, running as root" << std::endl;
        }
    }
#endif

    confplus::Config config(cmd.getCmdbyKey("config")->getValue());
@@ -539,6 +520,28 @@ int main(int argc,char *argv[]){
            pluginThreads.back().detach();
        }

#ifndef _WIN32
        if (getuid() == 0) {
            struct passwd *pw = getpwnam("authdb");
            if (pw) {
                if (setgid(pw->pw_gid) != 0) {
                    std::cerr << "setgid failed" << std::endl;
                    return 1;
                }
                if (initgroups("authdb", pw->pw_gid) != 0) {
                    std::cerr << "initgroups failed" << std::endl;
                    return 1;
                }
                if (setuid(pw->pw_uid) != 0) {
                    std::cerr << "setuid failed" << std::endl;
                    return 1;
                }
            } else {
                std::cerr << "user authdb not found, running as root" << std::endl;
            }
        }
#endif

        authdb.runEventloop();

        authdb::g_KdcPlugin = nullptr;