Commit Graph

564 Commits (ebb36235a70a2c539a7656454de3478ae776aa22)

Author SHA1 Message Date
Daniel García 4689ed7b30
Changed uppercase deserializer to avoid a clone.
6 years ago
Daniel García 61515160a7
Allow changing error codes and create an empty error.
6 years ago
Daniel García e93538cea9
Add option to use wrapped TLS in email, instead of STARTTLS upgrade
6 years ago
Daniel García b4244b28b6
Update admin page scripts and fixed broken tooltip
6 years ago
Daniel García 43f9038325
Add option to force resync clients in admin panel
6 years ago
Daniel García 339044f8aa
Add warning about config panel values overriding env vars.
6 years ago
Daniel García 0718a090e1
Trim spaces from admin token during authentication and validate that the admin panel token is not empty
6 years ago
Daniel García 9e1f030a80
Explicitly close SMTP connection in case of error.
6 years ago
Daniel García 04922f6aa0
Some formatting and dependency updates
6 years ago
Daniel García 7d2bc9e162
Added option to force 2fa at logins and made some changes to two factor code.
6 years ago
Daniel García 10756b0920
Update dependencies and fix some lints
6 years ago
Frank Petrilli d156170971
Minor typo fix conect => connect
6 years ago
Дамјан Георгиевски 473f8b8e31 remove some unneeded mutability
6 years ago
Daniel García 5794969f5b
Merge pull request #406 from shauder/feature/disable-admin-token
6 years ago
Shane Faulkner 8b5b06c3d1 Allow the Admin token to be disabled in the advanced menu
6 years ago
Daniel García b50c27b619
Print a warning when an env variable is being overriden by the config file, and reorganize the main file a bit.
6 years ago
Daniel García 5ee04e31e5
Updated dependencies, removed some unnecessary clones and fixed some lints
6 years ago
Daniel García bf6ae91a6d
Remove margins on small devices
6 years ago
Daniel García 828e3a5795
Add extra padding when the toolbar collapses in small devices
6 years ago
Daniel García 7b5bcd45f8
Show read-only options in the config panel and the env variable names in the tooltips
6 years ago
Miroslav Prasil 0b903fc5f4 Extended the template file and refer to wiki
6 years ago
Miroslav Prasil 4df686f49e Add an option to not enable WAL (should help in #399)
6 years ago
Daniel García d7eeaaf249
Escape user data from admin panel when calling JS
6 years ago
TheMardy 84fb6aaddb Set correct MIME type
6 years ago
Daniel García a744b9437a
Implemented multiple U2f keys, key names, and compromised checks
6 years ago
Daniel García 6027b969f5
Delete old devices when deauthorizing user sessions
6 years ago
Daniel García 93805a5d7b
Fix Yubikeys deleted on error
6 years ago
TheMardy 8526055bb7 Added images to email templates
6 years ago
TheMardy a79334ea4c Added static email image routes
6 years ago
Daniel García d3773a433a
Removed list of mounted routes at startup by default, with option to add it back. This would get annoying when starting the server frequently, because it printed ~130 lines of mostly useless info
6 years ago
Daniel García 0f0a87becf
Add version to initial message
6 years ago
BlackDex 3b27dbb0aa Added config option for icon download timeout
6 years ago
Daniel García 9636f33fdb
Implement constant time equal check for admin, 2fa recover and 2fa remember tokens
6 years ago
Daniel García 79fdfd6524
Add missing url parameter
6 years ago
Daniel García d086a99e5b
Implemented HTML emails with text alternative
6 years ago
TheMardy 22b0b95209
Added HTML templates (+14 squashed commit)
6 years ago
Daniel García 28d1588e73
Show version in admin panel
6 years ago
Daniel García f3b1a5ff3e
Error when admin panel is disabled
6 years ago
Daniel García 330e90a6ac
Hide secrets in config panel
6 years ago
Daniel García 820c8b0dce
Change use of deserialize_with for Option iterator
6 years ago
Daniel García 8b4a6f2a64
Fixed some clippy lints and changed update_uuid_revision to only use one db query
6 years ago
Daniel García ef63342e20
Add reset user config button
6 years ago
Daniel García 89840790e7
Fix .env path traversal issue
6 years ago
Daniel García a72809b225
Yubico and SMTP enable/disable master switches
6 years ago
Daniel García 9976e4736e
Add groups
6 years ago
Daniel García dc92f07232
Added env variable to select config file. Initial work towards groups and added tooltips with descriptions and nicer names
6 years ago
Daniel García 3db815b969
Implemented config form and fixed config priority
6 years ago
Daniel García ade293cf52
Save config
6 years ago
Daniel García 877408b808
Implement basic config loading and updating. No save to file yet.
6 years ago
Daniel García 86ed75bf7c
Config can now be serialized / deserialized
6 years ago
Daniel García 20d8d800f3
Updated dependencies
6 years ago
Miroslav Prasil 08ca47cadb Update revision when adding or removing cipher from collection
6 years ago
Miroslav Prasil 5272b465cc Update revision of affected users when deleting Collection
6 years ago
Miroslav Prasil 637f655b6f Do not allocate uneccessary Vec
6 years ago
Miroslav Prasil b3f7394c06 Do not update revision at the end, as we already did that
6 years ago
Miroslav Prasil 1a5ecd4d4a cipher does not need to be mutable
6 years ago
Miroslav Prasil bd65c4e312 Remove superfluous cipher.save() call
6 years ago
Miroslav Prasil bce656c787 Retry updating revision - fixes #383
6 years ago
BlackDex 9026cc8d42 Fixed issue when the iconlist is smaller then 5
6 years ago
BlackDex 574b040142 Loop through the iconlist until an icon is found
6 years ago
BlackDex c13f115473 Fixed issue #380
6 years ago
BlackDex bc461d9baa Some small changes on the iter of the cookies
6 years ago
BlackDex 5016e30cf2 Added cookies to the icon download request.
6 years ago
Daniel García f42ac5f2c0
Update web vault error message
6 years ago
Daniel García 2a60414031
Reuse the client between requests, and use the client when downloading the icons themselves
6 years ago
BlackDex feb74a5e86 Changed the way to fix the href
6 years ago
Daniel García c0e350b734
Disable icon downloads, accept optional query after icon href, format and clippy fixes
6 years ago
Daniel García bef1183c49
Only send one notification per vault import and purge, improve move ciphers functions
6 years ago
Daniel García f935f5cf46
Remove local icon extractor
6 years ago
Daniel García 07388d327f
Merge pull request #370 from BlackDex/favicons
6 years ago
BlackDex 4de16b2d17 Removed unwrap and added ?
6 years ago
BlackDex da068a43c1 Moved function call to get_icon_url to prevent error bubbeling
6 years ago
BlackDex 9657463717 Added better favicon downloader.
6 years ago
Daniel García 69036cc6a4
Add disabled user badge (no password) and deauthorize button to admin page.
6 years ago
Daniel García 700e084101
Add 2FA icon to admin panel
6 years ago
Daniel García a1dc47b826
Change config to thread-safe system, needed for a future config panel.
6 years ago
Daniel García 86de0ca17b
Fix editing users from collections menu
6 years ago
Stephen White fc0e239bdf No point calling find_by_uuid now we don't use the result.
6 years ago
Stephen White 928ad6c1d8 Fix the list of users with access to a collection to display correctly.
6 years ago
Daniel García ddd49596ba
Fix invite empty email
6 years ago
Daniel García b8cabadd43
Fix admin page links
6 years ago
Daniel García ce42b07a80
Update Diesel to 1.4 and other dependencies
6 years ago
Daniel García bfd93e5b13
Show organizations in admin panel, implement reload templates option
6 years ago
Daniel García a797459560
Implement HIBP check [WIP].
6 years ago
Daniel García 6cbb683f99
Rename admin templates to match email
6 years ago
Daniel García 92bbb98d48
Created base template
6 years ago
Daniel García 834c847746
Implement admin JWT cookie, separate JWT issuers for each type of token and migrate admin page to handlebars template
6 years ago
Daniel García 97aa407fe4
Move email templates to subfolder
6 years ago
TBK d8116a80df Add Feature-Policy header
6 years ago
Daniel García e0aec8d373
Use new i64::to_be_bytes and remove byteorder dep
6 years ago
Daniel García 1ce2587330
Correct update cipher order: first save cipher, then cipher-folder, then notify
6 years ago
Miroslav Prasil 71a10e0378 Fix sharing the item to organization.
6 years ago
Daniel García 9bf13b7872
Can't return inside multipart closure
6 years ago
Daniel García d420992f8c
Update some function calls to use ?
6 years ago
Daniel García c259a0e3e2
Save recovery code when using yubikey and stop repeating headers.user everywhere
6 years ago
Daniel García 432be274ba
Improve org mismatch check, consider different orgs
6 years ago
Daniel García 484bf5b703
Check that the client is not updating an outdated cipher, that should be part of an org now
6 years ago
Daniel García 4bf32af60e
Fix folder notifications, enable template strict mode and add missing option to env template
6 years ago
Daniel García 0e4a746eeb
Added SMTP_FROM_NAME
6 years ago
Daniel García 2fe919cc5e
Embed the default templates
6 years ago
Daniel García bcd750695f
Default to $data_folder/templates and remove dev option (use `TEMPLATES_FOLDER=src/static/templates` instead)
6 years ago
Daniel García 19b6bb0fd6
Initial stab at templates
6 years ago
Daniel García f571df7367
Revert yubikey feature, not needed anymore
6 years ago
Daniel García de51bc782e
Updated dependencies, removing need for yubico fork
6 years ago
Daniel García c5aef60bd7
Implement unofficial warning message
6 years ago
Daniel García 6f52104324
Fix casing error in Attachment, should fix 'Attachment doesn't exist' errors
6 years ago
Daniel García 1d7f704754
Send CipherUpdate when adding and deleting attachments
6 years ago
Daniel García 1d034749f7
Fix AArch64 build by disabling yubico
6 years ago
Daniel García 320266606e
Implement put collections
6 years ago
Daniel García a0a08c4c5a
Include IP in invalid admin token error
6 years ago
Daniel García 4309df8334
Only create invitations when SMTP is disabled, and ignore invitations if we have a token.
6 years ago
Daniel García f1161c65fb
Make sure an invitation is created when reinviting
6 years ago
Daniel García 50eeb4f651
Remove whitespace before processing tokens
6 years ago
Daniel García 21b85b78b1
Changed reinvite check and removed obsolete comment
6 years ago
Daniel García 673adde9f1
Make the admin retype the user name before deleting
6 years ago
Daniel García c9063a06b4
Print unauthorized error message
6 years ago
Daniel García 5e37471488
Merge pull request #323 from njfox/invite_accepted_email
6 years ago
Nick Fox 0a74e79cea
Refactor generate_invite_claims, make org_name and org_id optional
6 years ago
Nick Fox 7db66f73f0
Refactor invited_by_email check
6 years ago
Nick Fox 2f5bdc23f6
Fix formatting and add vault link to notification emails
6 years ago
Nick Fox cec28a85ac
Update admin page to work with new invitation flow
6 years ago
Daniel García 5f49ecd7f3
Updated dependencies to use u2f crate directly, and some style changes
6 years ago
Nick Fox 736c0e62f2
Send emails to inviters/invitees when invites are accepted/confirmed
6 years ago
Nick Fox 43eb064351
Replace invite/reinvite email functions with generic send_email
6 years ago
Daniel García 30e768613b
Start using rustfmt and some style changes to make some lines shorter
6 years ago
Daniel García adb8052689
Updated Error to implement Display and Debug, instead of using custom methods
6 years ago
Daniel García 1483829c94
Removed invalid todo
6 years ago
Daniel García acb9d1b3c6
Remove config option for admin email, embdedded admin page, managed IO::Error, and added security and cache headers globally
6 years ago
Daniel García 301919d9d4
Modified navigation bar and corrected some comments
6 years ago
Daniel García 2bb0b15e04
Implemented better errors for JWT
6 years ago
Daniel García 250a2b340f
Use new Errors in latest changes
6 years ago
Daniel García b2fc0499f6
Finish invite functionality, and remove virtual organization
6 years ago
Daniel García 6a99849a1e
Implemented proper error handling, now we can do `user.save($conn)?;` and it works.
6 years ago
Daniel García 172f1770cf
Embed the icon in the binary, no need to download when it's not going to change
6 years ago
Daniel García 1b5134dfe2
Fixed delete user when 2FA is enabled, implemented delete user for admin panel, and the front-end part for invite user. Secured admin panel behind a configurable token.
6 years ago
Daniel García 5fecf09631
Initial version of admin panel, list users and reload user list works. No serious auth method yet, password is 'token123'
6 years ago
Daniel García 7d7d8afed9
Merge pull request #318 from njfox/reinvite_endpoint
6 years ago
Nick Fox f20c4705d9
Refactor invite claims and disallow reinvites to virtual_org
6 years ago
Nick Fox 3142d8d01f
Add more detail to invitation not found error
6 years ago
Nick Fox 84fa5a4ed6
Implement reinvite endpoint
6 years ago
Daniel García 004a3f891f
Merge pull request #315 from aksdb/master
6 years ago
Andreas Schneider e7ea5097f4 Restrict join on users_collections to current user (fixes #313)
6 years ago
Miroslav Prasil 8451a70de6 Rewrite find_by_user_uuid to use one query
6 years ago
Nick Fox ec715d78fb
Change log timestamp format so fail2ban can parse it
6 years ago
Nick Fox b0ac640d8b
Use JWT to validate existing user invites
6 years ago
Daniel García 2b24b17609
Merge pull request #295 from njfox/invite_emails
6 years ago
Nick Fox 2cd736ab81
Validate JWT if a user registers with SMTP invites enabled
6 years ago
Nick Fox 99256b9b3a
Prefix unused params with underscore
6 years ago
Nick Fox 26bf7bc12f
Use upstream jslib invite/registration workflow
6 years ago
Daniel García b3ec8f2611
Merge pull request #302 from tycho/icon-cache-ttl
6 years ago
Steven Noonan a55c048a62
icons: implement positive/negative cache TTLs
6 years ago
Steven Noonan 848cd1dbec
add environment variables for ICON_CACHE_TTL and ICON_CACHE_NEGTTL
6 years ago
Daniel García 149e69414f
Merge pull request #293 from dheimerl/patch-1
6 years ago
dheimerl 9a7d3634d5
Changed frame-ancestors to use 'self'
6 years ago
dheimerl 7f7c936049
Fixed web.rs
6 years ago
Nick Fox 9479108fb7
Remove CONFIG.email_invitations
6 years ago
Nick Fox 042c1072d9
Remove CONFIG.email_invitation option
6 years ago
Daniel García 5a9aab1a32
Implement fromform, and ignore case and underscores, fixes #298
6 years ago
dheimerl 037eb0b790
Update web.rs
6 years ago
Nick Fox 4910b14d57
Implement email invitations and registration workflow
6 years ago
Nick Fox d428120ec6
Add email_invitations config option
6 years ago
Nick Fox e2907f4250
Add invite email functionality
6 years ago
Nick Fox 680f5e83d8
Add Invite JWT struct and supporting functions
6 years ago
Daniel García 4e827e4f8a
Implement better retry and use it while saving device
6 years ago
algebro e26e2319da Close #264. Usernames and IP addresses are logged on successful authentication
6 years ago
Daniel García 7adc045b80
Updated IP logging to use client_ip, to match old remote behavior.
6 years ago
Daniel García 19754c967f
More changes to the push token, and filtered multipart logs
6 years ago
Daniel García 738ad2127b
Fixed some clippy linting issues
6 years ago
Daniel García cb930a0858
Remove some required values during login, now uses default values
6 years ago
Daniel García 94810c106a
Migrate to rust 2018 edition
6 years ago
Daniel García 2fde4e6933
Implemented proper logging, with support for file logging, timestamp and syslog (this last one is untested)
6 years ago
Daniel García dc1bb6de20
Update device push token methods to more closely follow the official server response
6 years ago
Daniel García 6364c05789
Fix attachments during key rotation, add individual attachment key
6 years ago
Daniel García f71f10eac6
Implemented key rotation with the latest vault
6 years ago
Daniel García f1acc1e05a
Merge branch 'master' into rocket-0.4
6 years ago
Daniel García 3d36ac4601
Remove unwrap in connection_lost
6 years ago
Daniel García 00abd4c853
Add create endpoint, fixes #253, fixes #261
6 years ago
Daniel García a4550e51ea
Update dependencies and add /ciphers/create
6 years ago
Daniel García 5edbd0e952
Merge branch 'master' into rocket-0.4
6 years ago
Daniel García 17052b665f
Merge pull request #257 from Step7750/fix-nfc-mobile
6 years ago
Stepan Fedorko-Bartos f344dbaad4 Fixes NFC Response for Mobile Login
6 years ago
Daniel García c5c9e3fd65
Merge pull request #254 from Step7750/master
6 years ago
Stepan Fedorko-Bartos aba9c28226 Disable Yubikey 2FA if 0 Keys Provided
6 years ago
Stepan Fedorko-Bartos 82e2b8a8c0 Code style changes
6 years ago
Miroslav Prasil 044cf19913 Prevent accepted user from seeing ciphers until confirmed (fixes #196)
6 years ago
Stepan Fedorko-Bartos 6d735806c0 Ensures Yubico Creds are set when opening Yubikey Modal
6 years ago
Stepan Fedorko-Bartos 2433d39df5 Allows Custom Yubico OTP Server
6 years ago
Stepan Fedorko-Bartos 9e0e4b13c5 Adds Yubikey OTP Support
6 years ago
Stepan Fedorko-Bartos e66436625c Adds Yubico Client ID and Secret Key Env Vars
6 years ago
Daniel García f84cbeaaf8
Merge branch 'master' into rocket-0.4
6 years ago
Miroslav Prasil dd684753d0 Fix gt()
6 years ago
Miroslav Prasil f3e6cc6ffd Set PartialOrd to consider invalid i32 UserOrgType lower than anything
6 years ago
Miroslav Prasil b94f4db52a Fix #242
6 years ago
Miroslav Prasil 66a4c5d48b Implement comparison between i32 and UserOrgType
6 years ago
Daniel García 4638786507
Merge branch 'master' into rocket-0.4
6 years ago
Roman Hargrave 62bc58e145 Clean up after u2f endpoint split
6 years ago
Roman Hargrave 760e0ab805 Initial u2f fix
6 years ago
Daniel García 6eb1c3d638
Fixed change in organizations header, now Request::get_param() are indexed by segment, not dynamic parameter.
6 years ago
Daniel García bc532f54d5
Improve login query parsing
6 years ago
Daniel García c673370103
Updated bw_rs to Rocket version 0.4-rc1
6 years ago