Commit 16b881f8 authored by jan.koester's avatar jan.koester
Browse files

test

parent bb5f3d92
Loading
Loading
Loading
Loading
Loading
+48 −0
Changes for client/client.cpp: 48 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -326,6 +326,12 @@ bool Client::UserAuth() {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp("sessionid", key) == 0) {
                _Con._SessionID = json_object_get_string(val);
                json_object_put(jrequest);
@@ -393,6 +399,12 @@ void Client::SessionInfo(class SessionData& sdat) {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp("sessioninfo", key) == 0) {
                sdat._sid      = json_object_get_string(json_object_object_get(val, "sessionid"));
                sdat._uid      = json_object_get_string(json_object_object_get(val, "userid"));
@@ -460,6 +472,12 @@ bool Client::remSession() {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp(key, "remsession") == 0) {
                const char* removed = json_object_get_string(val);
                ok = (removed && _Con.getSessionID() == removed);
@@ -556,6 +574,12 @@ void Client::UserInfo(class UserData& udat) {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp("userinfo", key) == 0) {
                json_object* jobj = nullptr;
                if (json_object_object_get_ex(val, "username", &jobj)) {
@@ -653,6 +677,12 @@ bool Client::GPOcheck(class ::uuid::uuid gpoid) {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp(key, "gpo") == 0) {
                json_object* v = json_object_object_get(val, gpoid.c_str());
                if (v) ret = json_object_get_boolean(v);
@@ -707,6 +737,12 @@ std::string Client::addConnection(const std::string& clientname, const std::stri
        int fcount = json_object_array_length(jrequest);
        for (int i = 0; i < fcount; ++i) {
            json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
                if (strcmp(key, "error") == 0) {
                    std::string msg = json_object_get_string(val);
                    json_object_put(jrequest);
                    json_tokener_free(jtok);
                    throw authdb::AuthBackendError(msg);
                }
                if (strcmp(key, "addclient") == 0) {
                    result = json_object_get_string(val);
                }
@@ -929,6 +965,12 @@ bool Client::GPOexits(class uuid::uuid gpoid) { // keeping name for compatibilit
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp(key, "gpoexists") == 0) {
                json_object* v = json_object_object_get(val, gpoid.c_str());
                if (v) ret = json_object_get_boolean(v);
@@ -990,6 +1032,12 @@ std::vector<Client::GroupInfo> Client::listGroups() {
    int fcount = json_object_array_length(jrequest);
    for (int i = 0; i < fcount; ++i) {
        json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) {
            if (strcmp(key, "error") == 0) {
                std::string msg = json_object_get_string(val);
                json_object_put(jrequest);
                json_tokener_free(jtok);
                throw authdb::AuthBackendError(msg);
            }
            if (strcmp(key, "groups") == 0 && json_object_get_type(val) == json_type_array) {
                int glen = json_object_array_length(val);
                for (int g = 0; g < glen; ++g) {