diff options
| author | Simeon Simeonov | 2018-04-15 16:28:33 +0200 |
|---|---|---|
| committer | Simeon Simeonov | 2018-04-15 16:28:33 +0200 |
| commit | a651d4876f775a2b00f88df49ead47557c6cc18e (patch) | |
| tree | 444ec8d360500f73bcefcf86283aa19a3b7103b5 | |
| parent | 7addc67cd3f6a4c0358f70b4fb9906ebcd88b9e3 (diff) | |
Call unload_password every 10th minute when prefs_common.auto_unload_master_password is set. Update the documentation.
| -rw-r--r-- | README.md | 15 | ||||
| -rw-r--r-- | src/main.c | 3 |
2 files changed, 10 insertions, 8 deletions
| @@ -42,6 +42,9 @@ prompt for the master password. | |||
| 42 | - A should not be able to craft an edited password without obtaining the | 42 | - A should not be able to craft an edited password without obtaining the |
| 43 | master password. | 43 | master password. |
| 44 | 44 | ||
| 45 | - A should not be able to compromise the master password or force Sylpheed | ||
| 46 | to store decrypted passwords even if she has access to a running Sylpheed. | ||
| 47 | |||
| 45 | - a warning / prompt should be given if a user accidentally types in a "wrong" | 48 | - a warning / prompt should be given if a user accidentally types in a "wrong" |
| 46 | master password before decryption is initiated. | 49 | master password before decryption is initiated. |
| 47 | 50 | ||
| @@ -61,6 +64,9 @@ prompt for the master password. | |||
| 61 | 64 | ||
| 62 | - set your new passwords from the "Configuration" -> "Edit accounts..."! | 65 | - set your new passwords from the "Configuration" -> "Edit accounts..."! |
| 63 | 66 | ||
| 67 | - select "Automatically unload master password after session initialization" | ||
| 68 | for increased security and decreased convenience. | ||
| 69 | |||
| 64 | Note: | 70 | Note: |
| 65 | Sylpheed will automatically convert existing stored passwords, but it will not | 71 | Sylpheed will automatically convert existing stored passwords, but it will not |
| 66 | touch your backups. You will have to remove all remnants of plain-text | 72 | touch your backups. You will have to remove all remnants of plain-text |
| @@ -201,13 +207,6 @@ Operation: | |||
| 201 | 207 | ||
| 202 | ### Limitations | 208 | ### Limitations |
| 203 | 209 | ||
| 204 | - when Sylpheed starts, the master-password is loaded into memory and remains | ||
| 205 | there as long as Sylpheed is running. Currently no strong mechanisms, | ||
| 206 | preventing someone with access to the memory from snatching it, | ||
| 207 | are implemented. | ||
| 208 | "Unloading" the master-password immediately after | ||
| 209 | account-processing (decryption) should be considered in the future. | ||
| 210 | |||
| 211 | - currently only the 'password' and 'smtp_password' keys in accountrc | 210 | - currently only the 'password' and 'smtp_password' keys in accountrc |
| 212 | are encrypted. | 211 | are encrypted. |
| 213 | A mechanism that allows for any key and even folders to be encrypted | 212 | A mechanism that allows for any key and even folders to be encrypted |
| @@ -217,4 +216,4 @@ Operation: | |||
| 217 | and modes of operation (without editing the source code). | 216 | and modes of operation (without editing the source code). |
| 218 | 217 | ||
| 219 | - currently it is not possible to change your master password without having to | 218 | - currently it is not possible to change your master password without having to |
| 220 | set your passwords manually. | 219 | (re)set your passwords manually. |
| @@ -426,6 +426,9 @@ int main(int argc, char *argv[]) | |||
| 426 | if (prefs_common.auto_unload_master_password && master_password_active()) { | 426 | if (prefs_common.auto_unload_master_password && master_password_active()) { |
| 427 | debug_print("Auto unloading master password\n"); | 427 | debug_print("Auto unloading master password\n"); |
| 428 | unload_master_password(); | 428 | unload_master_password(); |
| 429 | /* call this function every 10th minute in case a reload took place */ | ||
| 430 | /* TODO: Perhaps a more elegant solution could be developed */ | ||
| 431 | g_timeout_add(1000 * 60 * 10, unload_master_password, NULL); | ||
| 429 | } | 432 | } |
| 430 | #endif | 433 | #endif |
| 431 | 434 | ||
