AeroToss v1.0.0: аудит безопасности, багфиксы, подпись APK
Безопасность: - Сервер bind на loopback (127.0.0.1) вместо 0.0.0.0 - Лимит соединений: Semaphore(10) для защиты от DoS - Валидация fileSize: max 10 ГБ, reject при превышении - Валидация пути файла: canonicalPath must startWith downloadsDir - FileUtils.resolveUniqueFile: max counter 1000 - FileUtils.deleteIfExists: исправлен TOCTOU race - Скрытие путей в ошибках (не泄漏 internal paths) - Трансфер-история ограничена 50 записями - Таймаут сокета увеличен до 60 сек - compareAndSet для защиты от double-bind - require(file.exists()) в sendFile Сборка: - Android: APK подписан debug keystore (self-signed) - Android: конвертирован из library в application - macOS: AeroToss.app (113 МБ) + JAR (28 МБ) - LICENSE: GPLv3 Тесты: все 71+ проходят
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
For the complete license text, see https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
Reference in New Issue
Block a user