On 17.2.2013, at 22.04, Michael Grimm trashcan@odo.in-berlin.de wrote:
On 17.02.2013, at 11:08, Timo Sirainen tss@iki.fi wrote:
There may be some other features that require unique hostnames in future. Anything where multiple Dovecot servers need to communicate between each others.
I'd like to come back to that issue in order to understand your statement cited below.
First of all: whenever you referred to "hostname" in this thread you have been using it as a synonym for the local part [1] of a FQDN, right?
I mean what gethostname() function returns, which is what "hostname" command usually also returns. And yes, I think it's the local part always.
I have both servers of mine configured to use identical local parts ("test") but different FQDN (aka "test.domainA.tldA" and "test.domainB.tldB"). Your fix has been to replace "my_hostname" by "my_hostdomain()", thus using "test.domainA.tldA" and "test.domainB.tldB" instead of "test", right?
Yes.
If some day there is such generic communication between Dovecot servers I'm planning on enforcing this requirement.
Given that all my interpretations of your statements are correct I do have difficulties in understanding why a "generic communication between Dovecot servers" should be limited to enforcing different local parts of all Dovecot servers implied instead of different FQDN? That would make much more sense regarding uniqueness in hostnames, IMHO. Two servers like "dovecot.forget-about.it" and "dovecot.you-name.it" should be able to communicate generically, again: IMHO.
I think systems named those would belong to different clusters and wouldn't need to communicate with each others.
I looked through the code. The hostname (without domain) are currently used for:
- maildir filenames
- temporary filenames
- authentication challenge strings in some auth mechanisms
- logging
So I think the hostname uniqueness matters mainly when using a shared filesystem (e.g. NFS).
BTW: I had had defined "hostname=" in dovecot.conf identically using completely different *but* identical FQDNs "mail.my-domain.tld" because of:
| conf.d/15-lda.conf:
| # Hostname to use in various parts of sent mails, eg. in Message-Id. | # Default is the system's real hostname. | #hostname =
At least my_hostdomain() doesn't care about that setting, right?
Right. I updated the comment a bit: http://hg.dovecot.org/dovecot-2.2/rev/6a67a1440e15
lda_hostname would have been a better name for the settings.