Args[i++] = gpgvpath.c_str();
Args[i++] = "--status-fd";
Args[i++] = "3";
+ Args[i++] = "--ignore-time-conflict";
Args[i++] = "--keyring";
Args[i++] = pubringpath.c_str();
// Redirect the pipe to the status fd (3)
dup2(fd[1], 3);
- putenv("LANG=");
- putenv("LC_ALL=");
- putenv("LC_MESSAGES=");
+ putenv((char *)"LANG=");
+ putenv((char *)"LC_ALL=");
+ putenv((char *)"LC_MESSAGES=");
execvp(gpgvpath.c_str(), (char **)Args);
exit(111);
}
else if (WEXITSTATUS(status) == 111)
{
- ioprintf(ret, _("Could not execute '%s' to verify signature (is gnupg installed?)"), gpgvpath.c_str());
+ ioprintf(ret, _("Could not execute '%s' to verify signature (is gpgv installed?)"), gpgvpath.c_str());
return ret.str();
}
else
// least one bad signature. good signatures and NoPubKey signatures
// happen easily when a file is signed with multiple signatures
if(GoodSigners.empty() or !BadSigners.empty())
- return _error->Error(errmsg.c_str());
+ return _error->Error("%s", errmsg.c_str());
}
- // Transfer the modification times
- struct stat Buf;
- if (stat(Path.c_str(),&Buf) != 0)
- return _error->Errno("stat",_("Failed to stat %s"), Path.c_str());
-
- struct utimbuf TimeBuf;
- TimeBuf.actime = Buf.st_atime;
- TimeBuf.modtime = Buf.st_mtime;
- if (utime(Itm->DestFile.c_str(),&TimeBuf) != 0)
- return _error->Errno("utime",_("Failed to set modification time"));
-
- if (stat(Itm->DestFile.c_str(),&Buf) != 0)
- return _error->Errno("stat",_("Failed to stat"));
-
- // Return a Done response
- Res.LastModified = Buf.st_mtime;
- Res.Size = Buf.st_size;
// Just pass the raw output up, because passing it as a real data
// structure is too difficult with the method stuff. We keep it
// as three separate vectors for future extensibility.