Shared Folder keine Berechtigung für Unterordner

Hallo,

Ich habe einen Öffentlichen Ordner mit einer Email Adresse angelegt (OX -E-Mail -> Hinzufügen -> /mail/folder -> IMAP Folder). Diese Adresse ist einem User mit der Berechtigung “Alle” versehen worden, danach ist laut dem bekannten Fehler: https://forge.univention.org/bugzilla/show_bug.cgi?id=41138 der Befehl
“doveadm acl set -u Administrator shared/folder@dom.ain user=daniel@dom.ain all” ausgeführt worden. Bis hier her ist alles wie es soll. Nun habe ich probiert einen Unterordner in diesem Öffentlichen Ordner zu erstellen, dies bleibt leider erfolglos. Das Logfile /var/log/dovecot.log lieferte mir

imap(test@host1.ucs): Debug: Quota root: name=User quota backend=maildir args=
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=* bytes=0 messages=0
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (95%) messages=0 reverse=no command=quota-warning 95 info@host1.ucs
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (80%) messages=0 reverse=no command=quota-warning 80 info@host1.ucs
imap(test@host1.ucs): Debug: Quota grace: root=User quota bytes=0 (10%)
imap(test@host1.ucs): Debug: auth input: info@host1.ucs uid=121 gid=124
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/private/host1.ucs/info/Maildir, index=, indexpvt=/var/spool/dovecot/private/host1.ucs/info/Maildir/shared/info@host1.ucs, control=, inbox=/var/spool/dovecot/private/host1.ucs/info/Maildir, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = info@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 1
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/private/host1.ucs/info/Maildir, index=, indexpvt=/var/spool/dovecot/private/host1.ucs/test/Maildir/shared/info@host1.ucs, control=, inbox=/var/spool/dovecot/private/host1.ucs/info/Maildir, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = test@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 0
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: Namespace shared/info@host1.ucs/: Using permissions from /var/spool/dovecot/private/host1.ucs/info/Maildir: mode=0700 gid=default
imap(test@host1.ucs): Debug: acl vfile: reading file /var/spool/dovecot/private/host1.ucs/info/Maildir/dovecot-acl
imap(test@host1.ucs): Debug: Namespace shared/: Using permissions from : mode=0700 gid=default

Der Fehler welcher mir in der OX Oberfläche Angezeigt wird:

“Fehler
Der E-Mail-Ordner “shared/info@host1.ucs/subfolder” konnte nicht angelegt werden (möglicherweise aufgrund unzureichender Berechtigungen für den übergeordneten Ordner shared/info@host1.ucs oder aufgrund eines ungültigen Ordner-Namens)”

Wenn ich einen Öffentlichen Ordner ohne E-Mail Adresse anlege, dann kann ich in diesem ohne Probleme Ordner hinzufügen und auch wieder löschen.

Wie komme ich der Lösung näher damit auch die Unterordner in den Shared Foldern erstellbar sind?

UCS-Version: 4.1-1 errata202 (Vahr)
UMC-Version: 8.0.28-14.918.201604221024

Hallo,

Sie müssen den Befehl an ihren Fall anpassen:
doveadm acl set -u Administrator shared/info@host1.ucs user=test@host1.ucs all

Überprüfen können Sie das Ergebnis mit:
doveadm acl get -u Administrator shared/info@host1.ucs

Beste Grüße
Daniel Tröder

Hallo,
vielen Dank für die Schnelle Antwort.

Der Befehl ist von mir entsprechend angepasst worden, sorry für diesen Kopierfehler in der Fragestellung.

hier der Ausdruck

doveadm acl get -u Administrator shared/info@host1.ucs
ID Global Rights
user=test@host1.ucs admin create delete expunge insert lookup post read write write-deleted write-seen

Ein erstellen von einem Unterorder bleibt weiterhin erfolglos.

imap(test@host1.ucs): Debug: Effective uid=121, gid=124, home=/var/spool/dovecot/private/host1.ucs/test
imap(test@host1.ucs): Debug: Quota root: name=User quota backend=maildir args=
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=* bytes=0 messages=0
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (95%) messages=0 reverse=no command=quota-warning 95 test@host1.ucs
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (80%) messages=0 reverse=no command=quota-warning 80 test@host1.ucs
imap(test@host1.ucs): Debug: Quota grace: root=User quota bytes=0 (10%)
imap(test@host1.ucs): Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/spool/dovecot/private/host1.ucs/test/Maildir
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/private/host1.ucs/test/Maildir, index=, indexpvt=, control=, inbox=/var/spool/dovecot/private/host1.ucs/test/Maildir, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = test@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 1
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=no location=maildir:%h/Maildir:INDEXPVT=~/Maildir/shared/%u
imap(test@host1.ucs): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = test@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 0
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: Namespace info1@host1.ucs: type=public, prefix=info1@host1.ucs/, sep=/, inbox=no, hidden=no, list=children, subscriptions=no location=maildir:/var/spool/dovecot/public/host1.ucs/info1:INDEXPVT=~/Maildir/public/host1.ucs/info1
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/public/host1.ucs/info1, index=, indexpvt=/var/spool/dovecot/private/host1.ucs/test/Maildir/public/host1.ucs/info1, control=, inbox=, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = test@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 0
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: Quota root: name=User quota backend=maildir args=
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=* bytes=0 messages=0
imap(test@host1.ucs): Debug: Quota rule: root=User quota mailbox=Trash bytes=+104857600 messages=0
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (95%) messages=0 reverse=no command=quota-warning 95 info@host1.ucs
imap(test@host1.ucs): Debug: Quota warning: bytes=0 (80%) messages=0 reverse=no command=quota-warning 80 info@host1.ucs
imap(test@host1.ucs): Debug: Quota grace: root=User quota bytes=0 (10%)
imap(test@host1.ucs): Debug: auth input: info@host1.ucs uid=121 gid=124
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/private/host1.ucs/info/Maildir, index=, indexpvt=/var/spool/dovecot/private/host1.ucs/info/Maildir/shared/info@host1.ucs, control=, inbox=/var/spool/dovecot/private/host1.ucs/info/Maildir, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = info@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 1
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: maildir++: root=/var/spool/dovecot/private/host1.ucs/info/Maildir, index=, indexpvt=/var/spool/dovecot/private/host1.ucs/test/Maildir/shared/info@host1.ucs, control=, inbox=/var/spool/dovecot/private/host1.ucs/info/Maildir, alt=
imap(test@host1.ucs): Debug: acl: initializing backend with data: vfile
imap(test@host1.ucs): Debug: acl: acl username = test@host1.ucs
imap(test@host1.ucs): Debug: acl: owner = 0
imap(test@host1.ucs): Debug: acl vfile: Global ACLs disabled
imap(test@host1.ucs): Debug: acl vfile: reading file /var/spool/dovecot/private/host1.ucs/info/Maildir/dovecot-acl
imap(test@host1.ucs): Debug: Namespace shared/info@host1.ucs/: Using permissions from /var/spool/dovecot/private/host1.ucs/info/Maildir: mode=0700 gid=default
imap(test@host1.ucs): Debug: Namespace : Using permissions from /var/spool/dovecot/private/host1.ucs/test/Maildir: mode=0700 gid=default
imap(test@host1.ucs): Debug: acl vfile: file /var/spool/dovecot/private/host1.ucs/test/Maildir/dovecot-acl not found
imap(test@host1.ucs): Debug: Namespace shared/: Using permissions from : mode=0700 gid=default

Schöne Grüße
Andre Recker

Hallo,

könnten Sie es noch einmal versuchen mit:
doveadm acl set -u Administrator shared/info@host1.ucs/INBOX user=test@host1.ucs all

Ich müsste das jetzt nachstellen, aber habe auf Grund des UCS 4.2 Releases diese Woche keine Zeit für ausführlichere Tests… Tut mir Leid… Schauen Sie vielleicht mal bei den Namespace Einstellungen (https://wiki2.dovecot.org/Namespaces) nach, da könnte etwas fehlen. Ich werde versuchen nächste Woche an diesem Problem zu arbeiten.

Beste Grüße
Daniel Tröder

Hallo,
ich habe mal ein neues System aufgesetzt, bzw. das VMware Image für ESX auf unserem Server installiert. Die Installation erfolgte ohne zusätzliche Software Komponenten und im direkten Anschluss habe ich das System auf die neue 4.2 hochgerüstet.
Mail Server ohne OX Komponente installiert, Test Benutzer und ein Test Shared Folder mit Email Adresse angelegt.

Hostname vom Testsystem ist mail.agw-net.ucs

dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 4.9.0-ucs103-amd64 x86_64 Univention Corporate Server 4.2-0 errata0                                                                   (Lesum) ext4
auth_cache_negative_ttl = 1 mins
auth_cache_size = 100 k
auth_cache_ttl = 5 mins
auth_master_user_separator = *
auth_mechanisms = plain login
debug_log_path = syslog
default_client_limit = 400
default_process_limit = 400
first_valid_gid = 135
first_valid_uid = 127
info_log_path = syslog
last_valid_gid = 135
last_valid_uid = 127
mail_gid = dovemail
mail_home = /var/spool/dovecot/private/%Ld/%Ln
mail_location = maildir:/var/spool/dovecot/private/%Ld/%Ln/Maildir
mail_plugins = " acl quota"
mail_privileged_group = dovemail
mail_uid = dovemail
mailbox_list_index = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacati                                                                  on subaddress comparator-i;ascii-numeric relational regex imap4flags copy includ                                                                  e variables body enotify environment mailbox date ihave imapflags notify
namespace {
  list = children
  location = maildir:%%h/Maildir:INDEXPVT=~/Maildir/shared/%%u
  prefix = shared/%%u/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Ham {
    auto = subscribe
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
  type = private
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
}
passdb {
  args = cache_key=%Lu dovecot
  driver = pam
}
plugin {
  acl = vfile
  acl_anyone = allow
  acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
  quota = maildir:User quota
  quota_grace = 10%%
  quota_rule = *:storage=0
  quota_rule2 = Trash:storage=+100M
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Mailbox is full
  quota_status_success = DUNNO
  quota_warning = storage=95%% quota-warning 95 %Lu
  quota_warning2 = storage=80%% quota-warning 80 %Lu
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_extensions = +notify +imapflags
  sieve_global_dir = /var/lib/dovecot/sieve
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
protocols = " imap lmtp sieve pop3"
service anvil {
  client_limit = 1603
}
service auth {
  client_limit = 2000
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
}
service imap-login {
  client_limit = 400
  process_min_avail = 0
  service_count = 1
  vsz_limit = 256 M
}
service imap-postlogin {
  executable = script-login /usr/lib/dovecot/dovecot-postlogin.py
  user = $default_internal_user
}
service imap {
  executable = imap imap-postlogin
  process_limit = 400
  vsz_limit = 256 M
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    address =
    port = 4190
  }
  process_min_avail = 0
  service_count = 1
  vsz_limit = 256 M
}
service managesieve {
  process_limit = 400
}
service pop3-login {
  client_limit = 400
  process_min_avail = 0
  service_count = 1
  vsz_limit = 256 M
}
service pop3 {
  executable = pop3 imap-postlogin
  process_limit = 400
  vsz_limit = 256 M
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  inet_listener {
    address = 127.0.0.1
    port = 12340
  }
}
service quota-warning {
  executable = script /usr/lib/dovecot/quota-warning.sh
  unix_listener quota-warning {
    user = dovemail
  }
  user = dovemail
}
ssl_cert = </etc/univention/ssl/mail.agw-net.ucs/cert.pem
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECD                                                                  H+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNU                                                                  LL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:C                                                                  AMELLIA128-SHA:AES128-SHA
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh_parameters_length = 2048
ssl_key = </etc/univention/ssl/mail.agw-net.ucs/private.key
ssl_parameters_regenerate = 1 weeks
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
syslog_facility = local5
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol lmtp {
  mail_plugins = " acl quota quota sieve"
}
protocol lda {
  mail_plugins = " acl quota sieve"
}
protocol imap {
  mail_plugins = " acl quota imap_acl imap_quota"
}
protocol sieve {
  mail_max_userip_connections = 10
}

Dann noch

doveadm acl set -u Administrator shared/info@agw-net.ucs user=test@agw-net.ucs all
doveadm acl set -u Administrator shared/info@agw-net.ucs/INBOX user=test@agw-net.ucs all

ausgeführt.

doveadm acl get -u Administrator shared/info@agw-net.ucs
ID                    Global Rights
user=test@agw-net.ucs        admin create delete expunge insert lookup post read write write-deleted write-seen

doveadm acl get -u Administrator shared/info@agw-net.ucs/INBOX
ID                    Global Rights
user=test@agw-net.ucs        admin create delete expunge insert lookup post read write write-deleted write-seen

Unterordner lassen sich noch nicht erstellen.
Was habe ich übersehen?

Ich bin in das selbe Problem gelaufen, das ist aber nicht auf die öffentlichen Ordner mit Email-Adresse beschränkt, sondern betrifft auch reguläre Benutzer, deren Top-Level-Verzeichnis geshared wird.

Auf der obersten Ebene lassen sich anscheinend nur durch den Besitzer Ordner anlegen, egal wie die Rechte gesetzt sind. Sobald der Besitzer Unterordner über die Rechtevergabe freigibt (diese müssen nicht mal existieren) können andere Benutzer darunter weitere Ordner anlegen.

Das ist ziemlich doof, weil es ja eigentlich keinen Besitzer des öffentlichen Ordners gibt und man die Ordner der ersten Ebene nicht immer mit “doveadm mailbox create …” anlegen will.

Ich habe mal eine Anfrage auf der deutschen Dovecot-Liste laufen…

Nach ein paar weiteren Stunden Ursachenforschung würde ich vermuten, dass sich das Problem lösen ließe, wenn man im namespace inbox ein “prefix = INBOX/” setzen würde.

Leider bringt das dann weitere Probleme nach sich:

  • Die shared folder werden (in Outlook) wie unten dargestellt, es gibt also ein Problem mit dem ‘.’ im Namen:
    shared
       user@dom
          ain
             INBOX
                ...
  • bei den “normalen” Benutzern sind nun alle Nachrichten unter dem Posteingang
  • Horde zeigt noch die “alte” Struktur an und erlaubt nach wie vor kein Erstellen von Unterordnern

Mein Fazit: Das Zusammenspiel UCS - Dovecot - Horde scheint noch Verbesserungspotential zu haben…

Hallo,

ich habe einen Weg gefunden Unterordner in shared foldern mit Email-Adressen zu erstellen. Dies ist (noch) nicht als Lösung ins Produkt eingeflossen, aber es funktioniert bei mir ganz gut: Ich definiere globale ACLs für die Wurzel des shared folder. Subfolder können dann von einem User mit den entsprechenden Rechten (create/k) angelegt werden. Das klappte bisher nicht, weil es keinen übergeordneten Ordner mit ACLs gab. Durch die globalen ACLs ist das aber egal.

An /etc/dovecot/local.conf anhängen (evtl. erzeugen):

plugin {
  acl = vfile:/etc/dovecot/global-acls:cache_secs=300
}

Datei /etc/dovecot/global-acls erzeugen:

shared/name@my.domain user=all@my.domain akxeilprwts
shared/name@my.domain user=write@my.domain eilprwts
shared/name@my.domain user=read@my.domain lrws
shared/name@my.domain user=post@my.domain lprws
shared/name@my.domain user=append@my.domain eilprwts

Es wird nur die erste Zeile benötigt, um einen User mit Admin-Rechten (incl. “kx” :blush:) zu definieren. Neue Ordner bekommen jedoch genau die Berechtigungen die hier stehen, und so spart man sich das spätere Ändern. Die anderen User sind Beispiele für die Berechtigungen ‘read’, ‘write’ usw die man sonst in der UMC auswählen kann. Hier sollte einfach das gleiche stehen wie in /var/spool/dovecot/private/my.domain/name/Maildir/dovecot-acl mit shared/name@my.domain jeder Zeile vorangestellt. Im Falle eines OX-Servers bietet es sich an, für den admin-User “oxadmin@my.domain” zu nehmen.

Das einfachste ist also:

  • das share in der UMC editieren:
  • den oxadmin mit “All” hinzuzufügen
  • mit doveadm acl get -u oxadmin@my.domain shared/name@my.domain überprüfen ob es geklappt hat
  • k und x hinzufügen:
  • doveadm acl set -u oxadmin@my.domain shared/name@my.domain user=oxadmin@my.domain admin create delete expunge insert lookup post read write write-deleted write-seen
  • die ACL-Datei zur globalen ACL-Konfig kopieren:
  • cat /var/spool/dovecot/private/my.domain/name/Maildir/dovecot-acl >> /etc/dovecot/global-acls
  • und editieren, so dass sie so aussieht wie oben. Dokumentation: https://wiki.dovecot.org/ACL → “Global ACLs”

Nach getaner Arbeit Dovecot neu starten: systemctl restart dovecot.service
Laufende Sessions müssen beendet werden, um die neuen ACLs zu bemerken: doveadm kick '*' :imp:

Nun sollte das Anlegen von Unterordnern klappen. Die Berechtigungen werden aus der globalen ACL Datei in das neue Verzeichnis kopiert.
Für’s schnellere Testen, lassen sich Ordner auch an der Kommandozeile anlegen:
doveadm mailbox create -u oxadmin@my.domain shared/name@my.domain/subfolder

Gruß
Daniel Tröder

Das funktioniert sehr gut, Danke!

Ich habe das für mich ein wenig verfeinert. In der global-acls steht nur:

shared/name@dom.ain "group=Mailbox Name Vollzugriff" akxeilprwts
shared/name@dom.ain "group=Mailbox Name Lesezugriff" lrws

Die beiden Gruppen habe ich über das Frontend angelegt und mit Benutzern gefüllt. So kann ich die Rechte auch über das UCS Frontend verwalten.

1 Like

Da Dovecot (IMAP?) keine “live” Vererbung für ACLs unterstützt, werden Änderungen an der Wurzel nicht nach unten durchgereicht, aber wenn man es über Gruppenzugehörigkeit abbilden kann, dann umgeht man das Problem.

Klasse Idee!:+1:

Wir haben gerade versucht das ganze auf unserem Server nachzuvollziehen, sind jedoch gescheitert. Wir haben die Posts oben rauf und runter nachvollzogen, jedoch haben wir immer noch keine Schreibrechte um Unterordner anzulegen.

Die Idee mit den Gruppen wäre eigentlich gar nicht schlecht - funktioniert aber auch nicht - verzweiflung :dizzy_face:

Hast Du eine Idee ob es in einem zeitnahen Patch ohnehin behoben sein wird?
Ansonsten wäre eine schrittweise Anleitung für UCS 4.2 fantastisch :slight_smile:

Gruß
Nick

Hallo Nick,

die Anleitung aus Beitrag 8 funktioniert für mich in zwei UCS 4.2 Systemen. Sie ist jedoch nur für shared folder mit Email-Adresse.
Ich gehe davon aus, dass in den nächsten 4 Wochen ein fix veröffentlicht wird.

Gruß
Daniel

Danke. Dann warten wir einfach mal ab :slight_smile:

Hallo Nick,

zwei Projekte haben sich in der Priorität davor geschoben. Ich gehe jetzt davon aus, dass wir erst im September/Oktober daran arbeiten

Tut mir Leid :cry:
Daniel

Hi Daniel,

habt Ihr dafür eigentlich schon eine Lösung in Sicht? bzw. Zeit gehabt Euch drum zu kümmern?

Cheers
Nick

Mastodon