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

test

parent a7e16360
Loading
Loading
Loading
Loading
+10 −4
Changes for src/daemon.cpp: 10 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -232,8 +232,9 @@ void serve(Server &s, std::unique_ptr<netplus::socket> c) {
}

void usage() {
    std::cerr << "usage: adconnectd [-c config] [-t | -q \"REQUEST\"]\n"
                 "  -t  connect and bind to a domain controller, then exit\n"
    std::cerr << "usage: adconnectd [-c config] [-n | -t | -q \"REQUEST\"]\n"
                 "  -n  only read the configuration (no network), then exit\n"
                 "  -t  connect and bind to a domain controller of each domain, then exit\n"
                 "  -q  answer one request (\"PWNAM jan\", \"GROUPS jan\", ...) and exit\n";
}

@@ -244,11 +245,12 @@ int main(int argc, char **argv) {
    setenv("ADCONNECT_DAEMON", "1", 1);

    std::string configPath = ADCONNECT_CONFIG, query;
    bool check = false;
    bool check = false, parseOnly = false;
    int opt;
    while ((opt = getopt(argc, argv, "c:tq:h")) != -1) {
    while ((opt = getopt(argc, argv, "c:ntq:h")) != -1) {
        switch (opt) {
        case 'c': configPath = optarg; break;
        case 'n': parseOnly = true; break;
        case 't': check = true; break;
        case 'q': query = optarg; break;
        default: usage(); return opt == 'h' ? 0 : 2;
@@ -262,6 +264,10 @@ int main(int argc, char **argv) {
        std::cerr << "adconnectd: " << e.what() << std::endl;
        return 1;
    }
    if (parseOnly) {
        for (const Config &c : configs) std::cout << "adconnectd: " << c.domain << " (" << c.base << ")" << std::endl;
        return 0;
    }
    const Config &cfg = configs.front();
    Server s{ cfg, {} };
    for (const Config &c : configs) s.domains.push_back(std::make_unique<Domain>(c));