Changeset View
Changeset View
Standalone View
Standalone View
pam_kwallet.c
Show First 20 Lines • Show All 268 Lines • ▼ Show 20 Line(s) | 266 | #endif | |||
---|---|---|---|---|---|
269 | return (pam_xdisplay && strlen(pam_xdisplay) != 0) | 269 | return (pam_xdisplay && strlen(pam_xdisplay) != 0) | ||
270 | || (pam_tty && pam_tty[0] == ':') | 270 | || (pam_tty && pam_tty[0] == ':') | ||
271 | || (xdg_session_type && strcmp(xdg_session_type, "x11") == 0) | 271 | || (xdg_session_type && strcmp(xdg_session_type, "x11") == 0) | ||
272 | || (xdg_session_type && strcmp(xdg_session_type, "wayland") == 0); | 272 | || (xdg_session_type && strcmp(xdg_session_type, "wayland") == 0); | ||
273 | } | 273 | } | ||
274 | 274 | | |||
275 | PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) | 275 | PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
276 | { | 276 | { | ||
277 | pam_syslog(pamh, LOG_INFO, "%s: pam_sm_authenticate\n", logPrefix); | 277 | pam_syslog(pamh, LOG_DEBUG, "%s: pam_sm_authenticate\n", logPrefix); | ||
278 | if (get_env(pamh, envVar) != NULL) { | 278 | if (get_env(pamh, envVar) != NULL) { | ||
279 | pam_syslog(pamh, LOG_INFO, "%s: we were already executed", logPrefix); | 279 | pam_syslog(pamh, LOG_INFO, "%s: we were already executed", logPrefix); | ||
280 | return PAM_IGNORE; | 280 | return PAM_IGNORE; | ||
281 | } | 281 | } | ||
282 | 282 | | |||
283 | parseArguments(argc, argv); | 283 | parseArguments(argc, argv); | ||
284 | 284 | | |||
285 | int result; | 285 | int result; | ||
▲ Show 20 Lines • Show All 129 Lines • ▼ Show 20 Line(s) | 412 | if (strlen(fullSocket) > sizeof(local.sun_path)) { | |||
415 | free(fullSocket); | 415 | free(fullSocket); | ||
416 | goto cleanup; | 416 | goto cleanup; | ||
417 | } | 417 | } | ||
418 | strcpy(local.sun_path, fullSocket); | 418 | strcpy(local.sun_path, fullSocket); | ||
419 | free(fullSocket); | 419 | free(fullSocket); | ||
420 | fullSocket = NULL; | 420 | fullSocket = NULL; | ||
421 | unlink(local.sun_path);//Just in case it exists from a previous login | 421 | unlink(local.sun_path);//Just in case it exists from a previous login | ||
422 | 422 | | |||
423 | syslog(LOG_INFO, "%s: final socket path: %s", logPrefix, local.sun_path); | 423 | syslog(LOG_DEBUG, "%s: final socket path: %s", logPrefix, local.sun_path); | ||
424 | 424 | | |||
425 | size_t len = strlen(local.sun_path) + sizeof(local.sun_family); | 425 | size_t len = strlen(local.sun_path) + sizeof(local.sun_family); | ||
426 | if (bind(envSocket, (struct sockaddr *)&local, len) == -1) { | 426 | if (bind(envSocket, (struct sockaddr *)&local, len) == -1) { | ||
427 | syslog(LOG_INFO, "%s-kwalletd: Couldn't bind to local file\n", logPrefix); | 427 | syslog(LOG_INFO, "%s-kwalletd: Couldn't bind to local file\n", logPrefix); | ||
428 | goto cleanup; | 428 | goto cleanup; | ||
429 | } | 429 | } | ||
430 | 430 | | |||
431 | if (listen(envSocket, 5) == -1) { | 431 | if (listen(envSocket, 5) == -1) { | ||
▲ Show 20 Lines • Show All 127 Lines • ▼ Show 20 Line(s) | 557 | if (better_write(toWalletPipe[1], kwalletKey, KWALLET_PAM_KEYSIZE) < 0) { | |||
559 | return; | 559 | return; | ||
560 | } | 560 | } | ||
561 | 561 | | |||
562 | close(toWalletPipe[1]); | 562 | close(toWalletPipe[1]); | ||
563 | } | 563 | } | ||
564 | 564 | | |||
565 | PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) | 565 | PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
566 | { | 566 | { | ||
567 | pam_syslog(pamh, LOG_INFO, "%s: pam_sm_open_session\n", logPrefix); | 567 | pam_syslog(pamh, LOG_DEBUG, "%s: pam_sm_open_session\n", logPrefix); | ||
568 | 568 | | |||
569 | if (get_env(pamh, envVar) != NULL) { | 569 | if (get_env(pamh, envVar) != NULL) { | ||
570 | pam_syslog(pamh, LOG_INFO, "%s: we were already executed", logPrefix); | 570 | pam_syslog(pamh, LOG_INFO, "%s: we were already executed", logPrefix); | ||
571 | return PAM_SUCCESS; | 571 | return PAM_SUCCESS; | ||
572 | } | 572 | } | ||
573 | 573 | | |||
574 | parseArguments(argc, argv); | 574 | parseArguments(argc, argv); | ||
575 | 575 | | |||
Show All 36 Lines | |||||
612 | 612 | | |||
613 | start_kwallet(pamh, userInfo, kwalletKey); | 613 | start_kwallet(pamh, userInfo, kwalletKey); | ||
614 | 614 | | |||
615 | return PAM_SUCCESS; | 615 | return PAM_SUCCESS; | ||
616 | } | 616 | } | ||
617 | 617 | | |||
618 | PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv) | 618 | PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
619 | { | 619 | { | ||
620 | pam_syslog(pamh, LOG_INFO, "%s: pam_sm_close_session", logPrefix); | 620 | pam_syslog(pamh, LOG_DEBUG, "%s: pam_sm_close_session", logPrefix); | ||
621 | return PAM_SUCCESS; | 621 | return PAM_SUCCESS; | ||
622 | } | 622 | } | ||
623 | 623 | | |||
624 | PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) | 624 | PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
625 | { | 625 | { | ||
626 | pam_syslog(pamh, LOG_INFO, "%s: pam_sm_setcred", logPrefix); | 626 | pam_syslog(pamh, LOG_DEBUG, "%s: pam_sm_setcred", logPrefix); | ||
627 | return PAM_SUCCESS; | 627 | return PAM_SUCCESS; | ||
628 | } | 628 | } | ||
629 | 629 | | |||
630 | 630 | | |||
631 | PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv) | 631 | PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
632 | { | 632 | { | ||
633 | pam_syslog(pamh, LOG_INFO, "%s: pam_sm_chauthtok", logPrefix); | 633 | pam_syslog(pamh, LOG_DEBUG, "%s: pam_sm_chauthtok", logPrefix); | ||
634 | return PAM_SUCCESS; | 634 | return PAM_SUCCESS; | ||
635 | } | 635 | } | ||
636 | 636 | | |||
637 | static int mkpath(char *path) | 637 | static int mkpath(char *path) | ||
638 | { | 638 | { | ||
639 | struct stat sb; | 639 | struct stat sb; | ||
640 | char *slash; | 640 | char *slash; | ||
641 | int done = 0; | 641 | int done = 0; | ||
▲ Show 20 Lines • Show All 218 Lines • Show Last 20 Lines |