modoboa 2.4.10__tar.gz → 2.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- modoboa-2.5.0/.dockerignore +12 -0
- modoboa-2.5.0/.gitignore +46 -0
- modoboa-2.5.0/PKG-INFO +192 -0
- modoboa-2.5.0/doc/index.rst +43 -0
- modoboa-2.5.0/doc/installation.rst +101 -0
- modoboa-2.5.0/doc/manual_installation/amavis.rst +292 -0
- modoboa-2.5.0/doc/manual_installation/opendkim.rst +81 -0
- modoboa-2.5.0/doc/upgrade.rst +2080 -0
- modoboa-2.5.0/docker/Dockerfile.amavis.dev +11 -0
- modoboa-2.5.0/docker/Dockerfile.dev +34 -0
- modoboa-2.5.0/docker/amavis_config/amavisd.conf +905 -0
- modoboa-2.5.0/docker-compose.yml +170 -0
- modoboa-2.5.0/frontend/package.json +58 -0
- modoboa-2.5.0/frontend/src/api/account.js +128 -0
- modoboa-2.5.0/frontend/src/api/admin.js +16 -0
- modoboa-2.5.0/frontend/src/api/amavis.js +42 -0
- modoboa-2.5.0/frontend/src/api/notifications.js +7 -0
- modoboa-2.5.0/frontend/src/components/account/FidoAuthForm.vue +224 -0
- modoboa-2.5.0/frontend/src/components/admin/alarms/AlarmList.vue +218 -0
- modoboa-2.5.0/frontend/src/components/admin/dashboard/GlobalStatisticsWidget.vue +36 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DNSBLSummary.vue +41 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DNSDetail.vue +286 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainAdminList.vue +178 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainEditForm.vue +277 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainList.vue +361 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainPolicy.vue +117 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainPolicyForm.vue +168 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/DomainSummary.vue +83 -0
- modoboa-2.5.0/frontend/src/components/admin/domains/form_steps/DomainPolicyForm.vue +20 -0
- modoboa-2.5.0/frontend/src/components/admin/identities/AccountCreationForm.vue +292 -0
- modoboa-2.5.0/frontend/src/components/admin/identities/AccountSummary.vue +100 -0
- modoboa-2.5.0/frontend/src/components/admin/identities/IdentityList.vue +563 -0
- modoboa-2.5.0/frontend/src/components/admin/logs/AuditTrailList.vue +96 -0
- modoboa-2.5.0/frontend/src/components/admin/logs/MessageList.vue +84 -0
- modoboa-2.5.0/frontend/src/components/quarantine/QuarantineList.vue +424 -0
- modoboa-2.5.0/frontend/src/components/shared/NavBar.vue +140 -0
- modoboa-2.5.0/frontend/src/components/shared/TopMenu.vue +173 -0
- modoboa-2.5.0/frontend/src/components/tools/ConfirmDialog.vue +84 -0
- modoboa-2.5.0/frontend/src/components/tools/CreationForm.vue +196 -0
- modoboa-2.5.0/frontend/src/components/tools/YesNoDefaultField.vue +11 -0
- modoboa-2.5.0/frontend/src/composables/amavis.js +51 -0
- modoboa-2.5.0/frontend/src/composables/logos.js +33 -0
- modoboa-2.5.0/frontend/src/composables/permissions.js +33 -0
- modoboa-2.5.0/frontend/src/layouts/admin/AdminLayout.vue +162 -0
- modoboa-2.5.0/frontend/src/layouts/connected/ConnectedLayout.vue +114 -0
- modoboa-2.5.0/frontend/src/layouts/quarantine/QuarantineLayout.vue +9 -0
- modoboa-2.5.0/frontend/src/layouts/quarantine/SelfServiceLayout.vue +10 -0
- modoboa-2.5.0/frontend/src/layouts/webmail/WebmailLayout.vue +216 -0
- modoboa-2.5.0/frontend/src/locale/br/app.po +3195 -0
- modoboa-2.5.0/frontend/src/locale/cs/app.po +2918 -0
- modoboa-2.5.0/frontend/src/locale/de/app.po +3028 -0
- modoboa-2.5.0/frontend/src/locale/el/app.po +2917 -0
- modoboa-2.5.0/frontend/src/locale/en/app.po +2909 -0
- modoboa-2.5.0/frontend/src/locale/es/app.po +3187 -0
- modoboa-2.5.0/frontend/src/locale/fi/app.po +3342 -0
- modoboa-2.5.0/frontend/src/locale/fr/app.po +3016 -0
- modoboa-2.5.0/frontend/src/locale/it/app.po +3195 -0
- modoboa-2.5.0/frontend/src/locale/ja/app.po +2916 -0
- modoboa-2.5.0/frontend/src/locale/ja_JP/app.po +2719 -0
- modoboa-2.5.0/frontend/src/locale/messages.pot +2841 -0
- modoboa-2.5.0/frontend/src/locale/nl/app.po +2917 -0
- modoboa-2.5.0/frontend/src/locale/pl/app.po +2919 -0
- modoboa-2.5.0/frontend/src/locale/pt_BR/app.po +3130 -0
- modoboa-2.5.0/frontend/src/locale/ru/app.po +3176 -0
- modoboa-2.5.0/frontend/src/locale/sv/app.po +3099 -0
- modoboa-2.5.0/frontend/src/locale/tr/app.po +3090 -0
- modoboa-2.5.0/frontend/src/locale/translations.json +1 -0
- modoboa-2.5.0/frontend/src/locale/zh/app.po +2916 -0
- modoboa-2.5.0/frontend/src/plugins/vuetify.js +76 -0
- modoboa-2.5.0/frontend/src/router/index.js +516 -0
- modoboa-2.5.0/frontend/src/stores/auth.store.js +214 -0
- modoboa-2.5.0/frontend/src/stores/global.store.js +46 -0
- modoboa-2.5.0/frontend/src/views/DashboardView.vue +53 -0
- modoboa-2.5.0/frontend/src/views/admin/InformationView.vue +173 -0
- modoboa-2.5.0/frontend/src/views/admin/domains/DomainView.vue +138 -0
- modoboa-2.5.0/frontend/src/views/admin/domains/DomainsView.vue +134 -0
- modoboa-2.5.0/frontend/src/views/quarantine/MessageView.vue +254 -0
- modoboa-2.5.0/frontend/src/views/quarantine/QuarantineView.vue +30 -0
- modoboa-2.5.0/frontend/yarn.lock +2576 -0
- modoboa-2.5.0/modoboa/admin/api/v1/serializers.py +568 -0
- modoboa-2.5.0/modoboa/admin/api/v2/serializers.py +773 -0
- modoboa-2.5.0/modoboa/admin/api/v2/tests.py +836 -0
- modoboa-2.5.0/modoboa/admin/lib.py +368 -0
- modoboa-2.5.0/modoboa/admin/models/mailbox.py +390 -0
- modoboa-2.5.0/modoboa/admin/models/mxrecord.py +99 -0
- modoboa-2.5.0/modoboa/admin/tests/test_import_.py +330 -0
- modoboa-2.5.0/modoboa/amavis/__init__.py +3 -0
- modoboa-2.5.0/modoboa/amavis/app_settings.py +276 -0
- modoboa-2.5.0/modoboa/amavis/apps.py +18 -0
- modoboa-2.5.0/modoboa/amavis/checks/__init__.py +2 -0
- modoboa-2.5.0/modoboa/amavis/checks/settings_checks.py +59 -0
- modoboa-2.5.0/modoboa/amavis/dbrouter.py +35 -0
- modoboa-2.5.0/modoboa/amavis/factories.py +164 -0
- modoboa-2.5.0/modoboa/amavis/handlers.py +146 -0
- modoboa-2.5.0/modoboa/amavis/lib.py +381 -0
- modoboa-2.5.0/modoboa/amavis/management/commands/amnotify.py +99 -0
- modoboa-2.5.0/modoboa/amavis/management/commands/qcleanup.py +84 -0
- modoboa-2.5.0/modoboa/amavis/migrations/0001_initial.py +340 -0
- modoboa-2.5.0/modoboa/amavis/models.py +226 -0
- modoboa-2.5.0/modoboa/amavis/serializers.py +139 -0
- modoboa-2.5.0/modoboa/amavis/sql_connector.py +240 -0
- modoboa-2.5.0/modoboa/amavis/sql_email.py +66 -0
- modoboa-2.5.0/modoboa/amavis/tasks.py +33 -0
- modoboa-2.5.0/modoboa/amavis/templates/amavis/notifications/pending_requests.html +16 -0
- modoboa-2.5.0/modoboa/amavis/tests/sa-learn +3 -0
- modoboa-2.5.0/modoboa/amavis/tests/sample_messages/quarantined-input.txt +80 -0
- modoboa-2.5.0/modoboa/amavis/tests/sample_messages/quarantined-output-plain_nolinks.txt +17 -0
- modoboa-2.5.0/modoboa/amavis/tests/spamc +3 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_checks.py +25 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_handlers.py +214 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_lib.py +90 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_management_commands.py +45 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_sql_email.py +67 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_utils.py +19 -0
- modoboa-2.5.0/modoboa/amavis/tests/test_viewsets.py +319 -0
- modoboa-2.5.0/modoboa/amavis/urls.py +11 -0
- modoboa-2.5.0/modoboa/amavis/utils.py +105 -0
- modoboa-2.5.0/modoboa/amavis/viewsets.py +265 -0
- modoboa-2.5.0/modoboa/core/api/v1/serializers.py +94 -0
- modoboa-2.5.0/modoboa/core/api/v2/serializers.py +704 -0
- modoboa-2.5.0/modoboa/core/api/v2/tests.py +690 -0
- modoboa-2.5.0/modoboa/core/api/v2/urls.py +52 -0
- modoboa-2.5.0/modoboa/core/api/v2/views.py +249 -0
- modoboa-2.5.0/modoboa/core/api/v2/viewsets.py +310 -0
- modoboa-2.5.0/modoboa/core/app_settings.py +758 -0
- modoboa-2.5.0/modoboa/core/fido2_auth.py +67 -0
- modoboa-2.5.0/modoboa/core/handlers.py +147 -0
- modoboa-2.5.0/modoboa/core/management/commands/add_allowed_hosts.py +33 -0
- modoboa-2.5.0/modoboa/core/management/commands/cleanlogs.py +53 -0
- modoboa-2.5.0/modoboa/core/management/commands/load_initial_data.py +204 -0
- modoboa-2.5.0/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +35 -0
- modoboa-2.5.0/modoboa/core/tests/test_core.py +260 -0
- modoboa-2.5.0/modoboa/core/utils.py +120 -0
- modoboa-2.5.0/modoboa/dnstools/api/v2/serializers.py +54 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AccountAliasForm-BuSy_1n9.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AccountEditView-qdJmLM_e.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AccountLayout-DrN7vHsX.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AccountPasswordSubForm-DZGt_Xgq.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AccountView-CO65y0vZ.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AddressBook-BZNUlhek.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AdminLayout-CTNhuwTw.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AlarmsView-9yKGbmkC.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AlarmsView-DN_JIw9g.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AliasEditView-DjpPUTp9.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AliasRecipientForm-B1Y8wFdP.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AliasView-GOJ5lyQH.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/AuditTrailView-fbXmq70e.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/CalendarView-LlQQNEPL.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ChoiceField-B3ReQHVe.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ComposeEmailForm-Bs1fZXAL.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ComposeEmailView-s3LMl3pO.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ConfirmDialog-DY_kUHLG.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ConnectedLayout-Bxh21hcH.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ConnectedLayout-UWjiYBNw.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/CreationForm-ORg3fazt.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DashboardView-Dplk9itS.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DashboardView-gwwVAPvt.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainAdminList-DVn9x0rB.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainEditView-nAoL64D_.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainTransportForm-CA-DNUxX.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainView-CCLYXPHx.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainView-CdXPpwJG.js +5 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainsView-B_59gowf.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/DomainsView-DZ-ss9bI.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/EmailField-CwcwI5xW.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/EmailView-BshxcfAK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/EmptyLayout-DFfhnhLi.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/FiltersView-Cf20MSTK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ForwardEmailView-CZG062os.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/HtmlEditor-Bh4c689R.js +93 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/IdentitiesView-BXAuU1YX.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/IdentitiesView-DPrrRMS5.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/InformationView-C9vvvQhJ.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/InformationView-Cn5FZW7H.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/LoadingData-CdVvm4FI.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/LoginCallbackView-B9hAH4MI.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/LoginView-tHIR4Adc.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/MailboxView-Bugu2vhg.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/MenuItems-PXjiG-fs.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/MessageView-Cy4STShm.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/MessagesView-DdkuEgfX.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/MigrationsView-CidSEjCF.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ParametersForm-CAv4SH-E.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ParametersView-CX7Ffemw.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ParametersView-CrbNcmV3.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ProviderEditView-CrltAQXl.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ProviderGeneralForm-BYAzVnXM.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ProvidersView-osjIY4Ex.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/QuarantineLayout-B8EcU9vS.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/QuarantineView-D4gOE4EQ.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/QuarantineView-D8Qg0MXA.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ReplyEmailView-BABPqWhd.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ResourcesForm-OaqdRYVs.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/SelfServiceLayout-d277YTGR.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/SettingsView-9iNcDhkI.js +6 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/StatisticsView-cHsPyGkL.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/TimeSerieChart--V83dcJ9.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/UserLayout-B3sBiTcZ.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VAlert-BuaaYN2h.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VApp-CKP-6zGP.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VAutocomplete-Dwv6_Rzq.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VAvatar-Cmga0vj6.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VBadge-BQrRJ9S0.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VBadge-CixeK87a.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VCard-CxH9DWoK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VCheckbox-62GOpvvP.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VCheckboxBtn-DMoNtKT8.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VChip-D_styETR.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VColorPicker-BHscBGQV.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VContainer-B46caNs1.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VDataTable-Bh8NbVSx.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VDataTableServer-BDR5hOmo.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VDataTableVirtual-BOQlNtIG.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VDialog-BcTg7w6P.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VExpansionPanels-BmH5Jl2Z.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VFileInput-BC4yAygd.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VForm-D5iPGkde.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VInput-CcxkaOXT.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VInput-CoDJzvaW.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VMenu-gUG70-zD.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VPicker-BXuKT3zB.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VProgressCircular-BtOPiGCg.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VRadioGroup-DIFZKSn-.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VRow-ozg66L7j.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VSelect-C3RjAa45.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VSelectionControl-zyz-fJvC.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VSheet-BNx2X4Mk.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VSpacer-DinPiXs9.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VSwitch-DwxdeAEq.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VTable-DaLxa4FO.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VTabs-BP0Hgsgm.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VTextField-XoGTj1KG.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VTextarea-wBlRMIv_.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VToolbar-CFZfqeOr.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/VWindowItem-BB7ETW3b.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/WebmailLayout-_Hk1XhVq.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/accounts-DUzbx6k8.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/admin-DewTk2H8.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/aliases-4sXmjwXp.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/amavis-CC0li7_T.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/amavis-DK8SHE6o.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/contacts-BjghrPqZ.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/domains-BSawReeu.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/domains.store-D-vWCEIK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/filter-C82FUCw_.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/forwardRefs-cvcnlhoK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/global.store-DbkcI5o2.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/importExport-DzoL4Mvc.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/index-BImkz5Jx.js +984 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/index-DuzUMVLM.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/layout-C5FyYCHK.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/layout.store-NXWtFIwL.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/logos-BswdveCV.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/logs-6CbtfaZS.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/parameters-aSQiR7kN.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/parameters.store-CzQqVatx.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/permissions-DNoefz-n.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/ssrBoot-CKUX4kcb.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/tag-B_yWNNJD.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/transports-BDNB9wR5.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/assets/webmail-CdU6CD9b.js +1 -0
- modoboa-2.5.0/modoboa/frontend_dist/index.html +22 -0
- modoboa-2.5.0/modoboa/lib/email_utils.py +470 -0
- modoboa-2.5.0/modoboa/lib/permissions.py +175 -0
- modoboa-2.5.0/modoboa/lib/redis.py +17 -0
- modoboa-2.5.0/modoboa/lib/test_runners.py +29 -0
- modoboa-2.5.0/modoboa/lib/tests/__init__.py +268 -0
- modoboa-2.5.0/modoboa/locale/br/LC_MESSAGES/django.po +3389 -0
- modoboa-2.5.0/modoboa/locale/cs/LC_MESSAGES/django.po +3051 -0
- modoboa-2.5.0/modoboa/locale/cs_CZ/LC_MESSAGES/django.po +3409 -0
- modoboa-2.5.0/modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/de/LC_MESSAGES/django.po +3081 -0
- modoboa-2.5.0/modoboa/locale/de_DE/LC_MESSAGES/django.po +3360 -0
- modoboa-2.5.0/modoboa/locale/el_GR/LC_MESSAGES/django.po +3473 -0
- modoboa-2.5.0/modoboa/locale/en/LC_MESSAGES/django.po +3030 -0
- modoboa-2.5.0/modoboa/locale/es/LC_MESSAGES/django.po +3423 -0
- modoboa-2.5.0/modoboa/locale/es_MX/LC_MESSAGES/django.po +3031 -0
- modoboa-2.5.0/modoboa/locale/fi/LC_MESSAGES/django.po +3387 -0
- modoboa-2.5.0/modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/fr/LC_MESSAGES/django.po +3307 -0
- modoboa-2.5.0/modoboa/locale/hu/LC_MESSAGES/django.po +3031 -0
- modoboa-2.5.0/modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/it/LC_MESSAGES/django.po +3460 -0
- modoboa-2.5.0/modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/ja_JP/LC_MESSAGES/django.po +3034 -0
- modoboa-2.5.0/modoboa/locale/ka/LC_MESSAGES/django.po +3031 -0
- modoboa-2.5.0/modoboa/locale/nl_NL/LC_MESSAGES/django.po +3393 -0
- modoboa-2.5.0/modoboa/locale/no/LC_MESSAGES/django.po +3040 -0
- modoboa-2.5.0/modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/pl_PL/LC_MESSAGES/django.po +3407 -0
- modoboa-2.5.0/modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/pt_BR/LC_MESSAGES/django.po +3345 -0
- modoboa-2.5.0/modoboa/locale/pt_PT/LC_MESSAGES/django.po +3413 -0
- modoboa-2.5.0/modoboa/locale/ro_RO/LC_MESSAGES/django.po +3407 -0
- modoboa-2.5.0/modoboa/locale/ru/LC_MESSAGES/django.po +3355 -0
- modoboa-2.5.0/modoboa/locale/si/LC_MESSAGES/django.po +3040 -0
- modoboa-2.5.0/modoboa/locale/sk/LC_MESSAGES/django.po +3032 -0
- modoboa-2.5.0/modoboa/locale/sk_SK/LC_MESSAGES/django.po +3052 -0
- modoboa-2.5.0/modoboa/locale/sl_SI/LC_MESSAGES/django.po +3161 -0
- modoboa-2.5.0/modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa-2.5.0/modoboa/locale/sv/LC_MESSAGES/django.po +3234 -0
- modoboa-2.5.0/modoboa/locale/tr/LC_MESSAGES/django.po +3314 -0
- modoboa-2.5.0/modoboa/locale/tr_TR/LC_MESSAGES/django.po +3148 -0
- modoboa-2.5.0/modoboa/locale/uk/LC_MESSAGES/django.po +3053 -0
- modoboa-2.5.0/modoboa/locale/zh/LC_MESSAGES/django.po +3031 -0
- modoboa-2.5.0/modoboa/locale/zh_CN/LC_MESSAGES/django.po +3036 -0
- modoboa-2.5.0/modoboa/locale/zh_TW/LC_MESSAGES/django.po +3310 -0
- modoboa-2.5.0/modoboa/parameters/api/v2/tests.py +138 -0
- modoboa-2.5.0/modoboa/parameters/api/v2/viewsets.py +120 -0
- modoboa-2.5.0/modoboa/policyd/tests.py +243 -0
- modoboa-2.5.0/modoboa/transport/api/v2/__init__.py +0 -0
- modoboa-2.5.0/modoboa/transport/migrations/__init__.py +0 -0
- modoboa-2.5.0/modoboa/urls_api_v2.py +34 -0
- modoboa-2.5.0/modoboa/webmail/tests/__init__.py +0 -0
- modoboa-2.5.0/modoboa.egg-info/PKG-INFO +192 -0
- modoboa-2.5.0/modoboa.egg-info/SOURCES.txt +1219 -0
- modoboa-2.5.0/modoboa.egg-info/requires.txt +72 -0
- modoboa-2.5.0/pyproject.toml +123 -0
- modoboa-2.5.0/test_project/test_project/__init__.py +0 -0
- modoboa-2.5.0/test_project/test_project/settings.py +419 -0
- modoboa-2.4.10/.dockerignore +0 -11
- modoboa-2.4.10/.gitignore +0 -45
- modoboa-2.4.10/PKG-INFO +0 -190
- modoboa-2.4.10/doc/index.rst +0 -48
- modoboa-2.4.10/doc/installation.rst +0 -100
- modoboa-2.4.10/doc/manual_installation/opendkim.rst +0 -81
- modoboa-2.4.10/doc/upgrade.rst +0 -2030
- modoboa-2.4.10/docker/Dockerfile.dev +0 -33
- modoboa-2.4.10/docker-compose.yml +0 -145
- modoboa-2.4.10/frontend/package.json +0 -59
- modoboa-2.4.10/frontend/src/api/account.js +0 -125
- modoboa-2.4.10/frontend/src/api/admin.js +0 -13
- modoboa-2.4.10/frontend/src/components/account/FidoAuthForm.vue +0 -218
- modoboa-2.4.10/frontend/src/components/admin/alarms/AlarmList.vue +0 -211
- modoboa-2.4.10/frontend/src/components/admin/domains/DNSDetail.vue +0 -260
- modoboa-2.4.10/frontend/src/components/admin/domains/DomainAdminList.vue +0 -173
- modoboa-2.4.10/frontend/src/components/admin/domains/DomainEditForm.vue +0 -277
- modoboa-2.4.10/frontend/src/components/admin/domains/DomainList.vue +0 -385
- modoboa-2.4.10/frontend/src/components/admin/domains/DomainSummary.vue +0 -66
- modoboa-2.4.10/frontend/src/components/admin/identities/AccountCreationForm.vue +0 -291
- modoboa-2.4.10/frontend/src/components/admin/identities/AccountSummary.vue +0 -75
- modoboa-2.4.10/frontend/src/components/admin/identities/IdentityList.vue +0 -505
- modoboa-2.4.10/frontend/src/components/admin/logs/AuditTrailList.vue +0 -89
- modoboa-2.4.10/frontend/src/components/admin/logs/MessageList.vue +0 -75
- modoboa-2.4.10/frontend/src/components/shared/NavBar.vue +0 -166
- modoboa-2.4.10/frontend/src/components/shared/TopMenu.vue +0 -133
- modoboa-2.4.10/frontend/src/components/tools/ConfirmDialog.vue +0 -84
- modoboa-2.4.10/frontend/src/components/tools/CreationForm.vue +0 -201
- modoboa-2.4.10/frontend/src/composables/permissions.js +0 -24
- modoboa-2.4.10/frontend/src/layouts/admin/AdminLayout.vue +0 -159
- modoboa-2.4.10/frontend/src/layouts/connected/ConnectedLayout.vue +0 -105
- modoboa-2.4.10/frontend/src/layouts/webmail/WebmailLayout.vue +0 -218
- modoboa-2.4.10/frontend/src/locale/br/app.po +0 -2908
- modoboa-2.4.10/frontend/src/locale/cs/app.po +0 -2652
- modoboa-2.4.10/frontend/src/locale/de/app.po +0 -2928
- modoboa-2.4.10/frontend/src/locale/el/app.po +0 -2651
- modoboa-2.4.10/frontend/src/locale/en/app.po +0 -2643
- modoboa-2.4.10/frontend/src/locale/es/app.po +0 -2900
- modoboa-2.4.10/frontend/src/locale/fi/app.po +0 -3054
- modoboa-2.4.10/frontend/src/locale/fr/app.po +0 -2746
- modoboa-2.4.10/frontend/src/locale/it/app.po +0 -2908
- modoboa-2.4.10/frontend/src/locale/ja/app.po +0 -2650
- modoboa-2.4.10/frontend/src/locale/ja_JP/app.po +0 -2605
- modoboa-2.4.10/frontend/src/locale/messages.pot +0 -2573
- modoboa-2.4.10/frontend/src/locale/nl/app.po +0 -2651
- modoboa-2.4.10/frontend/src/locale/pl/app.po +0 -2653
- modoboa-2.4.10/frontend/src/locale/pt_BR/app.po +0 -2840
- modoboa-2.4.10/frontend/src/locale/ru/app.po +0 -2889
- modoboa-2.4.10/frontend/src/locale/sv/app.po +0 -2804
- modoboa-2.4.10/frontend/src/locale/tr/app.po +0 -2806
- modoboa-2.4.10/frontend/src/locale/translations.json +0 -1
- modoboa-2.4.10/frontend/src/locale/zh/app.po +0 -2650
- modoboa-2.4.10/frontend/src/plugins/vuetify.js +0 -36
- modoboa-2.4.10/frontend/src/router/index.js +0 -476
- modoboa-2.4.10/frontend/src/stores/auth.store.js +0 -211
- modoboa-2.4.10/frontend/src/stores/global.store.js +0 -22
- modoboa-2.4.10/frontend/src/views/DashboardView.vue +0 -43
- modoboa-2.4.10/frontend/src/views/admin/InformationView.vue +0 -173
- modoboa-2.4.10/frontend/src/views/admin/domains/DomainView.vue +0 -129
- modoboa-2.4.10/frontend/src/views/admin/domains/DomainsView.vue +0 -134
- modoboa-2.4.10/frontend/yarn.lock +0 -2610
- modoboa-2.4.10/modoboa/admin/api/v1/serializers.py +0 -567
- modoboa-2.4.10/modoboa/admin/api/v2/serializers.py +0 -759
- modoboa-2.4.10/modoboa/admin/api/v2/tests.py +0 -826
- modoboa-2.4.10/modoboa/admin/lib.py +0 -368
- modoboa-2.4.10/modoboa/admin/models/mailbox.py +0 -388
- modoboa-2.4.10/modoboa/admin/models/mxrecord.py +0 -95
- modoboa-2.4.10/modoboa/admin/tests/test_import_.py +0 -330
- modoboa-2.4.10/modoboa/core/api/v1/serializers.py +0 -92
- modoboa-2.4.10/modoboa/core/api/v2/serializers.py +0 -693
- modoboa-2.4.10/modoboa/core/api/v2/tests.py +0 -660
- modoboa-2.4.10/modoboa/core/api/v2/urls.py +0 -47
- modoboa-2.4.10/modoboa/core/api/v2/views.py +0 -228
- modoboa-2.4.10/modoboa/core/api/v2/viewsets.py +0 -289
- modoboa-2.4.10/modoboa/core/app_settings.py +0 -747
- modoboa-2.4.10/modoboa/core/fido2_auth.py +0 -68
- modoboa-2.4.10/modoboa/core/handlers.py +0 -143
- modoboa-2.4.10/modoboa/core/management/commands/cleanlogs.py +0 -44
- modoboa-2.4.10/modoboa/core/management/commands/load_initial_data.py +0 -194
- modoboa-2.4.10/modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +0 -17
- modoboa-2.4.10/modoboa/core/tests/test_core.py +0 -231
- modoboa-2.4.10/modoboa/core/utils.py +0 -114
- modoboa-2.4.10/modoboa/dnstools/api/v2/serializers.py +0 -56
- modoboa-2.4.10/modoboa/frontend_dist/assets/AccountAliasForm-DVXatAhB.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AccountEditView-DmvQjxpx.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AccountLayout-OGtZvlHR.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AccountPasswordSubForm-g3IEGrgM.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AccountView-DsxYqr3k.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AddressBook-3RoKiKon.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AdminLayout-CWfn8zaQ.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AlarmsView-Bheey-gp.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AlarmsView-D3Mh8ntf.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AliasEditView-C15eUZ11.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AliasRecipientForm-DVZXWaUX.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AliasView-Cyvc5vMb.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/AuditTrailView-LI2XuLLn.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/CalendarView-BpOlPh3f.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ChoiceField-7eU7c_rI.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ComposeEmailForm-CNfI7ept.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ComposeEmailView-B866Xsrc.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ConfirmDialog-BvqxQsD1.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ConnectedLayout-BQ3ug6Jh.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ConnectedLayout-BaJZ3BeR.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/CreationForm-C9Kh05ax.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DashboardView-BLlMi6Qb.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DashboardView-Cw-gIcuB.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainAdminList-CsWUNKVk.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainEditView-DocxeOeW.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainTransportForm-DPnPGBOp.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainView-BDKoBFYr.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainView-Djc_0PsF.js +0 -5
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainsView-B-Lxru7P.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/DomainsView-DasJ0NdZ.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/EmailField-BEKxuYni.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/EmailView-BsR1Wes5.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/EmptyLayout-BzPFOeLU.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/FiltersView-5rmpC5cC.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ForwardEmailView-D7MbetcT.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/HtmlEditor-uM4AtIGi.js +0 -93
- modoboa-2.4.10/modoboa/frontend_dist/assets/IdentitiesView-BqjD9Lue.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/IdentitiesView-jmuItyMZ.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/InformationView-CghcvPn2.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/InformationView-U5Ww-Sx1.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/LoadingData-CVD2Aen8.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/LoginCallbackView-sWzBke1g.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/LoginView-wmN73W0f.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/MailboxView-T_p-_ZtJ.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/MenuItems-kHCMzR5E.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/MessagesView-Cerv3xsy.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/MigrationsView-7kjqPyYU.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ParametersForm-BCeQljir.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ParametersView-DspBxVMV.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ParametersView-Dy0H5ep1.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ProviderEditView-DDLMOylC.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ProviderGeneralForm-BwOSKNHK.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ProvidersView-C99UD0WB.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ReplyEmailView-DAPBHldd.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ResourcesForm-D87PHeH0.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/SettingsView-OxDo9wNd.js +0 -6
- modoboa-2.4.10/modoboa/frontend_dist/assets/StatisticsView-CM__Eqku.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/TimeSerieChart-C6j0uYR_.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/UserLayout-CckCGnPS.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VAlert-B7mzOJIO.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VApp-BKxnjOoi.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VAutocomplete-Cc4_tcl1.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VAvatar-BAgTUIvX.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VCard-DFWiFORP.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VCheckbox-CKsH_vq3.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VCheckboxBtn-j7di4leN.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VChip-nZ0uhY7t.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VColorPicker-Os2aeP6J.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VContainer-Btam4lk2.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VDataTable-D_0_xJTl.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VDataTableServer-BWTt4Mzi.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VDataTableVirtual-BwVmkt4u.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VDialog-CZqM2Ofu.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VExpansionPanels-B5D6GOa3.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VFileInput-Cv9DIPki.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VForm-CpoZf60D.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VMenu-B_dVqOmo.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VPicker-CXkIGEze.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VProgressCircular-CrEXxs7k.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VRadioGroup-D8ypjYOO.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VRow-C_Ydf6yr.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VSelect-CS51PDEt.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VSelectionControl-DiOqtY38.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VSheet-5VVWtHvs.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VSpacer-C6PZ3X24.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VSwitch-Chg5o-Cp.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VTable-KsiZ3cBz.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VTabs-tNrJIYO0.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VTextField-C-J20yj_.css +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VTextField-CLwRV0Cb.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VTextarea-Di8jbl8m.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VToolbar-CGwhgdmI.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/VWindowItem-wWSFAGI-.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/WebmailLayout-DsYThBrz.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/admin-CJVLMHh9.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/aliases-c3n-dCV_.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/contacts-Bqckz8sr.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/domains-nBMR-fRf.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/domains.store-ChZgLcqP.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/filter-D7NrAf6a.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/forwardRefs-Cpc3YYl6.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/global.store-DUP26-A5.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/importExport-Dn9vYw7T.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/index-DV9Li2cg.js +0 -852
- modoboa-2.4.10/modoboa/frontend_dist/assets/index-DzL89N4E.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/layout-CHO37cA6.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/layout.store-BxBoBlgf.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/logs-DrTzylW7.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/parameters-Lgiqp7aw.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/parameters.store-C9k9DuTj.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/permissions-mL5hLHcW.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/ssrBoot-BsxW6uW4.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/tag-CFK9dzMJ.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/transports-TO08iTXJ.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/assets/webmail-KrD8ZhNM.js +0 -1
- modoboa-2.4.10/modoboa/frontend_dist/index.html +0 -22
- modoboa-2.4.10/modoboa/lib/email_utils.py +0 -470
- modoboa-2.4.10/modoboa/lib/permissions.py +0 -168
- modoboa-2.4.10/modoboa/lib/redis.py +0 -21
- modoboa-2.4.10/modoboa/lib/tests/__init__.py +0 -264
- modoboa-2.4.10/modoboa/locale/br/LC_MESSAGES/django.po +0 -3377
- modoboa-2.4.10/modoboa/locale/cs/LC_MESSAGES/django.po +0 -3043
- modoboa-2.4.10/modoboa/locale/cs_CZ/LC_MESSAGES/django.po +0 -3385
- modoboa-2.4.10/modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/de/LC_MESSAGES/django.po +0 -3393
- modoboa-2.4.10/modoboa/locale/de_DE/LC_MESSAGES/django.po +0 -3348
- modoboa-2.4.10/modoboa/locale/el_GR/LC_MESSAGES/django.po +0 -3448
- modoboa-2.4.10/modoboa/locale/en/LC_MESSAGES/django.po +0 -3022
- modoboa-2.4.10/modoboa/locale/es/LC_MESSAGES/django.po +0 -3396
- modoboa-2.4.10/modoboa/locale/es_MX/LC_MESSAGES/django.po +0 -3023
- modoboa-2.4.10/modoboa/locale/fi/LC_MESSAGES/django.po +0 -3375
- modoboa-2.4.10/modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/fr/LC_MESSAGES/django.po +0 -3039
- modoboa-2.4.10/modoboa/locale/hu/LC_MESSAGES/django.po +0 -3023
- modoboa-2.4.10/modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/it/LC_MESSAGES/django.po +0 -3434
- modoboa-2.4.10/modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/ja_JP/LC_MESSAGES/django.po +0 -3167
- modoboa-2.4.10/modoboa/locale/ka/LC_MESSAGES/django.po +0 -3023
- modoboa-2.4.10/modoboa/locale/nl_NL/LC_MESSAGES/django.po +0 -3365
- modoboa-2.4.10/modoboa/locale/no/LC_MESSAGES/django.po +0 -3032
- modoboa-2.4.10/modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/pl_PL/LC_MESSAGES/django.po +0 -3384
- modoboa-2.4.10/modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/pt_BR/LC_MESSAGES/django.po +0 -3317
- modoboa-2.4.10/modoboa/locale/pt_PT/LC_MESSAGES/django.po +0 -3390
- modoboa-2.4.10/modoboa/locale/ro_RO/LC_MESSAGES/django.po +0 -3395
- modoboa-2.4.10/modoboa/locale/ru/LC_MESSAGES/django.po +0 -3331
- modoboa-2.4.10/modoboa/locale/si/LC_MESSAGES/django.po +0 -3032
- modoboa-2.4.10/modoboa/locale/sk/LC_MESSAGES/django.po +0 -3024
- modoboa-2.4.10/modoboa/locale/sk_SK/LC_MESSAGES/django.po +0 -3044
- modoboa-2.4.10/modoboa/locale/sl_SI/LC_MESSAGES/django.po +0 -3147
- modoboa-2.4.10/modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa-2.4.10/modoboa/locale/sv/LC_MESSAGES/django.po +0 -3201
- modoboa-2.4.10/modoboa/locale/tr/LC_MESSAGES/django.po +0 -3302
- modoboa-2.4.10/modoboa/locale/tr_TR/LC_MESSAGES/django.po +0 -3138
- modoboa-2.4.10/modoboa/locale/uk/LC_MESSAGES/django.po +0 -3045
- modoboa-2.4.10/modoboa/locale/zh/LC_MESSAGES/django.po +0 -3023
- modoboa-2.4.10/modoboa/locale/zh_CN/LC_MESSAGES/django.po +0 -3028
- modoboa-2.4.10/modoboa/locale/zh_TW/LC_MESSAGES/django.po +0 -3298
- modoboa-2.4.10/modoboa/parameters/api/v2/tests.py +0 -138
- modoboa-2.4.10/modoboa/parameters/api/v2/viewsets.py +0 -118
- modoboa-2.4.10/modoboa/policyd/tests.py +0 -241
- modoboa-2.4.10/modoboa/urls_api_v2.py +0 -28
- modoboa-2.4.10/modoboa.egg-info/PKG-INFO +0 -190
- modoboa-2.4.10/modoboa.egg-info/SOURCES.txt +0 -1150
- modoboa-2.4.10/modoboa.egg-info/requires.txt +0 -70
- modoboa-2.4.10/pyproject.toml +0 -120
- modoboa-2.4.10/test_project/test_project/settings.py +0 -389
- {modoboa-2.4.10 → modoboa-2.5.0}/.editorconfig +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/FUNDING.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/ISSUE_TEMPLATE/Bug_Report.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/dependabot.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/stale.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.github/workflows/modoboa.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.mergify.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.pre-commit-config.yaml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.readthedocs.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/.tx/config +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/CHANGELOG.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/CODE_OF_CONDUCT.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/CONTRIBUTING.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/LICENSE +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/MANIFEST.in +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/README.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/SECURITY.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/bin/modoboa-admin.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/codecov.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/Makefile +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/_static/api_access_form.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/_static/modoboa_logo.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/conf.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/configuration.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/contributing/getting_started.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/contributing/plugin_api.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/contributing/translation.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/contributing.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/contributors.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/manual_installation/dovecot.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/manual_installation/modoboa.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/manual_installation/postfix.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/manual_installation/radicale.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/manual_installation/webserver.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/moving.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/rebuild_virtual_env.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/requirements.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/doc/rest_api.rst +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/Dockerfile.front.dev +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/Dockerfile.radicale.dev +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/compose.redis-sentinel.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/doveadm +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/dovecot_config/auth-custom.conf +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/dovecot_config/dovecot-oauth2.conf.ext +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/radicale_config/config +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/docker/radicale_config/rights +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/.browserslistrc +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/.editorconfig +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/.eslint.conf.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/.prettierrc.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/README.md +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/gettext.config.cjs +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/index.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/jsconfig.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/public/config.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/public/favicon.ico +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/App.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/accounts.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/alarms.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/aliases.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/auth.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/calendars.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/capabilities.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/contacts.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/domains.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/identities.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/imap_migration/migrations.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/imap_migration/providers.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/languages.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/logs.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/mailboxes.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/parameters.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/repository.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/senderAddresses.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/statistics.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/theme.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/transports.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/api/webmail.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/assets/Modoboa_RVB-BLANC-SANS.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/assets/Modoboa_RVB-BLEU-SANS.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/assets/logo.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/assets/logo.svg +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/APISetupForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/AutoReplyForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/BackupCodeAuthForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/FilterForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/FilterSetForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/ForwardForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/ProfileForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/RecoveryCodesResetDialog.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/account/TotpAuthForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/dashboard/NewsFeedWidget.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/dmarc/DmarcAligmentChart.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/dmarc/DmarcSourceTable.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DKIMKeyViewer.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DNSStatusChip.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DomainAliasForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DomainCreationForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DomainDKIMKey.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/DomainDNSConfig.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/RelayDomainSummary.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/form_steps/DomainDNSForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/form_steps/DomainGeneralForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/form_steps/DomainLimitationsForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/form_steps/DomainOptionsForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/domains/form_steps/DomainTransportForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AccountAliases.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AccountEditForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AccountSenderAddresses.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AliasCreationForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AliasEditForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AliasRecipientsSummary.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/AliasSummary.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/DomainAdminDomains.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AccountAliasForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AccountGeneralForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AccountMailboxForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AccountPasswordSubForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AccountRoleForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AliasGeneralForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/identities/form_steps/AliasRecipientForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/MigrationsList.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/ProviderCreationForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/ProviderForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/ProvidersList.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/form_steps/ProviderAssociatedForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/admin/imap_migration/form_steps/ProviderGeneralForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/calendars/CalendarAccessRulesForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/calendars/CalendarDetail.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/calendars/CalendarForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/calendars/EventForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/calendars/ImportEventsForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/AddressBookInfo.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/CategoryForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/ContactCategoriesForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/ContactForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/ContactList.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/EmailField.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/contacts/PhoneNumberField.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/shared/UserMenu.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/BooleanIcon.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ChoiceField.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ChooseColumnsForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/CreationSummary.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/DateField.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/EmailField.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/HtmlEditor.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ImportForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/LoadingData.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/MenuItems.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ParametersForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ResourcesForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/ResourcesView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/tools/TimeSerieChart.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/AttachmentsDialog.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/BodyEditor.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/ComposeEmailForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/ContactCard.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/EmailList.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/MailboxForm.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/components/webmail/MailboxList.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/constants.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/layouts/account/AccountLayout.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/layouts/connected/ConnectedView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/layouts/empty/EmptyLayout.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/layouts/empty/EmptyView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/layouts/user/UserLayout.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/locale/LINGUAS +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/locale/nl_NL/app.po +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/locale/pt/app.po +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/main.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/mixins/importExport.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/plugins/filters.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/plugins/gettext.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/plugins/index.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/plugins/permissions.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/plugins/rules.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/bus.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/contacts.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/domains.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/index.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/layout.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/parameters.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/stores/providers.store.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/styles/main.scss +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/styles/settings.scss +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/utils.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/account/FiltersView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/account/ParametersView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/account/SettingsView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/ParametersView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/alarms/AlarmsView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/domains/DomainEditView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/identities/AccountEditView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/identities/AccountView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/identities/AliasEditView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/identities/AliasView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/identities/IdentitiesView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/imap_migration/MigrationsView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/imap_migration/ProviderEditView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/imap_migration/ProvidersView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/monitoring/AuditTrailView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/monitoring/MessagesView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/admin/monitoring/StatisticsView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/calendars/CalendarView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/contacts/AddressBook.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/login/LoginCallbackView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/login/LoginView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/webmail/ComposeEmailView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/webmail/EmailView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/webmail/ForwardEmailView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/webmail/MailboxView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/src/views/webmail/ReplyEmailView.vue +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/frontend/vite.config.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v1/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v1/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v1/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v1/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v2/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/handle_mailbox_operations.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/modo.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/_export.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/_import.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/_mx.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/management/commands/subcommands/_repair.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0003_auto_20151118_1215.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0004_auto_20160914_0907.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0005_auto_20161026_1003.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0006_auto_20161104_1900.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0007_auto_20161104_1915.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0008_domain_enable_dns_checks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0009_auto_20170215_0948.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0010_auto_20170215_1328.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0011_domain_transport.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0012_auto_20180112_1658.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0013_auto_20180124_2311.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0014_auto_20181017_1628.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0015_rename_view_permissions.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0016_auto_20200602_1201.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0017_alarm.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0018_auto_20201204_0935.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0019_update_disabled_accounts_aliases.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0020_auto_20210130_2226.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0021_mailbox_is_send_only.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0022_alter_alarm_domain.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/0023_auto_20240320_1037.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/migrations/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/alarm.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/alias.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/base.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/domain.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/domain_alias.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/models/mixins.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/postfix_maps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/signals.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/templates/admin/notifications/domain_in_dnsbl.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/templates/admin/notifications/domain_invalid_mx.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/dovecot +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_account.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_alarms.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_alias.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_data/import_aliases.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_data/import_domains.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_data/import_domains_duplicates.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_data/import_domains_iso8859.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_domain.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_domain_alias.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_export.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_mailbox_operations.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_mapfiles.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_mx.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_need_dovecot_update.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_password_schemes.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/test_repair.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/admin/tests/utils.py +0 -0
- {modoboa-2.4.10/modoboa/autoreply/api → modoboa-2.5.0/modoboa/amavis/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/autoreply/api/v2 → modoboa-2.5.0/modoboa/amavis/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/autoreply → modoboa-2.5.0/modoboa/amavis}/migrations/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/calendars/management → modoboa-2.5.0/modoboa/amavis/tests}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/calendars/management/commands → modoboa-2.5.0/modoboa/autoreply/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/calendars/migrations → modoboa-2.5.0/modoboa/autoreply/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0002_auto_20150728_1236.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0003_move_aliases.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0004_delete_alias.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0005_auto_20151202_1623.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0006_auto_20160329_1501.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0007_auto_20180928_1423.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0008_delete_transport.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0009_auto_20220926_0913.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0010_auto_20230421_1825.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0011_auto_20250609_0851.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/migrations/0012_delete_arhistoric.py +0 -0
- {modoboa-2.4.10/modoboa/contacts/lib → modoboa-2.5.0/modoboa/autoreply/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/autoreply/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/backends/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/backends/caldav_.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/handlers.py +0 -0
- {modoboa-2.4.10/modoboa/contacts → modoboa-2.5.0/modoboa/calendars}/management/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/contacts → modoboa-2.5.0/modoboa/calendars}/management/commands/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/management/commands/generate_rights.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/migrations/0002_auto_20170831_1721.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/migrations/0003_auto_20180324_1834.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/migrations/0004_auto_20200220_1816.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/migrations/0005_auto_20200220_1819.py +0 -0
- {modoboa-2.4.10/modoboa/contacts → modoboa-2.5.0/modoboa/calendars}/migrations/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/mocks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/test_data/events.ics +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/calendars/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/importer/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/importer/backends/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/importer/backends/outlook.py +0 -0
- {modoboa-2.4.10/modoboa/core/api → modoboa-2.5.0/modoboa/contacts/lib}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/lib/carddav.py +0 -0
- {modoboa-2.4.10/modoboa/core/api/v1 → modoboa-2.5.0/modoboa/contacts/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/core/api/v2 → modoboa-2.5.0/modoboa/contacts/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/management/commands/import_contacts.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0002_auto_20180124_2311.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0003_auto_20181005_1415.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0004_auto_20181005_1415.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0005_auto_20181005_1445.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0006_alter_phonenumber_type.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/migrations/0007_alter_contact_address.py +0 -0
- {modoboa-2.4.10/modoboa/core/management → modoboa-2.5.0/modoboa/contacts/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/mocks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/static/modoboa_contacts/webpack-stats.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/tasks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/test_data/outlook_export.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/test_data/unknown_export.csv +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/contacts/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/core/management/commands → modoboa-2.5.0/modoboa/core/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/core/migrations → modoboa-2.5.0/modoboa/core/api/v1}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/api/v1/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/api/v1/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/api/v1/viewsets.py +0 -0
- {modoboa-2.4.10/modoboa/core/tests → modoboa-2.5.0/modoboa/core/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/checks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/commands/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/commands/deploy.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/commands/help.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/commands/templates/settings.py.tpl +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/commands/templates/urls.py.tpl +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/extensions.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/forms.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/loggers.py +0 -0
- {modoboa-2.4.10/modoboa/core/tests/stupid_extension_1 → modoboa-2.5.0/modoboa/core/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/core/tests/stupid_extension_2 → modoboa-2.5.0/modoboa/core/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/management/commands/clean_inactive_accounts.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/management/commands/communicate_with_public_api.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/management/commands/generate_postfix_maps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/management/commands/set_default_site.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/middleware.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0002_delete_extension.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0003_user_master_user.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0004_auto_20150728_1228.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0005_user_language.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0006_auto_20151114_1518.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0007_auto_20151116_1349.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0008_localconfig.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0009_auto_20161026_1003.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0010_auto_20161026_1011.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0011_auto_20161104_2217.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0012_auto_20170215_1034.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0013_auto_20170707_1058.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0014_auto_20171010_1746.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0015_auto_20180112_1642.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0016_auto_20180713_1014.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0017_auto_20190705_1045.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0018_auto_20200104_1714.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0019_auto_20200121_1659.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0020_auto_20200421_0851.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0021_localconfig_need_dovecot_update.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0022_user_tfa_enabled.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0023_auto_20221012_0911.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0024_alter_user_language.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0026_alter_localconfig__parameters_and_more.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0027_alter_user_language.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0028_userfidokeys.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0029_rename_tfa_enabled_user_totp_enabled_and_more.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/migrations/0030_alter_user_managers.py +0 -0
- {modoboa-2.4.10/modoboa/dmarc/api → modoboa-2.5.0/modoboa/core/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/mocks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/password_hashers/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/password_hashers/advanced.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/password_hashers/base.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/password_hashers/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/password_validation.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/signals.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/sms_backends/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/sms_backends/dummy.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/sms_backends/ovh.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/templates/core/notifications/update_available.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/templates/core/robots.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/templatetags/core_tags.py +0 -0
- {modoboa-2.4.10/modoboa/dmarc/api/v2 → modoboa-2.5.0/modoboa/core/tests}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/doveadm +0 -0
- {modoboa-2.4.10/modoboa/dmarc/management → modoboa-2.5.0/modoboa/core/tests/stupid_extension_1}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/stupid_extension_1/modo_extension.py +0 -0
- {modoboa-2.4.10/modoboa/dmarc/management/commands → modoboa-2.5.0/modoboa/core/tests/stupid_extension_2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/stupid_extension_2/modo_extension.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/stupid_extension_2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/stupid_extension_2/views.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/test_authentication.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/test_checks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/test_extensions.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/test_ldap.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/tests/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/views/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/core/views/auth.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/dmarc/migrations → modoboa-2.5.0/modoboa/dmarc/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/dmarc/tests → modoboa-2.5.0/modoboa/dmarc/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/forms.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/lib.py +0 -0
- {modoboa-2.4.10/modoboa/dnstools → modoboa-2.5.0/modoboa/dmarc/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/dnstools/api → modoboa-2.5.0/modoboa/dmarc/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/management/commands/import_aggregated_report.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/migrations/0002_auto_20180124_2311.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/migrations/0003_auto_20200227_0936.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/migrations/0004_auto_20220926_0913.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/migrations/0005_auto_20230418_1201.py +0 -0
- {modoboa-2.4.10/modoboa/dnstools/api/v2 → modoboa-2.5.0/modoboa/dmarc/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/models.py +0 -0
- {modoboa-2.4.10/modoboa/dnstools/migrations → modoboa-2.5.0/modoboa/dmarc/tests}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/fail-reports/Report_Domain_ngyn.org_Submitter_163.com_Report-ID_aggr_report_ngyn.org_20150705_163-failed.com.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/mixins.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_163.com_Report-ID_aggr_report_ngyn.org_20150705_163.com.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_amazon.com_Report-ID_aggr_report_ngyn.org_20210607-ignored.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_amazon.com_Report-ID_aggr_report_ngyn.org_20210622.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_fastmail.com_Report-ID_2015.06.23.5672770.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_google.com_Report-ID_1282989064754998675.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_google.com_Report-ID_14872432101891615947.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_hotmail.com_Report-ID_66f317a021ff4cdabad2b350d3303615@hotmail.com.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_yahoo.com_Report-ID_1435111091.916236.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/reports/Report_Domain_ngyn.org_Submitter_yahoo.com_Report-ID_1436111091.916236-ignored.eml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dmarc/tests/test_management_command.py +0 -0
- {modoboa-2.4.10/modoboa/imap_migration/api → modoboa-2.5.0/modoboa/dnstools}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/imap_migration/api/v2 → modoboa-2.5.0/modoboa/dnstools/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/imap_migration/management → modoboa-2.5.0/modoboa/dnstools/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10/modoboa/imap_migration/management/commands → modoboa-2.5.0/modoboa/dnstools/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/dnstools/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AccountAliasForm-DChJEu0C.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AccountEditView-DLE8e_xz.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AccountView-BJzPTPbV.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AliasEditView-Cx9410JP.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AliasView-DD9e67NS.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/AuditTrailView-epmsGz6G.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ChoiceField-D2BiBorq.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ComposeEmailForm-DHFthaP6.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/CreationForm-HaiQhqwK.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/DomainEditView-CA90-K2a.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/EmailField-DdJb059h.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/EmailView-DCAPX4Dw.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/HtmlEditor-girA1Pzv.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/MailboxView-B-aI4XBq.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/MessagesView-Bg8UAJJG.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/MigrationsView--E1YzUUh.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/Modoboa_RVB-BLANC-SANS-BBGoASES.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/Modoboa_RVB-BLEU-SANS-pKrnjsR_.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ParametersForm-Dk-qwlRm.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ParametersView-Bwo4l7jC.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ParametersView-DaKFNERg.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ProviderGeneralForm-DU1OrxZe.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/ProvidersView-D_ER4F1h.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/SettingsView-DIvKGRBY.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/StatisticsView-DtNkgGdm.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/TimeSerieChart-CxiwMzE8.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VAlert-iGJ3gOzk.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VApp-DwhR0sAF.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VAutocomplete-CPd3yAvV.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VAvatar-DXG1YGB5.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VCard-BNvk7mV7.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VCheckbox-CvH8ekHL.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VChip-D0iltsFo.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VColorPicker-C5_3l312.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VDataTable-CJyX7uj5.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VDialog-DwTSAOeg.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VExpansionPanels-RsCANmDP.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VFileInput-VtUg4zpy.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VGrid-Cb7FdSrp.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VMenu-CxE66Rh1.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VPicker-CfsXFhHv.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VProgressCircular-BPJdTVu4.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VRadioGroup-Cp9mZ7cb.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VSelect-SEzwNEUK.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VSelectionControl-CIeJsqfW.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VSheet-B07QgQE8.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VSwitch-Mm7Rd7At.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VTable-CHRVGI94.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VTabs-Bv8FUb0o.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VTextarea-BTR7f0gW.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VToolbar-BxjAEfSk.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/VWindowItem-CWBhiE_Y.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/WebmailLayout-UlftFiiT.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/colors-DoZdCu1D.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/forwardRefs-i-22bMcD.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/index-B1bJH8Ti.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/config.json +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/frontend_dist/favicon.ico +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/imap_migration/migrations → modoboa-2.5.0/modoboa/imap_migration/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/ldapsync/management → modoboa-2.5.0/modoboa/imap_migration/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/auth_backends.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/checks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/factories.py +0 -0
- {modoboa-2.4.10/modoboa/ldapsync/management/commands → modoboa-2.5.0/modoboa/imap_migration/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/lib → modoboa-2.5.0/modoboa/imap_migration/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/management/commands/generate_offlineimap_config.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/migrations/0002_password.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/migrations/0003_auto_20190207_0919.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/migrations/0004_auto_20190207_0939.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/migrations/0005_auto_20210401_0938.py +0 -0
- {modoboa-2.4.10/modoboa/lib → modoboa-2.5.0/modoboa/imap_migration}/migrations/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/templates/imap_migration/offlineimap.conf +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/imap_migration/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/lib.py +0 -0
- {modoboa-2.4.10/modoboa/lib/templatetags → modoboa-2.5.0/modoboa/ldapsync/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/limits/api → modoboa-2.5.0/modoboa/ldapsync/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/management/commands/import_from_ldap_directory.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/management/commands/update_dovecot_conf.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/ldapsync/tests.py +0 -0
- {modoboa-2.4.10/modoboa/limits/api/v1 → modoboa-2.5.0/modoboa/lib}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/api_client.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/authbackends.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/cryptutils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/exceptions.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/fields.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/form_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/imap_utf7.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/ldap_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/middleware.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0002_rename_parameters.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0003_rename_parameters.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0004_auto_20151114_1409.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0005_auto_20160416_1449.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0006_auto_20161104_2206.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/migrations/0007_auto_20250701_0921.py +0 -0
- {modoboa-2.4.10/modoboa/limits/api/v2 → modoboa-2.5.0/modoboa/lib/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/oauth2.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/pagination.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/paginator.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/renderers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/signals.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/singleton.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/smtp_backend.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/sysutils.py +0 -0
- {modoboa-2.4.10/modoboa/limits/migrations → modoboa-2.5.0/modoboa/lib/templatetags}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/templatetags/form_tags.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/test_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/multipart-input.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/multipart-output-html_links.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/multipart-output-html_nolinks.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/multipart-output-plain_nolinks.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/text_plain-input.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/sample_messages/text_plain-output-plain_nolinks.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/test_cryptutils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/test_email_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/test_u2u_decode.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/tests/test_web_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/throttle.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/u2u_decode.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/validators.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/lib/web_utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/limits/tests → modoboa-2.5.0/modoboa/limits/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/maillog/api → modoboa-2.5.0/modoboa/limits/api/v1}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/api/v1/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/api/v1/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/api/v1/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/api/v1/viewsets.py +0 -0
- {modoboa-2.4.10/modoboa/maillog → modoboa-2.5.0/modoboa/limits}/api/v2/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0001_squashed_0004_auto_20160413_1312.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0002_auto_20151114_1518.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0003_auto_20160413_1046.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0004_auto_20160413_1312.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0005_auto_20160415_1654.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/migrations/0006_auto_20170216_1112.py +0 -0
- {modoboa-2.4.10/modoboa/maillog/management → modoboa-2.5.0/modoboa/limits/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/models.py +0 -0
- {modoboa-2.4.10/modoboa/maillog/management/commands → modoboa-2.5.0/modoboa/limits/tests}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/tests/test_domain_limits.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/tests/test_import.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/tests/test_user_limits.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/limits/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/cs/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/en/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/es_MX/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/hu/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/ka/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/no/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/si/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/sk/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/sl_SI/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/uk/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/zh/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/zh_CN/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/maillog/migrations → modoboa-2.5.0/modoboa/maillog/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/maillog/tests → modoboa-2.5.0/modoboa/maillog/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/graphics.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/lib.py +0 -0
- {modoboa-2.4.10/modoboa/parameters → modoboa-2.5.0/modoboa/maillog/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/parameters/api → modoboa-2.5.0/modoboa/maillog/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/management/commands/logparser.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/management/commands/update_statistics.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/migrations/0002_auto_20200916_1346.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/migrations/0003_auto_20211108_1652.py +0 -0
- {modoboa-2.4.10/modoboa/parameters/api/v2 → modoboa-2.5.0/modoboa/maillog/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/parser.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/signals.py +0 -0
- {modoboa-2.4.10/modoboa/pdfcredentials/api → modoboa-2.5.0/modoboa/maillog/tests}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/tests/mail.log +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/maillog/tests/test_views.py +0 -0
- {modoboa-2.4.10/modoboa/pdfcredentials/api/v2 → modoboa-2.5.0/modoboa/parameters}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/policyd/management → modoboa-2.5.0/modoboa/parameters/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/policyd/management/commands → modoboa-2.5.0/modoboa/parameters/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/parameters/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/parameters/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/parameters/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/parameters/tools.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/relaydomains → modoboa-2.5.0/modoboa/pdfcredentials}/api/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/relaydomains/api/v1 → modoboa-2.5.0/modoboa/pdfcredentials/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/api/v2/views.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/documents.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/tests/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/pdfcredentials/tests/test_lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/core.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/handlers.py +0 -0
- {modoboa-2.4.10/modoboa/relaydomains/migrations → modoboa-2.5.0/modoboa/policyd/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/rspamd/api → modoboa-2.5.0/modoboa/policyd/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/management/commands/policy_daemon.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/templates/policyd/notifications/limit_reached.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/policyd/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/rspamd/api/v2 → modoboa-2.5.0/modoboa/relaydomains/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/rspamd/management → modoboa-2.5.0/modoboa/relaydomains/api/v1}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/api/v1/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/api/v1/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/api/v1/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/api/v1/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0007_recipientaccess.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py +0 -0
- {modoboa-2.4.10/modoboa/rspamd/management/commands → modoboa-2.5.0/modoboa/relaydomains/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/postfix_maps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/relaydomains/transport.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/admin.py +0 -0
- {modoboa-2.4.10/modoboa/rspamd/migrations → modoboa-2.5.0/modoboa/rspamd/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/sievefilters/api → modoboa-2.5.0/modoboa/rspamd/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/handlers.py +0 -0
- {modoboa-2.4.10/modoboa/sievefilters/api/v2 → modoboa-2.5.0/modoboa/rspamd/management}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/transport/api → modoboa-2.5.0/modoboa/rspamd/management/commands}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/management/commands/manage_rspamd_maps.py +0 -0
- {modoboa-2.4.10/modoboa/transport/api/v2 → modoboa-2.5.0/modoboa/rspamd/migrations}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/rspamd/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/transport/migrations → modoboa-2.5.0/modoboa/sievefilters/api}/__init__.py +0 -0
- {modoboa-2.4.10/modoboa/webmail/tests → modoboa-2.5.0/modoboa/sievefilters/api/v2}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/api/v2/vloaders.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/lib.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/mocks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/sievefilters/rfc6266.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/favicon.ico +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/login.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/modoboa-new.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/modoboa-white.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/modoboa.png +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/css/offline.css +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/static/js/webauthn-json.browser-ponyfill.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/404.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/500.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/common/error.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/common/generic_field.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/common/generic_fields_group.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/layout_simple.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/base.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/login.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_complete.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_confirm.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_confirm_code.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_done.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_email.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_email_v2.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_form.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/password_reset_subject.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/templates/registration/twofactor_code_verify.html +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/test_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/__init__.py +0 -0
- {modoboa-2.4.10/test_project/test_project → modoboa-2.5.0/modoboa/transport/api}/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/api/v2/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/api/v2/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/api/v2/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/api/v2/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/backends.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/factories.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/handlers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/migrations/0001_initial.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/migrations/0002_auto_20180928_1520.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/migrations/0003_alter_transport__settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/models.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/postfix_maps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/transport/static/transport/js/transport.js +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/urls_api_v1.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/version.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/app_settings.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/apps.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/constants.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/exceptions.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/__init__.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/attachments.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/fetch_parser.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/imapemail.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/imapheader.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/imaputils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/rfc6266.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/sendmail.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/signature.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/lib/utils.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/mocks.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/serializers.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/tests/data.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/tests/test_fetch_parser.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/tests/test_viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa/webmail/viewsets.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa.egg-info/dependency_links.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa.egg-info/entry_points.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa.egg-info/not-zip-safe +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/modoboa.egg-info/top_level.txt +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/setup.cfg +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/setup.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_data/base.ldif +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_data/slapd.conf +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/.coveragerc +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/docker-compose.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/manage.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/oidc_key +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/test_project/urls.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/test_project/test_project/wsgi.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/tests.py +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/tox.ini +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/transifex.yml +0 -0
- {modoboa-2.4.10 → modoboa-2.5.0}/update_deps.sh +0 -0
modoboa-2.5.0/.gitignore
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
.*~$
|
|
2
|
+
*.pyc
|
|
3
|
+
*.mo
|
|
4
|
+
*.db
|
|
5
|
+
modoboa.egg-info
|
|
6
|
+
doc/.build
|
|
7
|
+
doc/.static
|
|
8
|
+
doc/.templates
|
|
9
|
+
DEV
|
|
10
|
+
.idea
|
|
11
|
+
.ropeproject
|
|
12
|
+
modoboa.iml
|
|
13
|
+
.tox
|
|
14
|
+
.eggs/
|
|
15
|
+
modoboa_test
|
|
16
|
+
bin/instance
|
|
17
|
+
.coverage
|
|
18
|
+
./build/
|
|
19
|
+
dist/
|
|
20
|
+
modoboa/frontend_dist
|
|
21
|
+
# JS stuff
|
|
22
|
+
node_modules
|
|
23
|
+
/static/dist
|
|
24
|
+
/frontend/webpack-stats.json
|
|
25
|
+
/frontend/src/translations.json
|
|
26
|
+
/frontend/.__mf__temp/
|
|
27
|
+
|
|
28
|
+
# TOX stuff
|
|
29
|
+
test_project/modoboa.db
|
|
30
|
+
|
|
31
|
+
/.project
|
|
32
|
+
/.pydevproject
|
|
33
|
+
|
|
34
|
+
# Misc
|
|
35
|
+
.ash_history
|
|
36
|
+
modoboa.kdev4
|
|
37
|
+
.kateproject
|
|
38
|
+
test_project/cert.crt
|
|
39
|
+
test_project/cert.key
|
|
40
|
+
test_project/envfile
|
|
41
|
+
test_project/media
|
|
42
|
+
|
|
43
|
+
# Docker
|
|
44
|
+
docker/collections
|
|
45
|
+
docker/redis
|
|
46
|
+
docker/mariadb
|
modoboa-2.5.0/PKG-INFO
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: modoboa
|
|
3
|
+
Version: 2.5.0
|
|
4
|
+
Summary: Mail hosting made simple
|
|
5
|
+
Author-email: Antoine Nguyen <tonio@ngyn.org>
|
|
6
|
+
License: ISC License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2009-2023, Antoine Nguyen <tonio@ngyn.org>
|
|
9
|
+
|
|
10
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
12
|
+
copyright notice and this permission notice appear in all copies.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
15
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
17
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
18
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
19
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
20
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
21
|
+
|
|
22
|
+
Project-URL: Homepage, http://modoboa.org/
|
|
23
|
+
Project-URL: Documentation, https://modoboa.readthedocs.io/en/latest/
|
|
24
|
+
Project-URL: Repository, https://github.com/modoboa/modoboa
|
|
25
|
+
Project-URL: Changelog, https://github.com/modoboa/modoboa/blob/master/CHANGELOG.md
|
|
26
|
+
Project-URL: Issues, https://github.com/modoboa/modoboa/issues
|
|
27
|
+
Keywords: email
|
|
28
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
29
|
+
Classifier: Environment :: Web Environment
|
|
30
|
+
Classifier: Framework :: Django :: 5.2
|
|
31
|
+
Classifier: Intended Audience :: System Administrators
|
|
32
|
+
Classifier: License :: OSI Approved :: ISC License (ISCL)
|
|
33
|
+
Classifier: Operating System :: OS Independent
|
|
34
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
35
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
36
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
37
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
38
|
+
Classifier: Topic :: Communications :: Email
|
|
39
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
40
|
+
Requires-Python: >=3.10
|
|
41
|
+
Description-Content-Type: text/x-rst
|
|
42
|
+
License-File: LICENSE
|
|
43
|
+
Requires-Dist: django==5.2.6
|
|
44
|
+
Requires-Dist: django-phonenumber-field[phonenumbers]==8.1.0
|
|
45
|
+
Requires-Dist: django-reversion==5.1.0
|
|
46
|
+
Requires-Dist: django-xforwardedfor-middleware==2.0
|
|
47
|
+
Requires-Dist: django-otp==1.6.1
|
|
48
|
+
Requires-Dist: django-filter
|
|
49
|
+
Requires-Dist: django-rename-app==0.1.7
|
|
50
|
+
Requires-Dist: django-environ
|
|
51
|
+
Requires-Dist: dj-database-url
|
|
52
|
+
Requires-Dist: djangorestframework<3.17,>=3.16
|
|
53
|
+
Requires-Dist: drf-spectacular
|
|
54
|
+
Requires-Dist: uritemplate
|
|
55
|
+
Requires-Dist: django-oauth-toolkit
|
|
56
|
+
Requires-Dist: django-cors-headers
|
|
57
|
+
Requires-Dist: passlib~=1.7.4
|
|
58
|
+
Requires-Dist: bcrypt
|
|
59
|
+
Requires-Dist: asgiref
|
|
60
|
+
Requires-Dist: dnspython==2.8.0
|
|
61
|
+
Requires-Dist: feedparser==6.0.11
|
|
62
|
+
Requires-Dist: fido2==2.0.0
|
|
63
|
+
Requires-Dist: gevent==25.8.2
|
|
64
|
+
Requires-Dist: progressbar33==2.4
|
|
65
|
+
Requires-Dist: python-dateutil
|
|
66
|
+
Requires-Dist: cryptography
|
|
67
|
+
Requires-Dist: pytz
|
|
68
|
+
Requires-Dist: requests
|
|
69
|
+
Requires-Dist: lxml_html_clean
|
|
70
|
+
Requires-Dist: chardet
|
|
71
|
+
Requires-Dist: ovh
|
|
72
|
+
Requires-Dist: oath
|
|
73
|
+
Requires-Dist: packaging
|
|
74
|
+
Requires-Dist: redis>=4.2.0rc1
|
|
75
|
+
Requires-Dist: rrdtool-bindings>=0.2.0
|
|
76
|
+
Requires-Dist: qrcode
|
|
77
|
+
Requires-Dist: aiosmtplib
|
|
78
|
+
Requires-Dist: reportlab
|
|
79
|
+
Requires-Dist: tldextract>=2.0.2
|
|
80
|
+
Requires-Dist: defusedxml>=0.6.0
|
|
81
|
+
Requires-Dist: python-magic>=0.4.24
|
|
82
|
+
Requires-Dist: rq>=1.13.0
|
|
83
|
+
Requires-Dist: django-rq
|
|
84
|
+
Requires-Dist: sievelib>=1.4.1
|
|
85
|
+
Requires-Dist: drf-nested-routers
|
|
86
|
+
Requires-Dist: vobject
|
|
87
|
+
Requires-Dist: caldav==2.0.1
|
|
88
|
+
Requires-Dist: html2text
|
|
89
|
+
Requires-Dist: idna
|
|
90
|
+
Provides-Extra: dev
|
|
91
|
+
Requires-Dist: django-debug-toolbar; extra == "dev"
|
|
92
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
93
|
+
Requires-Dist: black; extra == "dev"
|
|
94
|
+
Requires-Dist: ruff; extra == "dev"
|
|
95
|
+
Requires-Dist: django-extensions; extra == "dev"
|
|
96
|
+
Requires-Dist: Werkzeug; extra == "dev"
|
|
97
|
+
Requires-Dist: pyOpenSSL; extra == "dev"
|
|
98
|
+
Provides-Extra: mysql
|
|
99
|
+
Requires-Dist: mysqlclient<2.2.8; extra == "mysql"
|
|
100
|
+
Provides-Extra: postgresql
|
|
101
|
+
Requires-Dist: psycopg[binary]>=3.1; extra == "postgresql"
|
|
102
|
+
Provides-Extra: test
|
|
103
|
+
Requires-Dist: argon2-cffi>=16.1.0; extra == "test"
|
|
104
|
+
Requires-Dist: factory-boy<3.4.0; extra == "test"
|
|
105
|
+
Requires-Dist: httmock==1.4.0; extra == "test"
|
|
106
|
+
Requires-Dist: testfixtures==8.3.0; extra == "test"
|
|
107
|
+
Requires-Dist: tox; extra == "test"
|
|
108
|
+
Provides-Extra: ldap
|
|
109
|
+
Requires-Dist: django-auth-ldap<6.0.0; extra == "ldap"
|
|
110
|
+
Dynamic: license-file
|
|
111
|
+
|
|
112
|
+
############################################
|
|
113
|
+
Modoboa (`website <https://modoboa.org/>`_)
|
|
114
|
+
############################################
|
|
115
|
+
|
|
116
|
+
|workflow| |codecov| |latest-version|
|
|
117
|
+
|
|
118
|
+
`Modoboa <https://modoboa.org>`_ is a mail hosting and management platform including a modern
|
|
119
|
+
and simplified Web User Interface. It provides useful components such
|
|
120
|
+
as an administration panel and webmail.
|
|
121
|
+
|
|
122
|
+
Modoboa integrates with well known software such as `Postfix
|
|
123
|
+
<http://postfix.org/>`_ or `Dovecot <http://dovecot.org/>`_. A SQL
|
|
124
|
+
database (`MySQL <http://www.mysql.com>`_, `PostgreSQL
|
|
125
|
+
<http://www.postgresql.org/>`_ or `SQLite <http://www.sqlite.org>`_)
|
|
126
|
+
is used as a central point of communication between all components.
|
|
127
|
+
|
|
128
|
+
Modoboa is developed with modularity in mind, expanding it is really
|
|
129
|
+
easy. Actually, all current features are extensions.
|
|
130
|
+
|
|
131
|
+
It is written in Python 3 and uses the `Django
|
|
132
|
+
<https://www.djangoproject.com>`_ and `Vue <https://vuejs.org/>`_
|
|
133
|
+
frameworks.
|
|
134
|
+
|
|
135
|
+
*************
|
|
136
|
+
Main features
|
|
137
|
+
*************
|
|
138
|
+
|
|
139
|
+
* Administration panel
|
|
140
|
+
* Reputation protection: `DNSBL <https://en.wikipedia.org/wiki/DNSBL>`_ checks, `DMARC <https://dmarc.org/>`_ `reports <https://github.com/modoboa/modoboa-dmarc>`_ and more
|
|
141
|
+
* `Amavis <http://www.amavis.org>`_ `frontend <https://github.com/modoboa/modoboa-amavis>`_
|
|
142
|
+
* Webmail
|
|
143
|
+
* Calendar
|
|
144
|
+
* Address book
|
|
145
|
+
* Per-user Sieve filters
|
|
146
|
+
* Autoreply messages
|
|
147
|
+
* Graphical statistics about email traffic
|
|
148
|
+
|
|
149
|
+
************
|
|
150
|
+
Installation
|
|
151
|
+
************
|
|
152
|
+
|
|
153
|
+
The easiest way to install modoboa is to use the
|
|
154
|
+
`official installer <https://github.com/modoboa/modoboa-installer>`_.
|
|
155
|
+
More information is available in the documentation.
|
|
156
|
+
|
|
157
|
+
*************
|
|
158
|
+
Documentation
|
|
159
|
+
*************
|
|
160
|
+
|
|
161
|
+
A detailed `documentation <https://modoboa.readthedocs.io/>`_ will help you
|
|
162
|
+
to install, use or extend Modoboa.
|
|
163
|
+
|
|
164
|
+
*****************
|
|
165
|
+
Demo Installation
|
|
166
|
+
*****************
|
|
167
|
+
|
|
168
|
+
If you want to try out Modoboa, check out our `demo installation <https://demo.modoboa.org/>`_.
|
|
169
|
+
|
|
170
|
+
************
|
|
171
|
+
Getting help
|
|
172
|
+
************
|
|
173
|
+
|
|
174
|
+
Modoboa is a free software and is totally open source BUT you can hire the team if you need professional services. More information here: https://modoboa.org/en/professional-services/.
|
|
175
|
+
|
|
176
|
+
Contracting a support plan if a good way to ensure your installation stays available and up-to-date and it will help the project to be sustainable :)
|
|
177
|
+
|
|
178
|
+
*********
|
|
179
|
+
Community
|
|
180
|
+
*********
|
|
181
|
+
|
|
182
|
+
If you have any questions, you can get help through the following platforms:
|
|
183
|
+
|
|
184
|
+
* `Discord <https://discord.gg/WuQ3v3PXGR>`_
|
|
185
|
+
* Github: open an issue if you found a bug
|
|
186
|
+
|
|
187
|
+
.. |latest-version| image:: https://img.shields.io/pypi/v/modoboa.svg
|
|
188
|
+
:target: https://pypi.python.org/pypi/modoboa/
|
|
189
|
+
:alt: Latest version on Pypi
|
|
190
|
+
.. |workflow| image:: https://github.com/modoboa/modoboa/actions/workflows/modoboa.yml/badge.svg
|
|
191
|
+
.. |codecov| image:: https://codecov.io/gh/modoboa/modoboa/graph/badge.svg?token=1E5eBxJO33
|
|
192
|
+
:target: https://codecov.io/gh/modoboa/modoboa
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
.. Modoboa documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Mon Jan 3 22:29:25 2011.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
Modoboa documentation
|
|
7
|
+
=====================
|
|
8
|
+
|
|
9
|
+
.. image:: _static/modoboa_logo.png
|
|
10
|
+
:align: center
|
|
11
|
+
|
|
12
|
+
Overview
|
|
13
|
+
--------
|
|
14
|
+
|
|
15
|
+
Modoboa is a mail hosting and management platform including a modern
|
|
16
|
+
and simplified Web User Interface designed to work with `Postfix
|
|
17
|
+
<http://www.postfix.org>`_ and `Dovecot <http://www.dovecot.org>`_.
|
|
18
|
+
|
|
19
|
+
And it is extensible by nature and comes with a lot of additional extensions:
|
|
20
|
+
|
|
21
|
+
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
|
22
|
+
|Name |Description |Documentation |
|
|
23
|
+
| | | |
|
|
24
|
+
| | | |
|
|
25
|
+
| | | |
|
|
26
|
+
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
|
27
|
+
|`modoboa-pfxadmin-migrate |A tool to migrate from |https://github.com/modoboa/modoboa-pfxadmin-migrate |
|
|
28
|
+
|<https://github.com/modoboa/modoboa-pfxadmin-migrate>`_ |Postfixadmin | |
|
|
29
|
+
+---------------------------------------------------------+-------------------------+------------------------------------------------------+
|
|
30
|
+
|
|
31
|
+
Table of contents
|
|
32
|
+
-----------------
|
|
33
|
+
|
|
34
|
+
.. toctree::
|
|
35
|
+
:maxdepth: 1
|
|
36
|
+
|
|
37
|
+
installation
|
|
38
|
+
upgrade
|
|
39
|
+
configuration
|
|
40
|
+
moving
|
|
41
|
+
rest_api
|
|
42
|
+
contributing
|
|
43
|
+
contributors
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
############
|
|
2
|
+
Installation
|
|
3
|
+
############
|
|
4
|
+
|
|
5
|
+
Requirements
|
|
6
|
+
===============
|
|
7
|
+
You will need a Server to perform well with at least:
|
|
8
|
+
|
|
9
|
+
* CPU: 2
|
|
10
|
+
* RAM: 2GB
|
|
11
|
+
* Disk: 10GB
|
|
12
|
+
* Python 3.8+
|
|
13
|
+
* Postgres 12+ or MariaDB 10.4+ or MySQL 8+ or sqlite3 or LDAP
|
|
14
|
+
|
|
15
|
+
.. note:: **👀 Heads up for modoboa versions 1.15 and later**
|
|
16
|
+
|
|
17
|
+
Python 2 support has been dropped with modoboa version 1.15.
|
|
18
|
+
If you still have Python 2 installed on your system either uninstall it
|
|
19
|
+
or force modoboa user to run with Python 3.
|
|
20
|
+
|
|
21
|
+
If you want to run virus scan on your server you will need **4GB** of RAM.
|
|
22
|
+
|
|
23
|
+
Recommended way
|
|
24
|
+
===============
|
|
25
|
+
|
|
26
|
+
If you start from scratch and want to deploy a complete mail server,
|
|
27
|
+
you will love the `modoboa installer
|
|
28
|
+
<https://github.com/modoboa/modoboa-installer>`_! It is the easiest
|
|
29
|
+
and the quickest way to setup a fully functional server (modoboa,
|
|
30
|
+
postfix, dovecot, amavis and more) on one machine.
|
|
31
|
+
|
|
32
|
+
.. warning::
|
|
33
|
+
|
|
34
|
+
For now, only Debian based Linux distributions are
|
|
35
|
+
supported. We do our best to improve compatibility but if you use
|
|
36
|
+
another Linux or a UNIX system, you will have to install Modoboa
|
|
37
|
+
:ref:`manually <by_hand>`.
|
|
38
|
+
|
|
39
|
+
To use it, just run the following commands in your terminal:
|
|
40
|
+
|
|
41
|
+
.. sourcecode:: bash
|
|
42
|
+
|
|
43
|
+
> git clone https://github.com/modoboa/modoboa-installer
|
|
44
|
+
> cd modoboa-installer
|
|
45
|
+
> sudo ./run.py <your domain>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if you get this warning - '/usr/bin/env: ‘python’: No such file or directory', do make sure sure python is installed on your server. Sometimes python is installed but the installer can't detect it or which python version to run, especially on a debian based system. Then run this command first.
|
|
49
|
+
|
|
50
|
+
.. sourcecode:: bash
|
|
51
|
+
|
|
52
|
+
> sudo apt-get install python3-virtualenv python3-pip
|
|
53
|
+
|
|
54
|
+
For the sake of simplicity, you can also install the ``python-is-python3`` package.
|
|
55
|
+
It allows you to use ``python`` command.
|
|
56
|
+
|
|
57
|
+
Wait a few minutes and you're done \o/
|
|
58
|
+
|
|
59
|
+
.. _by_hand:
|
|
60
|
+
|
|
61
|
+
Manual installation
|
|
62
|
+
===================
|
|
63
|
+
|
|
64
|
+
For those who need a manual installation or who just want to setup a
|
|
65
|
+
specific part, here are the steps you must follow:
|
|
66
|
+
|
|
67
|
+
.. toctree::
|
|
68
|
+
:maxdepth: 1
|
|
69
|
+
|
|
70
|
+
manual_installation/modoboa
|
|
71
|
+
manual_installation/webserver
|
|
72
|
+
manual_installation/dovecot
|
|
73
|
+
manual_installation/postfix
|
|
74
|
+
manual_installation/opendkim
|
|
75
|
+
manual_installation/radicale
|
|
76
|
+
manual_installation/amavis
|
|
77
|
+
|
|
78
|
+
Extensions
|
|
79
|
+
----------
|
|
80
|
+
|
|
81
|
+
Only few commands are needed to add a new extension to your setup.
|
|
82
|
+
|
|
83
|
+
In case you use a dedicated user and/or a virtualenv, do not forget to
|
|
84
|
+
use them:
|
|
85
|
+
|
|
86
|
+
.. sourcecode:: bash
|
|
87
|
+
|
|
88
|
+
> sudo -u <modoboa_user> -i bash
|
|
89
|
+
> source <virtuenv_path>/bin/activate
|
|
90
|
+
|
|
91
|
+
Then, run the following commands:
|
|
92
|
+
|
|
93
|
+
.. sourcecode:: bash
|
|
94
|
+
|
|
95
|
+
> pip install <EXTENSION>==<VERSION>
|
|
96
|
+
> cd <modoboa_instance_dir>
|
|
97
|
+
> python manage.py migrate
|
|
98
|
+
> python manage.py collectstatic
|
|
99
|
+
> python manage.py check --deploy
|
|
100
|
+
|
|
101
|
+
Then, restart your web server.
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
######
|
|
2
|
+
Amavis
|
|
3
|
+
######
|
|
4
|
+
|
|
5
|
+
Quick Amavis setup
|
|
6
|
+
==================
|
|
7
|
+
|
|
8
|
+
By default, amavis doesn't use a database. To configure this
|
|
9
|
+
behaviour, you first need to create a dedicated database. This step is a
|
|
10
|
+
bit manual since no *ready-to-use* SQL schema is provided by
|
|
11
|
+
amavis. The information is located inside README files, one for `MySQL
|
|
12
|
+
<http://www.amavis.org/README.sql-mysql.txt>`_ and one for `PostgreSQL
|
|
13
|
+
<http://www.amavis.org/README.sql-pg.txt>`_.
|
|
14
|
+
|
|
15
|
+
Then, you must tell amavis to use this database for lookups and
|
|
16
|
+
quarantined messages storing. Here is a working configuration sample::
|
|
17
|
+
|
|
18
|
+
@lookup_sql_dsn =
|
|
19
|
+
(['DBI:<driver>:database=<database>;host=<dbhost>;port=<dbport>', '<dbuser>', '<password>]']);
|
|
20
|
+
|
|
21
|
+
@storage_sql_dsn =
|
|
22
|
+
(['DBI:<driver>:database=<database>;host=<dbhost>;port=<dbport>', '<dbuser>', '<password>]']);
|
|
23
|
+
|
|
24
|
+
# PostgreSQL users NEED this parameter!
|
|
25
|
+
# MySQL users only need this parameter is email addresses are stored
|
|
26
|
+
# using the VARBINARY type.
|
|
27
|
+
$sql_allow_8bit_address = 1;
|
|
28
|
+
|
|
29
|
+
$virus_quarantine_method = 'sql:';
|
|
30
|
+
$spam_quarantine_method = 'sql:';
|
|
31
|
+
$banned_files_quarantine_method = 'sql:';
|
|
32
|
+
$bad_header_quarantine_method = 'sql:';
|
|
33
|
+
|
|
34
|
+
$virus_quarantine_to = 'virus-quarantine';
|
|
35
|
+
$banned_quarantine_to = 'banned-quarantine';
|
|
36
|
+
$bad_header_quarantine_to = 'bad-header-quarantine';
|
|
37
|
+
$spam_quarantine_to = 'spam-quarantine';
|
|
38
|
+
|
|
39
|
+
Replace values between ``<>`` by yours. To know how to configure
|
|
40
|
+
amavis to allow quarantined messages release, read this :ref:`section
|
|
41
|
+
<amavis_release>`.
|
|
42
|
+
|
|
43
|
+
.. note::
|
|
44
|
+
|
|
45
|
+
Amavis configuration allows for separate lookup and storage
|
|
46
|
+
databases but Modoboa doesn't support it yet.
|
|
47
|
+
|
|
48
|
+
.. note::
|
|
49
|
+
|
|
50
|
+
``$sql_partition_tag`` should remain undefined in ``amavisd.conf``. Modoboa
|
|
51
|
+
does not support the use of ``sql_partition_tag``, setting this value can
|
|
52
|
+
result in quarantined messages not showing or the wrong messages being
|
|
53
|
+
released or learnt as ham/spam.
|
|
54
|
+
|
|
55
|
+
Connect Modoboa and Amavis
|
|
56
|
+
==========================
|
|
57
|
+
|
|
58
|
+
You must tell to Modoboa where it can find the amavis
|
|
59
|
+
database. Inside :file:`settings.py`, add a new connection to the
|
|
60
|
+
``DATABASES`` variable like this::
|
|
61
|
+
|
|
62
|
+
DATABASES = {
|
|
63
|
+
# Stuff before
|
|
64
|
+
#
|
|
65
|
+
"amavis": {
|
|
66
|
+
"ENGINE" : "<your value>",
|
|
67
|
+
"HOST" : "<your value>",
|
|
68
|
+
"NAME" : "<your value>",
|
|
69
|
+
"USER" : "<your value>",
|
|
70
|
+
"PASSWORD" : "<your value>"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
Replace values between ``<>`` with yours.
|
|
75
|
+
|
|
76
|
+
Cleanup
|
|
77
|
+
-------
|
|
78
|
+
|
|
79
|
+
Storing quarantined messages to a database can quickly become a
|
|
80
|
+
perfomance killer. Modoboa provides a simple script to periodically
|
|
81
|
+
purge the quarantine database. To use it, add the following line
|
|
82
|
+
inside root's crontab::
|
|
83
|
+
|
|
84
|
+
0 0 * * * <modoboa_site>/manage.py qcleanup
|
|
85
|
+
#
|
|
86
|
+
# Or like this if you use a virtual environment:
|
|
87
|
+
# 0 0 * * * <virtualenv path/bin/python> <modoboa_site>/manage.py qcleanup
|
|
88
|
+
|
|
89
|
+
Replace ``modoboa_site`` with the path of your Modoboa instance.
|
|
90
|
+
|
|
91
|
+
By default, messages older than 14 days are automatically purged. You
|
|
92
|
+
can modify this value by changing the ``MAX_MESSAGES_AGE`` parameter
|
|
93
|
+
in the online panel.
|
|
94
|
+
|
|
95
|
+
.. _amavis_release:
|
|
96
|
+
|
|
97
|
+
Release messages
|
|
98
|
+
================
|
|
99
|
+
|
|
100
|
+
To release messages, first take a look at `this page
|
|
101
|
+
<http://www.ijs.si/software/amavisd/amavisd-new-docs.html#quar-release>`_. It
|
|
102
|
+
explains how to configure amavisd-new to listen somewhere for the
|
|
103
|
+
AM.PDP protocol. This protocol is used to send requests.
|
|
104
|
+
|
|
105
|
+
Below is an example of a working configuration::
|
|
106
|
+
|
|
107
|
+
$interface_policy{'SOCK'} = 'AM.PDP-SOCK';
|
|
108
|
+
$interface_policy{'9998'} = 'AM.PDP-INET';
|
|
109
|
+
|
|
110
|
+
$policy_bank{'AM.PDP-SOCK'} = {
|
|
111
|
+
protocol => 'AM.PDP',
|
|
112
|
+
auth_required_release => 0,
|
|
113
|
+
};
|
|
114
|
+
$policy_bank{'AM.PDP-INET'} = {
|
|
115
|
+
protocol => 'AM.PDP',
|
|
116
|
+
inet_acl => [qw( 127.0.0.1 [::1] )],
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
Don't forget to update the ``inet_acl`` list if you plan to release from
|
|
120
|
+
the network.
|
|
121
|
+
|
|
122
|
+
Once amavisd-new is configured, just tell Modoboa where it can find
|
|
123
|
+
the *release server* by modifying the following parameters in the
|
|
124
|
+
online panel:
|
|
125
|
+
|
|
126
|
+
+--------------------+--------------------+------------------------+
|
|
127
|
+
|Name |Description |Default value |
|
|
128
|
+
+====================+====================+========================+
|
|
129
|
+
|Amavis connection |Mode used to access |unix |
|
|
130
|
+
|mode |the PDP server | |
|
|
131
|
+
+--------------------+--------------------+------------------------+
|
|
132
|
+
|PDP server address |PDP server address |localhost |
|
|
133
|
+
| |(if inet mode) | |
|
|
134
|
+
+--------------------+--------------------+------------------------+
|
|
135
|
+
|PDP server port |PDP server port (if | |
|
|
136
|
+
| |inet mode) 9998 | |
|
|
137
|
+
+--------------------+--------------------+------------------------+
|
|
138
|
+
|PDP server socket |Path to the PDP |/var/amavis/amavisd.sock|
|
|
139
|
+
| |server socket (if | |
|
|
140
|
+
| |unix mode) | |
|
|
141
|
+
+--------------------+--------------------+------------------------+
|
|
142
|
+
|
|
143
|
+
Deferred release
|
|
144
|
+
----------------
|
|
145
|
+
|
|
146
|
+
By default, simple users are not allowed to release messages
|
|
147
|
+
themselves. They are only allowed to send release requests to
|
|
148
|
+
administrators.
|
|
149
|
+
|
|
150
|
+
As administrators are not always available or logged into Modoboa, a
|
|
151
|
+
notification tool is available. It sends reminder e-mails to every
|
|
152
|
+
administrators or domain administrators. To use it, add the following
|
|
153
|
+
example line to root's crontab::
|
|
154
|
+
|
|
155
|
+
0 12 * * * <modoboa_site>/manage.py amnotify --baseurl='<modoboa_url>'
|
|
156
|
+
#
|
|
157
|
+
# Or like this if you use a virtual environment:
|
|
158
|
+
# 0 12 * * * <virtualenv path/bin/python> <modoboa_site>/manage.py amnotify --baseurl='<modoboa_url>'
|
|
159
|
+
|
|
160
|
+
You are free to change the frequency.
|
|
161
|
+
|
|
162
|
+
.. note::
|
|
163
|
+
|
|
164
|
+
If you want to let users release their messages alone (not
|
|
165
|
+
recommended), go to the admin panel.
|
|
166
|
+
|
|
167
|
+
The following parameters are available to let you customize this
|
|
168
|
+
feature:
|
|
169
|
+
|
|
170
|
+
+--------------------+--------------------+------------------------+
|
|
171
|
+
|Name |Description |Default value |
|
|
172
|
+
+====================+====================+========================+
|
|
173
|
+
|Check requests |Interval between two|30 |
|
|
174
|
+
|interval |release requests | |
|
|
175
|
+
| |checks | |
|
|
176
|
+
+--------------------+--------------------+------------------------+
|
|
177
|
+
|Allow direct release|Allow users to |no |
|
|
178
|
+
| |directly release | |
|
|
179
|
+
| |their messages | |
|
|
180
|
+
+--------------------+--------------------+------------------------+
|
|
181
|
+
|Notifications sender|The e-mail address |notification@modoboa.org|
|
|
182
|
+
| |used to send | |
|
|
183
|
+
| |notitications | |
|
|
184
|
+
+--------------------+--------------------+------------------------+
|
|
185
|
+
|
|
186
|
+
.. _selfservice:
|
|
187
|
+
|
|
188
|
+
Self-service mode
|
|
189
|
+
=================
|
|
190
|
+
|
|
191
|
+
The *self-service* mode lets users act on quarantined messages without
|
|
192
|
+
beeing authenticated. They can:
|
|
193
|
+
|
|
194
|
+
* View messages
|
|
195
|
+
* Remove messages
|
|
196
|
+
* Release messages (or send release requests)
|
|
197
|
+
|
|
198
|
+
To access a specific message, they only need the following information:
|
|
199
|
+
|
|
200
|
+
* Message's unique identifier
|
|
201
|
+
* Message's secret identifier
|
|
202
|
+
|
|
203
|
+
This information is controlled by *amavis*, which is in charge of
|
|
204
|
+
notifying users when new messages are put into quarantine. Each
|
|
205
|
+
notification (one per message) must embark a direct link containing
|
|
206
|
+
the required identifiers.
|
|
207
|
+
|
|
208
|
+
To activate this feature, go the administration panel and set the
|
|
209
|
+
**Enable self-service mode** parameter to yes.
|
|
210
|
+
|
|
211
|
+
The last step is to customize the notification messages amavis
|
|
212
|
+
sends. The most important is to embark a direct link. Take a look at
|
|
213
|
+
the `README.customize <http://amavis.org/README.customize.txt>`_ file to
|
|
214
|
+
learn what you're allowed to do.
|
|
215
|
+
|
|
216
|
+
Here is a link example::
|
|
217
|
+
|
|
218
|
+
https://<modoboa_url>/user/selfquarantine/%i/%R?secret_id=[:secret_id]
|
|
219
|
+
|
|
220
|
+
.. _sa_manual_learning:
|
|
221
|
+
|
|
222
|
+
Manual SpamAssassin learning
|
|
223
|
+
============================
|
|
224
|
+
|
|
225
|
+
It is possible to manually train `SpamAssassin
|
|
226
|
+
<http://spamassassin.apache.org/>`_ using the quarantine's content. By
|
|
227
|
+
train, we mean:
|
|
228
|
+
|
|
229
|
+
* Mark message(s) as spam (false negative(s))
|
|
230
|
+
|
|
231
|
+
* Mark message(s) as non-spam (false positive(s))
|
|
232
|
+
|
|
233
|
+
This feature is available to all users (from super administrators to
|
|
234
|
+
simple users) but not enabled by default.
|
|
235
|
+
|
|
236
|
+
SpamAssassin configuration
|
|
237
|
+
--------------------------
|
|
238
|
+
|
|
239
|
+
For better performance and to enable the per-user level, SpamAssassin
|
|
240
|
+
must store bayes information into a SQL database.
|
|
241
|
+
|
|
242
|
+
Create a new database and a new user/password (using your favorite
|
|
243
|
+
database server) and edit the default configuration file
|
|
244
|
+
(:file:`/etc/spamassassin/local.cf`) to add the following lines
|
|
245
|
+
inside:
|
|
246
|
+
|
|
247
|
+
.. sourcecode:: perl
|
|
248
|
+
|
|
249
|
+
bayes_store_module Mail::SpamAssassin::BayesStore::<Driver>
|
|
250
|
+
bayes_sql_dsn <DSN>
|
|
251
|
+
bayes_sql_username <db username>
|
|
252
|
+
bayes_sql_password <db password>
|
|
253
|
+
|
|
254
|
+
Replace values between ``<>`` by yours. Possible values for ``Driver``
|
|
255
|
+
are ``PgSQL`` or ``MySQL`` (non exhaustive list). The syntax for
|
|
256
|
+
``DSN`` depends on the driver you choose. Please consult the official
|
|
257
|
+
documentation.
|
|
258
|
+
|
|
259
|
+
Enable the feature through Modoboa
|
|
260
|
+
----------------------------------
|
|
261
|
+
|
|
262
|
+
Manual learning is disabled by default. You can activate it through
|
|
263
|
+
the administration panel (*Modoboa > Paremeters > Amavis*). There two
|
|
264
|
+
learning levels:
|
|
265
|
+
|
|
266
|
+
#. Global: available to administrators only. A single (global) bayes
|
|
267
|
+
database is shared between everyone.
|
|
268
|
+
|
|
269
|
+
#. Per domain: available to administrators and domain
|
|
270
|
+
administrators. Each domain can have a dedicated database.
|
|
271
|
+
|
|
272
|
+
#. Per user: each user can create its own database to customize the
|
|
273
|
+
way SpamAssassin will detect spam.
|
|
274
|
+
|
|
275
|
+
The domain and user levels are not activated by default, dedicated
|
|
276
|
+
parameters are available through the panel.
|
|
277
|
+
|
|
278
|
+
.. note::
|
|
279
|
+
|
|
280
|
+
Domain and user databases are only created the first time someone
|
|
281
|
+
calls the learning feature through the quarantine.
|
|
282
|
+
|
|
283
|
+
.. warning::
|
|
284
|
+
|
|
285
|
+
A bayes database needs to reach pre-defined thresholds before it
|
|
286
|
+
can be used by SpamAssassin. The default values are **200** spams
|
|
287
|
+
and **200** hams.
|
|
288
|
+
|
|
289
|
+
You will find other paramaters related to this feature. You won't need
|
|
290
|
+
to change them most of the time, unless SpamAssassin is hosted on a
|
|
291
|
+
different machine than Modoboa. (in this case, ``spamc`` will be used
|
|
292
|
+
instead of ``sa-learn``).
|