void session_save(struct session *session, unsigned const char key[KDF_HASH_LEN]) { config_write_encrypted_string("session_uid", session->uid, key); config_write_encrypted_string("session_sessionid", session->sessionid, key); config_write_encrypted_string("session_token", session->token, key); config_write_encrypted_buffer("session_privatekey", (char *)session->private_key.key, session->private_key.len, key); }
struct blob *lastpass_get_blob(const struct session *session, const unsigned char key[KDF_HASH_LEN]) { size_t len; _cleanup_free_ char *blob; blob = http_post_lastpass("getaccts.php", session->sessionid, &len, "mobile", "1", "requestsrc", "cli", "hasplugin", LASTPASS_CLI_VERSION, NULL); if (!blob || !len) return NULL; config_write_encrypted_buffer("blob", blob, len, key); return blob_parse(blob, len, key, &session->private_key); }
void blob_save(const struct blob *blob, const unsigned char key[KDF_HASH_LEN]) { _cleanup_free_ char *bluffer = NULL; size_t len; len = blob_write(blob, key, &bluffer); if (!len) die("Could not write blob."); config_write_encrypted_buffer("blob", bluffer, len, key); }
void session_save(struct session *session, unsigned const char key[KDF_HASH_LEN]) { config_write_encrypted_string("session_uid", session->uid, key); config_write_encrypted_string("session_sessionid", session->sessionid, key); config_write_encrypted_string("session_token", session->token, key); config_write_encrypted_buffer("session_privatekey", (char *)session->private_key.key, session->private_key.len, key); /* * existing sessions may not have a server yet; they will fall back * to lastpass.com. */ if (session->server) config_write_string("session_server", session->server); }
void config_write_encrypted_string(const char *name, const char *string, unsigned const char key[KDF_HASH_LEN]) { config_write_encrypted_buffer(name, string, strlen(string), key); }