FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 06-20-2012, 08:23 PM
Dave Reisner
 
Default query: avoid false ownership matches for files in root

Check for an exact match when querying ownership of files in the root.
Previously, our test was too simple and would match the the basename of
package files against the query parameter, e.g.

$ pacman -Qo config
/config is owned by cower-git 20120614-1

Adds a new test to verify this behavior, query007.py.

Fixes FS#30388.

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
---
src/pacman/query.c | 7 +++++--
test/pacman/tests/query007.py | 11 +++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
create mode 100644 test/pacman/tests/query007.py

diff --git a/src/pacman/query.c b/src/pacman/query.c
index a1cc1cf..a7e93c5 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -190,6 +190,7 @@ static int query_fileowner(alpm_list_t *targets)
}
free(dname);

+
for(i = alpm_db_get_pkgcache(db_local); i && !found; i = alpm_list_next(i)) {
alpm_pkg_t *info = i->data;
alpm_filelist_t *filelist = alpm_pkg_get_files(info);
@@ -207,8 +208,10 @@ static int query_fileowner(alpm_list_t *targets)

/* for files in '/', there is no directory name to match */
if(!rpath) {
- print_query_fileowner(filename, info);
- found = 1;
+ if(strcmp(pkgfile, bname) == 0) {
+ print_query_fileowner(filename, info);
+ found = 1;
+ }
continue;
}

diff --git a/test/pacman/tests/query007.py b/test/pacman/tests/query007.py
new file mode 100644
index 0000000..35bb0ca
--- /dev/null
+++ b/test/pacman/tests/query007.py
@@ -0,0 +1,11 @@
+self.description = "Query ownership of file in root"
+
+sp = pmpkg("dummy")
+sp.files = ["etc/config"]
+self.addpkg2db("local", sp)
+
+self.filesystem = ["config"]
+
+self.args = "-Qo /config"
+
+self.addrule("PACMAN_RETCODE=1")
--
1.7.11
 

Thread Tools




All times are GMT. The time now is 11:16 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org