mirror of
https://github.com/localsend/localsend.git
synced 2026-06-23 04:10:07 +00:00
fix: count pin tries in web share
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
## 1.15.1 (unreleased)
|
||||
|
||||
- feat: support Internet Explorer 8 (IE8) in web share (@Tienisto)
|
||||
- feat: save auto accept state when switching encryption mode in web share (@Tienisto)
|
||||
- fix: count PIN tries correctly in web share (@Tienisto)
|
||||
- fix(windows): crash when sum of file sizes greater than 2 GB (@Tienisto)
|
||||
- fix(windows): bundle required DLLs files to avoid crash on app start (@Tienisto)
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ class _WebSendPageState extends State<WebSendPage> with Refena {
|
||||
|
||||
void _init({required bool encrypted}) async {
|
||||
final settings = ref.read(settingsProvider);
|
||||
final beforePin = ref.read(serverProvider)?.webSendState?.pin;
|
||||
final (beforeAutoAccept, beforePin) = ref.read(serverProvider.select((state) => (state?.webSendState?.autoAccept, state?.webSendState?.pin)));
|
||||
setState(() {
|
||||
_stateEnum = _ServerState.initializing;
|
||||
_encrypted = encrypted;
|
||||
@@ -55,6 +55,9 @@ class _WebSendPageState extends State<WebSendPage> with Refena {
|
||||
https: _encrypted,
|
||||
);
|
||||
await ref.notifier(serverProvider).initializeWebSend(widget.files);
|
||||
if (beforeAutoAccept != null) {
|
||||
ref.notifier(serverProvider).setWebSendAutoAccept(beforeAutoAccept);
|
||||
}
|
||||
ref.notifier(serverProvider).setWebSendPin(beforePin);
|
||||
setState(() {
|
||||
_stateEnum = _ServerState.running;
|
||||
|
||||
@@ -18,11 +18,11 @@ Response? handlePin({
|
||||
final requestPin = request.url.queryParameters['pin'];
|
||||
if (requestPin != pin) {
|
||||
if (requestPin?.isNotEmpty ?? false) {
|
||||
if (attempts == 2) {
|
||||
pinAttempts[request.ip] = attempts + 1;
|
||||
|
||||
if (attempts == 2) { // it was 2 before incrementing
|
||||
return server.responseJson(429, message: 'Too many attempts.');
|
||||
}
|
||||
|
||||
pinAttempts[request.ip] = attempts + 1;
|
||||
}
|
||||
return server.responseJson(401, message: 'Invalid pin.');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user