public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: "Frank Ch. Eigler" <fche@redhat.com>
Cc: elfutils-devel@sourceware.org, amerey@redhat.com
Subject: Re: patch 2/2 debuginfod server etc.
Date: Thu, 21 Nov 2019 15:40:00 -0000	[thread overview]
Message-ID: <30c1de92231d8cc5d4bdbd95a703801149792fd0.camel@klomp.org> (raw)
In-Reply-To: <770d563fc3cb0681678c919024edcd5ce13d874a.camel@klomp.org>

[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]

On Thu, 2019-11-21 at 15:16 +0100, Mark Wielaard wrote:
> Hi,
> 
> On Wed, 2019-11-20 at 12:53 +0100, Mark Wielaard wrote:
> > Sure, you could use that if you wanted to share your whole
> > build/source
> > trees and don't mind serving any other files on some local network.
> > I
> > just think it shouldn't be the default. If you go look for odd
> > paths in
> > .debug files you probably will find them. We already know some
> > builds
> > generate and/or build files in /tmp or outside the src/builddir.
> > 
> > I'll look to see what is necessary to make sure none of those leak
> > out
> > by default.
> 
> The attached is what I came up with.
> 
> It simply splits the paths into those scanned for rpms, those scanned
> for files and (optional) paths that are extra trusted prefixes for
> source files. The paths that are scanned for files are trusted source
> prefixes by default. There is a new option to also remove those using
> -N, --no-files-sources). And you can switch back to allowing all
> files
> on the file system with -A, --all-sources.
> 
> I think this provides a way to do what we both want, it just makes
> things a little bit more explicit.
> 
> As a bonus it separates scanning trees for files and rpms, so no
> unnecessary work is done.
> 
> I haven't updated the documentation yet. Let me know what you think
> about the patch and I can update the documentation if we agree on the
> options/defaults.

On irc you mentioned that you didn't like that -R and -F didn't take
wildcards. The attached makes it so that they now do (you do have to
escape them or put them in single quotes, so the shell doesn't expand
them first).

Cheers,

Mark

[-- Attachment #2: debuginfod-glob.patch --]
[-- Type: text/x-patch, Size: 1271 bytes --]

diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index 5a08b134..e40efa4b 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -43,6 +43,7 @@ extern "C" {
 #undef __attribute__ /* glibc bug - rhbz 1763325 */
 #endif
 
+#include <glob.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <error.h>
@@ -415,10 +416,32 @@ parse_opt (int key, char *arg,
       if (http_port > 65535) argp_failure(state, 1, EINVAL, "port number");
       break;
     case 'F':
-      files_paths.insert(string(arg));
+      {
+	glob_t gl;
+	int res = glob(arg, GLOB_TILDE_CHECK, NULL, &gl);
+	if (res == 0)
+	  {
+	    for (size_t i=0; i < gl.gl_pathc; i++)
+	      files_paths.insert(string(gl.gl_pathv[i]));
+	  }
+	else
+	  argp_failure(state, 1, EINVAL, "'%s' didn't match anything", arg);
+	globfree(&gl);
+      }
       break;
     case 'R':
-      rpms_paths.insert(string(arg));
+      {
+	glob_t gl;
+	int res = glob(arg, GLOB_TILDE_CHECK, NULL, &gl);
+	if (res == 0)
+	  {
+	    for (size_t i=0; i < gl.gl_pathc; i++)
+	      rpms_paths.insert(string(gl.gl_pathv[i]));
+	  }
+	else
+	  argp_failure(state, 1, EINVAL, "'%s' didn't match anything", arg);
+	globfree(&gl);
+      }
       break;
     case 'L':
       traverse_logical = true;

  reply	other threads:[~2019-11-21 15:40 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-28 19:04 patch 0/2 debuginfod submission Frank Ch. Eigler
2019-10-28 19:06 ` patch 1/2 debuginfod client Frank Ch. Eigler
2019-10-28 19:09   ` patch 2/2 debuginfod server etc Frank Ch. Eigler
2019-11-04 21:48     ` patch 3/3 debuginfod client interruptability Frank Ch. Eigler
2019-11-07  9:07       ` patch 4 debuginfod: symlink following mode Frank Ch. Eigler
2019-11-07  9:08         ` patch 5 debuginfod: prometheus metrics Frank Ch. Eigler
2019-11-15 17:26           ` Mark Wielaard
2019-11-15 17:58             ` Frank Ch. Eigler
2019-11-18 16:20               ` Mark Wielaard
2019-11-18 16:48                 ` Frank Ch. Eigler
2019-11-19 16:13                   ` Mark Wielaard
2019-11-15 16:49         ` patch 4 debuginfod: symlink following mode Mark Wielaard
2019-11-15 18:31           ` Frank Ch. Eigler
2019-11-18 16:27             ` Mark Wielaard
2019-11-15 16:16       ` patch 3/3 debuginfod client interruptability Mark Wielaard
2019-11-15 17:03         ` Aaron Merey
2019-11-15 17:35           ` Mark Wielaard
2019-11-15 18:14             ` Pedro Alves
2019-11-17 23:44               ` Mark Wielaard
2019-11-18  2:50                 ` Frank Ch. Eigler
2019-11-18  9:24                   ` Pedro Alves
2019-11-19 12:58                   ` Mark Wielaard
2019-11-13 17:22     ` patch 2/2 debuginfod server etc Mark Wielaard
2019-11-14 11:54       ` Frank Ch. Eigler
2019-11-16  1:31         ` Mark Wielaard
2019-11-13 23:19     ` Mark Wielaard
2019-11-14 12:30       ` Frank Ch. Eigler
2019-11-18 14:17         ` Mark Wielaard
2019-11-18 18:41           ` Frank Ch. Eigler
2019-11-19 15:41             ` Mark Wielaard
2019-11-19 16:13               ` Frank Ch. Eigler
2019-11-19 20:11                 ` Mark Wielaard
2019-11-19 21:15                   ` Frank Ch. Eigler
2019-11-20 11:53                     ` Mark Wielaard
2019-11-20 12:29                       ` Frank Ch. Eigler
2019-11-21 14:16                       ` Mark Wielaard
2019-11-21 15:40                         ` Mark Wielaard [this message]
2019-11-21 16:01                           ` Frank Ch. Eigler
2019-11-21 15:58                         ` Frank Ch. Eigler
2019-11-21 16:37                           ` Mark Wielaard
2019-11-21 17:18                             ` Frank Ch. Eigler
2019-11-21 20:42                               ` Mark Wielaard
2019-11-22 12:08                                 ` Mark Wielaard
2019-11-14 20:45     ` Mark Wielaard
2019-11-15 11:03       ` Mark Wielaard
2019-11-15 21:00       ` Frank Ch. Eigler
2019-11-18 15:01         ` Mark Wielaard
2019-11-15 14:40     ` Mark Wielaard
2019-11-15 19:54       ` Frank Ch. Eigler
2019-11-18 15:31         ` Mark Wielaard
2019-11-18 15:49           ` Frank Ch. Eigler
2019-11-12 11:12   ` patch 1/2 debuginfod client Mark Wielaard
2019-11-12 15:14     ` Frank Ch. Eigler
2019-11-12 21:59       ` Mark Wielaard
2019-11-14  0:33         ` Frank Ch. Eigler
2019-11-15 21:33       ` Mark Wielaard
2019-11-12 21:25   ` Mark Wielaard
2019-11-13 23:25     ` Frank Ch. Eigler
2019-11-16  0:46       ` Mark Wielaard
2019-11-16 18:53         ` Frank Ch. Eigler
2019-11-18 17:17           ` Mark Wielaard
2019-11-18 20:33             ` Frank Ch. Eigler
2019-11-19 15:57               ` Mark Wielaard
2019-11-19 16:20                 ` Frank Ch. Eigler
2019-11-19 20:16                   ` Mark Wielaard
2019-11-19 21:22                     ` Frank Ch. Eigler
2019-11-20 12:50                       ` Mark Wielaard
2019-11-20 13:30                         ` Frank Ch. Eigler
2019-11-21 14:02                           ` Mark Wielaard
2019-11-13 13:57   ` Mark Wielaard
2019-11-14 11:24     ` Frank Ch. Eigler
2019-11-16  0:52       ` Mark Wielaard
2019-11-16  2:28         ` Frank Ch. Eigler
2019-10-30 11:04 ` patch 0/2 debuginfod submission Mark Wielaard
2019-10-30 13:40   ` Frank Ch. Eigler
2019-10-30 14:12     ` Mark Wielaard
2019-10-30 18:11       ` Frank Ch. Eigler
2019-10-31 11:18         ` Mark Wielaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30c1de92231d8cc5d4bdbd95a703801149792fd0.camel@klomp.org \
    --to=mark@klomp.org \
    --cc=amerey@redhat.com \
    --cc=elfutils-devel@sourceware.org \
    --cc=fche@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).