Commit Graph

545 Commits

Author SHA1 Message Date
Nick Fox 2f5bdc23f6
Fix formatting and add vault link to notification emails 2019-01-05 13:36:08 -05:00
Nick Fox cec28a85ac
Update admin page to work with new invitation flow 2019-01-04 10:32:51 -05:00
Daniel García 5f49ecd7f3
Updated dependencies to use u2f crate directly, and some style changes 2019-01-04 00:25:38 +01:00
Nick Fox 736c0e62f2
Send emails to inviters/invitees when invites are accepted/confirmed 2019-01-02 22:20:39 -05:00
Nick Fox 43eb064351
Replace invite/reinvite email functions with generic send_email 2019-01-02 22:19:44 -05:00
Daniel García 30e768613b
Start using rustfmt and some style changes to make some lines shorter 2018-12-30 23:34:31 +01:00
Daniel García adb8052689
Updated Error to implement Display and Debug, instead of using custom methods 2018-12-30 21:43:56 +01:00
Daniel García 1483829c94
Removed invalid todo 2018-12-30 21:43:56 +01:00
Daniel García acb9d1b3c6
Remove config option for admin email, embdedded admin page, managed IO::Error, and added security and cache headers globally 2018-12-30 21:43:56 +01:00
Daniel García 301919d9d4
Modified navigation bar and corrected some comments 2018-12-30 21:43:55 +01:00
Daniel García 2bb0b15e04
Implemented better errors for JWT 2018-12-30 21:43:55 +01:00
Daniel García 250a2b340f
Use new Errors in latest changes 2018-12-30 21:43:55 +01:00
Daniel García b2fc0499f6
Finish invite functionality, and remove virtual organization 2018-12-30 21:40:26 +01:00
Daniel García 6a99849a1e
Implemented proper error handling, now we can do `user.save($conn)?;` and it works.
In the future, maybe we can do the same with the `find_by_id` methods that return an Option.
2018-12-30 21:31:12 +01:00
Daniel García 172f1770cf
Embed the icon in the binary, no need to download when it's not going to change 2018-12-30 21:31:12 +01:00
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. 2018-12-30 21:31:11 +01:00
Daniel García 5fecf09631
Initial version of admin panel, list users and reload user list works. No serious auth method yet, password is 'token123' 2018-12-30 21:31:11 +01:00
Daniel García 7d7d8afed9
Merge pull request #318 from njfox/reinvite_endpoint
Add email reinvite endpoint
2018-12-30 21:22:26 +01:00
Nick Fox f20c4705d9
Refactor invite claims and disallow reinvites to virtual_org 2018-12-30 00:19:01 -05:00
Nick Fox 3142d8d01f
Add more detail to invitation not found error 2018-12-29 23:28:19 -05:00
Nick Fox 84fa5a4ed6
Implement reinvite endpoint 2018-12-29 23:24:38 -05:00
Daniel García 004a3f891f
Merge pull request #315 from aksdb/master
Restrict join on users_collections to current user (fixes #313)
2018-12-28 21:06:30 +01:00
Andreas Schneider e7ea5097f4 Restrict join on users_collections to current user (fixes #313) 2018-12-28 15:25:51 +01:00
Miroslav Prasil 8451a70de6 Rewrite find_by_user_uuid to use one query 2018-12-27 18:56:01 +01:00
Nick Fox ec715d78fb
Change log timestamp format so fail2ban can parse it 2018-12-26 11:54:31 -05:00
Nick Fox b0ac640d8b
Use JWT to validate existing user invites 2018-12-23 15:15:44 -05:00
Daniel García 2b24b17609
Merge pull request #295 from njfox/invite_emails
Add Email Invite Functionality
2018-12-21 16:04:19 +01:00
Nick Fox 2cd736ab81
Validate JWT if a user registers with SMTP invites enabled 2018-12-20 22:16:41 -05:00
Nick Fox 99256b9b3a
Prefix unused params with underscore 2018-12-20 21:37:03 -05:00
Nick Fox 26bf7bc12f
Use upstream jslib invite/registration workflow 2018-12-18 23:16:03 -05:00
Daniel García b3ec8f2611
Merge pull request #302 from tycho/icon-cache-ttl
implement TTLs for icon cache
2018-12-18 23:34:16 +01:00
Steven Noonan a55c048a62
icons: implement positive/negative cache TTLs
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2018-12-18 13:33:32 -08:00
Steven Noonan 848cd1dbec
add environment variables for ICON_CACHE_TTL and ICON_CACHE_NEGTTL
These aren't used yet, but will be utilized by the icon caching service
in a subsequent patch.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2018-12-18 13:33:31 -08:00
Daniel García 149e69414f
Merge pull request #293 from dheimerl/patch-1
Update web.rs
2018-12-18 19:00:43 +01:00
dheimerl 9a7d3634d5
Changed frame-ancestors to use 'self' 2018-12-18 10:19:35 -06:00
dheimerl 7f7c936049
Fixed web.rs 2018-12-17 22:59:53 -06:00
Nick Fox 9479108fb7
Remove CONFIG.email_invitations 2018-12-17 17:10:09 -05:00
Nick Fox 042c1072d9
Remove CONFIG.email_invitation option 2018-12-17 17:02:15 -05:00
Daniel García 5a9aab1a32
Implement fromform, and ignore case and underscores, fixes #298 2018-12-16 20:00:16 +01:00
dheimerl 037eb0b790
Update web.rs
Add frame-ancestors to allow U2F to work in Chrome (and possibly Firefox) extension
2018-12-15 13:23:07 -06:00
Nick Fox 4910b14d57
Implement email invitations and registration workflow 2018-12-14 21:56:00 -05:00
Nick Fox d428120ec6
Add email_invitations config option 2018-12-14 21:54:44 -05:00
Nick Fox e2907f4250
Add invite email functionality 2018-12-14 21:54:03 -05:00
Nick Fox 680f5e83d8
Add Invite JWT struct and supporting functions 2018-12-14 21:52:16 -05:00
Daniel García 4e827e4f8a
Implement better retry and use it while saving device 2018-12-12 22:15:54 +01:00
algebro e26e2319da Close #264. Usernames and IP addresses are logged on successful authentication 2018-12-11 15:20:06 -05:00
Daniel García 7adc045b80
Updated IP logging to use client_ip, to match old remote behavior.
Improved error logging, now it won't show a generic error message in some situations.
Removed delete device, which is not needed as it will be overwritten later.
Logged more info when an error occurs saving a device.
Added orgmanager to JWT claims.
2018-12-09 17:58:38 +01:00
Daniel García 19754c967f
More changes to the push token, and filtered multipart logs 2018-12-07 18:25:18 +01:00
Daniel García 738ad2127b
Fixed some clippy linting issues 2018-12-07 15:01:29 +01:00
Daniel García cb930a0858
Remove some required values during login, now uses default values 2018-12-07 14:32:40 +01:00
Daniel García 94810c106a
Migrate to rust 2018 edition 2018-12-07 02:05:45 +01:00
Daniel García 2fde4e6933
Implemented proper logging, with support for file logging, timestamp and syslog (this last one is untested) 2018-12-06 20:35:25 +01:00
Daniel García dc1bb6de20
Update device push token methods to more closely follow the official server response 2018-12-06 16:28:36 +01:00
Daniel García 6364c05789
Fix attachments during key rotation, add individual attachment key 2018-11-27 17:24:12 +01:00
Daniel García f71f10eac6
Implemented key rotation with the latest vault 2018-11-24 23:00:41 +01:00
Daniel García f1acc1e05a
Merge branch 'master' into rocket-0.4 2018-11-21 15:35:34 +01:00
Daniel García 3d36ac4601
Remove unwrap in connection_lost 2018-11-21 15:07:18 +01:00
Daniel García 00abd4c853
Add create endpoint, fixes #253, fixes #261 2018-11-19 20:27:49 +01:00
Daniel García a4550e51ea
Update dependencies and add /ciphers/create 2018-11-19 20:21:02 +01:00
Daniel García 5edbd0e952
Merge branch 'master' into rocket-0.4
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/api/core/mod.rs
2018-11-19 19:52:43 +01:00
Daniel García 17052b665f
Merge pull request #257 from Step7750/fix-nfc-mobile
Fixes NFC Response for Mobile Yubikey OTP Login
2018-11-17 15:28:41 +01:00
Stepan Fedorko-Bartos f344dbaad4 Fixes NFC Response for Mobile Login 2018-11-17 01:25:07 -07:00
Daniel García c5c9e3fd65
Merge pull request #254 from Step7750/master
Adds Yubikey OTP Support
2018-11-16 20:39:03 +01:00
Stepan Fedorko-Bartos aba9c28226 Disable Yubikey 2FA if 0 Keys Provided 2018-11-16 12:07:00 -07:00
Stepan Fedorko-Bartos 82e2b8a8c0 Code style changes 2018-11-16 11:52:01 -07:00
Miroslav Prasil 044cf19913 Prevent accepted user from seeing ciphers until confirmed (fixes #196) 2018-11-16 14:21:26 +00:00
Stepan Fedorko-Bartos 6d735806c0 Ensures Yubico Creds are set when opening Yubikey Modal 2018-11-15 18:58:44 -07:00
Stepan Fedorko-Bartos 2433d39df5 Allows Custom Yubico OTP Server 2018-11-15 18:54:53 -07:00
Stepan Fedorko-Bartos 9e0e4b13c5 Adds Yubikey OTP Support 2018-11-15 18:43:09 -07:00
Stepan Fedorko-Bartos e66436625c Adds Yubico Client ID and Secret Key Env Vars 2018-11-15 18:40:27 -07:00
Daniel García f84cbeaaf8
Merge branch 'master' into rocket-0.4
# Conflicts:
#	src/db/models/organization.rs
2018-11-14 16:14:49 +01:00
Miroslav Prasil dd684753d0 Fix gt() 2018-11-13 21:38:56 +00:00
Miroslav Prasil f3e6cc6ffd Set PartialOrd to consider invalid i32 UserOrgType lower than anything 2018-11-13 16:34:21 +00:00
Miroslav Prasil b94f4db52a Fix #242 2018-11-13 15:34:37 +00:00
Miroslav Prasil 66a4c5d48b Implement comparison between i32 and UserOrgType 2018-11-12 17:13:25 +00:00
Daniel García 4638786507
Merge branch 'master' into rocket-0.4
# Conflicts:
#	src/api/core/mod.rs
2018-11-09 16:06:24 +01:00
Roman Hargrave 62bc58e145 Clean up after u2f endpoint split 2018-11-09 00:27:43 -06:00
Roman Hargrave 760e0ab805 Initial u2f fix 2018-11-09 00:00:31 -06:00
Daniel García 6eb1c3d638
Fixed change in organizations header, now Request::get_param() are indexed by segment, not dynamic parameter. 2018-11-06 16:53:34 +01:00
Daniel García bc532f54d5
Improve login query parsing 2018-11-01 19:25:10 +01:00
Daniel García c673370103
Updated bw_rs to Rocket version 0.4-rc1 2018-11-01 19:25:09 +01:00
janost c32c65d367 Accept PUT and POST on /settings/domains, returns JsonResult, fixes saving Custom Equivalent Domains 2018-10-23 00:32:43 +02:00
janost daa66b08dc Fix /sync without query string 2018-10-19 00:54:40 +02:00
janost 55fbd8d468 Don't send Domains if excludeDomains=true on /sync 2018-10-17 23:22:07 +02:00
Miroslav Prasil 2e7fa6440b Do not spawn WS thread if it's disabled 2018-10-15 15:08:15 +01:00
Miroslav Prasil 9ecc98c3cc Disable WebSockets negotiation by default 2018-10-14 23:25:16 +01:00
Daniel García 02fd68d63b
Merge pull request #218 from janost/refactor-folder-save
Folder::save() should return QueryResult instead of bool
2018-10-14 20:07:27 +02:00
janost e985221b50 User::save() should return QueryResult instead of bool 2018-10-14 19:33:12 +02:00
janost 77cf63c06d Folder::save() should return QueryResult instead of bool 2018-10-14 18:25:04 +02:00
Daniel García faec050a6d
Merge pull request #217 from janost/refactor-device-save
Device::save() should return QueryResult instead of bool
2018-10-14 17:35:59 +02:00
janost 58a78ffa54 Device::save() should return QueryResult instead of bool 2018-10-14 16:17:37 +02:00
janost 64f6c60bfd Organization::save() and UserOrganization::save() should return QueryResult instead of bool 2018-10-14 16:04:23 +02:00
Miroslav Prasil a28caa33ef Implement poor man's admin panel 2018-10-12 15:20:10 +01:00
Daniel García ce4fedf191
Change error response to be closer to upstream 2018-10-10 20:37:04 +02:00
janost 5292d38c73 CollectionCipher::save() and delete() should return QueryResult instead of bool 2018-10-07 11:06:11 +02:00
Daniel García 1049646e27
Merge pull request #210 from janost/cipher-save-refactor
Cipher::save() should return QueryResult instead of bool
2018-10-06 16:08:04 +02:00
janost 380cf06211 Cipher::save() should return QueryResult instead of bool 2018-10-06 14:13:49 +02:00
janost c29bc9309a Return proper error message for org reinvite 2018-10-05 12:29:41 +02:00
Daniel García 7112c86471
Updated dependencies, removed valid mail check (now done by lettre), and updated global domains file 2018-10-04 00:01:04 +02:00
Daniel García 2aabf14372
Merge pull request #206 from mprasil/collection_revision
Collection update updates User revision
2018-10-01 19:31:43 +02:00
Miroslav Prasil d9457e929c Add continuation token when we return object list 2018-10-01 17:55:48 +01:00
Miroslav Prasil 86b49856a7 Handle return value from Collection::save() 2018-10-01 17:50:31 +01:00
Miroslav Prasil 54f54ee845 Update revision for users on collection save 2018-10-01 17:04:15 +01:00
Miroslav Prasil c3c74506a7 Add missing fields to returned Org json 2018-10-01 16:00:11 +01:00
Miroslav Prasil fb4e6bab14 Clean up the share_collection handling 2018-10-01 15:59:10 +01:00
Daniel García 9eaa9c1a17
Add WEBSOCKET_ADDRESS config option (Fixes #199) 2018-09-28 13:50:04 +02:00
Daniel García 3df31e3464
Temp fix for OpenSSL 1.1.1 compatibility 2018-09-19 21:45:50 +02:00
Daniel García ebb66c374e
Implement KDF iterations change (Fixes #195) 2018-09-19 17:30:14 +02:00
Miroslav Prasil f7951b44ba Add alias for DELETE call on accounts 2018-09-18 11:13:45 +01:00
Daniel García b75ba216d1
Return default prelogin values when the user doesn't exist 2018-09-13 23:04:52 +02:00
Daniel García 8651df8c2a
Fixed some lint issues 2018-09-13 21:55:23 +02:00
Daniel García 948554a20f
Added config option for websocket port, and reworked the config parsing a bit.
Added SMTP_FROM config to examples and made it mandatory, it doesn't make much sense to not specify the from address.
2018-09-13 20:59:51 +02:00
Daniel García 928e2424c0
Updated dependencies and fixed errors 2018-09-13 16:05:13 +02:00
Daniel García a01fee0b9f
Merge branch 'ws'
# Conflicts:
#	Cargo.toml
#	src/api/core/ciphers.rs
#	src/main.rs
2018-09-13 15:59:45 +02:00
Daniel García f397f0cbd0
Implement organization import for admins and owners (Fixes #178) 2018-09-13 15:16:24 +02:00
Daniel García 3e1afb139c
Remove unnecessary return 2018-09-12 23:58:02 +02:00
Daniel García d66d4fd87f Add error message when the proxy doesn't route websockets correctly 2018-09-11 17:09:33 +02:00
Daniel García 1b20a25514
Merge pull request #173 from mprasil/poormans_invites
Implement poor man's invitation via Organization invitation
2018-09-11 16:48:56 +02:00
Miroslav Prasil c1cd4d9a6b Modify User::new to be keyless and paswordless 2018-09-11 14:25:12 +01:00
Daniel García b63693aefb
Merge pull request #137 from stammw/master
SMTP implementation, along with password HINT email
2018-09-11 14:58:09 +02:00
Miroslav Prasil ec05f14f5a Implement poor man's invitation via Organization invitation 2018-09-11 13:09:59 +01:00
Jean-Christophe BEGUE 37d88be2be return an error when email adress for password hint is not valid 2018-09-11 13:12:24 +02:00
Jean-Christophe BEGUE 1c641d7635 Special messages when user has no password hint 2018-09-11 13:04:34 +02:00
Jean-Christophe BEGUE e2ab2f7306 Save None instead of empty password hint 2018-09-11 13:00:59 +02:00
Daniel García 69dcbdd3b2 Merge branch 'master' into ws 2018-09-04 17:46:38 +02:00
Miroslav Prasil c58682e3fb Fix the logic in user edditing 2018-09-04 16:10:26 +01:00
Miroslav Prasil db111ae2a0 Check properly the user membership in Organization 2018-09-04 13:37:44 +01:00
Miroslav Prasil 049aa33f17 Fix editing users in Organization 2018-09-04 12:15:46 +01:00
Shane A. Faulkner d8e5e53273 Add notifications for cipher delete and create 2018-09-01 10:59:13 -05:00
Shane A. Faulkner b6502e9e9d Add support for CipherUpdate notifications 2018-08-31 23:30:53 -05:00
Daniel García d70864ac73 Initial version of websockets notification support.
For now only folder notifications are sent (create, rename, delete).
The notifications are only tested between two web-vault sessions in different browsers, mobile apps and browser extensions are untested.

The websocket server is exposed in port 3012, while the rocket server is exposed in another port (8000 by default). To make notifications work, both should be accessible in the same port, which requires a reverse proxy.

My testing is done with Caddy server, and the following config:

```
localhost {

    # The negotiation endpoint is also proxied to Rocket
    proxy /notifications/hub/negotiate 0.0.0.0:8000 {
        transparent
    }

    # Notifications redirected to the websockets server
    proxy /notifications/hub 0.0.0.0:3012 {
        websocket
    }

    # Proxy the Root directory to Rocket
    proxy / 0.0.0.0:8000 {
        transparent
    }
}
```

This exposes the service in port 2015.
2018-08-30 17:58:53 +02:00
Miroslav Prasil d336d89b83 Fix editing shared cipher (fixes #164) 2018-08-30 11:12:29 +01:00
Baelyk fe473b9e75 `Attachment::save()` returns Result instead of bool (#161)
Returning a result instead of a bool as per #6
2018-08-29 15:22:19 +02:00
mprasil 062ae4dd59 Allow non-Admin user to share to collection (fixes #157) (#159)
* Allow non-Admin user to share to collection (fixes #157)

* Better handling of collection sharing
2018-08-29 15:22:03 +02:00
mprasil 3cfdf9b585 Add DELETE handlers fo cipher and attachment deletion (fixes #158) (#160) 2018-08-29 00:48:53 +02:00
Kumar Ankur 781056152a Support password history #155 (#156)
* Password History Support (#155)

* down.sql logic not required as per review comments
2018-08-27 23:08:58 +02:00
Baelyk c386b3bcf7 Add IP and Username to failed login attempts
Resolves #119
2018-08-25 17:07:59 -05:00
Daniel García 8d1ee859f2 Implemented basic support for prelogin and notification negotiation 2018-08-24 19:02:34 +02:00
Miroslav Prasil 2b2401be19 Update affected users revision on cipher and folder change 2018-08-21 17:32:00 +01:00
Miroslav Prasil 9eea0151ba Update user revision timestamp on Organization changes 2018-08-21 13:26:22 +01:00
Miroslav Prasil 40d09ddd2a Add PUT alias for Organization updates 2018-08-21 13:25:52 +01:00
Daniel García d332e87655
Merge pull request #144 from mprasil/collection_revision
Update affected users revision when there are collection changes
2018-08-21 13:47:19 +02:00
Miroslav Prasil a5ef8aef0f Update affected users revision when there are collection changes 2018-08-21 12:20:55 +01:00
Miroslav Prasil 4fb09c5b4d Actually update the revision date for user struct, not just in DB 2018-08-21 10:36:04 +01:00
Jean-Christophe BEGUE 9e63985b28 Check email validity before using it for password hint sending 2018-08-16 21:25:28 +02:00
Daniel García 6fdeeb56ce
Merge pull request #140 from mprasil/error_format
Update the error format to show message in new Vault
2018-08-16 00:52:46 +02:00
Daniel García b002d34cd4
Merge pull request #139 from mprasil/edit_shared_fix
Add PUT alias for editing cipher
2018-08-15 23:02:59 +02:00
Jean-Christophe BEGUE 401aa7c699 make SMTP authentication optionnal, let lettre pick the better auth mechanism 2018-08-15 17:21:19 +02:00
Miroslav Prasil 12a2dc0901 Add PUT alias for profile update 2018-08-15 16:10:40 +01:00
Miroslav Prasil b3f3fd81ac Update theerror format to show message in new Vault 2018-08-15 15:50:07 +01:00
Miroslav Prasil f2fec345ec Add PUT alias for editing cipher 2018-08-15 14:27:37 +01:00
Jean-Christophe BEGUE d68f57cbba Fix password hint showing logic 2018-08-15 14:08:00 +02:00
Jean-Christophe BEGUE 19e0605d30 Better message into the password hint email 2018-08-15 10:17:05 +02:00
Jean-Christophe BEGUE 812387e586 SMTP integration, send password hint by email. 2018-08-15 08:45:18 +02:00
Miroslav Prasil 00b882935f Deserialize "null" to empty Vec for Collections 2018-08-14 11:06:42 +01:00
Miroslav Prasil 0dfd9c7670 Add couple more aliases for PUTs and DELETEs 2018-08-13 16:45:30 +01:00
Miroslav Prasil 6ede1743ac add alias for PUT collections-admin 2018-08-13 16:00:10 +01:00
Daniel García d3f357b708 Implemented PUT for u2f registration 2018-08-13 15:26:01 +02:00
Daniel García 16056626b0
Merge pull request #131 from mprasil/revision_date
Implement update_revision trigger
2018-08-13 14:38:30 +02:00
Jean-Christophe BEGUE f7ffb81d9e SMTP configuration parsing and checking 2018-08-13 13:46:32 +02:00
Miroslav Prasil 626a3c93ba Revert "Merge branch 'beta' of https://github.com/krankur/bitwarden_rs into beta"
This reverts commit 3fd3d8d5e9.
2018-08-13 12:35:41 +01:00
Miroslav Prasil 3f5a99916a Implement update_revision trigger 2018-08-13 10:58:39 +01:00
Miroslav Prasil b5a057f063 Merge branch 'master' into beta 2018-08-10 21:43:16 +01:00
Kumar Ankur 3fd3d8d5e9 Merge branch 'beta' of https://github.com/krankur/bitwarden_rs into beta 2018-08-10 23:49:34 +05:30
Kumar Ankur 5f6d721c09 Implemented PUT for /two-factor/authenticator and /two-factor/disable 2018-08-10 23:20:19 +05:30
Kumar Ankur ddda86b90d Implemented bulk cipher share (share selected) #100 2018-08-10 23:20:19 +05:30
Daniel García c6256e1455
Merge pull request #128 from mprasil/revision_date
Return revision date in miliseconds (fixes #127)
2018-08-10 19:40:56 +02:00
Miroslav Prasil 58c1545707 Return revision date in miliseconds (fixes #127) 2018-08-10 17:18:59 +01:00
Jean-Christophe BEGUE d3b4b10d18 Add a explaination to the password hint message #85 2018-08-10 16:59:23 +02:00
Jean-Christophe BEGUE c031ae9f2f Make password hints available in the error message #85 2018-08-10 15:52:06 +02:00
Kumar Ankur aac1304b46 clean up 2018-08-03 19:31:01 +05:30
Kumar Ankur 7dfc759691 Implmeneted DELETE on 'api/ciphers' to delete selected ciphers (#98) 2018-08-03 19:23:38 +05:30
Kumar Ankur 74e2ca81ae Implemented PUT for single cipher sharing (#97) 2018-08-02 00:07:14 +05:30
Miroslav Prasil b163aeb8ca Merge changes in master to beta branch (concurrency fixes) 2018-08-01 11:37:42 +01:00
Kumar Ankur 0e095a9fa4 change to reuse the logic for POST in PUT as well 2018-08-01 13:50:52 +05:30
Kumar Ankur 2f6aa3c363 Reverting removal of 'api/ciphers/move' POST as it is required for backward compatibility 2018-08-01 11:21:05 +05:30
Kumar Ankur fcc485384f clean up 2018-08-01 04:12:46 +05:30
Kumar Ankur 91a2319325 Implementing PUT for ciphers/move (#99) 2018-08-01 03:58:47 +05:30
Shane A. Faulkner 34d2648509
Merge pull request #3 from shauder/master
Sync working branch with changes in master upstream
2018-07-31 12:05:52 -05:00
Miroslav Prasil 2872f40d13 WAL journal mode and delete retry added 2018-07-31 16:43:43 +01:00
Daniel García a291dea16f Updated dependencies and Docker image to new web-vault 2018-07-21 17:27:00 +02:00
Shane A. Faulkner 98bae4a0a1 Cleanup and working with 2 or less attachments 2018-07-18 15:35:45 -05:00
Miroslav Prasil 233d23a527 Return 404 in case the path doesn't match instead of 500 2018-07-18 11:54:33 +01:00
Miroslav Prasil de72655bb1 Add confirmed check to the OrgHeaders request guard 2018-07-16 10:23:45 +01:00
Shane A. Faulkner 31349a47d3 Very dirty addition of missing api's 2018-07-14 01:09:20 -05:00
Miroslav Prasil 692ed81306 Do not show organization stuff to not accepted user 2018-07-13 17:21:19 +01:00
Daniel García 819622e310 Documented U2F, removed debug prints, and documented missing features 2018-07-13 15:58:50 +02:00
Daniel García 970863ffb1 Set facets contentType 2018-07-13 15:05:00 +02:00
Daniel García 75615bb5c8 Ignore U2F challenge if not provided. Also checked that error_code has to be 0 for a successfull registration 2018-07-13 12:37:46 +02:00
Daniel García 6378d96d1a Add some extra debug prints 2018-07-13 11:07:20 +02:00
Daniel García c722256cbd Remove debug print 2018-07-13 00:40:59 +02:00
Daniel García 8ff50481e5 Use X-Forwarded-Host if available 2018-07-13 00:33:28 +02:00
Daniel García be4e6c6f0c Merge branch 'master' into u2f 2018-07-12 23:54:56 +02:00
Daniel García 2f892cb866 Hide org ciphers from unconfirmed users (Showed deciption error) 2018-07-12 23:45:41 +02:00
Daniel García 4f6f510bd4 Improve domain detection, should fix attachment problems. Otherwise, set the `DOMAIN` env variable to the correct domain 2018-07-12 23:28:16 +02:00
Daniel García dae92b9018 Implemented U2F, refactored Two Factor authentication, registering U2F device and authentication should work. Works on Chrome on MacOS with a virtual device. 2018-07-12 22:22:10 +02:00
Daniel García 1cb67eee69 Implement leave organization (accessed from the bottom of the user's settings page) 2018-07-11 16:30:03 +02:00
Daniel García e88d8c856d Change host url to https when it's enabled, should fix some problems downloading attachments 2018-07-11 16:23:39 +02:00
Daniel García df598d7208 Log posible errors when attaching file 2018-07-06 17:23:12 +02:00
Daniel García 35b4ad69bd Remove unused warnings 2018-07-04 14:27:47 +02:00
Daniel García 22786c8c9d
Merge pull request #55 from mprasil/debug_prints
Remove some extra debug prints
2018-07-01 16:02:18 +02:00
Daniel García a1ffa4c28d Allow TOTP generation in organizations (Fixes #50) 2018-07-01 15:49:52 +02:00
Miroslav Prasil 9f8183deb0 Remove some extra debug prints 2018-07-01 14:48:18 +01:00
Daniel García ea600ab2b8 Don't ignore errors while downloading icons 2018-07-01 15:27:42 +02:00
Miroslav Prasil d84d8d756f Implement delete-admin call 2018-07-01 12:43:11 +01:00
Daniel García 7c316fc19a Added security headers to web-vault (fixes #44) 2018-06-25 20:35:36 +02:00
Daniel García 1c45c2ec3a Implemented API endpoints to modify profile name and hint, and to change email address, fixes #43 2018-06-17 00:08:05 +02:00
Daniel García 0905355629 Fix wrong case in import struct, invite collections and user Uri back-compat 2018-06-13 14:39:29 +02:00
Daniel García 7983ce4f13 Updated global domains file 2018-06-12 23:24:49 +02:00
Daniel García 5fc0472d88 Removed unneeded cipher code for changing case (fixed by last commit) 2018-06-12 23:15:27 +02:00
Daniel García 410ee9f1f7 Fixed case problems, hopefully this time for real 2018-06-12 23:01:14 +02:00
Daniel García 538dc00234 Improved configuration and documented options. Implemented option to disable web vault and to disable the use of bitwarden's official icon servers 2018-06-12 21:09:42 +02:00
Daniel García 515c84d74d Fixed casing issue 2018-06-12 18:01:11 +02:00
Daniel García f72efa899e Updated dependencies and created 'rust-toolchain', to mark a working nightly to rustup users, and hopefully avoid some nightly breakage. 2018-06-12 17:30:36 +02:00
Daniel García 483066b9a0 Some style changes, removed useless matches and formats 2018-06-11 15:44:37 +02:00
Daniel García 57850a3379 Fix SSN field in Identity cipher not loading correctly
It needs to be all uppercase otherwise the web vault doesn't load it
2018-06-01 23:16:10 +02:00
Daniel García b0ee5f6570 Improved two factor auth 2018-06-01 15:08:03 +02:00
Miroslav Prasil ac2ca5812b Remove unused UserOrganization 2018-06-01 13:40:57 +01:00
Miroslav Prasil e2b4f3b13f Bettech check for cipher access 2018-06-01 13:40:40 +01:00
Daniel García 4cf9f83866 Fixed sync 2018-06-01 00:50:22 +02:00
Daniel García 2be1dafe80 Missed some 2018-06-01 00:35:30 +02:00
Daniel García a71a2c2f48 Added missing collections to /api/sync 2018-06-01 00:20:09 +02:00
Daniel García 5ec728683e Make sure the inputs are always in the same case (PascalCase, which is what upstream seems to prefer most of the time) 2018-06-01 00:18:50 +02:00
Daniel García faa26ab8f5 Changed error message 2018-05-31 15:36:51 +02:00
Daniel García 1a4b1a8254 Enabled unused variable warning again, fixed some possible bugs where we didn't check some parameters, and explicitly marked all unused parameters (mostly orgheaders) 2018-05-30 22:30:45 +02:00
Miroslav Prasil 135ab4fb20 Clean up organizations.rs with new request guards 2018-05-30 17:12:18 +01:00
Miroslav Prasil 46f3b229ee Removed unnecessary checks, simplified the code a bit 2018-05-30 16:01:56 +01:00
Miroslav Prasil 62be23b1c0 Support listing and deleting users from collection 2018-05-30 15:40:37 +01:00
Miroslav Prasil 4d50014e35 Implement request guards for organization 2018-05-30 13:35:10 +01:00
Miroslav Prasil 85ecd001a5 Fix user invitation 2018-05-28 17:26:02 +01:00
Daniel García 2cf46e1a5f Make sure TOTP codes can be both Numbers or Strings, fixes #30 2018-05-26 23:04:23 +02:00
Miroslav Prasil a6105f7029 Let find_by_uuid_and_user return indirect collection (#26) 2018-05-21 17:31:46 +01:00
Miroslav Prasil 941747f9e8 Implement deleting Organization 2018-05-19 22:09:32 +01:00
Daniel García 726ba36e5b
Merge pull request #24 from mprasil/myvault_collections
Support editing collections from user vault
2018-05-19 22:56:35 +02:00
Daniel García e301e69ff5 Change update_cipher method to save cipher before creating folder mapping, otherwise there is an error when creating a cipher with a folder value 2018-05-19 22:33:15 +02:00
Miroslav Prasil 2215bdf018 Support editing collections from user vault 2018-05-19 21:30:19 +01:00
Miroslav Prasil a0d2ca3f24 Implement deleting collections 2018-05-16 23:05:50 +01:00
Miroslav Prasil e54b52f109 Improve Folder::delete() to handle FolderCipher 2018-05-16 17:19:52 +01:00
Miroslav Prasil 21c1ab7fda Remove dependent items when removing cipher 2018-05-15 17:28:24 +01:00
Miroslav Prasil 180a02030c Remove user_uuid when sharing to organization 2018-05-15 16:08:19 +01:00
Miroslav Prasil 3b537f70ac Remove unnecessary test and rewrite match 2018-05-15 13:57:00 +01:00
Miroslav Prasil f43d329e22 Don't clone() unused value 2018-05-15 11:10:10 +01:00
Miroslav Prasil 8b18c4c633 Implement cipher sharing 2018-05-14 16:19:24 +01:00
Miroslav Prasil c054d0094a set max storage to non-null value 2018-05-14 15:04:13 +01:00
Miroslav Prasil b0472d7aab Delete owned ciphers on account deletion 2018-05-13 13:21:51 +01:00
Miroslav Prasil 89e544009f Fix duplicate ciphers returned from find_by_user 2018-05-13 13:21:51 +01:00
Miroslav Prasil 8bed867798 Also list shared ciphers in find_by_user 2018-05-13 13:21:51 +01:00
Daniel García fcef2fa1f1 Check that the database folder exists before connecting
If the parent folder ('data' by default) doesn't exist, the database won't be able to connect.
2018-05-12 22:55:18 +02:00
Miroslav Prasil dfb1232081 Filter collection lists based on user 2018-05-11 21:08:14 +01:00
Miroslav Prasil 9cf449e1c5 Error on invalid collection ID in post_collections_admin 2018-05-11 21:08:14 +01:00
Miroslav Prasil e5c9d19e25 Remove outdated comment 2018-05-11 21:08:14 +01:00
Miroslav Prasil 34f2aa68f4 Implement Collection-Cipher mapping 2018-05-11 21:08:14 +01:00
Daniel García 032134aabc Fixed some errors asigning collections to users 2018-05-11 20:08:02 +02:00
Daniel García 7e7c3681da Implemented public key method correctly, which fixes decryption errors in collections and organizations 2018-05-04 22:54:23 +02:00
Daniel García 79b4ddcae8 Added read_only bit to users_collections 2018-05-04 20:10:35 +02:00
Daniel García 0cb58add54 Implemented some admin methods, inserted CollectionsUsers only when Org accessAll == false, and implemented find_collection when user has access_all in Org 2018-05-04 19:47:31 +02:00
Daniel García 92236394e6 Delete folder mappings when deleting folders and make sure that we can't change a ciphers owner when created 2018-05-04 19:02:19 +02:00
Miroslav Prasil c4360ee697 Save extra query when checking write access 2018-05-04 13:42:30 +01:00
Miroslav Prasil a0796acbc7 Implement suggested improvements 2018-05-03 17:47:27 +01:00
Miroslav Prasil c3be1b4298 Fix FolderCipher creation, handle some errors 2018-05-01 16:54:22 +01:00
Miroslav Prasil 514a372bc8 Add per-user folder-cipher mapping 2018-04-30 23:38:55 +01:00
Daniel García f578019df6 Can now remove notes and fields correctly. Also fixed fields, that should go in uppercase 2018-04-27 18:12:59 +02:00
Miroslav Prasil 787172116d Save the name when updating the cipher data 2018-04-27 15:27:06 +01:00
Miroslav Prasil 7e9e200d29 Add support for adding and viewing of org ciphers 2018-04-27 12:49:34 +01:00
Daniel García 69e624f82b Improved collection loading 2018-04-26 23:21:29 +02:00
Miroslav Prasil c5185ddb83 Adding some oganization features 2018-04-26 17:19:08 +01:00
Daniel García 5210f9b951 Added org user editing 2018-04-25 00:34:40 +02:00
Daniel García e6132809d2 Implemented delete user from org and added checks to the already existing org methods 2018-04-24 23:04:17 +02:00
Daniel García 3d454f36bc Removed included web vault.
Now that docker automatically downloads the web-vault, keeping it in the repo doesn't make sense.
Added error message in case someone tries to run the application directly without the web-vault instaled..
2018-04-24 22:41:25 +02:00
Daniel García 4093bf92fe Initial organizations functionality: Creating orgs and inviting users 2018-04-24 22:01:55 +02:00
Daniel García a4d2aad331 Removed unused proxy functionality 2018-04-24 20:53:12 +02:00
Daniel García 3a1321a5a9 Updated some dependencies and removed old unused attribute that might create compile errors 2018-04-24 15:49:38 +02:00
Daniel García 96e20a66a0 Removed some duplicated code in the delete cipher functions 2018-04-19 18:57:17 +02:00
Daniel García e6b6d7f3a0 Allow no folder when editing cipher 2018-04-19 17:54:56 +02:00
Miroslav Prasil a7eb77ac90 Add bulk move and bulk delete 2018-04-19 15:32:11 +01:00
Daniel García b1749da9be Fixed cipher API response to always uppercase first letter of JSON object keys 2018-03-21 01:07:48 +01:00
Daniel García 9116253ae5 Updated dependencies 2018-03-21 00:08:46 +01:00
Daniel García 66097e5f12 r2d2_diesel is included in diesel since 1.1, so we don't need the dependencies directly.
Same thing with time, included in chrono
2018-03-07 18:41:34 +01:00
Daniel García 1277cb099d Updated Cipher API with breaking changes, and included backwards compatibility 2018-03-06 20:34:30 +01:00
Daniel García e2f7f56a81 Removed unused test library that broke with latest nightly, and updated dependencies 2018-03-01 14:36:39 +01:00
Daniel García dfefbf1f31 Fixed cipher import, created missing data structs instead of using generic Value, and fixed some warnings 2018-02-23 00:38:54 +01:00
Daniel García c8b45f5fe5 Added equivalent domains to /api/sync 2018-02-20 14:09:00 +01:00
Daniel García e173ef948d Removed some unnecesary clones 2018-02-17 23:38:55 +01:00
Daniel García 4c9d82d790 Equivalent domains 2018-02-17 23:21:04 +01:00
Daniel García 1bc346688c Some initial work on organizations, nothing works yet 2018-02-17 23:04:34 +01:00
Daniel García d6a1a9b274 Detect device type correctly and shorten return types of functions 2018-02-17 22:28:15 +01:00
Daniel García 0e644d2711 Fixed icons and updated web-vault 2018-02-17 18:48:42 +01:00
Daniel García d5486670d8 Fixed docker build and implemented automatic creation of JWT signing keys on platforms with OpenSSL (it needs to be on the PATH) 2018-02-17 01:13:02 +01:00
Daniel García 7a3308200a Finished work on ciphers (import, update, and the missing types) 2018-02-16 00:32:26 +01:00
Daniel García 84a75c871b Improved error messagees, implemented delete ciphers, attachments and account, implemented two factor recovery.
Known missing:
 - import ciphers, create ciphers types other than login and card, update ciphers
 - clear and put device_tokens
 - Equivalent domains
 - Organizations
2018-02-15 19:05:57 +01:00
Daniel García 47a116bbee Get host from client and put it in the attachments URL (only the web vault works without indicating the host in the URL) 2018-02-15 01:49:36 +01:00
Daniel García 912901780e Updated modified date when saving and removed hardcoded attachment domain 2018-02-15 01:07:57 +01:00
Daniel García 31bf2bc2b1 Solved some warnings 2018-02-15 00:53:11 +01:00
Daniel García b54684b677 Upload and download attachments, and added License file 2018-02-15 00:40:34 +01:00
Daniel García 5cd40c63ed First working version 2018-02-10 01:00:55 +01:00