Merge branch 'develop' for release v3.26.1
This commit is contained in:
@@ -8,6 +8,7 @@ set(CMAKE_CXX_STANDARD 17)
|
|||||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||||
|
|
||||||
include(CTest)
|
include(CTest)
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
find_package(Filesystem REQUIRED)
|
find_package(Filesystem REQUIRED)
|
||||||
find_package(FFMPEGAV REQUIRED)
|
find_package(FFMPEGAV REQUIRED)
|
||||||
|
|||||||
+2
-2
@@ -173,9 +173,9 @@ server {
|
|||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
||||||
|
proxy_set_header Client-IP $remote_addr;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Forwarded-For $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
|
||||||
proxy_pass http://localhost:5082/;
|
proxy_pass http://localhost:5082/;
|
||||||
|
|||||||
@@ -77,6 +77,14 @@ $setmulti(albumartistssort,%_albumartists_sort%)
|
|||||||
* Previous track: <kbd>Ctrl</kbd> + <kbd>Left</kbd>
|
* Previous track: <kbd>Ctrl</kbd> + <kbd>Left</kbd>
|
||||||
* Next track: <kbd>Ctrl</kbd> + <kbd>Right</kbd>
|
* Next track: <kbd>Ctrl</kbd> + <kbd>Right</kbd>
|
||||||
|
|
||||||
|
## Security considerations
|
||||||
|
_Wt_ (the web framework used) has some [built-in security measures](https://www.webtoolkit.eu/wt/features#security), but _LMS_ also has some too:
|
||||||
|
* to mitigate brute force login attempts, _LMS_ uses an internal login throttler based on the client IP address. The `Client-IP` or `X-Forwarded-For` headers are used to determined the real IP adress, so make sure to properly configure your reverse proxy to filter or even erase the values (see example in [INSTALL.md](INSTALL.md)).
|
||||||
|
* all passwords are stored hashed and salted using [bcrypt](https://fr.wikipedia.org/wiki/Bcrypt)
|
||||||
|
* all the resources relative to the music collection (tracks, covers, etc.) are private to a session
|
||||||
|
|
||||||
|
## Keyboard shortcuts
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
See [INSTALL.md](INSTALL.md) file.
|
See [INSTALL.md](INSTALL.md) file.
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#include "database/Release.hpp"
|
#include "database/Release.hpp"
|
||||||
|
#include "database/Session.hpp"
|
||||||
#include "database/User.hpp"
|
#include "database/User.hpp"
|
||||||
#include "database/TrackList.hpp"
|
#include "database/TrackList.hpp"
|
||||||
#include "scrobbling/IScrobbling.hpp"
|
#include "scrobbling/IScrobbling.hpp"
|
||||||
@@ -79,6 +80,8 @@ namespace UserInterface
|
|||||||
std::vector<Database::IdType>
|
std::vector<Database::IdType>
|
||||||
ReleaseCollector::getAll()
|
ReleaseCollector::getAll()
|
||||||
{
|
{
|
||||||
|
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
||||||
|
|
||||||
bool moreResults;
|
bool moreResults;
|
||||||
const auto releases {get(std::nullopt, moreResults)};
|
const auto releases {get(std::nullopt, moreResults)};
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,10 @@
|
|||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "database/Session.hpp"
|
||||||
#include "database/Track.hpp"
|
#include "database/Track.hpp"
|
||||||
#include "database/User.hpp"
|
|
||||||
#include "database/TrackList.hpp"
|
#include "database/TrackList.hpp"
|
||||||
|
#include "database/User.hpp"
|
||||||
#include "scrobbling/IScrobbling.hpp"
|
#include "scrobbling/IScrobbling.hpp"
|
||||||
#include "utils/Service.hpp"
|
#include "utils/Service.hpp"
|
||||||
#include "Filters.hpp"
|
#include "Filters.hpp"
|
||||||
@@ -79,6 +80,8 @@ namespace UserInterface
|
|||||||
std::vector<Database::IdType>
|
std::vector<Database::IdType>
|
||||||
TrackCollector::getAll()
|
TrackCollector::getAll()
|
||||||
{
|
{
|
||||||
|
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
||||||
|
|
||||||
bool moreResults;
|
bool moreResults;
|
||||||
const auto releases {get(std::nullopt, moreResults)};
|
const auto releases {get(std::nullopt, moreResults)};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user