Daniel García
432be274ba
Improve org mismatch check, consider different orgs
2019-01-15 17:31:03 +01:00
Daniel García
484bf5b703
Check that the client is not updating an outdated cipher, that should be part of an org now
2019-01-15 16:35:08 +01:00
Daniel García
4bf32af60e
Fix folder notifications, enable template strict mode and add missing option to env template
2019-01-15 15:28:47 +01:00
Daniel García
0e4a746eeb
Added SMTP_FROM_NAME
2019-01-15 15:28:47 +01:00
Daniel García
2fe919cc5e
Embed the default templates
2019-01-15 15:28:46 +01:00
Daniel García
bcd750695f
Default to $data_folder/templates and remove dev option (use TEMPLATES_FOLDER=src/static/templates
instead)
2019-01-15 15:28:46 +01:00
Daniel García
19b6bb0fd6
Initial stab at templates
2019-01-15 15:28:46 +01:00
Daniel García
f571df7367
Revert yubikey feature, not needed anymore
2019-01-12 15:28:41 +01:00
Daniel García
de51bc782e
Updated dependencies, removing need for yubico fork
2019-01-12 15:23:46 +01:00
Daniel García
c5aef60bd7
Implement unofficial warning message
2019-01-11 14:20:42 +01:00
Daniel García
6f52104324
Fix casing error in Attachment, should fix 'Attachment doesn't exist' errors
2019-01-11 01:35:15 +01:00
Daniel García
1d7f704754
Send CipherUpdate when adding and deleting attachments
2019-01-11 01:12:54 +01:00
Daniel García
1d034749f7
Fix AArch64 build by disabling yubico
2019-01-10 23:54:01 +01:00
Daniel García
320266606e
Implement put collections
2019-01-08 20:27:28 +01:00
Daniel García
a0a08c4c5a
Include IP in invalid admin token error
2019-01-08 16:17:18 +01:00
Daniel García
4309df8334
Only create invitations when SMTP is disabled, and ignore invitations if we have a token.
...
Disallow users from accepting invitation twice
2019-01-08 15:42:26 +01:00
Daniel García
f1161c65fb
Make sure an invitation is created when reinviting
2019-01-08 14:05:05 +01:00
Daniel García
50eeb4f651
Remove whitespace before processing tokens
2019-01-07 20:37:14 +01:00
Daniel García
21b85b78b1
Changed reinvite check and removed obsolete comment
2019-01-07 15:29:57 +01:00
Daniel García
673adde9f1
Make the admin retype the user name before deleting
2019-01-07 14:48:10 +01:00
Daniel García
c9063a06b4
Print unauthorized error message
2019-01-07 02:18:51 +01:00
Daniel García
5e37471488
Merge pull request #323 from njfox/invite_accepted_email
...
Send email notifications when invitations are accepted/confirmed
2019-01-06 14:12:24 +01:00
Nick Fox
0a74e79cea
Refactor generate_invite_claims, make org_name and org_id optional
2019-01-05 23:03:49 -05:00
Nick Fox
7db66f73f0
Refactor invited_by_email check
2019-01-05 13:46:45 -05:00
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