diff options
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/l10n/de.js | 2 | ||||
-rw-r--r-- | apps/files_sharing/l10n/de.json | 2 | ||||
-rw-r--r-- | apps/files_sharing/l10n/de_DE.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/l10n/de_DE.json | 4 | ||||
-rw-r--r-- | apps/files_sharing/l10n/fr.js | 8 | ||||
-rw-r--r-- | apps/files_sharing/l10n/fr.json | 8 | ||||
-rw-r--r-- | apps/files_sharing/l10n/ru.js | 1 | ||||
-rw-r--r-- | apps/files_sharing/l10n/ru.json | 1 | ||||
-rw-r--r-- | apps/files_sharing/l10n/uk.js | 1 | ||||
-rw-r--r-- | apps/files_sharing/l10n/uk.json | 1 | ||||
-rw-r--r-- | apps/files_sharing/src/utils/GeneratePassword.ts | 21 | ||||
-rw-r--r-- | apps/files_sharing/tests/External/CacheTest.php | 4 | ||||
-rw-r--r-- | apps/files_sharing/tests/External/ManagerTest.php | 4 |
13 files changed, 42 insertions, 19 deletions
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index 20d4a9b9ee1..2340309e73d 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -210,7 +210,7 @@ OC.L10N.register( "Shared via link by {initiator}" : "Geteilt mittels Link von {initiator}", "File request ({label})" : "Dateianfrage ({label})", "Mail share ({label})" : "Mail teilen ({label})", - "Share link ({label})" : "Link teilen ({label})", + "Share link ({label})" : "Externer Link ({label})", "Mail share" : "E-Mail-Freigabe", "Share link ({index})" : "Link teilen ({index})", "Create public link" : "Öffentlichen Link erstellen", diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index d7561764bd8..0ea572bd182 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -208,7 +208,7 @@ "Shared via link by {initiator}" : "Geteilt mittels Link von {initiator}", "File request ({label})" : "Dateianfrage ({label})", "Mail share ({label})" : "Mail teilen ({label})", - "Share link ({label})" : "Link teilen ({label})", + "Share link ({label})" : "Externer Link ({label})", "Mail share" : "E-Mail-Freigabe", "Share link ({index})" : "Link teilen ({index})", "Create public link" : "Öffentlichen Link erstellen", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 53df07cceb6..c2514fd2500 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -210,9 +210,9 @@ OC.L10N.register( "Shared via link by {initiator}" : "Geteilt mittels Link von {initiator}", "File request ({label})" : "Dateianfrage ({label})", "Mail share ({label})" : "Mail-Freigabe ({label})", - "Share link ({label})" : "Freigabe Link ({label})", + "Share link ({label})" : "Externer Link ({label})", "Mail share" : "E-Mail-Freigabe", - "Share link ({index})" : "Freigabe Link ({index})", + "Share link ({index})" : "Externer Link ({index})", "Create public link" : "Öffentlichen Link erstellen", "Actions for \"{title}\"" : "Aktionen für \"{title}\"", "Copy public link of \"{title}\" to clipboard" : "Öffentlichen Link von \"{title}\" in die Zwischenablage kopieren", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 351b3db9bd8..4a8a5fcfeb3 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -208,9 +208,9 @@ "Shared via link by {initiator}" : "Geteilt mittels Link von {initiator}", "File request ({label})" : "Dateianfrage ({label})", "Mail share ({label})" : "Mail-Freigabe ({label})", - "Share link ({label})" : "Freigabe Link ({label})", + "Share link ({label})" : "Externer Link ({label})", "Mail share" : "E-Mail-Freigabe", - "Share link ({index})" : "Freigabe Link ({index})", + "Share link ({index})" : "Externer Link ({index})", "Create public link" : "Öffentlichen Link erstellen", "Actions for \"{title}\"" : "Aktionen für \"{title}\"", "Copy public link of \"{title}\" to clipboard" : "Öffentlichen Link von \"{title}\" in die Zwischenablage kopieren", diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index a4b3ce4bd80..ec4da5a6c7d 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -128,7 +128,7 @@ OC.L10N.register( "Select a date" : "Sélectionner une date", "Your administrator has enforced a {count} days expiration policy." : "Votre administrateur a imposé une politique d'expiration de {count} jours.", "What password should be used for the request?" : "Quel mot de passe doit être utilisé pour la demande ?", - "Set a password" : "Saisissez un mot de passe", + "Set a password" : "Saisir un mot de passe", "Password" : "Mot de passe", "Enter a valid password" : "Saisir un mot de passe valide", "Generate a new password" : "Générer un nouveau mot de passe", @@ -143,7 +143,7 @@ OC.L10N.register( "You can now share the link below to allow people to upload files to your directory." : "Vous pouvez désormais partager le lien ci-dessous pour permettre aux gens de téléverser des fichiers dans votre dossier.", "Share link" : "Lien de partage", "Copy to clipboard" : "Copier dans le presse-papiers", - "Send link via email" : "Envoyer le lien par mail", + "Send link via email" : "Envoyer le lien par e-mail", "Enter an email address or paste a list" : "Entrez une adresse e-mail ou collez une liste", "Remove email" : "Retirer l'e-mail", "Select a destination" : "Choisir une destination", @@ -169,8 +169,8 @@ OC.L10N.register( "Error sending emails: {errorMessage}" : "Erreur à l'envoi des mails {errorMessage}", "Error sending emails" : "Erreur à l'envoi des e-mails", "Create a file request" : "Créer une demande de fichier", - "Collect files from others even if they do not have an account." : "Collecter les fichiers d'autres personnes même si elles n'ont pas de compte.", - "To ensure you can receive files, verify you have enough storage available." : "Pour vous assurer que vous pouvez recevoir des fichiers, vérifier que vous avez suffisamment d'espace disque.", + "Collect files from others even if they do not have an account." : "Collectez des fichiers auprès d'autres personnes, même si elles n'ont pas de compte.", + "To ensure you can receive files, verify you have enough storage available." : "Pour vous assurer de pouvoir recevoir des fichiers, vérifiez que vous disposez d'un espace de stockage suffisant.", "File request" : "Demande de fichier", "Previous step" : "Étape précédente", "Cancel" : "Annuler", diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index b3a8d9cdf08..29f6978ea47 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -126,7 +126,7 @@ "Select a date" : "Sélectionner une date", "Your administrator has enforced a {count} days expiration policy." : "Votre administrateur a imposé une politique d'expiration de {count} jours.", "What password should be used for the request?" : "Quel mot de passe doit être utilisé pour la demande ?", - "Set a password" : "Saisissez un mot de passe", + "Set a password" : "Saisir un mot de passe", "Password" : "Mot de passe", "Enter a valid password" : "Saisir un mot de passe valide", "Generate a new password" : "Générer un nouveau mot de passe", @@ -141,7 +141,7 @@ "You can now share the link below to allow people to upload files to your directory." : "Vous pouvez désormais partager le lien ci-dessous pour permettre aux gens de téléverser des fichiers dans votre dossier.", "Share link" : "Lien de partage", "Copy to clipboard" : "Copier dans le presse-papiers", - "Send link via email" : "Envoyer le lien par mail", + "Send link via email" : "Envoyer le lien par e-mail", "Enter an email address or paste a list" : "Entrez une adresse e-mail ou collez une liste", "Remove email" : "Retirer l'e-mail", "Select a destination" : "Choisir une destination", @@ -167,8 +167,8 @@ "Error sending emails: {errorMessage}" : "Erreur à l'envoi des mails {errorMessage}", "Error sending emails" : "Erreur à l'envoi des e-mails", "Create a file request" : "Créer une demande de fichier", - "Collect files from others even if they do not have an account." : "Collecter les fichiers d'autres personnes même si elles n'ont pas de compte.", - "To ensure you can receive files, verify you have enough storage available." : "Pour vous assurer que vous pouvez recevoir des fichiers, vérifier que vous avez suffisamment d'espace disque.", + "Collect files from others even if they do not have an account." : "Collectez des fichiers auprès d'autres personnes, même si elles n'ont pas de compte.", + "To ensure you can receive files, verify you have enough storage available." : "Pour vous assurer de pouvoir recevoir des fichiers, vérifiez que vous disposez d'un espace de stockage suffisant.", "File request" : "Demande de fichier", "Previous step" : "Étape précédente", "Cancel" : "Annuler", diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index 599859b6be9..5d02bef1e15 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -368,6 +368,7 @@ OC.L10N.register( "List of unapproved shares." : "Список ресурсов общего доступа, которые вы еще не приняли", "No pending shares" : "Ожидающие общие ресурсы отсуствуют", "Shares you have received but not approved will show up here" : "Здесь появятся ресурсы общего доступа, которые Вам предоставлены, но еще не подтверждены с Вашей стороны", + "Error deleting the share: {errorMessage}" : "Ошибка при удалении общего ресурса: {errorMessage}", "Error deleting the share" : "Ошибка прекращения общего доступа", "Error updating the share: {errorMessage}" : "Не удалось изменить общий ресурс: {errorMessage}", "Error updating the share" : "Ошибка изменения параметров общего доступа", diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index f570c39184c..9b6b0154230 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -366,6 +366,7 @@ "List of unapproved shares." : "Список ресурсов общего доступа, которые вы еще не приняли", "No pending shares" : "Ожидающие общие ресурсы отсуствуют", "Shares you have received but not approved will show up here" : "Здесь появятся ресурсы общего доступа, которые Вам предоставлены, но еще не подтверждены с Вашей стороны", + "Error deleting the share: {errorMessage}" : "Ошибка при удалении общего ресурса: {errorMessage}", "Error deleting the share" : "Ошибка прекращения общего доступа", "Error updating the share: {errorMessage}" : "Не удалось изменить общий ресурс: {errorMessage}", "Error updating the share" : "Ошибка изменения параметров общего доступа", diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js index ace63ae6a4a..7da314c64ac 100644 --- a/apps/files_sharing/l10n/uk.js +++ b/apps/files_sharing/l10n/uk.js @@ -116,6 +116,7 @@ OC.L10N.register( "Remember to upload the files to %s" : "Пам'ятати про завантаження файлів до %s", "We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "Нагадування про те, що ви ще не завантажили жодного файлу до спільного каталогу.", "Open \"%s\"" : "Відкрити \"%s\"", + "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Ця програма дозволяє користувачам обмінюватися файлами в Nextcloud. Якщо ця функція увімкнена, адміністратор може вибрати, які групи можуть обмінюватися файлами. Відповідні користувачі можуть обмінюватися файлами та каталогами з іншими обліковими записами та групами в Nextcloud. Крім того, якщо адміністратор увімкне функцію спільного доступу за посиланням, зовнішнє посилання можна використовувати для обміну файлами з іншими людьми поза Nextcloud. Адміністратори також можуть встановлювати паролі, терміни дії та вмикати обмін між серверами за допомогою посилань для спільного доступу, а також обмін з мобільних пристроїв.\n\nВимкнення цієї функції видаляє спільні файли та каталоги на сервері для всіх одержувачів спільного доступу, а також на клієнтах синхронізації та в мобільних додатках. Більше інформації можна знайти в документації Nextcloud.", "People" : "Користувачі", "Filter accounts" : "Вибрати користувачів", "The request will expire on {date} at midnight and will be password protected." : "Термін дії запиту спливе опівночі {date}, запит буде захищено паролем. ", diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json index 3af74737035..d1ad7a12475 100644 --- a/apps/files_sharing/l10n/uk.json +++ b/apps/files_sharing/l10n/uk.json @@ -114,6 +114,7 @@ "Remember to upload the files to %s" : "Пам'ятати про завантаження файлів до %s", "We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "Нагадування про те, що ви ще не завантажили жодного файлу до спільного каталогу.", "Open \"%s\"" : "Відкрити \"%s\"", + "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Ця програма дозволяє користувачам обмінюватися файлами в Nextcloud. Якщо ця функція увімкнена, адміністратор може вибрати, які групи можуть обмінюватися файлами. Відповідні користувачі можуть обмінюватися файлами та каталогами з іншими обліковими записами та групами в Nextcloud. Крім того, якщо адміністратор увімкне функцію спільного доступу за посиланням, зовнішнє посилання можна використовувати для обміну файлами з іншими людьми поза Nextcloud. Адміністратори також можуть встановлювати паролі, терміни дії та вмикати обмін між серверами за допомогою посилань для спільного доступу, а також обмін з мобільних пристроїв.\n\nВимкнення цієї функції видаляє спільні файли та каталоги на сервері для всіх одержувачів спільного доступу, а також на клієнтах синхронізації та в мобільних додатках. Більше інформації можна знайти в документації Nextcloud.", "People" : "Користувачі", "Filter accounts" : "Вибрати користувачів", "The request will expire on {date} at midnight and will be password protected." : "Термін дії запиту спливе опівночі {date}, запит буде захищено паролем. ", diff --git a/apps/files_sharing/src/utils/GeneratePassword.ts b/apps/files_sharing/src/utils/GeneratePassword.ts index 2f3f65c51d8..82efaaa69d4 100644 --- a/apps/files_sharing/src/utils/GeneratePassword.ts +++ b/apps/files_sharing/src/utils/GeneratePassword.ts @@ -38,10 +38,29 @@ export default async function(verbose = false): Promise<string> { const array = new Uint8Array(10) const ratio = passwordSet.length / 255 - self.crypto.getRandomValues(array) + getRandomValues(array) let password = '' for (let i = 0; i < array.length; i++) { password += passwordSet.charAt(array[i] * ratio) } return password } + +/** + * Fills the given array with cryptographically secure random values. + * If the crypto API is not available, it falls back to less secure Math.random(). + * Crypto API is available in modern browsers on secure contexts (HTTPS). + * + * @param {Uint8Array} array - The array to fill with random values. + */ +function getRandomValues(array: Uint8Array): void { + if (self?.crypto?.getRandomValues) { + self.crypto.getRandomValues(array) + return + } + + let len = array.length + while (len--) { + array[len] = Math.floor(Math.random() * 256) + } +} diff --git a/apps/files_sharing/tests/External/CacheTest.php b/apps/files_sharing/tests/External/CacheTest.php index 60820013f11..39e2057a24c 100644 --- a/apps/files_sharing/tests/External/CacheTest.php +++ b/apps/files_sharing/tests/External/CacheTest.php @@ -54,11 +54,11 @@ class CacheTest extends TestCase { $this->contactsManager = $this->createMock(IManager::class); $this->cloudIdManager = new CloudIdManager( + $this->createMock(ICacheFactory::class), + $this->createMock(IEventDispatcher::class), $this->contactsManager, $this->createMock(IURLGenerator::class), $this->createMock(IUserManager::class), - $this->createMock(ICacheFactory::class), - $this->createMock(IEventDispatcher::class) ); $this->remoteUser = $this->getUniqueID('remoteuser'); diff --git a/apps/files_sharing/tests/External/ManagerTest.php b/apps/files_sharing/tests/External/ManagerTest.php index fbe6eb1e85b..14c6afec4d8 100644 --- a/apps/files_sharing/tests/External/ManagerTest.php +++ b/apps/files_sharing/tests/External/ManagerTest.php @@ -90,11 +90,11 @@ class ManagerTest extends TestCase { $this->testMountProvider = new MountProvider(Server::get(IDBConnection::class), function () { return $this->manager; }, new CloudIdManager( + $this->createMock(ICacheFactory::class), + $this->createMock(IEventDispatcher::class), $this->contactsManager, $this->createMock(IURLGenerator::class), $this->userManager, - $this->createMock(ICacheFactory::class), - $this->createMock(IEventDispatcher::class) )); $group1 = $this->createMock(IGroup::class); |