Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 468910 | Differences between
and this patch

Collapse All | Expand All

(-)a/kdm/backend/client.c (-18 / +25 lines)
Lines 88-93 extern int loginsuccess(const char *User, const char *Host, const char *Tty, cha Link Here
88
#endif
88
#endif
89
#include <signal.h>
89
#include <signal.h>
90
90
91
#include <unistd.h>
92
#define LOGIND_RUNNING() (access("/run/systemd/seats/", F_OK) >= 0)
93
91
/*
94
/*
92
 * Session data, mostly what struct verify_info was for
95
 * Session data, mostly what struct verify_info was for
93
 */
96
 */
Lines 1342-1352 startClient(volatile int *pid) Link Here
1342
    strcpy(curuser, p->pw_name); /* Use normalized login name. */
1345
    strcpy(curuser, p->pw_name); /* Use normalized login name. */
1343
1346
1344
#ifdef HAVE_CKCONNECTOR
1347
#ifdef HAVE_CKCONNECTOR
1345
    if (!(ckConnector = ck_connector_new())) {
1348
    if (!LOGIND_RUNNING()) {
1346
        logOutOfMem();
1349
        if (!(ckConnector = ck_connector_new())) {
1347
        V_RET;
1350
            logOutOfMem();
1351
            V_RET;
1352
        }
1348
    }
1353
    }
1349
    
1350
# ifdef HAVE_VTS
1354
# ifdef HAVE_VTS
1351
    if (td->serverVT > 0)
1355
    if (td->serverVT > 0)
1352
        sprintf(ckDeviceBuf, "/dev/tty%d", td->serverVT);
1356
        sprintf(ckDeviceBuf, "/dev/tty%d", td->serverVT);
Lines 1390-1396 startClient(volatile int *pid) Link Here
1390
                       "Warning: Cannot open ConsoleKit session: %s",
1394
                       "Warning: Cannot open ConsoleKit session: %s",
1391
                       error.message);
1395
                       error.message);
1392
            dbus_error_free(&error);
1396
            dbus_error_free(&error);
1393
        } else {
1397
        } else if (!LOGIND_RUNNING()) {
1394
            logError("Cannot open ConsoleKit session, likely OOM\n");
1398
            logError("Cannot open ConsoleKit session, likely OOM\n");
1395
            displayStr(V_MSG_ERR,
1399
            displayStr(V_MSG_ERR,
1396
                       "Warning: Cannot open ConsoleKit session.");
1400
                       "Warning: Cannot open ConsoleKit session.");
Lines 1452-1459 startClient(volatile int *pid) Link Here
1452
        env = setEnv(env, "KRBTKFILE", krbtkfile);
1456
        env = setEnv(env, "KRBTKFILE", krbtkfile);
1453
#endif
1457
#endif
1454
#ifdef HAVE_CKCONNECTOR
1458
#ifdef HAVE_CKCONNECTOR
1455
    env = setEnv(env, "XDG_SESSION_COOKIE",
1459
    if (!LOGIND_RUNNING()) {
1456
                      ck_connector_get_cookie(ckConnector));
1460
        env = setEnv(env, "XDG_SESSION_COOKIE",
1461
                          ck_connector_get_cookie(ckConnector));
1462
    }
1457
#endif
1463
#endif
1458
    userEnviron = inheritEnv(env, envvars);
1464
    userEnviron = inheritEnv(env, envvars);
1459
    env = systemEnv(0, curuser);
1465
    env = systemEnv(0, curuser);
Lines 1949-1966 clientExited(void) Link Here
1949
#endif
1955
#endif
1950
1956
1951
#ifdef HAVE_CKCONNECTOR
1957
#ifdef HAVE_CKCONNECTOR
1952
    if (ckConnector) {
1958
    if (!LOGIND_RUNNING()) {
1953
        dbus_error_init(&error);
1959
        if (ckConnector) {
1954
        if (!ck_connector_close_session(ckConnector, &error)) {
1960
            dbus_error_init(&error);
1955
            if (dbus_error_is_set(&error)) {
1961
            if (!ck_connector_close_session(ckConnector, &error)) {
1956
                logError("Cannot close ConsoleKit session: %s\n", error.message);
1962
                if (dbus_error_is_set(&error)) {
1957
                dbus_error_free(&error);
1963
                    logError("Cannot close ConsoleKit session: %s\n", error.message);
1958
            } else {
1964
                    dbus_error_free(&error);
1959
                logError("Cannot close ConsoleKit session, likely OOM\n");
1965
                } else {
1966
                    logError("Cannot close ConsoleKit session, likely OOM\n");
1967
                }
1960
            }
1968
            }
1969
            ck_connector_unref(ckConnector);
1970
            ckConnector = 0;
1961
        }
1971
        }
1962
        ck_connector_unref(ckConnector);
1963
        ckConnector = 0;
1964
    }
1972
    }
1965
#endif
1973
#endif
1966
}
1974
}
1967
- 

Return to bug 468910