DNS domain.com.temp.12345 write race condition

Version 1.55

Bugfix
Finished

Although we've not had any reports, if there are 2 processes trying to write the DNS domain.com.db file at the same time, there could be a possible race condition. DirectAdmin does first write to: domain.com.db.temp before doing the checks on it through named-checkzone, but it's possible while the checks are in progress, another process could in theory write to the temp, causing a possible rename of a half-written file. We've not seen it, but as a precaution, we've change the temp file to now be; domain.com.db.temp.12345 where 12345 is going to be the current process ID of the running process. When the "rename" happens, the file system would only allow one at a time, so worst case it would be a theoretical rename failure and a message shown, but the rename that succeeded would have valid file contents.

Interested to try DirectAdmin? Get a 30-day Free Trial!