Summary: To conform with the Ubuntu standard use metadata::trusted instead of metadata::trust. This patch must be applied after any upstream version changes since they refuse to conform. This fixes bug https://bugs.launchpad.net/bugs/1813687 Phab task T180 Test Plan: Launch trusted executable desktop files. Reviewers: wxl, tsimonq2 Reviewed By: wxl Differential Revision: https://phab.lubuntu.me/D54ubuntu/disco ubuntu/0.14.0-0ubuntu3
parent
532bd6d192
commit
3fa1ce108c
@ -0,0 +1,49 @@
|
||||
Description: Fix metadata for trusting executables
|
||||
To conform with the Ubuntu standard use metadata::trusted instead of metadata::trust. This patch must be applied after any upstream version changes since they refuse to conform.
|
||||
Author: Dan Simmons <monetaryabyss@protonmail.com>
|
||||
Bug: https://bugs.launchpad.net/bugs/1813687
|
||||
Last-Update: 2019-01-29
|
||||
--- a/src/core/fileinfo.cpp
|
||||
+++ b/src/core/fileinfo.cpp
|
||||
@@ -10,7 +10,7 @@ const char defaultGFileInfoQueryAttribs[
|
||||
"access::*,"
|
||||
"id::filesystem,"
|
||||
"metadata::emblems,"
|
||||
- "metadata::trust";
|
||||
+ "metadata::trusted";
|
||||
|
||||
FileInfo::FileInfo() {
|
||||
// FIXME: initialize numeric data members
|
||||
@@ -391,8 +391,8 @@ bool FileInfo::isExecutableType() const
|
||||
bool FileInfo::isTrustable() const {
|
||||
if(isExecutableType()) {
|
||||
/* to avoid GIO assertion warning: */
|
||||
- if(g_file_info_get_attribute_type(inf_.get(), "metadata::trust") == G_FILE_ATTRIBUTE_TYPE_STRING) {
|
||||
- if(const auto data = g_file_info_get_attribute_string(inf_.get(), "metadata::trust")) {
|
||||
+ if(g_file_info_get_attribute_type(inf_.get(), "metadata::trusted") == G_FILE_ATTRIBUTE_TYPE_STRING) {
|
||||
+ if(const auto data = g_file_info_get_attribute_string(inf_.get(), "metadata::trusted")) {
|
||||
return (strcmp(data, "true") == 0);
|
||||
}
|
||||
}
|
||||
@@ -402,16 +402,16 @@ bool FileInfo::isTrustable() const {
|
||||
|
||||
void FileInfo::setTrustable(bool trust) const {
|
||||
if(!isExecutableType()) {
|
||||
- return; // "metadata::trust" is only for executables
|
||||
+ return; // "metadata::trusted" is only for executables
|
||||
}
|
||||
GObjectPtr<GFileInfo> info {g_file_info_new()}; // used to set only this attribute
|
||||
if(trust) {
|
||||
- g_file_info_set_attribute_string(info.get(), "metadata::trust", "true");
|
||||
- g_file_info_set_attribute_string(inf_.get(), "metadata::trust", "true");
|
||||
+ g_file_info_set_attribute_string(info.get(), "metadata::trusted", "true");
|
||||
+ g_file_info_set_attribute_string(inf_.get(), "metadata::trusted", "true");
|
||||
}
|
||||
else {
|
||||
- g_file_info_set_attribute(info.get(), "metadata::trust", G_FILE_ATTRIBUTE_TYPE_INVALID, nullptr);
|
||||
- g_file_info_set_attribute(inf_.get(), "metadata::trust", G_FILE_ATTRIBUTE_TYPE_INVALID, nullptr);
|
||||
+ g_file_info_set_attribute(info.get(), "metadata::trusted", G_FILE_ATTRIBUTE_TYPE_INVALID, nullptr);
|
||||
+ g_file_info_set_attribute(inf_.get(), "metadata::trusted", G_FILE_ATTRIBUTE_TYPE_INVALID, nullptr);
|
||||
}
|
||||
g_file_set_attributes_from_info(path().gfile().get(),
|
||||
info.get(),
|
@ -0,0 +1 @@
|
||||
fix-metadata-for-trusting-executables.patch
|
Loading…
Reference in new issue