chiark / gitweb /
sysusers: fix selinux context of backup files
[elogind.git] / src / shared / ask-password-api.c
index eb409950104724d88a6a738c0d71805851e7a3db..8d03f4ad0994f001a5c1a6a246ac01f56e350064 100644 (file)
@@ -270,7 +270,7 @@ static int create_socket(char **name) {
 
         if (r < 0) {
                 r = -errno;
-                log_error("bind() failed: %m");
+                log_error("bind(%s) failed: %m", sa.un.sun_path);
                 goto fail;
         }
 
@@ -298,6 +298,7 @@ fail:
 int ask_password_agent(
                 const char *message,
                 const char *icon,
+                const char *id,
                 usec_t until,
                 bool accept_cached,
                 char ***_passphrases) {
@@ -358,14 +359,14 @@ int ask_password_agent(
 
         fprintf(f,
                 "[Ask]\n"
-                "PID=%lu\n"
+                "PID="PID_FMT"\n"
                 "Socket=%s\n"
                 "AcceptCached=%i\n"
-                "NotAfter=%llu\n",
-                (unsigned long) getpid(),
+                "NotAfter="USEC_FMT"\n",
+                getpid(),
                 socket_name,
                 accept_cached ? 1 : 0,
-                (unsigned long long) until);
+                until);
 
         if (message)
                 fprintf(f, "Message=%s\n", message);
@@ -373,6 +374,9 @@ int ask_password_agent(
         if (icon)
                 fprintf(f, "Icon=%s\n", icon);
 
+        if (id)
+                fprintf(f, "Id=%s\n", id);
+
         fflush(f);
 
         if (ferror(f)) {
@@ -537,7 +541,8 @@ finish:
         return r;
 }
 
-int ask_password_auto(const char *message, const char *icon, usec_t until, bool accept_cached, char ***_passphrases) {
+int ask_password_auto(const char *message, const char *icon, const char *id,
+                      usec_t until, bool accept_cached, char ***_passphrases) {
         assert(message);
         assert(_passphrases);
 
@@ -556,5 +561,5 @@ int ask_password_auto(const char *message, const char *icon, usec_t until, bool
                 *_passphrases = l;
                 return r;
         } else
-                return ask_password_agent(message, icon, until, accept_cached, _passphrases);
+                return ask_password_agent(message, icon, id, until, accept_cached, _passphrases);
 }