Daniel García
0807783388
Add ip on totp miss
5 years ago
Daniel García
aee1ea032b
Merge pull request #989 from theycallmesteve/update_responses
...
Update responses
5 years ago
theycallmesteve
5571a5d8ed
Update post_keys to return a keys response model
5 years ago
theycallmesteve
6a8c65493f
Rename collection_user_details to collection_read_only to reflect the response model
5 years ago
theycallmesteve
dfdf4473ea
Rename to_json_list to to_json_provder to reflect the response model
5 years ago
theycallmesteve
632f4d5453
Whitespace fixes
5 years ago
Daniel García
ec8028aef2
Merge pull request #979 from jjlin/admin-redirect
...
Use absolute URIs for admin page redirects
5 years ago
Daniel García
9cca64003a
Remove unused dependency and simple feature, update dependencies and fix some clippy lints
5 years ago
Jeremy Lin
819d5e2dc8
Use absolute URIs for admin page redirects
...
This is technically required per RFC 2616 (HTTP/1.1); some proxies will
rewrite a plain `/admin` path to an unexpected URL otherwise.
5 years ago
Daniel García
0de52c6c99
Merge pull request #957 from jjlin/domain-whitelist
...
Domain whitelist cleanup and fixes
5 years ago
Daniel García
e3b00b59a7
Initial support for soft deletes
5 years ago
Jeremy Lin
0a68de6c24
Warn on empty `ADMIN_TOKEN` instead of bailing out
...
The admin page will still be disabled.
Fixes #849 .
5 years ago
Jeremy Lin
e4d08836e2
Make org owner invitations respect the email domain whitelist
...
This closes a loophole where org owners can invite new users from any domain.
5 years ago
Jeremy Lin
c2a324e5da
Clean up domain whitelist logic
...
* Make `SIGNUPS_DOMAINS_WHITELIST` override the `SIGNUPS_ALLOWED` setting.
Otherwise, a common pitfall is to set `SIGNUPS_DOMAINS_WHITELIST` without
realizing that `SIGNUPS_ALLOWED=false` must also be set.
* Whitespace is now accepted in `SIGNUPS_DOMAINS_WHITELIST`. That is,
`foo.com, bar.com` is now equivalent to `foo.com,bar.com`.
* Add validation on `SIGNUPS_DOMAINS_WHITELIST`. For example, `foo.com,`
is rejected as containing an empty token.
5 years ago
Jeremy Lin
6cd8512bbd
Fix Duo auth failure with non-lowercased email addresses
5 years ago
Jeremy Lin
7407b8326a
Fix attachment size limit calculation
...
The config values (in KB) need to be converted to bytes when comparing
against total attachment sizes.
5 years ago
Jeremy Lin
862d401077
Fix WebSocket notifications
...
Ignore a missing `id` query param; it's unclear what this ID represents,
but it wasn't being used in the existing bitwarden_rs code, and no longer
seems to be sent in the latest versions of the official clients.
5 years ago
Jeremy Lin
c06162b22f
Handle `devicePushToken`
...
Mobile push isn't currently supported, but this should get rid of spurious
`Detected unexpected parameter during login: devicepushtoken` warnings.
5 years ago
Daniel García
7a6a3e4160
Set the cargo version and allow changing it during build time with BWRS_VERSION.
...
Also renamed GIT_VERSION because that's not the only source anymore.
5 years ago
Daniel García
94341f9f3f
Fix token error while accepting invite
5 years ago
BlackDex
37b212427c
Updated jsonwebtoken
...
Updated to the latest version of jsonwebtoken.
Some small code changes to match the new versions.
5 years ago
Daniel García
2ee07ea1d8
Fix empty data when cloning cipher
5 years ago
BlackDex
1b4b40c95d
Updated reqwest to the latest version.
...
- Use the blocking client (no async).
- Disabled gzip.
- use_sys_proxy is now default.
5 years ago
Daniel García
a30d5f4cf9
Fix cloning issues
5 years ago
Daniel García
3fa78e7bb1
Initial version of policies
5 years ago
Daniel García
70f3ab8ec3
Migrate lazy_static to once_cell, less macro magic and slightly faster
5 years ago
BlackDex
5a974c7b94
Added SMTP test button in the admin gui
...
- Added a test button for checking the e-mail settings.
- Fixed a bug with the _post JavaScript function:
A function was overwriten with a variable and errors were not handled
correctly like a 500 for example.
5 years ago
Daniel García
2f4a9865e1
Use absolute paths in the admin page
5 years ago
Jeremy Lin
29a0795219
Add backend support for alternate base dir (subdir/subpath) hosting
...
To use this, include a path in the `DOMAIN` URL, e.g.:
* `DOMAIN=https://example.com/custom-path `
* `DOMAIN=https://example.com/multiple/levels/are/ok `
5 years ago
Daniel García
325039c316
Attachment size limits, per-user and per-organization
5 years ago
Miroslav Prasil
0a72c4b6db
Do not disable invitations via admin API
...
This was brought up today:
https://github.com/dani-garcia/bitwarden_rs/issues/752#issuecomment-586715073
I don't think it makes much sense in checking whether admin has the
right to send invitation as admin can change the setting anyway.
Removing the condition allows users to forbid regular users from
inviting new users to server while still preserving the option to do so
via the admin API.
5 years ago
Daniel García
8867626de8
Add option to change invitation org name, fixes #825
...
Add option to allow additional iframe ancestors, fixes #843
Sort the rocket routes before printing them
5 years ago
Daniel García
f5916ec396
Fix backwards indices
5 years ago
Daniel García
ebb36235a7
Cache icons in the clients
5 years ago
Daniel García
def174a517
Convert email domains to punycode
5 years ago
Daniel García
84ed185579
Update u2f to 0.2, which requires OpenSSL but also might solve the problems we've had with certificates.
...
The rust image doesn't need installing curl or tar, so removed. Also collapsed ENV lines.
5 years ago
Daniel García
8c229920ad
Protect websocket server against panics
5 years ago
Daniel García
e274af6e3d
Print current server time when failing TOTP, and use chrono as the rest of the server
5 years ago
Daniel García
a0ece3754b
Formatting
5 years ago
Daniel García
2545469713
Fix crash when page URL points to huge file
5 years ago
Daniel García
5cabf4d040
Fix IP not shown when failed login ( Fixes #761 )
5 years ago
Daniel García
8d1b72b951
Collapsed log messages from 3 lines per request to 2 and hidden the ones valued as less informative.
...
Use LOG_LEVEL debug or trace to recover them.
Removed LOG_MOUNTS and bundled it with LOG_LEVEL debug and trace.
Removed duplicate error messages
Made websocket not proxied message more prominent, but only print it once.
5 years ago
Daniel García
912e1f93b7
Fix some lints
5 years ago
Daniel García
adc443ea80
Add endpoint to delete specific U2F key
5 years ago
Daniel García
0d32179d07
Logout button in admin page
5 years ago
Daniel García
12928b832c
Fix broken tests
5 years ago
Daniel García
924ba153aa
Merge pull request #730 from tomuta/email_verification
...
Implement change-email, email-verification, account-recovery, and welcome notifications
5 years ago
tomuta
bd1e8be328
Implement change-email, email-verification, account-recovery, and welcome notifications
5 years ago
BlackDex
b209c1bc4d
Add an option to fetch and parse href="data:image"
...
Some sites are using base64 encoded inline images for favicons.
This will try to match those with some sane checks and return that.
These icons will have lower prio then the icons with a normal URL.
5 years ago
tomuta
64d6f72e6c
Add the ability to disable signups, but allow signups from a whitelist
...
This feature can be enabled by setting SIGNUPS_ALLOWED=false and
providing a comma-separated list of whitelisted domains in
SIGNUPS_DOMAINS_WHITELIST.
Fixes #727
5 years ago
BlackDex
3f6809bcdf
Fixed issue/request #705
...
Added a config option to disable time drifted totp codes.
Default is false, since this is what the RFC recommends.
5 years ago
BlackDex
2ffc3eac4d
Clippy fix
5 years ago
BlackDex
0ff7fd939e
Next attempt for issue #709 fix
...
Now creates icon cache directory at startup.
And it also creates the directory if it went missing during runtime.
Also modified the icon_save/mark_negcache to be one.
5 years ago
BlackDex
ca7c5129b2
Fixed issue #709 creating icon_cache directory.
...
When the icon_cache directory doesn't exists yet, and the first icon
catched is a miss this .miss file was not able to be created since the
directory was only created during a valid icon download.
5 years ago
Patrick Li
85dbf4e16c
Don't include excluded global equivalent domains during sync
...
Fixes #681
5 years ago
Daniel García
e449912f05
Generate recovery codes for email and duo
5 years ago
Daniel García
d29b6bee28
Remove unnecessary clones and other clippy fixes
5 years ago
Miro Prasil
00a11b1b78
Stop leaking usernames when SIGNUPS_ALLOWED=false
...
This fixes #691 - respond in less specific way to not leak the
fact that user is already registered on the server.
5 years ago
BlackDex
ee550be80c
Added http favicon url when response failed
5 years ago
Jellyfrog
ebc47dc161
Remove unneeded WS logging
5 years ago
vpl
2edecf34ff
Use user_uuid instead of mut twofactor
5 years ago
vpl
18bc8331f9
Send email when preparing 2FA JsonError
5 years ago
BlackDex
603a964579
Fixed issue #663 .
...
During the 2fa activation there is no twofactor record yet.
Changed the layout a bit so that it will generate a new twofactor record
when it does not exists yet. Else it will just update the already
existing record.
5 years ago
BlackDex
9466f02696
Recoded TOTP time drift validation
5 years ago
BlackDex
d989a19f76
Merge branch 'master' of https://github.com/dani-garcia/bitwarden_rs into totp-timedrift
5 years ago
Daniel García
d292269ea0
Make the blacklist logic be cached
5 years ago
BlackDex
ebf40099f2
Updated authenticator TOTP
...
- Added security check for previouse used codes
- Allow TOTP codes with 1 step back and forward when there is a time
drift. This means in total 3 codes could be valid. But only newer codes
then the previouse used codes are excepted after that.
5 years ago
BlackDex
edc482c8ea
Changed HIBP Error message.
...
- Moved the manual link to the check to the top.
- Clearified that hibp is a payed service.
- Changed error logo to hibp logo.
5 years ago
BlackDex
6e5c03cc78
Some modification when no HIBP API Key is set
...
- Added an URL with the useraccount for manual check.
- Added support for HTTP(S)_PROXY for hibp.
5 years ago
Daniel García
e6b763026e
Merge branch 'master' into icon-security
5 years ago
BlackDex
be2916333b
Fixed issue #565
...
Issue fixed by omitting the cookie header when cookie_str is empty
5 years ago
BlackDex
9124d8a3fb
Updated icon blacklisting.
...
- Blacklisting was not effective for redirects and rel href
- Able to blacklist non global IP's like RFC1918, multicast etc...
5 years ago
Miro Prasil
d6e9af909b
Remove the unnecessary check for sqlite
...
The binary we use is called `sqlite3` so no need to check for other
name variants as we won't use those anyways.
5 years ago
Miro Prasil
acdd42935b
Add sqlite binary into the docker images
...
This is done to enable backup functionality in the admin interface while
we're waiting for the libsqlite-sys 0.17 to bubble up in the upstream
dependencies. Then we can start using `VACUUM INTO`
This also extends the check for the sqlite binary to also try `sqlite3`
as this is the name of the binary in baseimage distributions we use.
5 years ago
Daniel García
4c07f05b3a
Remove Result<T, E: Debug> in preparation of deprecation as Rocket responder.
...
Removed unnecessary returns
5 years ago
Daniel García
df8114f8be
Updated client kdf iterations to 100000 and fixed some lints
5 years ago
Daniel García
e3404dd322
Use the local scripts instead of cloudflare, remove jquery and update config so disabling a master toggle doesn't remove the values
5 years ago
Daniel García
bfc517ee80
Remove unused warning
5 years ago
Daniel García
4a7d2a1e28
Rename static files endpoint
5 years ago
vpl
5d50b1ee3c
Merge remote-tracking branch 'upstream/master' into email-codes
5 years ago
vpl
c99df1c310
Compare token using crypto::ct_eq
5 years ago
vpl
591ae10144
Get token from single u64
5 years ago
Daniel García
026f9da035
Allow removing users two factors
5 years ago
Daniel García
515b87755a
Update HIBP to v3, requires paid API key, fixes #583
5 years ago
vpl
ee7837d022
Add option to require new device emails
5 years ago
Daniel García
07743e490b
Ignore error sending device email
5 years ago
BlackDex
e7b6238f43
Added reqwest proxy support
5 years ago
vpl
ad2225b6e5
Add configuration options for Email 2FA
5 years ago
vpl
5609103a97
Use ring to generate email token
5 years ago
vpl
6d460b44b0
Use saved token for email 2fa codes
5 years ago
vpl
efd8d9f528
Remove some unused imports, unneeded mut variables
5 years ago
vpl
29aedd388e
Add email code logic and move two_factor into separate modules
5 years ago
vpl
27e0e41835
Add email authenticator logic
5 years ago
Daniel García
c9c3f07171
Updated dependencies and fixed panic getting icons
5 years ago
vpl
df71f57d86
Move send device email to end of password login
...
Send new device email after two factor authentication.
5 years ago
vpl
60e39a9dd1
Move retrieve/new device from connData to separate function
5 years ago
vpl
bc6a53b847
Add new device email when user logs in
5 years ago
Daniel García
05a1137828
Move backend checks to build.rs to fail fast, and updated dependencies
5 years ago
Daniel García
5710703c50
Make sure the backup option only appears when using sqlite
6 years ago
Daniel García
1322b876e9
Merge pull request #493 from endyman/feature/initial_mysql_support
...
Initial support for mysql
6 years ago
Emil Madsen
e22e290f67
Fix key and type variable names for mysql
6 years ago
TheMardy
ef551f4cc6
Create Backup funcitonality
...
Added create backup functionality to the admin panel
6 years ago
Daniel García
5521a86693
Change path for served images to avoid collision with vault images
6 years ago
Daniel García
3160780549
Merge pull request #401 from TheMardy/master
...
Images in Email Templates
6 years ago
Daniel García
874f5c34bd
Formatting
6 years ago
Daniel García
253faaf023
Use users duo host when required, instead of always using the global one
6 years ago
Daniel García
3d843a6a51
Merge pull request #460 from janost/organization-vault-purge
...
Fixed purging organization vault
6 years ago
janost
03fdf36bf9
Fixed purging organization vault
6 years ago
Daniel García
fdcc32beda
Validate Duo credentials when custom
6 years ago
Daniel García
bf20355c5e
Merge branch 'duo'
6 years ago
Daniel García
2e12114350
Always create the user when inviting from admin panel
6 years ago
ViViDboarder
d3a8a278e6
Add new endpoint for retrieving all users
6 years ago
Daniel García
8d9827c55f
Implement selection between global config and user settings for duo keys.
6 years ago
Daniel García
cad63f9761
Auto generate akey
6 years ago
Daniel García
621f607297
Update dependencies and fix some warnings
6 years ago
Daniel García
754087b990
Add global duo config and document options in .env template
6 years ago
Daniel García
cfbeb56371
Implement user duo, initial version
...
TODO:
- At the moment each user needs to configure a DUO application and input the API keys, we need to check if multiple users can register with the same keys correctly and if so we could implement a global setting.
- Sometimes the Duo frame doesn't load correctly, but canceling, reloading the page and logging in again seems to fix it for me.
6 years ago
Daniel García
4b40cda910
Added domain blacklist regex for icons service and improved valid domain check.
...
Reorganized the icons code a bit.
6 years ago
Daniel García
61515160a7
Allow changing error codes and create an empty error.
...
Return 404 instead of 400 when no accounts breached.
6 years ago
Daniel García
43f9038325
Add option to force resync clients in admin panel
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
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.
...
Added newlines to config options to keep them a reasonable length.
6 years ago
Daniel García
10756b0920
Update dependencies and fix some lints
6 years ago
Дамјан Георгиевски
473f8b8e31
remove some unneeded mutability
6 years ago
Shane Faulkner
8b5b06c3d1
Allow the Admin token to be disabled in the advanced menu
6 years ago
Daniel García
5ee04e31e5
Updated dependencies, removed some unnecessary clones and fixed some lints
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
a79334ea4c
Added static email image routes
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
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
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
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
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
BlackDex
9026cc8d42
Fixed issue when the iconlist is smaller then 5
...
When the iconlist was smaller then 5 items, it would cause a panic.
Solved by using .truncate() on the iconlist.
6 years ago
BlackDex
574b040142
Loop through the iconlist until an icon is found
...
Loop for a maximum of 5 times through the iconlist or until a
successful download of an icon.
6 years ago