+ // Check if the file is owned by current user and has 0600 permissions.
+ // If it doesn't, it's a fake file, possibly meant as a DoS attack, and
+ // so we refuse to touch it:
+ wxStructStat stats;
+ if ( wxStat(name, &stats) != 0 )
+ {
+ wxLogSysError(_("Failed to inspect the lock file '%s'"), name.c_str());
+ return false;
+ }
+ if ( stats.st_uid != getuid() )
+ {
+ wxLogError(_("Lock file '%s' has incorrect owner."), name.c_str());
+ return false;
+ }
+ if ( stats.st_mode != (S_IFREG | S_IRUSR | S_IWUSR) )
+ {
+ wxLogError(_("Lock file '%s' has incorrect permissions."), name.c_str());
+ return false;
+ }
+