diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5903005a7..9722a1290 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,42 @@
## Changelog
+#### 2.650 (June 16, 2026)
+* Add new Systemd Services and Units module
+* Add new GRUB 2 Boot Loader module
+* Add new Kea DHCP Server module
+* Add basic Alpine Linux support
+* Add IP-based Let's Encrypt certificate support with Certbot 5.3
+* Add quick service and port forwarding controls to the nftables module
+* Add optional pre- and post-scripts for scheduled package updates
+* Add option to control when scheduled package update email is sent
+* Add per-user RPC/API-only access option to the Webmin Users module
+* Update Xterm.js to fix Control-C handling on iPadOS/Safari terminals
+* Update Webmin systemd service unit to run without forking
+* Fix Bootup and Shutdown module to show only services and not all units on systemd systems
+* Fix Let's Encrypt renewal scheduling to count from the last successful request
+* Fix NetworkManager detection on Debian and IPv6 DNS nameserver saving
+* Fix Dovecot configuration file handling when saving extra configs
+* Fix mailbox listing to skip unusable Maildir entries and remove stale deleted or moved entries
+* Fix Apache module to hide disabled default virtual hosts from the active server list
+* Fix Netplan DNS saving to preserve YAML structure
+* Fix BIND DNS handling of underscores, trailing dots, and mass record length checks
+* Fix MariaDB user creation when using auth plugin syntax
+* Fix PHP-FPM monitor on EL systems when using `/etc/php.ini` as the config file
+* Fix RPC-only accounts to block browser/module access before module ACL checks
+* Fix reflected XSS in Webmin status messages
+* Fix authentication state handling for SSL certificate logins and proxied keep-alive requests
+* Fix path validation in File Manager, package delete helpers, and Apache virtual host files
+* Update the Authentic theme to the latest version with various improvements and fixes:
+ - Add zooming to stats history graphs by holding shift and scrolling in the dashboard
+ - Add support for saving live stats history for up to 24 hours without performance impact
+ - Add better support for the new Nginx, nftables, and upcoming systemd, Kea-DHCP, and GRUB 2 Webmin modules
+ - Add ability to always show available dashboard panels in theme configuration
+ - Fix iOS terminal viewport sizing
+ - Fix editor save handling, clean-state indication and dirty reload guard
+ - Fix popover positioning, z-index and border color for help bubbles
+ - Fix the active product switch border in the navigation menu for the dark palette
+ - Fix to validate password reset return URLs
+
#### 2.641 (May 10, 2026)
* Fixed a bug when editing monitors in the System and Server Status module
* Fix Fail2Ban default jail options
@@ -912,4 +949,3 @@ This updated includes the latest Authentic theme, a new IPv6 Firewall module for
#### Version 1.140
* Fixed a security hole that allowed any user to view the configuration of any module, even those that they should not have access to.
* Fixed a security hole that could allow an attacker to lock valid users by sending a bogus username or password.
-
diff --git a/acl/acl-lib.pl b/acl/acl-lib.pl
index c79b887c1..9d465e6ec 100755
--- a/acl/acl-lib.pl
+++ b/acl/acl-lib.pl
@@ -1433,6 +1433,148 @@ dbmclose(%sessiondb);
return $sid;
}
+=head2 set_module_access(&modules, enabled, [&users-groups])
+
+Grants or revokes Webmin module access for users and groups. The modules
+parameter must be an array ref of module names. The enabled flag should be
+1 to grant access, or 0 to revoke access. If the users-groups parameter is
+not given, all users and groups are updated. Otherwise, it must be an array
+ref of usernames and group names. Group names may be prefixed with @ to
+target only a group.
+
+Returns the number of directly updated user and group records.
+
+=cut
+sub set_module_access
+{
+my ($mods, $enabled, $usersgroups) = @_;
+$mods ||= [];
+return 0 if (!@$mods);
+my $set_module_access_list = sub {
+ my ($obj, $key, $addmods) = @_;
+ $addmods ||= $mods;
+ my @old = @{$obj->{$key} || []};
+ my @new;
+ if ($enabled) {
+ @new = &unique(@old, @$addmods);
+ }
+ else {
+ my %remove = map { $_, 1 } @$mods;
+ @new = grep { !$remove{$_} } @old;
+ }
+ return 0 if (join("\0", @old) eq join("\0", @new));
+ $obj->{$key} = \@new;
+ return 1;
+ };
+my $own_module_updates = sub {
+ my ($obj, $inherited) = @_;
+ return $mods if (!$enabled);
+ return [] if (!@{$obj->{'ownmods'} || []} && !@$inherited);
+ return [ grep { &indexof($_, @$inherited) < 0 } @$mods ];
+ };
+my @users = &list_users();
+my @groups = &list_groups();
+my $all = !defined($usersgroups);
+my (%target_user, %target_group);
+if (!$all) {
+ foreach my $ug (@$usersgroups) {
+ if ($ug =~ /^\@(.*)$/) {
+ $target_group{$1} = 1;
+ }
+ else {
+ $target_user{$ug} = 1;
+ $target_group{$ug} = 1;
+ }
+ }
+ }
+my $changed = 0;
+my (%user_group, %group_parent);
+foreach my $g (@groups) {
+ foreach my $m (@{$g->{'members'} || []}) {
+ if ($m =~ /^\@(.*)$/) {
+ $group_parent{$1} = $g;
+ }
+ else {
+ $user_group{$m} = $g;
+ }
+ }
+ }
+my (@ordered_groups, %ordered_group, %ordering_group);
+my $add_ordered_group;
+$add_ordered_group = sub {
+ my ($g) = @_;
+ return if (!$g || $ordered_group{$g->{'name'}});
+ return if ($ordering_group{$g->{'name'}}++);
+ $add_ordered_group->($group_parent{$g->{'name'}});
+ delete($ordering_group{$g->{'name'}});
+ push(@ordered_groups, $g);
+ $ordered_group{$g->{'name'}}++;
+ };
+foreach my $g (@groups) {
+ $add_ordered_group->($g);
+ }
+
+# Update groups first, so member users and sub-groups inherit the new set
+foreach my $g (@ordered_groups) {
+ next if (!$all && !$target_group{$g->{'name'}});
+ my $gchanged = 0;
+ my $parent = $group_parent{$g->{'name'}};
+ my $ownmods = $own_module_updates->(
+ $g, [ @{$parent ? $parent->{'modules'} || [] : []} ]);
+ $gchanged += $set_module_access_list->($g, "modules");
+ $gchanged += $set_module_access_list->($g, "ownmods", $ownmods);
+ if ($gchanged) {
+ &modify_group($g->{'name'}, $g);
+ &update_members(\@users, \@groups, $g->{'modules'},
+ $g->{'members'});
+ $changed++;
+ }
+ }
+
+# Update directly targeted users
+foreach my $u (@users) {
+ next if (!$all && !$target_user{$u->{'name'}});
+ my $uchanged = 0;
+ my $group = $user_group{$u->{'name'}};
+ my $ownmods = $own_module_updates->(
+ $u, [ @{$group ? $group->{'modules'} || [] : []} ]);
+ $uchanged += $set_module_access_list->($u, "modules");
+ $uchanged += $set_module_access_list->($u, "ownmods", $ownmods);
+ if ($uchanged) {
+ &modify_user($u->{'name'}, $u);
+ $changed++;
+ }
+ }
+
+if ($changed) {
+ undef(%main::acl_hash_cache);
+ undef(%main::acl_array_cache);
+ }
+return $changed;
+}
+
+=head2 enable_module_access(&modules, [&users-groups])
+
+Grants users and groups access to one or more modules. This is a wrapper
+around set_module_access.
+
+=cut
+sub enable_module_access
+{
+return &set_module_access($_[0], 1, $_[1]);
+}
+
+=head2 disable_module_access(&modules, [&users-groups])
+
+Revokes users and groups access to one or more modules. This is a wrapper
+around set_module_access.
+
+=cut
+sub disable_module_access
+{
+return &set_module_access($_[0], 0, $_[1]);
+}
+
=head2 update_members(&allusers, &allgroups, &modules, &members)
Update the modules for members users and groups of some group. The parameters
@@ -2368,4 +2510,3 @@ return $mailbox."\@".join(".", @doms);
}
1;
-
diff --git a/acl/lang/no b/acl/lang/no
index a2d3e0a45..efe9c86f2 100644
--- a/acl/lang/no
+++ b/acl/lang/no
@@ -1,9 +1,9 @@
index_title=Webmin Brukere
index_user=Brukere
index_modules=Moduler
-index_create=Opprett ny Webmin bruker
+index_create=Opprett ny Webmin-bruker
index_screate=Opprett ny sikker bruker
-index_convert=Konverter Unix til Webmin brukere
+index_convert=Konverter Unix til Webmin-brukere
index_cert=Krever SSL sertifikat
index_twofactor=To-faktor autentisering
index_certmsg=Klikk på denne knappen for å spørre etter et SSL sertifikat som vil gi deg sikker login i Webmin uten å måtte skrive brukernavn og passord.
@@ -14,7 +14,7 @@ index_global=Global ACL
index_users=Webmin Brukere
index_groups=Webmin Grupper
index_group=Gruppe
-index_nousers=Ingen editerbar Webmin bruker er definert.
+index_nousers=Ingen editerbar Webmin-bruker er definert.
index_nogroups=Ingen editerbar Webmin gruppe er definert.
index_gcreate=Lag en ny Webmin gruppe
index_members=Medlemmer
@@ -30,11 +30,11 @@ index_eglist=Kunne ikke liste grupper : $1
edit_title=Rediger Webmin Bruker
edit_title2=Lag Webmin Bruker
-edit_title3=Opprett sikker Webmin bruker
-edit_readonly=Denne Webmin brukeren bør ikke redigeres siden den vedlikeholdes av modulen $1. Klikk her for å ignorere denne advarselen og redigere brukeren allikevel - men vær oppmerksom på at manuelle endringer kan bli overskrevet!
-edit_rights=Tilgangsrettigheter for Webmin bruker
+edit_title3=Opprett sikker Webmin-bruker
+edit_readonly=Denne Webmin-brukeren bør ikke redigeres siden den vedlikeholdes av modulen $1. Klikk her for å ignorere denne advarselen og redigere brukeren allikevel - men vær oppmerksom på at manuelle endringer kan bli overskrevet!
+edit_rights=Tilgangsrettigheter for Webmin-bruker
edit_user=Brukernavn
-edit_cloneof=Klober Webmin bruker
+edit_cloneof=Klober Webmin-bruker
edit_real=Virkelig navn
edit_group=Medlem av gruppe
edit_pass=Passord
@@ -89,7 +89,7 @@ edit_selall=Velg alle
edit_invert=Inverter valg
edit_hide=Skjul ubrukte
edit_switch=Bytt til bruker
-edit_return=Webmin bruker
+edit_return=Webmin-bruker
edit_return2=Webmin gruppe
edit_rbacdeny=RBAC tilgangsmodus
edit_rbacdeny0=RBAC kontrollerer valgte modul ACLer
@@ -126,21 +126,21 @@ save_eoverlay=Et tema-overlegg kan ikke velges med mindre et tema er
save_edeny=Du kan ikke nekte deg selv tilgang til Webmin Bruker modulen
save_eos=Det samme som Unix passord opsjonen er ikke støttet på ditt operativsystem.
save_emd5=Det samme som Unix passord opsjonen kan ikke brukes på systemer med MD5 kryptering
-save_eunix=Unix bruker '$1' eksisterer ikke
+save_eunix=Unix-brukeren '$1' eksisterer ikke
save_emod=Du kan ikke bevilge tilgang til modul '$1'
save_ecreate=Du har ikke tilgang til å opprette brukere
-save_euser=Du har ikke tilgang til å editere denne brukeren
+save_euser=Du har ikke tilgang til å redigere denne brukeren
save_ecolon=Passord kan ikke inneholde : karakteren
save_epass=Passord er ikke gyldig : $1
-save_eself=Din vanlige IP adresse ($1) vil bli nektet
+save_eself=Din vanlige IP-adresse ($1) vil bli nektet
save_epam=PAM autentisering er ikke tilgjengelig fordi Authen::PAM Perl modulen ikke er installert eller ikke virker ordentlig.
save_epam2=Du kan bruke Webmin's Perl Modules modul til laste ned å installere Authen::PAM nå.
save_egroup=Du har ikke rettigheter til å tildele til den gruppen
save_enone=Ingen adresse er tastet inn
-save_enet='$1' er ikke en gyldig nettverks adresse
+save_enet='$1' er ikke en gyldig nettverksadresse
save_emask='$1' er ikke en gyldig nettmaske
-save_eip='$1' er ikke en komplett IP eller nettverks adresse
-save_ehost=Kunne ikke finne IP adresse for '$1'
+save_eip='$1' er ikke en komplett IP eller nettverksadresse
+save_ehost=Kunne ikke finne IP-adresse for '$1'
save_elogouttime=Manglende eller ikke-numerisk tid for utlogging ved inaktivitet
save_eminsize=Manglende eller ikke-numerisk minimum passordlengde
save_edays=Ingen tillatte dager valgt
@@ -223,11 +223,11 @@ acl_times=Kan endre tillatte innloggings-tider?
acl_pass=Kan endre passord-begrensinger?
acl_sql=Kan konfigurere databasen for brukere og grupper?
-log_modify=Modifisert Webmin bruker $1
-log_rename=Skiftet navn på Webmin bruker $1 til $2
-log_create=Opprettet Webmin bruker $1
-log_clone=Klonet Webmin bruker $1 til $2
-log_delete=Slettet Webmin bruker $1
+log_modify=Modifisert Webmin-bruker $1
+log_rename=Skiftet navn på Webmin-bruker $1 til $2
+log_create=Opprettet Webmin-bruker $1
+log_clone=Klonet Webmin-bruker $1 til $2
+log_delete=Slettet Webmin-bruker $1
log_acl=Oppdatert tilgang for $1 i $2
log_reset=Tilbakestilte tilgang for $1 i $2
log_cert=Utlevert sertifikat for bruker $1
@@ -235,10 +235,10 @@ log_modify_g=Modifisert Webmin gruppe $1
log_rename_g=Forandret navn på Webmin gruppe $1 til $2
log_create_g=Opprettet Webmin gruppe $1
log_delete_g=Slettet Webmin gruppe $1
-log_switch=Byttet til Webmin bruker $1
-log_delete_users=Slettet $1 Webmin brukere
+log_switch=Byttet til Webmin-bruker $1
+log_delete_users=Slettet $1 Webmin-brukere
log_delete_groups=Slettet $1 Webmin grupper
-log_joingroup=La til $1 Webmin brukere i gruppe $2
+log_joingroup=La til $1 Webmin-brukere i gruppe $2
log_pass=Endret passord-begrensinger
log_unix=Endret unix bruker-autentisering
log_sync=Endret unix bruker-synkronisering
@@ -273,7 +273,7 @@ gsave_edesc=Ugyldig beskrivelse - tegnet : er ikke tillatt
convert_title=Konverter Brukere
convert_ecannot=Du har ikke tilgang til å konvertere Unix brukere
convert_nogroups=Ingen Webmin gruppe er definert på ditt system. Du må i det minste lage en gruppe før du konverterer brukere, dette for å kunne sette rettigheter for konverterte brukere.
-convert_desc=Denne Dette feltet lar deg konvertere eksisterende Unix brukere til Webmin brukere. Rettighetene til hver nye Webmin bruker vil bestemmes av rettighetene til gruppen som valgt over.
+convert_desc=Denne Dette feltet lar deg konvertere eksisterende Unix-brukere til Webmin-brukere. Rettighetene til hver nye Webmin-bruker vil bestemmes av rettighetene til gruppen som valgt over.
convert_0=Alle brukere
convert_1=Bare brukere
convert_2=Alle unntagen brukere
@@ -284,43 +284,43 @@ convert_sync2=Synk. passord med Unix-bruker i fremtiden?
convert_ok=Konverter nå
convert_err=Kunne ikke konvertere brukere
convert_eusers=Ingen brukere inntastet
-convert_egroup=Unix gruppe eksisterer ikke
-convert_emin=Ugyldig minimum bruker ID (UID)
-convert_emax=Ugyldig maksimum bruker ID (UID)
+convert_egroup=Unix-gruppen eksisterer ikke
+convert_emin=Ugyldig minimum bruker-ID (UID)
+convert_emax=Ugyldig maksimum bruker-ID (UID)
convert_ewgroup=Ingen sånn Webmin gruppe
convert_ewgroup2=Du har ikke rettigheter til å tilordne nye brukere til denne gruppen
convert_skip=Hoppet over $1
convert_exists=$1 Eksisterer allerede
-convert_invalid=$1 er ikke et gyldig Webmin brukernavn
+convert_invalid=$1 er ikke et gyldig Webmin-brukernavn
convert_added=$1 er lagt til
-convert_msg=Konverterer Unix brukere...
+convert_msg=Konverterer Unix-brukere...
convert_user=Unix-bruker
-convert_action=Handling utført
+convert_action=Handling utført
convert_done=$1 brukere konvertert, $2 ugyldig, $3 finnes allerede, $4 ekskludert.
convert_users=Brukere som skal konverteres
-sync_title=Unix Bruker Synkronisering
-sync_desc=Dette feltet lar deg konfigurere automatisk synkronisering av Unix brukere laget via Webmin og brukere i denne modulen.
+sync_title=Unix-brukersynkronisering
+sync_desc=Dette feltet lar deg konfigurere automatisk synkronisering av Unix-brukere laget via Webmin og brukere i denne modulen.
sync_nogroups=Ingen Webmin gruppe er definert på ditt system. Du må i det minste lage en gruppe før du konverterer brukere, dette for å kunne sette rettigheter for konverterte brukere.
sync_when=Synkroniser når
-sync_create=Opprett Webmin bruker når en Unix bruker blir laget.
-sync_update=Oppdater passende Webmin bruker når Unix brukere blir oppdatert.
-sync_delete=Slett passende Webmin bruker når Unix brukere blir slettet.
+sync_create=Opprett Webmin-bruker når en Unix bruker blir laget.
+sync_update=Oppdater passende Webmin-bruker når Unix-brukere blir oppdatert.
+sync_delete=Slett passende Webmin-bruker når Unix-brukere blir slettet.
sync_group=Tilordne ny bruker til Webmin gruppe
sync_unix=Sett passord for nye brukere til Unix autentisering
sync_ecannot=Du har ikke rettigheter til å konfigurere bruker synkronisering.
-unix_title=Unix Bruker Autentisering
+unix_title=Unix-brukerautentisering
unix_err=Kunne ikke lagre Unix autentisering
-unix_desc=Denne siden lar deg konfigurere Webmin til verifisere login forsøk med systemets bruker liste og PAM. Dette kan være nyttig hvis du har mange eksisterende Unix brukere som du ønsker å gi tilgang til Webmin.
-unix_def=Tillat bare login av Webmin brukere
-unix_sel=Tillat Unix brukere i listen nedenfor å logge inn ..
+unix_desc=Denne siden lar deg konfigurere Webmin til verifisere login forsøk med systemets bruker liste og PAM. Dette kan være nyttig hvis du har mange eksisterende Unix-brukere som du ønsker å gi tilgang til Webmin.
+unix_def=Tillat bare login av Webmin-brukere
+unix_sel=Tillat Unix-brukere i listen nedenfor å logge inn ..
unix_mode=Tillat
unix_mall=Alle brukere
unix_group=Medlemmer i gruppen..
-unix_user=Tillat alle Unix brukere login med rettigheter som Users
+unix_user=Tillat alle Unix-brukere login med rettigheter som Users
unix_who=Bruker eller gruppe
-unix_to=Som Webmin bruker
+unix_to=Som Webmin-bruker
unix_ecannot=Du har ikke rettigheter til å konfigurere Unix bruker autentisering
unix_epam=Unix autentisering er ikke tilgjengelig fordi Authen::PAM Perl modul ikke er installert eller ikke virker som den skal.
unix_all=Tillat alle Unix brukere
@@ -329,12 +329,12 @@ unix_deny=Nekt listede Unix brukere
unix_none=Ingen brukere angitt
unix_euser='$1' er ikke et gyldig brukernavn
unix_egroup='$1' er ikke et gyldig gruppenavn
-unix_shells=Nekt Unix brukere hvis skall ikke finnes i filen
+unix_shells=Nekt Unix-brukere hvis skall ikke finnes i filen
unix_eshells=Manglende eller ikke-eksisterende shells fil
unix_restrict2=Ekstra restriksjoner
unix_ewhogroup=Manglende tillatt gruppe i rad $1
unix_ewhouser=Manglende tilllatt bruker i rad $1
-unix_enone=Ingen tillatte Unix brukere og grupper ble angitt
+unix_enone=Ingen tillatte Unix-brukere og grupper ble angitt
unix_same=<Samme bruker eller gruppe>
unix_sudo=TIllatt brukere som kan kjøre alle kommandoer via sudo å logge inn som root
unix_pamany=Behandle brukere som bare sender PAM validering som $1
@@ -345,9 +345,9 @@ unix_utable=Tillatte Unix brukere
sessions_title=Aktuell Login Session
sessions_id=Sessions ID
-sessions_user=Webmin bruker
+sessions_user=Webmin-bruker
sessions_login=Innlogget
-sessions_host=IP adresse
+sessions_host=IP-adresse
sessions_lview=Se logger..
sessions_actions=Handlinger..
sessions_logouts=Vis også utloggede sesjoner..
@@ -357,7 +357,7 @@ sessions_in=Innlogget
sessions_out=Logget ut
sessions_kill=Koble fra..
-logins_title=Siste Webmin innlogginger
+logins_title=Siste Webmin-innlogginger
hide_title=Skjul ubrukte moduler
hide_desc=Følgende moduler vil bli fjernet fra modul tilgangslisten for $1 siden deres tilhørende tjenere ikke er installert på systemet ditt ..
@@ -374,7 +374,7 @@ rbac_desc=Webmin's RBAC integration provides a way for user module and ACL permi
rbac_esolaris=RBAC støttes bare på Solaris systemer for øyeblikket, og kan derfor ikke brukes på dette $1 systemet.
rbac_eperl=Perl-modulen $1, som behøves for RBAC integrasjon, er ikke installert. Klikk her for å installere den nå.
rbac_ecpan=Du har ikke tilgang til Webmins Perl Moduler side for å kunne installere den nødvendige $1 modulen for RBAC integrasjon.
-rbac_ok=RBAC integrasjon er tilgjengelig for dette systemet, og kan aktiveres per bruker på siden Rediger Webmin bruker.
+rbac_ok=RBAC integrasjon er tilgjengelig for dette systemet, og kan aktiveres per bruker på siden Rediger Webmin-bruker.
udeletes_err=Kunne ikke slette brukere
udeletes_jerr=Kunne ikke legg til brukere i gruppe
@@ -391,7 +391,7 @@ gdeletes_rusure=Er du sikker på at du ønsker å slette de $1 valgte gruppene o
gdeletes_users=Valgte grupper: $1
gdeletes_ok=Slett grupper
-pass_title=Passord begrensinger
+pass_title=Passordbegrensinger
pass_ecannot=Du har ikke lov til å redigere passord-begrensinger
pass_header=Innstillinger for Webmin passord begrensinger
pass_minsize=Minimum passordlengde
@@ -424,7 +424,7 @@ cpass_old=Gamle passord kan ikke brukes på nytt
sql_title=Bruker- og gruppe-database
sql_ecannot=Du har ikke lov til å konfigurere bruker- og gruppedatabasen
-sql_header=Instillinger for database backend for brukere og grupper
+sql_header=Innstillinger for database backend for brukere og grupper
sql_host=Vertsnavn
sql_user=Brukernavn
sql_pass=Passord
@@ -456,7 +456,7 @@ sql_edb=Ugyldig databasenavn (mellomrom ikke tillatt)
sql_eprefix=Manglende eller ugyldig base DN (mellomrom ikke tillatt)
sql_eprefix2=Ugyldig-utseende base DN - skal være på formen dc=mittdomene,dc=no
sql_title2=Opprett manglende tabeller
-sql_tableerr=Instillinger for bruker- og gruppedatabase er gyldig, men noen tabeller som Webmin trenger, mangler : $1
+sql_tableerr=Innstillinger for bruker- og gruppedatabase er gyldig, men noen tabeller som Webmin trenger, mangler : $1
sql_tableerr2=Klikk på knappen Opprett tabeller nedenfor, for å få opprettet dem automatisk, eller du kan kjøre SQL uttrykket nedenfor manuelt.
sql_make=Opprett tabeller
sql_title3=Opprett manglende DN
@@ -489,7 +489,7 @@ twofactor_title=To-faktor autentisering
twofactor_disable=Deaktiver to-faktor autentisering
twofactor_already=Din Webmin-bruker har allerede to-faktor autentisering aktivert med leverandør %1 og konto ID %2.
twofactor_already2=Webmin-brukeren %3 har allerede to-faktor autentisering aktivert med leverandør %1 og konto ID %2.
-twofactor_desc=Denne siden lar deg aktivere to-faktor autentisering for din Webmin bruker vha. $1. Når denne er aktivert kreves det et ekstra autentiserings-token når du logger inn på Webmin.
+twofactor_desc=Denne siden lar deg aktivere to-faktor autentisering for din Webmin-bruker vha. $1. Når denne er aktivert kreves det et ekstra autentiserings-token når du logger inn på Webmin.
twofactor_desc2=Denne siden lar deg aktivere to-faktor autentisering for Webmin-brukeren $1 vha. $1. Når denne er aktivert vil det kreves et ekstra autentiserings-token for å logge inn på Webmin.
twofactor_enable=Meld inn til to-faktor autentisering
twofactor_header=Detaljer for innmelding til to-faktor autentisering
diff --git a/acl/t/run-tests.t b/acl/t/run-tests.t
index 5f81caae0..310956382 100644
--- a/acl/t/run-tests.t
+++ b/acl/t/run-tests.t
@@ -701,6 +701,152 @@ is(group_line({ name => 'empty' }),
'delete_group removes the only group');
}
+# set_module_access and wrappers: batch enable/disable module visibility for
+# users and groups, while keeping ownmods in sync for future group refreshes.
+{
+ _reset_fixture();
+ create_user({ name => 'alice',
+ pass => 'x',
+ modules => [ 'useradmin', 'apache' ],
+ ownmods => [ 'apache' ] });
+ create_group({ name => 'wheel',
+ members => [ 'alice' ],
+ modules => [ 'useradmin', 'apache' ],
+ desc => 'Sysadmins',
+ ownmods => [ 'apache' ] });
+ _clear_caches();
+
+ is(disable_module_access([ 'apache' ]), 2,
+ 'disable_module_access without targets updates all users and groups');
+
+ my $alice = get_user('alice');
+ my $wheel = get_group('wheel');
+ is_deeply($alice->{'modules'}, [ 'useradmin' ],
+ 'global disable removes module from user modules');
+ is_deeply($alice->{'ownmods'}, [],
+ 'global disable removes module from user ownmods');
+ is_deeply($wheel->{'modules'}, [ 'useradmin' ],
+ 'global disable removes module from group modules');
+ is_deeply($wheel->{'ownmods'}, [],
+ 'global disable removes module from group ownmods');
+}
+
+{
+ _reset_fixture();
+ create_user({ name => 'alice',
+ pass => 'x',
+ modules => [ 'useradmin' ] });
+ create_group({ name => 'wheel',
+ members => [ 'alice' ],
+ modules => [ 'useradmin' ],
+ desc => 'Sysadmins' });
+ _clear_caches();
+
+ is(enable_module_access([ 'apache' ], [ '@wheel' ]), 1,
+ 'enable_module_access can target one group by @name');
+
+ my $alice = get_user('alice');
+ my $wheel = get_group('wheel');
+ is_deeply($wheel->{'modules'}, [ 'useradmin', 'apache' ],
+ 'targeted group enable adds module to group modules');
+ is_deeply($wheel->{'ownmods'}, [],
+ 'targeted group enable leaves top-level group ownmods unchanged');
+ is_deeply($alice->{'modules'}, [ 'useradmin', 'apache' ],
+ 'targeted group enable propagates to member user modules');
+ is_deeply($alice->{'ownmods'}, [],
+ 'targeted group enable leaves member user ownmods unchanged');
+
+ is(disable_module_access([ 'apache' ], [ '@wheel' ]), 1,
+ 'disable_module_access can target one group by @name');
+
+ $alice = get_user('alice');
+ $wheel = get_group('wheel');
+ is_deeply($wheel->{'modules'}, [ 'useradmin' ],
+ 'targeted group disable removes module from group modules');
+ is_deeply($wheel->{'ownmods'}, [],
+ 'targeted group disable removes module from group ownmods');
+ is_deeply($alice->{'modules'}, [ 'useradmin' ],
+ 'targeted group disable propagates to member user modules');
+}
+
+{
+ _reset_fixture();
+ create_user({ name => 'carol',
+ pass => 'x',
+ modules => [ 'useradmin' ] });
+ create_group({ name => 'child',
+ members => [ 'carol' ],
+ modules => [ 'useradmin' ],
+ desc => 'Child group' });
+ create_group({ name => 'parent',
+ members => [ '@child' ],
+ modules => [ 'useradmin' ],
+ desc => 'Parent group' });
+ _clear_caches();
+
+ is(enable_module_access([ 'apache' ]), 1,
+ 'enable_module_access handles all nested groups');
+
+ my $child = get_group('child');
+ my $carol = get_user('carol');
+ is_deeply($child->{'modules'}, [ 'useradmin', 'apache' ],
+ 'child group inherits module from parent enabled later in file');
+ is_deeply($child->{'ownmods'}, [],
+ 'child group does not record inherited module as ownmod');
+ is_deeply($carol->{'modules'}, [ 'useradmin', 'apache' ],
+ 'child group member inherits module through nested groups');
+ is_deeply($carol->{'ownmods'}, [],
+ 'child group member does not record inherited module as ownmod');
+}
+
+{
+ _reset_fixture();
+ create_user({ name => 'root',
+ pass => 'x',
+ modules => [ 'useradmin' ] });
+ _clear_caches();
+
+ is(enable_module_access([ 'apache' ], [ 'root' ]), 1,
+ 'enable_module_access can target a standalone user');
+ my $root = get_user('root');
+ is_deeply($root->{'modules'}, [ 'useradmin', 'apache' ],
+ 'standalone user enable adds module to user modules');
+ is_deeply($root->{'ownmods'}, [],
+ 'standalone user enable does not create ownmods');
+}
+
+{
+ _reset_fixture();
+ create_user({ name => 'bob',
+ pass => 'x',
+ modules => [ 'useradmin' ] });
+ create_group({ name => 'wheel',
+ members => [ 'bob' ],
+ modules => [ 'useradmin' ],
+ desc => 'Sysadmins' });
+ _clear_caches();
+
+ is(enable_module_access([ 'apache' ], [ 'bob' ]), 1,
+ 'enable_module_access can target one user by name');
+
+ my $bob = get_user('bob');
+ is_deeply($bob->{'modules'}, [ 'useradmin', 'apache' ],
+ 'targeted user enable adds module to user modules');
+ is_deeply($bob->{'ownmods'}, [ 'apache' ],
+ 'targeted user enable records explicit user ownmod');
+
+ # A later group refresh must not erase a directly granted user module.
+ my @users = list_users();
+ my @groups = list_groups();
+ my ($wheel) = grep { $_->{'name'} eq 'wheel' } @groups;
+ update_members(\@users, \@groups, $wheel->{'modules'},
+ $wheel->{'members'});
+ _clear_caches();
+ $bob = get_user('bob');
+ is_deeply($bob->{'modules'}, [ 'useradmin', 'apache' ],
+ 'targeted user enable survives later group refresh');
+}
+
# copy_acl_files (file mode): copy a module ACL file from one name to another.
{
_reset_fixture();
diff --git a/apache/lang/no b/apache/lang/no
index 77e8dc141..fe518d262 100644
--- a/apache/lang/no
+++ b/apache/lang/no
@@ -32,8 +32,8 @@ index_addr=Adresse
index_nv=Legg til adresse for navnebasert virtuell server (hvis nødvendig)
index_listen=Lytt på adresse (hvis nødvendig)
index_port=Port
-index_name=Tjener Navn
-index_root=Dokument Rot
+index_name=Tjenernavn
+index_root=Dokumentrot
index_url=URL
index_view=Åpne..
index_adddir=Gi tilgang til denne katalogen
@@ -243,8 +243,8 @@ htfile_header2=$1 for $2
reconfig_title=Rekonfigurer kjente moduler
reconfig_ecannot=Du har ikke lov til å rekonfigurere apache
reconfig_ever=Kunne ikke hente versjonsnummer på Apache server programmet $1. Sjekk din modul konfigurasjon for å forsikre deg om at dette er riktig sti.
-reconfig_desc1=Din Apache konfigurasjon er endret, eller har ikke blit undersøkt av Webmin enda. Nedenfor finner du en liste over alle Apache moduler som støttes av Webmin, med de installerte modulene avmerket. Du kan velge eller velge bort moduler dersom listen ikke er korrekt.
-reconfig_desc2=Nedenfor finner du en liste over alle Apache moduler som støttes av Webmin, med de installerte modulene avmerket. Dersom du benytter dynamisk lastede moduler kan det være nødvendig å velge de modulene som er dynamisk lastet.
+reconfig_desc1=Din Apache konfigurasjon er endret, eller har ikke blit undersøkt av Webmin enda. Nedenfor finner du en liste over alle Apache-moduler som støttes av Webmin, med de installerte modulene avmerket. Du kan velge eller velge bort moduler dersom listen ikke er korrekt.
+reconfig_desc2=Nedenfor finner du en liste over alle Apache-moduler som støttes av Webmin, med de installerte modulene avmerket. Dersom du benytter dynamisk lastede moduler kan det være nødvendig å velge de modulene som er dynamisk lastet.
reconfig_desc3=Dersom du er usikker på hvilke moduler som støttes av Apache på ditt system, kan du klikke Konfigurer, siden Webmin normalt autmatisk vil kunne finne ut hvilke moduler som er støttet.
reconfig_ok=Konfigurer
@@ -272,9 +272,9 @@ authu_euser=Ikke noe brukernavn oppgitt
authu_euser2=Brukernavn kan ikke inneholde en :
authu_edup=En bruker ved navn '$1' finnes allerede
authu_sync=Innstillingene nedenfor lar deg konfigurerer Webmin til å automatisk legge til, oppdatere eller slette en bruker fra denne passordfilen når en bruker er lagt til, endret eller fjernet i modulen Brukere og grupper.
-authu_screate=Legg til en bruker når en Unix bruker blir lagt til
-authu_sdelete=Slett brukeren når en Unix bruker slettes
-authu_smodify=Endre brukeren når en Unix bruker endres
+authu_screate=Legg til en bruker når en Unix-bruker blir lagt til
+authu_sdelete=Slett brukeren når en Unix-bruker slettes
+authu_smodify=Endre brukeren når en Unix-bruker endres
authg_ecannot='$1' er ikke en tillatt grupper tekstfil
authg_title=Gruppeliste
@@ -465,8 +465,8 @@ core_group=Gruppenavn
core_gid=Gruppe ID
core_user=Brukernavn
core_uid=Bruker ID
-core_asgroup=Kjør som Unix gruppe
-core_asuser=Kjør som Unix bruker
+core_asgroup=Kjør som Unix-gruppe
+core_asuser=Kjør som Unix-bruker
core_euid='$1' er ikke en gyldig gruppe ID
core_egid='$1' er ikke en gyldig bruker ID
core_tourl=Gå til URL..
@@ -990,7 +990,7 @@ log_mime_modify=Endret MIME type $1
log_mime_create=Lagt til MIME type $1
log_defines=Endret definerte parametere
log_reconfig=Rekonfigurert kjente moduler
-log_mods=Endret konfigurerte Apache moduler
+log_mods=Endret konfigurerte Apache-moduler
log_start=Startet webserver
log_stop=Stoppet webserver
log_apply=Endringer lagret
@@ -1063,7 +1063,7 @@ cache_emaxoc=Antall objekter å cache i minne må være et heltall
suexec_su=Kjør CGI programmer som
suexec_none=Bruker fra global konfigurasjon
-suexec_user=Unix bruker
+suexec_user=Unix-bruker
suexec_group=og gruppe
suexec_euser=Manglende eller ugyldig bruker å kjøre CGI programmer som
suexec_egroup=Manglende eller ugyldig gruppe å kjøre CGI programmer som
@@ -1078,8 +1078,8 @@ filter_out=Output Filter definisjoner
filter_ename=Ugyldig filter navn '$1'
filter_ecmd=Mangler kommando for filter '$1'
-cdir_err=Kunne ikke opprette per-directory instillinger
-cdir_err2=Kunne ikke lagre per-directory innstillinger
+cdir_err=Kunne ikke opprette per-mappe-innstillinger
+cdir_err2=Kunne ikke lagre per-mappe-innstillinger
cdir_epath=Manglende sti
cdir_eproxy=Proxy innstillinger kan ikke opprettes med match regexp innstillingen slått på
cdir_ecannot=Du har ikke tilgang til å opprette per-katalog innstillinger for den angitte stien
@@ -1126,12 +1126,12 @@ mod_auth_digest_al=Hashing algoritme
mod_auth_digest_domain=URLer og stier i samme domene
mod_auth_digest_edomain=Manglende URLer og stier i samme domene
-mods_title=Konfigurer Apache moduler
+mods_title=Konfigurer Apache-moduler
mods_mod=Modul
mods_state=Gjeldende tilstand
mods_enabled=Slått på
mods_disabled=Slått av
mods_available=Tilgjengelig for installasjon
-mods_ecannot=Du har ikke tilgang til å konfigurere Apache moduler
+mods_ecannot=Du har ikke tilgang til å konfigurere Apache-moduler
mods_save=Slå på valgte moduler
-mods_desc=Denne siden lar deg velge hvilke valgfrie Apache moduler som er slått på, ved å bruke sjekkboksen ved siden av hvert modulnavn. Vær forsiktig når du slår av en modul, siden alle eksisterende direktiver for den modulen, ikke lenger vil gjenkjennes.
+mods_desc=Denne siden lar deg velge hvilke valgfrie Apache-moduler som er slått på, ved å bruke sjekkboksen ved siden av hvert modulnavn. Vær forsiktig når du slår av en modul, siden alle eksisterende direktiver for den modulen, ikke lenger vil gjenkjennes.
diff --git a/cpan/lang/no b/cpan/lang/no
index 3f5acec9b..d6fa023c2 100644
--- a/cpan/lang/no
+++ b/cpan/lang/no
@@ -1,11 +1,11 @@
-index_title=Perl moduler
+index_title=Perl-moduler
index_name=Modul
index_sub=Undermoduler
index_version=Versjon
index_desc=Beskrivelse
index_ver=Versjon
index_date=Installert
-index_installmsg=Velg en ny Perl modul som skal kompileres og installeres på systemet ditt.
+index_installmsg=Velg en ny Perl-modul som skal kompileres og installeres på systemet ditt.
index_cpan=Fra CPAN, med navn
index_refresh=Oppfrisk modulliste fra CPAN
index_forcecpan=Installer alltid siste versjon fra kilde
@@ -20,9 +20,9 @@ index_upgrade=Oppgrader moduler
index_recs=Følgende Perl moduler anbefales for installasjon av Webmin:
index_user=$1 (brukt av $2)
index_recsok=Installer valgte moduler
-index_recsgot=Alle følgende Perl moduler anbefalt av Webmin er installert : $1
+index_recsgot=Alle følgende Perl-moduler anbefalt av Webmin er installert : $1
index_ezone=Det ser ut til at Perl deles med den globale sonen, så du kan ikke installere moduler her. Du må installere moduler i den globale sonen i stedet.
-index_none=Ingen installerte Perl moduler ble funnet på systemet ditt.
+index_none=Ingen installerte Perl-moduler ble funnet på systemet ditt.
index_tabmods=Eksisterende moduler
index_tabinstall=Installer modul
index_tabsuggest=Foreslåtte moduler
@@ -38,7 +38,7 @@ download_edir=Ikke en gyldig $1 katalog
download_etar=Kunne ikke pakke ut tar fil : $1
download_emod=Ikke en gyldig Perl modul
download_title=Installer modul
-download_header=Instillinger for installasjon av Perl modul
+download_header=Innstillinger for installasjon av Perl-modul
download_mod=Modul navn
download_mods=Modulnavn
download_ver=Versjon
diff --git a/dovecot/lang/no b/dovecot/lang/no
index e64b2877f..00310a092 100644
--- a/dovecot/lang/no
+++ b/dovecot/lang/no
@@ -1,15 +1,15 @@
-index_ecmd=Fant ikke Dovecot tjenerprogrammet $1 på systemet ditt. Kanskje det ikke er installert, eller så er modulkonfigurasjonen feil.
-index_econf=Fant ikke Dovecot konfigurasjonsfilen $1 på systemet ditt. Kanskjer den ikke er installert, eller så er modulkonfigurasjonen feil.
+index_ecmd=Fant ikke Dovecot-tjenerprogrammet $1 på systemet ditt. Kanskje det ikke er installert, eller så er modulkonfigurasjonen feil.
+index_econf=Fant ikke Dovecot-konfigurasjonsfilen $1 på systemet ditt. Kanskje den ikke er installert, eller så er modulkonfigurasjonen feil.
index_dovecot=Dovecot
index_stop=Stopp Dovecot tjener
-index_stopdesc=Steng ned den kjørende Dovecot IMAP/POP3 tjenerprosessen. Dette vil hindre brukere i å laste ned e-posten sin.
+index_stopdesc=Steng ned den kjørende Dovecot IMAP/POP3-tjenerprosessen. Dette vil hindre brukere i å laste ned e-posten sin.
index_start=Start Dovecot tjener
-index_startdesc=Start Dovecot IMAP/POP3 tjenerprosessen, slik at brukere kan laste ned e-posten sin.
+index_startdesc=Start Dovecot IMAP/POP3-tjenerprosessen, slik at brukere kan laste ned e-posten sin.
index_apply=Bruk konfigurasjon
index_applydesc=Aktiver gjeldende Dovecot konfigurasjon ved å stoppe og omstarte tjener prosessen.
index_boot=Start ved systemetoppstart?
index_bootdesc=Endre denne innstillingen for å aktivere eller deaktivere oppstart av Dovecot tjeneren ved systemoppstart.
-index_return=modul indeks
+index_return=modulindeks
index_version=Versjon $1
stop_err=Kunne ikke stoppe Dovecot
@@ -19,52 +19,52 @@ apply_err=Kunne ikke ta i bruk konfigurasjon
net_title=Nettverk og protokoller
net_header=Innstillinger for Dovecot nettverk og protokoller
-net_protocols=Betjen e-post protokoller
+net_protocols=Betjen e-postprotokoller
net_pop3=POP3
net_imap=IMAP
net_pop3s=POP3 (SSL)
net_imaps=IMAP (SSL)
net_lmtp=LMTP
-net_ssl_disable=Godta SSL tilkoblinger?
-net_imap_listen=Grensesnitt for IMAP tilkoblinger
-net_pop3_listen=Grensesnitt for POP3 tilkoblinger
-net_imaps_listen=Grensesnitt for IMAP SSL tilkoblinger
-net_pop3s_listen=Grensesnitt for POP3 SSL tilkoblinger
-net_listen=Grensesnitt for ikke-SSL tilkoblinger
-net_ssl_listen=Grensesnitt for SSL tilkoblinger
+net_ssl_disable=Godta SSL-tilkoblinger?
+net_imap_listen=Grensesnitt for IMAP-tilkoblinger
+net_pop3_listen=Grensesnitt for POP3-tilkoblinger
+net_imaps_listen=Grensesnitt for IMAP SSL-tilkoblinger
+net_pop3s_listen=Grensesnitt for POP3 SSL-tilkoblinger
+net_listen=Grensesnitt for ikke-SSL-tilkoblinger
+net_ssl_listen=Grensesnitt for SSL-tilkoblinger
net_listen0=Standard
net_listen1=Alle IPv4 og IPv6
net_listen2=Alle IPv4
net_listen3=IP adresse
net_err=Kunne ikke lagre nettverksinnstillinger
-net_eimap_listen=Ugyldig IP adresse for IMAP tilkoblinger
-net_epop3_listen=Ugyldig IP adresse for POP3 tilkoblinger
-net_eimaps_listen=Ugyldig IP adresse for IMAP SSL tilkoblinger
-net_epop3s_listen=Ugyldig IP adresse for POP3 SSL tilkoblinger
-net_elisten=Ugyldig IP adresse for ikke-SSL tilkoblinger
-net_essl_listen=Ugyldig IP adresse for SSL tilkoblinger
+net_eimap_listen=Ugyldig IP adresse for IMAP-tilkoblinger
+net_epop3_listen=Ugyldig IP adresse for POP3-tilkoblinger
+net_eimaps_listen=Ugyldig IP adresse for IMAP SSL-tilkoblinger
+net_epop3s_listen=Ugyldig IP adresse for POP3 SSL-tilkoblinger
+net_elisten=Ugyldig IP adresse for ikke-SSL-tilkoblinger
+net_essl_listen=Ugyldig IP adresse for SSL-tilkoblinger
imap_title=IMAP innstillinger
pop3_title=POP3 innstillinger
ssl_title=SSL Konfigurasjon
-ssl_header=Instillinger for IMAP og POP3 SSL modus
+ssl_header=Innstillinger for IMAP og POP3 SSL modus
ssl_key=Fil med SSL privat nøkkel
-ssl_cert=SSL sertifikatfil
-ssl_ca=SSL CA sertifikatfil
+ssl_cert=SSL-sertifikatfil
+ssl_ca=SSL CA-sertifikatfil
ssl_pass=Passord for nøkkelfil
ssl_prompt=Ingen nødvendig
ssl_regen=Intervall mellom regenerering av SSL parametere
ssl_hours=timer
ssl_none=Ingen
ssl_plain=Forby vanlig-tekst autentisering i ikke-SSL modus?
-ssl_err=Kunne ikke lagre SSL konfigurasjon
-ssl_ekey=Manglende eller ikke-eksisterende fil med privat nøkkel
-ssl_ecert=Manglende eller ikke-eksisterende sertifikat fil
-ssl_eca=Manglende eller ikke-eksisterende CA sertifikat fil
+ssl_err=Kunne ikke lagre SSL-konfigurasjon
+ssl_ekey=Manglende eller ikke-eksisterende privat nøkkelfil
+ssl_ecert=Manglende eller ikke-eksisterende sertifikatfil
+ssl_eca=Manglende eller ikke-eksisterende CA-sertifikatfil
ssl_eregen=Manglende eller ikke-numerisk intervall for regenerering av parametere
-ssl_epass=Ingen passord for SSL nøkkel-fil angitt
+ssl_epass=Ingen passord for SSL-nøkkelfil angitt
misc_title=Andre innstillinger
@@ -87,7 +87,7 @@ login_realms=SASL autentiseringsområde
login_realm=Standard autentiseringsområde
login_mechs=Autentiserings-metoder
login_anonymous=Anonym
-login_plain=Vanlig-tekst
+login_plain=Vanlig tekst
login_digest-md5=Digest-MD5
login_cram-md5=Cram-MD5
login_apop=APOP
@@ -105,19 +105,19 @@ login_shadow=Unix shadow fil
login_dpam=Standard PAM tjeneste (dovecot)
login_pam=PAM tjeneste $1
login_session=Åpne og lukk PAM sesjoner
-login_pam2=PAM tjeneste $1 $2 Bruk cache nøkkel $3
+login_pam2=PAM tjeneste $1 $2 Bruk cache-nøkkel $3
login_other=Annen Dovecot innstilling $1
login_epasswdfile=Manglende eller ikke-eksisterende egendefinert passordfil
login_euid=Manglende eller ikke-numerisk UID
login_egid=Manglende eller ikke-numerisk GID
login_ehome=Manglende hjemmekatalog
-login_eldap=Manglende eller ikke-eksisterende KDAP konfigurasjonsfil
-login_epgsql=Manglende eller ikke-eksisterende PortgreSQL konfigurasjonsfil
-login_esql=Manglende eller ikke-eksisterende SQL konfigurasjonsfil
-login_eppam=Manglende eller ugyldig PAM tjeneste
-login_bsdauth=BSD autentisering Bruk cache nøkkel $1
+login_eldap=Manglende eller ikke-eksisterende LDAP-konfigurasjonsfil
+login_epgsql=Manglende eller ikke-eksisterende PostgreSQL-konfigurasjonsfil
+login_esql=Manglende eller ikke-eksisterende SQL-konfigurasjonsfil
+login_eppam=Manglende eller ugyldig PAM-tjeneste
+login_bsdauth=BSD-autentisering Bruk cache-nøkkel $1
login_checkpassword=Eksternt program $1
-login_eckey=Manglende eller ugyldig cache nøkkel
+login_eckey=Manglende eller ugyldig cache-nøkkel
login_echeckpassword=Manglende eller ugyldig eksternt passord-sjekk program
login_procs=Maks. antall innloggingsprosesser
login_count=Innledende innloggingsprosesser
@@ -180,10 +180,10 @@ mail_econtrol=Manglende eller ugyldig absolutt sti for kontrollfiler
log_net=Endrett nettverk og protokoller
log_login=Endret bruker og innloggingsinnstillinger
log_mail=Endret e-post filer
-log_ssl=Endret SSL konfigurasjon
+log_ssl=Endret SSL-konfigurasjon
log_apply=Tok i bruk konfigurasjon
-log_start=Startet Dovecot tjener
-log_stop=Stoppet Dovecot tjener
+log_start=Startet Dovecot-tjener
+log_stop=Stoppet Dovecot-tjener
log_bootup=Aktiverte Dovecot ved oppstart
log_bootdown=Deaktiverte Dovecot ved oppstart
log_manual=Redigerte konfigfilen $1 manuelt
diff --git a/fetchmail/lang/no b/fetchmail/lang/no
index 4c63a2032..6c7d348bc 100644
--- a/fetchmail/lang/no
+++ b/fetchmail/lang/no
@@ -1,14 +1,14 @@
-index_title=Fetchmail e-post henting
+index_title=Fetchmail e-posthenting
index_poll=Tjener som skal sjekkes
index_proto=Protokoll
index_active=Aktiv?
index_users=Eksterne og lokale brukere
index_add=Legg til ny tjener.
index_run=Sjekk alle tjenere
-index_global=Rediger standard innstillinger.
-index_user=Unix bruker
-index_conf=Fetchmail konfigurasjon
-index_file=Fetchmail konfigurasjon i $1
+index_global=Rediger standardinnstillinger.
+index_user=Unix-bruker
+index_conf=Fetchmail-konfigurasjon
+index_file=Fetchmail-konfigurasjon i $1
index_return=tjenerliste
index_start=Start Fetchmail Daemon
index_stop=Stopp Fetchmail Daemon
@@ -17,24 +17,24 @@ index_stopmsg=Klikk på denne knappen for å stoppe fetchmail daemon som for øy
index_efetchmail=Fant ikke fetchmail programmet $1. Kanskje fetchmail ikke er installert på systemet ditt, eller så er ikke modulkonfigurasjonen korrekt.
index_none=Ingen Unix brukere har .fetchmailrc filer.
index_cron=Tidsplanlagt sjekking
-index_crondesc=Klikk på denne knappen for å opprette, endre eller fjerne en Cronjobb som kjører Fettchmail ihht. en tidsplan for å se etter og laste ned e-post vha. konfigurasjonen ovenfor.
+index_crondesc=Klikk på denne knappen for å opprette, endre eller fjerne en Cronjobb som kjører Fetchmail ihht. en tidsplan for å se etter og laste ned e-post vha. konfigurasjonen ovenfor.
index_crondesc2=Klikk på denne knappen for å opprette, endre eller fjerne en Cronjobb som kjører Fetchmail automatisk ihht tidsplan, og ser etter og laster ned e-post for alle angitte brukere.
index_version=Fetchmail versjon $1
-index_header=Brukere med Fatchmail konfigurasjoner
-index_search=Vis Fetchmail konfigurasjon for:
+index_header=Brukere med Fatchmail-konfigurasjoner
+index_search=Vis Fetchmail-konfigurasjon for:
index_show=Vis
index_toomany=Det er for mange brukere på systemet ditt til å vises.
poll_create=Legg til tjener
poll_edit=Rediger tjener
-poll_header=Innstillinger for e-post tjener
-poll_poll=Tjener navn
+poll_header=Innstillinger for e-posttjener
+poll_poll=Tjenernavn
poll_auth=Autentiseringsmetode
poll_skip=Spørring aktivert?
-poll_via=E-post tjener som skal kontaktes
-poll_via_def=Samme som tjener navn
+poll_via=E-posttjener som skal kontaktes
+poll_via_def=Samme som tjenernavn
poll_proto=Protokoll
-poll_port=Tjener port
+poll_port=Tjenerport
poll_uheader=Brukerdetaljer for e-post tjener
poll_user=Ekstern bruker
poll_pass=Eksternt passord
@@ -42,7 +42,7 @@ poll_is=Lokal(e) bruker(e)
poll_keep=La meldinger være igjen på tjener?
poll_fetchall=Alltid hent alle meldinger?
poll_usually=Vanligvis nei
-poll_ssl=Koble til i SSL modus?
+poll_ssl=Koble til i SSL-modus?
poll_err=Kunne ikke lagre tjener
poll_epoll=Manglende eller ugyldig tjenernavn
poll_evia=Ugyldig e-posttjener navn
@@ -109,7 +109,7 @@ acl_daemon=Kan konfigurere Fetchmail daemon?
cron_title=Tidsplanlagt sjekking
cron_desc=Denne siden kan brukes til å aktivere og deaktivere Cronjobben som sjekker e-post tjenerne i din Fetchmail konfigurasjon ihht tidsplan. Det er bedre å bruke en Cron jobb enn å bruke Fetchmail daemon siden den ikke behøver å omstartes ved oppstart av systemet.
-cron_header=Instillinger for tidsplanlagt Fetchmail
+cron_header=Innstillinger for tidsplanlagt Fetchmail
cron_enabled=Tidsplanlagt sjekking aktivert?
cron_yes=Ja, på tidspunktene angitt nedenfor ..
cron_output=Måt for utdata fra FetchMail
@@ -120,9 +120,9 @@ cron_cron=Output til cron
cron_owner=Send e-post til den brukeren som får konfigurasjonen sjekket
cron_user=Kjør Fetchmail som brukeren
cron_err=Kunne ikke lagre tidsplanlagt sjekking
-cron_efile=Manglende eller ugyldig output filnavn
-cron_email=Manglende eller ugyldig e-post adresse
-cron_euser=Manglende eller ugyldig Unix bruker
+cron_efile=Manglende eller ugyldig utdatafilnavn
+cron_email=Manglende eller ugyldig e-postadresse
+cron_euser=Manglende eller ugyldig Unix-bruker
cron_errors=Vis bare utdata dersom det oppstår en feil?
cron_ecannot2=Du har ikke lov til å konfigurere tidsplanlagt sjekking
diff --git a/fsdump/lang/no b/fsdump/lang/no
index 69e1bba23..6c16463b2 100644
--- a/fsdump/lang/no
+++ b/fsdump/lang/no
@@ -1,11 +1,11 @@
-index_title=Filsystem sikkerhetskopi
+index_title=Filsystem-sikkerhetskopi
index_add=Legg til en ny sikkerhetskopi av katalog:
index_none=Det er ikke opprettet noen konfigurasjoner for sikkerhetskopier av filsystemer enda.
index_none2=Det finnes ingen konfigurasjoner for sikkerhetskopiering av filsystemer som du har tilgang til.
-index_restore=Gjenopprett sikkerhetskopi av filsystem type:
+index_restore=Gjenopprett sikkerhetskopi av filsystemtype:
index_restoremsg=Velg filsystemtype og klikk på denne knappen for å begynne prosessen med å velge en filsystem-sikkerhetskopi som skal gjenopprettes.
index_restore2=Gjenopprett sikkerhetskopi av filsystem
-index_restoremsg2=Klikk på denne knappen for å starte prosessen med å velge en filsyste,-sikkerhetskopi som skal gjenopprettes.
+index_restoremsg2=Klikk på denne knappen for å starte prosessen med å velge en filsystem-sikkerhetskopi som skal gjenopprettes.
index_ecommands=Ingen av kommandoene for sikkerhetskopiering av filsystemer (som f.eks. $1) som er nødvendige for denne modulen, ble funnet på systemet ditt. Kanskje de ikke er installert.
index_return=liste med sikkerhetskopier
index_running=Kjørende sikkerhetskopi jobber
@@ -20,7 +20,7 @@ index_newtape=Tape lastet
index_noact=Ingen tilgjengelig
index_now=Sikkerhetskopi..
index_follow=Etter $1
-index_forcetar=I TAR format
+index_forcetar=I TAR-format
index_delete=Slett valgte sikkerhetskopier
index_nostrftime=Advarsel - noen sikkerhetskopi-jobber bruker % i filnavn, men strftime erstatning er ikke aktivert på modulens konfig.side.
@@ -30,7 +30,7 @@ dump_fs=Filsystem
dump_sched=Tidsplanlagt?
dump_when=På tidspunktene
dump_dest=Sikkerhetskopier til
-dump_file=Fil eller tape enhet
+dump_file=Fil eller tape-enhet
dump_host=Vert $1 som bruker $2 i fil eller enhet $3
dump_level=Dump nivå
dump_level_0=0 (Full sikkerhetskopi)
@@ -51,7 +51,7 @@ dump_ebsize=Manglende eller ugyldig blokkstørrelse for dump record
dump_max=Maks. filstørrelse som skal tas med
dump_unlimited=Ubegrenset
dump_attribs=Ta med fil-attributter?
-dump_over=Spø før tape overskrives?
+dump_over=Spør før tape overskrives?
dump_overwrite=Skirv alltid over sikkerhetskopi?
dump_invent=Loggfør sikkerhetskopi i inventar?
dump_emax=Manglende eller ugyldig maksimum filstørrelse
@@ -71,12 +71,12 @@ dump_after=Kommando som skal kjøres etter sikkerhetskopiering
dump_fok=Stopp dersom kommando feiler
dump_fok2=Rapporter feil dersom kommando feiler
dump_aok=Hopp over kommando selv om backup feiler
-dump_extra=Ekstra kommando-linje parametere
+dump_extra=Ekstra kommandolinjeparametere
dump_rsh=Ekstern sikkerhetskopieringskommando
dump_rsh0=Standard (RSH)
dump_rsh1=SSH
dump_rsh3=FTP
-dump_rsh2=Annen kommando ..
+dump_rsh2=Annen kommando ...
dump_pass=Passord for SSH innlogging
dump_pass2=Passord for SSH/FTP innlogging
dump_ersh=Manglende eller ugyldig ekstern sikkerhetskopieringskommando
@@ -98,9 +98,9 @@ dump_ignoreread=Ignorer lese-feil på filer?
dump_notape=Spør etter ny tape hvis nødvendig?
dump_rmt=Sti til rms på eksternt system
dump_links=Følg symbolske lenker?
-dump_egzip=Instillingen for gzip komprimering er ikke kompatibel med innstillingen for tape størrelse
-dump_egzip2=Instillingen for gzip komprimering er ikke kompatibel med innstillingen for fler-filers sikkerhetskopi
-dump_egzip3=Instillingen for gzip komprimering er ikke kompatibel med innstillingen for kun å legge til nye filer i arkivet
+dump_egzip=Innstillingen for gzip-komprimering er ikke kompatibel med innstillingen for tape størrelse
+dump_egzip2=Innstillingen for gzip-komprimering er ikke kompatibel med innstillingen for fler-filers sikkerhetskopi
+dump_egzip3=Innstillingen for gzip-komprimering er ikke kompatibel med innstillingen for kun å legge til nye filer i arkivet
dump_emulti=Fler-filers sikkerhetskopiering kan ikke kjøres mot en tape-enhet
dump_emulti2=Fler-filers sikkerhetskopiering kan ikke kjøres mot en ekstern tjener
dump_ermt=Manglende eller ugyldig sti til rmt programmet
@@ -219,7 +219,7 @@ acl_cmds=Kan redigere før og etter kommandoer?
acl_extra=Kan redigere ekstra kommando-linje parametere?
acl_dirs=Tillatte kataloger for sikkerhetskopiering
acl_all=Alle kataloger
-acl_list=Bare i listen ..
+acl_list=Bare i listen ...
delete_err=Kunne ikke slette sikkerhetskopier
delete_enone=Ingen valgt
diff --git a/makedebian.pl b/makedebian.pl
index a12689c74..316c619b9 100755
--- a/makedebian.pl
+++ b/makedebian.pl
@@ -127,7 +127,7 @@ Provides: $baseproduct
EOF
if ($product eq "webmin") {
print CONTROL <strftime erstatning på destinasjoner for sikkerhetskopier?,1,1-Ja,0-Nei
-webmin_subs=Utfør Webmin variabelerstatning på sikkerhetskopi destinasjoner,1,1-Ja,0-Nei
+webmin_subs=Utfør Webmin variabelerstatning på sikkerhetskopidestinasjoner,1,1-Ja,0-Nei
simple_sched=Format for tidsplan-velger,1,1-Enkel,0-Kompleks
-encoding=Koding for database innhold,3,Standard (fra gjeldende språk)
+encoding=Koding for databaseinnhold,3,Standard (fra gjeldende språk)
max_dbs=Maks. antall databaser og tabeller som skal vises,0,6
max_text=Maks. visningslengde for tekstfelt,3,Ubegrenset
-line2=System konfigurasjon,11
+line2=Systemkonfigurasjon,11
psql=Sti til psql kommando,0
plib=Sti til PostgreSQL delte biblioteker,3,Ikke nødvendig
basedb=Initiell PostgreSQL database,0
start_cmd=Kommando for å starte PostgreSQL,0
stop_cmd=Kommando for å stoppe PostgreSQL,3,Stopp prosess
setup_cmd=Kommando for å initalisere PostgreSQL,3,Ingen
-pid_file=Sti til postmaster PID fil,0
-hba_conf=Stier til vertstilgang konfigfil,9,60,3,\t
+pid_file=Sti til postmaster-PID-fil,0
+hba_conf=Stier til vertstilgang-konfigfil,9,60,3,\t
host=PostgreSQL port å koble til,3,localhost
port=PostgreSQL å koble til,3,Standard
dump_cmd=Sti til pg_dump kommando,0
diff --git a/samba/lang/no b/samba/lang/no
index 0a8bb242a..cc1a7abb1 100644
--- a/samba/lang/no
+++ b/samba/lang/no
@@ -61,7 +61,7 @@ global_filedefault=Standardinnstillinger for filressurser
global_prndefault=Standardinnstillinger for skriverressurser
global_password=Krypterte passord
global_users=Samba brukere
-global_group=Samba grupper
+global_group=Samba-grupper
global_bind=Winbind Innstillinger
error_nosamba=Samba tjenerprogrammet $1 ble ikke funnet. Enten er Samba ikke installert på systemet ditt, eller så er modulkonfigurasjonen feil.
@@ -77,15 +77,15 @@ convert_msg=Dette skjemaet lar deg synkronisere Unix og Samba brukerlisten. Når
convert_noconv=Ikke konverter eller fjern disse brukerne:
convert_ncdesc=Listen over brukere som ikke skal konverteres kan inneholde brukernavn, UIDer, gruppenavn prefikset med @, eller UID intervaller som f.eks 500-1000 eller 500-.
convert_update=Oppdater eksisterende Samba brukere fra deres Unix detaljer
-convert_add=Legg til nye Samba brukere fra listen med Unix brukere
+convert_add=Legg til nye Samba brukere fra listen med Unix-brukere
convert_delete=Slett Samba brukere som ikke finnes i Unix
convert_newuser=For nyopprettede brukere skal passordet settes til:
convert_nopasswd=Ikke noe passord
convert_lock=Kontoen er låst
convert_passwd=Bruk dette passordet
convert_convert=Konverter brukere
-convert_cannot=Unix brukere kan ikke konverteres til Samba brukere
-convert_who=Unix brukere som skal konverteres
+convert_cannot=Unix-brukere kan ikke konverteres til Samba brukere
+convert_who=Unix-brukere som skal konverteres
convert_who0=Bare listede brukere eller UID områder
convert_who1=Alle unntatt listede brukere eller UID områder
@@ -130,7 +130,7 @@ passwd_below=Listet nedenfor:
passwd_waitfor=Vent på
passwd_send=Send
passwd_map=Brukernavn tilordning
-passwd_unixuser=Unix brukere
+passwd_unixuser=Unix-brukere
passwd_winuser=Windows brukere
print_title=Utskriftsinnstillinger
@@ -142,7 +142,7 @@ print_cachetime=Tid for hurtiglagring av skriverstatus
smb_title=Innstillinger for Windows nettverk
smb_workgroup=Arbeidsgruppe
smb_wins=WINS modus
-smb_winsserver=Vær WINS tjener
+smb_winsserver=Vær WINS-tjener
smb_useserver=Bruk tjener
smb_description=Tjener beskrivelse
smb_descriptionnone=Ingen
@@ -238,8 +238,8 @@ fperm_option=Innstillinger for filtillatelser
fperm_filemode=Unix filmodus for ny fil
fperm_dirmode=Unix katalogmodus for ny katalog
fperm_notlist=Kataloger som ikke skal vises
-fperm_forceuser=Tving Unix bruker
-fperm_forcegrp=Tving Unix gruppe
+fperm_forceuser=Tving Unix-bruker
+fperm_forcegrp=Tving Unix-gruppe
fperm_link=Tillat symlinks utenfor ressurs?
fperm_delro=Kan slette skrivebeskyttede filer?
fperm_forcefile=Tving Unix filmodus
@@ -261,7 +261,7 @@ share_available=Tilgjengelig?
share_browseable=Søkbar?
share_comment=Ressurs kommentar
share_view=Vis tilkoblinger
-share_option=Andre instillinger for ressurs
+share_option=Andre innstillinger for ressurs
share_security=Sikkerhet og tilgangskontroll
share_permission=Filtillatelser
share_naming=Fil-navngiving
@@ -295,7 +295,7 @@ sec_index2=Rediger sikkerhet
sec_writable=Skrivbar?
sec_guest=Gjeste-tilgang?
sec_guestonly=Bare gjest
-sec_guestaccount=Gjest Unix bruker
+sec_guestaccount=Gjest Unix-bruker
sec_limit=Begrens til mulig-liste?
sec_allowhost=Verter som skal tillates
sec_onlyallow=Bare tillat
@@ -314,12 +314,12 @@ sec_rwuser=Brukere med skrivetilgang
sec_rwgroup=Grupper med skrivetilgang
esync_title=Brukersynkronisering
-esync_msg=Webmin kan konfigureres slik at endringer i Unix brukere automatisk vil speiles til Samba brukere. Dette virker bare når du bruker Webmin modulen Brukere og grupper brukes for å legge til, endre og slette brukere.
-esync_add=Legg til en Samba når en Unix bruker legges til
-esync_chg=Endre Samba brukeren når en Unix bruker endres
-esync_del=Slett Samba brukeren når en Unix bruker slettes
-esync_del_profile=Sletter roaming profil når en Unix bruker slettes
-esync_chg_profile=Omdøp roaming profil når en Unix bruker omdøpes
+esync_msg=Webmin kan konfigureres slik at endringer i Unix-brukere automatisk vil speiles til Samba brukere. Dette virker bare når du bruker Webmin modulen Brukere og grupper brukes for å legge til, endre og slette brukere.
+esync_add=Legg til en Samba når en Unix-bruker legges til
+esync_chg=Endre Samba brukeren når en Unix-bruker endres
+esync_del=Slett Samba brukeren når en Unix-bruker slettes
+esync_del_profile=Sletter roaming profil når en Unix-bruker slettes
+esync_chg_profile=Omdøp roaming profil når en Unix-bruker omdøpes
esync_gid=Gruppe SID eller RID for nye brukere
esync_apply=Bruk
esync_cannot=Brukersynkronisering kan ikke konfigureres
@@ -327,7 +327,7 @@ esync_egid=Manglende gruppe SID eller RID
mkpass_title=Konverter brukere
mkpass_convfail=Kunne ikke konvertere bruker
-mkpass_msg=Konverterer Unix brukere...
+mkpass_msg=Konverterer Unix-brukere...
mkpass_skip=hoppes over
mkpass_same=er allerede det samme
mkpass_update=blir oppdatert
@@ -463,17 +463,17 @@ log_smb=Endret innstillinger for Windows nettverk
log_pass=Endret autentiseringsinnstillinger
log_print=Endret innstillinger for Windows til Unix utskrift
log_misc=Endret forskjellige innstillinger
-log_bind=Endre Winbind instillinger
-log_sync=Konfigurerte Unix brukersynkronisering
-log_epass=Konverterte Unix brukere til Samba brukere
-log_epass_l=Konverterte Unix brukere til Samba brukere ($1 opprettet, $2 endret, $3 slettet)
+log_bind=Endre Winbind-innstillinger
+log_sync=Konfigurerte Unix-brukersynkronisering
+log_epass=Konverterte Unix-brukere til Samba brukere
+log_epass_l=Konverterte Unix-brukere til Samba brukere ($1 opprettet, $2 endret, $3 slettet)
log_copy=Kopierte ressurs $2 til $1
log_save_euser=Endret Samba endret $1
log_delete_euser=Slettet Samba bruker $1
-log_create_group=Opprettet Samba gruppe $1
-log_modify_group=Endret Samba gruppe $1
-log_delete_group=Slettet Samba gruppe $1
-log_gsync=Konfigurerte Unix gruppesynkronisering
+log_create_group=Opprettet Samba-gruppe $1
+log_modify_group=Endret Samba-gruppe $1
+log_delete_group=Slettet Samba-gruppe $1
+log_gsync=Konfigurerte Unix-gruppesynkronisering
log_manual=Manuelt redigerte konfigfilen $1
swat_title=SWAT brukernavn
@@ -498,7 +498,7 @@ eacl_pcprint=å redigere utskriftsinnstillinger
eacl_pcm=å redigere forskj. innstillinger
eacl_pcswat=å bruke SWAT
eacl_pcopy=å kopiere ressurser
-eacl_pconn_all=å se alle tilkobleinger
+eacl_pconn_all=å se alle tilkoblinger
eacl_pconn=å se tilkoblinger for denne ressursen
eacl_pgkill=å avbryte tilkoblinger
eacl_pkill=å avbryte denne tilkoblingen
@@ -553,7 +553,7 @@ acl_ernow=Dersom du ønsker å aktivere skrivetilgang i globale ACLer for en obj
acl_sname=Ressurs navn
acl_saccess=Tilgang til ressurs
acl_sconn=Tilkoblinger
-acl_sopthdr=Ressurs innstillinger
+acl_sopthdr=Ressursinnstillinger
acl_ssec=sikkerhet
acl_sperm=tillatelser
acl_snaming=fil navngiving
@@ -565,7 +565,7 @@ acl_rw=les skriv
acl_view=vis
acl_kill=stopp
acl_edit=rediger
-acl_group_opts=Samba gruppe innstillinger
+acl_group_opts=Samba-gruppeinnstillinger
acl_maint_groups=Kan se, redigere og legge til grupper?
acl_maint_gsync=Kan administrere auto UNIX til SAMBA gruppesynkronisering?
acl_winbind=Kan binde til domener?
@@ -573,7 +573,7 @@ acl_bind=Har tilgang til winbind innstillinger?
groups_title=Samba Grupper
groups_name=Gruppenavn
-groups_unix=Unix gruppe
+groups_unix=Unix-gruppe
groups_nounix=Ingen
groups_type=Type
groups_type_d=Domenegruppe
@@ -581,36 +581,36 @@ groups_type_b=NT innebygd
groups_type_l=Lokal gruppe
groups_type_u=Ukjent
groups_sid=SID
-groups_none=Ingen Samba grupper er definert enda.
+groups_none=Ingen Samba-grupper er definert enda.
groups_return=gruppeliste
-groups_add=Legg til ny Samba gruppe
-groups_ecannot=Du har ikke lov til å se eller redigere Samba grupper
-groups_cannot=Samba grupper kan ikke vises
+groups_add=Legg til ny Samba-gruppe
+groups_ecannot=Du har ikke lov til å se eller redigere Samba-grupper
+groups_cannot=Samba-grupper kan ikke vises
-gedit_title2=Rediger Samba gruppe
-gedit_title1=Opprett Samba gruppe
-gedit_header=Detaljer for Samba gruppe
+gedit_title2=Rediger Samba-gruppe
+gedit_title1=Opprett Samba-gruppe
+gedit_header=Detaljer for Samba-gruppe
gedit_name=Gruppenavn
gedit_type=Gruppetype
gedit_sid=Gruppe SID
gedit_desc=Beskrivelse
gedit_priv=Privilegier
-gedit_unix=Unix gruppe
+gedit_unix=Unix-gruppe
gedit_unixgr=Gruppe ..
gedit_none=Ingen
gedit_set=Listet ..
gsave_err=Kunne ikke lagre gruppe
-gsave_eunix=Manglende eller ugyldig Unix gruppenavn eller GID
+gsave_eunix=Manglende eller ugyldig Unix-gruppenavn eller GID
gsave_ename=Mangler gruppenavn
gsave_epriv=Mangler gruppeprivilegier
gsave_elocal=Privilegier kan bare settes for lokale grupper
gsync_title=Gruppesynkronisering
-gsync_msg=Webmin kan konfigureres slik at endringer i Unix gruppelisten vil gjenspeiles i Samba gruppelisten. Dette virker bare dersom du bruker Webmin-modulen Brukere og grupper til å legge til, slette og endre grupper.
-gsync_add=Legg til en Samba gruppe når en Unix gruppe legges til
-gsync_chg=Endre Samba gruppen når en Unix gruppe endres
-gsync_del=Slett Samba gruppen når en Unix gruppe slettes
+gsync_msg=Webmin kan konfigureres slik at endringer i Unix-gruppelisten vil gjenspeiles i Samba-gruppelisten. Dette virker bare dersom du bruker Webmin-modulen Brukere og grupper til å legge til, slette og endre grupper.
+gsync_add=Legg til en Samba-gruppe når en Unix-gruppe legges til
+gsync_chg=Endre Samba-gruppen når en Unix-gruppe endres
+gsync_del=Slett Samba-gruppen når en Unix-gruppe slettes
gsync_apply=Bruk
gsync_type=Type for nye grupper
gsync_priv=Privilegier for nye grupper (hvis lokal)
diff --git a/software/lang/no b/software/lang/no
index d17d3a753..53617d751 100644
--- a/software/lang/no
+++ b/software/lang/no
@@ -20,7 +20,7 @@ index_filter=Filtrer pakker
index_filterclear=Fjern filter
index_filtered=Viser $1 pakkker av $2
-search_title=Pakke søk
+search_title=Pakkesøk
search_nomatch=Ingen pakker stemte med $1
search_none=Ingen
search_desc=Beskrivelse
@@ -187,7 +187,7 @@ rhn_failed=.. installasjon feilet!
rhn_title=Velg RHN pakke
rhn_pack=Pakke
rhn_version=Versjon
-rhn_form=Instillinger for Redhat Network
+rhn_form=Innstillinger for Redhat Network
rhn_header=Innstillinger for automatisk pakkeoppgradering
rhn_auto=Se etter oppdateringer automatisk?
rhn_interval=Sjekk-intervall
@@ -344,8 +344,8 @@ cygwin_elread=Kunne ikke lese symlink: $1
cygwin_elstat=Kunne ikke hente informasjon om symlink: $1
cygwin_badpostscript=Advarsel: Dette scriptet ser ikke ut til å ha blitt kjørt
cygwin_pkgexists=Pakken $1 finnes allerede.
-cygwin_warnuse=Advarsel: Dette er ikke et offisielt grensesnitt for administrering av Cygwin programvare. Bruk på egen risiko.
-cygwin_edb=Mangler Cygwin pakkedatabase $1
+cygwin_warnuse=Advarsel: Dette er ikke et offisielt grensesnitt for administrering av Cygwin-programvare. Bruk på egen risiko.
+cygwin_edb=Mangler Cygwin-pakkedatabase $1
deletes_err=Kunne ikke slette pakker
deletes_enone=Ingen pakker valgt
@@ -416,7 +416,7 @@ ports_apply=Laste siste snapshot
ports_upgrade=Laster ned porterings-snapshots
ports_running=Kjører kommandoen $1 ..
-pkg_install=Installerer FreeBSD pakker $1 ..
+pkg_install=Installerer FreeBSD-pakker $1 ..
pkg_failed=.. noen pakker feilet
pkg_ok=.. installasjon fullført
pkg_find=Søk pkgng
diff --git a/sshd/lang/no b/sshd/lang/no
index c94e5c67a..d15febb40 100644
--- a/sshd/lang/no
+++ b/sshd/lang/no
@@ -1,16 +1,16 @@
-index_title=SSH Tjener
-index_econfig=SSH tjener konfigfilen $1 ble ikke funnet på systemet ditt. Kanskje SSHD ikke er installert, eller så er modulkonfigurasjonen feil,.
-index_esshd=SSH tjener programmet $1 ble ikke funnet på systemet ditt. Kanskje SSHD ikke er installert, eller så er modulkonfigurasjonen feil,.
-index_eversion=Kunne ikke hente versjonsnummer fra SSH tjener programmet $1. Kanskje modulkonfigurasjonen er feil. Output fra kommandoen $3 var : $4
-index_eversion2=SSH tjenerprogrammet $1 er versjon $2, men Webmin støtter bare SSH versjonene 1 og 2.
+index_title=SSH-tjener
+index_econfig=SSH-tjenerkonfigfilen $1 ble ikke funnet på systemet ditt. Kanskje SSHD ikke er installert, eller så er modulkonfigurasjonen feil,.
+index_esshd=SSH-tjenerprogrammet $1 ble ikke funnet på systemet ditt. Kanskje SSHD ikke er installert, eller så er modulkonfigurasjonen feil,.
+index_eversion=Kunne ikke hente versjonsnummer fra SSH-tjener programmet $1. Kanskje modulkonfigurasjonen er feil. Output fra kommandoen $3 var : $4
+index_eversion2=SSH-tjenerprogrammet $1 er versjon $2, men Webmin støtter bare SSH versjonene 1 og 2.
index_return=modulindeks
index_apply=Bruk endringer
index_applymsg=Klikk på denne knappen for å ta i bruk gjeldende konfigurasjon ved å sende et SIGHUP signal til SSHd prosessen.
index_applymsg2=Klikk på denne knappen for å ta i bruk gjeldende konfigurasjon med kommandoen $1.
index_start=Start tjener
-index_startmsg=Klikk på denne knappen for å starte SSH tjeneren. Før den er startet kan ingen brukere logge inn vha. SSH.
+index_startmsg=Klikk på denne knappen for å starte SSH-tjeneren. Før den er startet kan ingen brukere logge inn vha. SSH.
index_stop=Stopp tjener
-index_stopmsg=Klikk på denne knappen for å stoppe SSH tjenere. Etter at den er stoppet kan ingen brukere logge inn vha. SSH, men eksisterende tilkoblinger/innlogginger vil forbli aktive.
+index_stopmsg=Klikk på denne knappen for å stoppe SSH-tjenere. Etter at den er stoppet kan ingen brukere logge inn vha. SSH, men eksisterende tilkoblinger/innlogginger vil forbli aktive.
index_version=$1
index_type=SSH nøkkeltype:
index_rsa1=RSA (for SSH v1)
@@ -25,7 +25,7 @@ users_header=Innstillinger for innlogging og autentisering
users_expire=Antall dager før konto-utløp at brukeren advares
users_expire_def=Aldri
users_mail=Gi bruker beskjed om ny e-post?
-users_empty=Be om nytt passord hvist tomt?
+users_empty=Be om nytt passord hvis tomt?
users_passwd=Be om nytt passord hvis utløpt?
users_pexpire=Dager før passord-utløp bruker skal advares
users_pexpire_def=Aldri
@@ -52,7 +52,7 @@ users_authkeys_set=Fil under hjemmekatalog
users_eauthkeys=Manglende eller ugyldig fil med autoriserte nøkler
users_maxauthtries=Maks. antall innloggingsforsøk per tilkobling
users_emaxauthtries=Manglende eller ugyldig antall innloggingsforsøk per tilkobling
-users_chal=Bruk utfordring-svar autentisering?
+users_chal=Bruk utfordringssvarautentisering?
net_title=Nettverk
net_header=Innstillinger for nettverk
@@ -81,9 +81,9 @@ net_grace_def=For alltid
net_grace_s=sekunder
net_tcp=Tillat TCP videresending?
net_gateway=Tillat tilkobling til videresendte porter?
-net_reverse=Revers-valider klient IP adresser?
+net_reverse=Revers-valider klient IP-adresser?
net_err=Kunne ikke lagre nettverksinnstillinger
-net_elisten=Manglende eller ugyldig IP adresse det skal lyttes på
+net_elisten=Manglende eller ugyldig IP-adresse det skal lyttes på
net_eport=Manglende eller ugyldig portnummer
net_eidle=Manglende eller ugyldig tidsavbrudd for aktivitet
net_egrace=Manglende eller ugyldig tid å vente på innlogging
@@ -111,11 +111,11 @@ access_eallowh=Ingen verter angitt for tillating
access_edenyh=Ingen verter angitt for nekting
misc_title=Forskjellig innstillinger
-misc_header=Andre forskjellige SSH tjener innstillinger
+misc_header=Andre forskjellige SSH-tjenerinnstillinger
misc_x11=Tillat videresending av X11 tilkoblinger?
misc_xoff=X11 display offset
misc_xauth=Full sti til xauth program
-misc_umask=Umask for SSH tjener
+misc_umask=Umask for SSH-tjener
misc_umask_def=La stå uendret
misc_syslog=System log facility
misc_loglevel=Loggingsnivå
@@ -126,7 +126,7 @@ misc_regen_def=Aldri
misc_fascist=Detaljert logging?
misc_separ=Bruk separat ikke-priviligert prosess?
misc_pid=PID fil
-misc_err=Kunne ikke lagre forskjellige instillinger
+misc_err=Kunne ikke lagre forskjellige innstillinger
misc_exoff=Manglende eller ugyldig X11 display offset
misc_exauth=Manglende eller ugyldig sti til xauth
misc_eumask=Manglende eller ugyldig 4-siffers oktal umask
@@ -134,11 +134,11 @@ misc_ebits=Manglende eller ugyldig tjener nøkkel-størrelse
misc_eregen=Manglende eller ugyldig nøkkel-regenererings intervall
misc_epid=Manglende sti til PID fil
-start_err=Kunne ikke starte SSH tjener
+start_err=Kunne ikke starte SSH-tjener
apply_epid=Kjører ikke
hosts_title=Innstillinger for klient vert
-hosts_header=SSH klientverter
+hosts_header=SSH-klientverter
hosts_none=Ingen klient-vert innstillinger er definert. Alle SSH klientinnlogginger vil bruker standardinnstillingene.
hosts_all=Alle verter
hosts_add=Legg til innstillinger for klientvert.
@@ -177,7 +177,7 @@ host_rforward=Tjener-porter som skal videresendes til lokal
host_rrport=Ekstern port
host_rlhost=Lokal vert
host_rlport=Lokal port
-host_checkip=Sjekk IP adresser i known_hosts filen?
+host_checkip=Sjekk IP-adresser i known_hosts filen?
host_prots=Prøv SSH protokoller
host_prots1=Bare 1
host_prots2=Bare 2
@@ -210,8 +210,8 @@ log_delete_host=Slettet innstillinger for verten(e) $1
log_create_all=Opprettet innstillinger for alle verter
log_update_all=Oppdaterte innstillinger for alle verter
log_delete_all=Slettet innstillinger for alle verter
-log_stop=Stoppet SSH tjener
-log_start=Startet SSH tjener
+log_stop=Stoppet SSH-tjener
+log_start=Startet SSH-tjener
log_apply=Tok i bruk konfigurasjon
log_manual=Manuell redigering av konfig.fil $1
@@ -229,9 +229,9 @@ keys_desc=Denne siden lar de seg SSH nøklene for denne verten.
keys_none=Kunne ikke finne noen HostKey oppføringer i din SSHD konfigurasjon.
manual_title=Rediger konfig.filer
-manual_ecannot=Du har ikke tilgang til å redigere SSH tjenerens konfig-fil
+manual_ecannot=Du har ikke tilgang til å redigere SSH-tjenerens konfig-fil
manual_ok=Rediger
-manual_efile=Valgt fil er ikke en del av SSH tjenerens konfigurasjon
+manual_efile=Valgt fil er ikke en del av SSH-tjenerens konfigurasjon
manual_file=Rediger konfigfil:
manual_edata=Ingenting angitt!
manual_err=Kunne ikke lagre konfig-fil
diff --git a/webmin/edit_ssl.cgi b/webmin/edit_ssl.cgi
index a8b6274a1..c127fed5b 100755
--- a/webmin/edit_ssl.cgi
+++ b/webmin/edit_ssl.cgi
@@ -406,9 +406,29 @@ else {
# Renewal option
my $job = &find_letsencrypt_cron_job();
- my $renew = $job && $job->{'months'} =~ /^\*\/(\d+)$/ ? $1 : undef;
- print &ui_table_row($text{'ssl_letsrenew'},
- &ui_opt_textbox("renew", $renew, 4, $text{'ssl_letsnotrenew'}));
+ my $has_ip_doms = &letsencrypt_doms_have_ips(\@doms);
+ my $renew_unit = $has_ip_doms ? "days" :
+ ($config{'letsencrypt_renew_unit'} || "months");
+ my $renew;
+ if ($job && $renew_unit eq "days" && $job->{'interval'}) {
+ $renew = int($job->{'interval'} / (24*60*60));
+ }
+ elsif ($job && $job->{'months'} =~ /^\*\/(\d+)$/) {
+ $renew_unit = "months";
+ $renew = $1;
+ }
+ elsif ($job && $job->{'interval'}) {
+ $renew_unit = "months";
+ $renew = int($job->{'interval'} / (30*24*60*60));
+ }
+ my @renew_units = ( [ "months", $text{'ssl_letsrenew_months'} ],
+ [ "days", $text{'ssl_letsrenew_days'} ] );
+ my $renew_disabled = $renew eq '';
+ print &ui_table_row(&hlink($text{'ssl_letsrenew'}, "letsrenew"),
+ &ui_opt_textbox("renew", $renew, 4, $text{'ssl_letsnotrenew'},
+ undef, undef, [ "renew_unit" ])." ".
+ &ui_select("renew_unit", $renew_unit, \@renew_units,
+ undef, undef, undef, $renew_disabled));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'ssl_letsok'} ],
diff --git a/webmin/help/letsrenew.html b/webmin/help/letsrenew.html
new file mode 100644
index 000000000..514b514fb
--- /dev/null
+++ b/webmin/help/letsrenew.html
@@ -0,0 +1,22 @@
+Automatic renewal interval
+
+
Sets how often Webmin should request a replacement certificate from the ACME
+provider.
+
+
For hostname certificates, a renewal interval measured in months is usually
+appropriate. You can also choose days if you want Webmin to rotate the
+certificate more frequently.
+
+
IP address certificates are issued as short-lived certificates by CAs such as
+Let's Encrypt. Let's Encrypt currently makes these certificates valid for
+160 hours, just over six days, and requires IP address certificates to use the
+short-lived profile because IP addresses can change ownership more often than
+domain names.
+
+
For IP address certificates, Webmin defaults to days and using 1 or 2 days
+is recommended so there is time to retry before the certificate expires. If
+Webmin is managing automatic renewal, the interval must be no more than 5 days.
+Manual renewal remains an administrator choice, especially if renewal is handled
+by separate automation or another operational policy.