Commit Graph

564 Commits (ebb36235a70a2c539a7656454de3478ae776aa22)

Author SHA1 Message Date
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
janost c32c65d367 Accept PUT and POST on /settings/domains, returns JsonResult, fixes saving Custom Equivalent Domains
6 years ago
janost daa66b08dc Fix /sync without query string
6 years ago
janost 55fbd8d468 Don't send Domains if excludeDomains=true on /sync
6 years ago
Miroslav Prasil 2e7fa6440b Do not spawn WS thread if it's disabled
6 years ago
Miroslav Prasil 9ecc98c3cc Disable WebSockets negotiation by default
6 years ago
Daniel García 02fd68d63b
Merge pull request #218 from janost/refactor-folder-save
6 years ago
janost e985221b50 User::save() should return QueryResult instead of bool
6 years ago
janost 77cf63c06d Folder::save() should return QueryResult instead of bool
6 years ago
Daniel García faec050a6d
Merge pull request #217 from janost/refactor-device-save
6 years ago
janost 58a78ffa54 Device::save() should return QueryResult instead of bool
6 years ago
janost 64f6c60bfd Organization::save() and UserOrganization::save() should return QueryResult instead of bool
6 years ago
Miroslav Prasil a28caa33ef Implement poor man's admin panel
6 years ago
Daniel García ce4fedf191
Change error response to be closer to upstream
6 years ago
janost 5292d38c73 CollectionCipher::save() and delete() should return QueryResult instead of bool
6 years ago
Daniel García 1049646e27
Merge pull request #210 from janost/cipher-save-refactor
6 years ago
janost 380cf06211 Cipher::save() should return QueryResult instead of bool
6 years ago
janost c29bc9309a Return proper error message for org reinvite
6 years ago
Daniel García 7112c86471
Updated dependencies, removed valid mail check (now done by lettre), and updated global domains file
6 years ago
Daniel García 2aabf14372
Merge pull request #206 from mprasil/collection_revision
6 years ago
Miroslav Prasil d9457e929c Add continuation token when we return object list
6 years ago
Miroslav Prasil 86b49856a7 Handle return value from Collection::save()
6 years ago
Miroslav Prasil 54f54ee845 Update revision for users on collection save
6 years ago
Miroslav Prasil c3c74506a7 Add missing fields to returned Org json
6 years ago
Miroslav Prasil fb4e6bab14 Clean up the share_collection handling
6 years ago
Daniel García 9eaa9c1a17
Add WEBSOCKET_ADDRESS config option (Fixes #199)
6 years ago
Daniel García 3df31e3464
Temp fix for OpenSSL 1.1.1 compatibility
6 years ago
Daniel García ebb66c374e
Implement KDF iterations change (Fixes #195)
6 years ago
Miroslav Prasil f7951b44ba Add alias for DELETE call on accounts
6 years ago
Daniel García b75ba216d1
Return default prelogin values when the user doesn't exist
6 years ago
Daniel García 8651df8c2a
Fixed some lint issues
6 years ago
Daniel García 948554a20f
Added config option for websocket port, and reworked the config parsing a bit.
6 years ago
Daniel García 928e2424c0
Updated dependencies and fixed errors
6 years ago
Daniel García a01fee0b9f
Merge branch 'ws'
6 years ago
Daniel García f397f0cbd0
Implement organization import for admins and owners (Fixes #178)
6 years ago
Daniel García 3e1afb139c
Remove unnecessary return
6 years ago
Daniel García d66d4fd87f Add error message when the proxy doesn't route websockets correctly
6 years ago
Daniel García 1b20a25514
Merge pull request #173 from mprasil/poormans_invites
6 years ago
Miroslav Prasil c1cd4d9a6b Modify User::new to be keyless and paswordless
6 years ago
Daniel García b63693aefb
Merge pull request #137 from stammw/master
6 years ago
Miroslav Prasil ec05f14f5a Implement poor man's invitation via Organization invitation
6 years ago
Jean-Christophe BEGUE 37d88be2be return an error when email adress for password hint is not valid
6 years ago
Jean-Christophe BEGUE 1c641d7635 Special messages when user has no password hint
6 years ago
Jean-Christophe BEGUE e2ab2f7306 Save None instead of empty password hint
6 years ago
Daniel García 69dcbdd3b2 Merge branch 'master' into ws
6 years ago
Miroslav Prasil c58682e3fb Fix the logic in user edditing
6 years ago
Miroslav Prasil db111ae2a0 Check properly the user membership in Organization
6 years ago
Miroslav Prasil 049aa33f17 Fix editing users in Organization
6 years ago
Shane A. Faulkner d8e5e53273 Add notifications for cipher delete and create
6 years ago
Shane A. Faulkner b6502e9e9d Add support for CipherUpdate notifications
6 years ago
Daniel García d70864ac73 Initial version of websockets notification support.
6 years ago
Miroslav Prasil d336d89b83 Fix editing shared cipher (fixes #164)
6 years ago
Baelyk fe473b9e75 `Attachment::save()` returns Result instead of bool (#161)
6 years ago
mprasil 062ae4dd59 Allow non-Admin user to share to collection (fixes #157) (#159)
6 years ago
mprasil 3cfdf9b585 Add DELETE handlers fo cipher and attachment deletion (fixes #158) (#160)
6 years ago
Kumar Ankur 781056152a Support password history #155 (#156)
6 years ago
Baelyk c386b3bcf7 Add IP and Username to failed login attempts
6 years ago
Daniel García 8d1ee859f2 Implemented basic support for prelogin and notification negotiation
6 years ago
Miroslav Prasil 2b2401be19 Update affected users revision on cipher and folder change
6 years ago
Miroslav Prasil 9eea0151ba Update user revision timestamp on Organization changes
6 years ago
Miroslav Prasil 40d09ddd2a Add PUT alias for Organization updates
6 years ago
Daniel García d332e87655
Merge pull request #144 from mprasil/collection_revision
6 years ago
Miroslav Prasil a5ef8aef0f Update affected users revision when there are collection changes
6 years ago
Miroslav Prasil 4fb09c5b4d Actually update the revision date for user struct, not just in DB
6 years ago
Jean-Christophe BEGUE 9e63985b28 Check email validity before using it for password hint sending
6 years ago
Daniel García 6fdeeb56ce
Merge pull request #140 from mprasil/error_format
6 years ago
Daniel García b002d34cd4
Merge pull request #139 from mprasil/edit_shared_fix
6 years ago
Jean-Christophe BEGUE 401aa7c699 make SMTP authentication optionnal, let lettre pick the better auth mechanism
6 years ago
Miroslav Prasil 12a2dc0901 Add PUT alias for profile update
6 years ago
Miroslav Prasil b3f3fd81ac Update theerror format to show message in new Vault
6 years ago
Miroslav Prasil f2fec345ec Add PUT alias for editing cipher
6 years ago
Jean-Christophe BEGUE d68f57cbba Fix password hint showing logic
6 years ago
Jean-Christophe BEGUE 19e0605d30 Better message into the password hint email
6 years ago
Jean-Christophe BEGUE 812387e586 SMTP integration, send password hint by email.
6 years ago
Miroslav Prasil 00b882935f Deserialize "null" to empty Vec for Collections
6 years ago
Miroslav Prasil 0dfd9c7670 Add couple more aliases for PUTs and DELETEs
6 years ago
Miroslav Prasil 6ede1743ac add alias for PUT collections-admin
6 years ago
Daniel García d3f357b708 Implemented PUT for u2f registration
6 years ago
Daniel García 16056626b0
Merge pull request #131 from mprasil/revision_date
6 years ago
Jean-Christophe BEGUE f7ffb81d9e SMTP configuration parsing and checking
6 years ago
Miroslav Prasil 626a3c93ba Revert "Merge branch 'beta' of https://github.com/krankur/bitwarden_rs into beta"
6 years ago
Miroslav Prasil 3f5a99916a Implement update_revision trigger
6 years ago
Miroslav Prasil b5a057f063 Merge branch 'master' into beta
6 years ago
Kumar Ankur 3fd3d8d5e9 Merge branch 'beta' of https://github.com/krankur/bitwarden_rs into beta
6 years ago
Kumar Ankur 5f6d721c09 Implemented PUT for /two-factor/authenticator and /two-factor/disable
6 years ago
Kumar Ankur ddda86b90d Implemented bulk cipher share (share selected) #100
6 years ago
Daniel García c6256e1455
Merge pull request #128 from mprasil/revision_date
6 years ago
Miroslav Prasil 58c1545707 Return revision date in miliseconds (fixes #127)
6 years ago
Jean-Christophe BEGUE d3b4b10d18 Add a explaination to the password hint message #85
6 years ago
Jean-Christophe BEGUE c031ae9f2f Make password hints available in the error message #85
6 years ago
Kumar Ankur aac1304b46 clean up
6 years ago
Kumar Ankur 7dfc759691 Implmeneted DELETE on 'api/ciphers' to delete selected ciphers (#98)
6 years ago
Kumar Ankur 74e2ca81ae Implemented PUT for single cipher sharing (#97)
6 years ago
Miroslav Prasil b163aeb8ca Merge changes in master to beta branch (concurrency fixes)
6 years ago
Kumar Ankur 0e095a9fa4 change to reuse the logic for POST in PUT as well
6 years ago
Kumar Ankur 2f6aa3c363 Reverting removal of 'api/ciphers/move' POST as it is required for backward compatibility
6 years ago
Kumar Ankur fcc485384f clean up
6 years ago
Kumar Ankur 91a2319325 Implementing PUT for ciphers/move (#99)
6 years ago
Shane A. Faulkner 34d2648509
Merge pull request #3 from shauder/master
6 years ago
Miroslav Prasil 2872f40d13 WAL journal mode and delete retry added
6 years ago
Daniel García a291dea16f Updated dependencies and Docker image to new web-vault
6 years ago