[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qubes-devel
Subject:    [qubes-devel] Re: [GSoC] Qubes-MIME-Handlers Weekly Progress Report #7
From:       Andrew Morgan <anoa () openmailbox ! org>
Date:       2017-08-02 11:33:51
Message-ID: olsdas$qlg$1 () blaine ! gmane ! org
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]


On 08/01/2017 02:54 AM, Andrew Morgan wrote:
> On 08/01/2017 02:53 AM, Marek Marczykowski-Górecki wrote:
> > On Tue, Aug 01, 2017 at 12:59:16AM -0700, Andrew Morgan wrote:
> > > On 07/31/2017 03:17 AM, Marek Marczykowski-Górecki wrote:
> > > > On Sun, Jul 30, 2017 at 11:48:48PM -0700, Andrew Morgan wrote:
> > > > > Quick update for tonight.
> > > > 
> > > > > I've found where the most likely choke point for opening files is. [1]
> > > > > Ideally one would just make a call to extensions through
> > > > > libnautilus-extension through there, wait for responses, then return if
> > > > > any extension returns a False. I'm unsure if anything in Nautilus on the
> > > > > UX side needs to happen after that (such as showing a loading icon or
> > > > > something...) but that's currently outside the scope of this patchset.
> > > > 
> > > > > I've been talking to and getting help from people on GIMPnet/#nautilus.
> > > > > After explaining the whole idea to a few people, I've been prompted to
> > > > > post on the mailing list. I have now done so with a RFC of sorts on the
> > > > > idea and whether or not they'd be prone to accepting it upstream once
> > > > > it's ready.
> > > > 
> > > > > The post is currently awaiting moderation approval, but I'll link it
> > > > > once it goes up so people can keep up with the discussion.
> > > > 
> > > > Great, thanks for the update!
> > > > 
> > > > > Andrew Morgan
> > > > 
> > > > > [1]:
> > > > > https://github.com/GNOME/nautilus/blob/master/src/nautilus-mime-actions.c#L2421
> > > > > 
> > 
> > > Another update,
> > 
> > > The mailing list post still hasn't been approved. I messaged on GIMPnet
> > > about it not too long ago so hopefully the appropriate people will get
> > > pinged eventually. The team is currently busy with GUADEC so it's
> > > understandable they may be running behind on moderating posts on a not
> > > too traffic heavy mailing list[1] :)
> > 
> > Does subscribing to the list workaround the issue? Some times moderator
> > is set to just one, busy, person...
> 
> I presume that's probably the case, yeah. I subscribed before I posted,
> didn't seem to make a difference :)
> 
> > 
> > > In terms of the patch, I've inserted the necessary code into all the
> > > accompanying files and Nautilus builds successfully. During my testing I
> > > threw a return statement in there and confirmed it blocked all file open
> > > attempts silently, which is intended behavior.
> > 
> > > I've stuck the WIP code up on Github, currently it segfaults but the
> > > cause is known. I'll be modifying the qvm_trust.py NautilusPython
> > > extension to make use of this method soon, and once it all works out
> > > I'll provide some pre-made .RPMs for testing.
> > 
> > Ok :)
> > 
> > 
> 
> 

Another status update for today.

As I said mostly everything's in place, however I'm currently stuck on
trying to provide the correct arguments to a function that calls the
subclassed methods in nautilus extensions.

Here is an example of calling a function subclassed by extensions:
https://github.com/anoadragon453/nautilus/blob/master/src/nautilus-directory-async.c#L4647


The update_complete and &handle arguments are not necessary for our
purposes, but the provider and file args are.

Here I am calling our new method, that asks extensions whether we should
open a particular file or not:
https://github.com/anoadragon453/nautilus/blob/master/src/nautilus-mime-actions.c#L2500


However the provider object is NULL. That
nautilus_module_get_extensions_for_type method is defined here:
https://github.com/anoadragon453/nautilus/blob/master/src/nautilus-module.c#L268

That G_TYPE_CHECK_INSTANCE_TYPE always fails, so we never get any data
prepended. G_TYPE_CHECK_INSTANCE_TYPE doesn't seem to be defined in this
codebase either, which makes it a bit tricky to figure out why we're
getting a negative value back from it.

Talking to people about it on IRC has brought mixed results, it seems
the extension interface hasn't been changed in a while, so most don't
remember too much about it. I'll keep asking though, hoping someone in
the know pops in.

That's where I'm at currently, any help or clues are appreciated.

Thanks,
Andrew Morgan

-- 
You received this message because you are subscribed to the Google Groups \
"qubes-devel" group. To unsubscribe from this group and stop receiving emails from \
it, send an email to qubes-devel+unsubscribe@googlegroups.com. To post to this group, \
send email to qubes-devel@googlegroups.com. To view this discussion on the web visit \
https://groups.google.com/d/msgid/qubes-devel/olsdas%24qlg%241%40blaine.gmane.org. \
For more options, visit https://groups.google.com/d/optout.


["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic