diff --git a/secretservice/secretservice_linux.c b/secretservice/secretservice_linux.c index 73502a2e..0618baf7 100644 --- a/secretservice/secretservice_linux.c +++ b/secretservice/secretservice_linux.c @@ -17,11 +17,11 @@ const SecretSchema *docker_get_schema(void) return &docker_schema; } -GError *add(char *label, char *server, char *username, char *secret) { +GError *add(char *label, char *server, char *username, char *secret, char *displaylabel) { GError *err = NULL; secret_password_store_sync (DOCKER_SCHEMA, SECRET_COLLECTION_DEFAULT, - server, secret, NULL, &err, + displaylabel, secret, NULL, &err, "label", label, "server", server, "username", username, diff --git a/secretservice/secretservice_linux.go b/secretservice/secretservice_linux.go index 26efc0d1..bccd89f8 100644 --- a/secretservice/secretservice_linux.go +++ b/secretservice/secretservice_linux.go @@ -30,8 +30,10 @@ func (h Secretservice) Add(creds *credentials.Credentials) error { defer C.free(unsafe.Pointer(username)) secret := C.CString(creds.Secret) defer C.free(unsafe.Pointer(secret)) + displayLabel := C.CString("Docker credentials for " + creds.ServerURL) + defer C.free(unsafe.Pointer(displayLabel)) - if err := C.add(credsLabel, server, username, secret); err != nil { + if err := C.add(credsLabel, server, username, secret, displayLabel); err != nil { defer C.g_error_free(err) errMsg := (*C.char)(unsafe.Pointer(err.message)) return errors.New(C.GoString(errMsg)) diff --git a/secretservice/secretservice_linux.h b/secretservice/secretservice_linux.h index a28179db..154ee8c4 100644 --- a/secretservice/secretservice_linux.h +++ b/secretservice/secretservice_linux.h @@ -6,7 +6,7 @@ const SecretSchema *docker_get_schema(void) G_GNUC_CONST; #define DOCKER_SCHEMA docker_get_schema() -GError *add(char *label, char *server, char *username, char *secret); +GError *add(char *label, char *server, char *username, char *secret, char *displaylabel); GError *delete(char *server); GError *get(char *server, char **username, char **secret); GError *list(char *label, char *** paths, char *** accts, unsigned int *list_l);