Emil Madsen
ab95a69dc8
Rework migrations for MySQL
6 years ago
Emil Madsen
85c8a01f4a
Merge branch 'master' of github.com:Skeen/bitwarden_rs
6 years ago
Emil Madsen
42af7c6dab
MySQL database
6 years ago
Daniel García
874f5c34bd
Formatting
6 years ago
Daniel García
c5832f2b30
With the latest fern, syslog can be a config option instead of a build flag
6 years ago
Daniel García
2475c36a75
Implement log_level config option
6 years ago
Daniel García
c384f9c0ca
Set default log level to Info, we don't use debug anyway and it just fills the logs with other crates info.
6 years ago
Frank Petrilli
d156170971
Minor typo fix conect => connect
6 years ago
Daniel García
b50c27b619
Print a warning when an env variable is being overriden by the config file, and reorganize the main file a bit.
...
Modified the JWT key generation, now it should also show the output of OpenSSL in the logs.
6 years ago
Miroslav Prasil
4df686f49e
Add an option to not enable WAL (should help in #399 )
6 years ago
Daniel García
a744b9437a
Implemented multiple U2f keys, key names, and compromised checks
6 years ago
Daniel García
d3773a433a
Removed list of mounted routes at startup by default, with option to add it back. This would get annoying when starting the server frequently, because it printed ~130 lines of mostly useless info
6 years ago
Daniel García
0f0a87becf
Add version to initial message
6 years ago
Daniel García
3db815b969
Implemented config form and fixed config priority
6 years ago
Daniel García
f42ac5f2c0
Update web vault error message
6 years ago
BlackDex
9657463717
Added better favicon downloader.
6 years ago
Daniel García
a1dc47b826
Change config to thread-safe system, needed for a future config panel.
...
Improved some two factor methods.
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
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
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
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
5f49ecd7f3
Updated dependencies to use u2f crate directly, and some style changes
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
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
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.
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
Nick Fox
ec715d78fb
Change log timestamp format so fail2ban can parse it
6 years ago
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>
6 years ago
Daniel García
19754c967f
More changes to the push token, and filtered multipart logs
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
f71f10eac6
Implemented key rotation with the latest vault
6 years ago
Daniel García
5edbd0e952
Merge branch 'master' into rocket-0.4
...
# Conflicts:
# Cargo.lock
# Cargo.toml
# src/api/core/mod.rs
6 years ago
Stepan Fedorko-Bartos
2433d39df5
Allows Custom Yubico OTP Server
6 years ago
Stepan Fedorko-Bartos
e66436625c
Adds Yubico Client ID and Secret Key Env Vars
6 years ago
Daniel García
c673370103
Updated bw_rs to Rocket version 0.4-rc1
6 years ago
Miroslav Prasil
9ecc98c3cc
Disable WebSockets negotiation by default
6 years ago
Miroslav Prasil
a28caa33ef
Implement poor man's admin panel
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
Miroslav Prasil
c3c74506a7
Add missing fields to returned Org json
6 years ago
Daniel García
9eaa9c1a17
Add WEBSOCKET_ADDRESS config option ( Fixes #199 )
6 years ago
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.
6 years ago
Daniel García
a01fee0b9f
Merge branch 'ws'
...
# Conflicts:
# Cargo.toml
# src/api/core/ciphers.rs
# src/main.rs
6 years ago
Daniel García
1b20a25514
Merge pull request #173 from mprasil/poormans_invites
...
Implement poor man's invitation via Organization invitation
6 years ago
Daniel García
b63693aefb
Merge pull request #137 from stammw/master
...
SMTP implementation, along with password HINT email
6 years ago
Miroslav Prasil
ec05f14f5a
Implement poor man's invitation via Organization invitation
6 years ago
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.
6 years ago
Daniel García
8d1ee859f2
Implemented basic support for prelogin and notification negotiation
6 years ago
Jean-Christophe BEGUE
9e63985b28
Check email validity before using it for password hint sending
6 years ago
Jean-Christophe BEGUE
401aa7c699
make SMTP authentication optionnal, let lettre pick the better auth mechanism
6 years ago
Jean-Christophe BEGUE
812387e586
SMTP integration, send password hint by email.
6 years ago
Jean-Christophe BEGUE
f7ffb81d9e
SMTP configuration parsing and checking
6 years ago
Miroslav Prasil
b5a057f063
Merge branch 'master' into beta
6 years ago
Jean-Christophe BEGUE
c031ae9f2f
Make password hints available in the error message #85
6 years ago
Miroslav Prasil
b163aeb8ca
Merge changes in master to beta branch (concurrency fixes)
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
Daniel García
4f6f510bd4
Improve domain detection, should fix attachment problems. Otherwise, set the `DOMAIN` env variable to the correct domain
6 years ago
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.
6 years ago
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
7 years ago
Daniel García
f72efa899e
Updated dependencies and created 'rust-toolchain', to mark a working nightly to rustup users, and hopefully avoid some nightly breakage.
7 years ago
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)
7 years ago
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.
7 years ago
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..
7 years ago
Daniel García
3a1321a5a9
Updated some dependencies and removed old unused attribute that might create compile errors
7 years ago
Daniel García
9116253ae5
Updated dependencies
7 years ago
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
7 years ago
Daniel García
dfefbf1f31
Fixed cipher import, created missing data structs instead of using generic Value, and fixed some warnings
7 years ago
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)
7 years ago
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
7 years ago
Daniel García
31bf2bc2b1
Solved some warnings
7 years ago
Daniel García
5cd40c63ed
First working version
7 years ago