unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30228: desktop files embedding full path
@ 2018-01-23 11:00 Efraim Flashner
  2018-01-24 14:58 ` Ludovic Courtès
  2019-02-20  7:08 ` Efraim Flashner
  0 siblings, 2 replies; 8+ messages in thread
From: Efraim Flashner @ 2018-01-23 11:00 UTC (permalink / raw)
  To: 30228

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

the owncloud-client package includes an option to add a .desktop entry
to $HOME/.configure/autostart/, which allows it to autostart when you
log in to your desktop environment. Because the full path of the binary
is in the .desktop file, it will always start THAT copy of
owncloud-client, even if it is garbage collected.

(ins)efraim@macbook41 ~/workspace/guix$ guix build --no-grafts owncloud-client
/gnu/store/61779fqfpwap9wwf2y5yidq4qciihq1i-owncloud-client-2.3.4
(ins)efraim@macbook41 ~/workspace/guix$ head -n8 /gnu/store/61779fqfpwap9wwf2y5yidq4qciihq1i-owncloud-client-2.3.4/share/applications/owncloud.desktop
[Desktop Entry]
Categories=Utility;X-SuSE-SyncUtility;
Type=Application
Exec=/gnu/store/61779fqfpwap9wwf2y5yidq4qciihq1i-owncloud-client-2.3.4/bin/owncloud
Name=ownCloud desktop sync client
Comment=ownCloud desktop synchronization client
GenericName=Folder Sync
Icon=owncloud

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-01-23 11:00 bug#30228: desktop files embedding full path Efraim Flashner
@ 2018-01-24 14:58 ` Ludovic Courtès
  2018-01-29 19:39   ` Efraim Flashner
  2019-02-20  7:08 ` Efraim Flashner
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2018-01-24 14:58 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 30228

Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

> the owncloud-client package includes an option to add a .desktop entry
> to $HOME/.configure/autostart/, which allows it to autostart when you
> log in to your desktop environment. Because the full path of the binary
> is in the .desktop file, it will always start THAT copy of
> owncloud-client, even if it is garbage collected.

I think you shouldn’t copy manually the .desktop file to
~/.configure/autostart, precisely because of that.

Instead this should be done via in indirect GC root (as in “guix build
-r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.

Thoughts?

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-01-24 14:58 ` Ludovic Courtès
@ 2018-01-29 19:39   ` Efraim Flashner
  2018-01-30 11:00     ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Efraim Flashner @ 2018-01-29 19:39 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30228

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

On Wed, Jan 24, 2018 at 03:58:51PM +0100, Ludovic Courtès wrote:
> Hi,
> 
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > the owncloud-client package includes an option to add a .desktop entry
> > to $HOME/.configure/autostart/, which allows it to autostart when you
> > log in to your desktop environment. Because the full path of the binary
> > is in the .desktop file, it will always start THAT copy of
> > owncloud-client, even if it is garbage collected.
> 
> I think you shouldn’t copy manually the .desktop file to
> ~/.configure/autostart, precisely because of that.
> 
> Instead this should be done via in indirect GC root (as in “guix build
> -r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.
> 
> Thoughts?
> 
> Ludo’.

I agree it shouldn't copy a .desktop file into .config/autostart/. In
this case, the offending code is here¹, so there's not much that can be
done about it. In mine I've changed the Exec line to
/var/guix/profiles/per-user/... so it'll work as expected. In this case
the code generates a desktop file on the fly, so modifying the .desktop
file shipping with applications wouldn't even help here.


¹ https://github.com/owncloud/client/blob/f326bf371d690f1929f7c5c06aebf53c7255daa6/src/common/utility_unix.cpp#L73

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-01-29 19:39   ` Efraim Flashner
@ 2018-01-30 11:00     ` Ludovic Courtès
  2018-02-18 19:03       ` Efraim Flashner
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2018-01-30 11:00 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 30228

Hello,

Efraim Flashner <efraim@flashner.co.il> skribis:

> On Wed, Jan 24, 2018 at 03:58:51PM +0100, Ludovic Courtès wrote:
>> Hi,
>> 
>> Efraim Flashner <efraim@flashner.co.il> skribis:
>> 
>> > the owncloud-client package includes an option to add a .desktop entry
>> > to $HOME/.configure/autostart/, which allows it to autostart when you
>> > log in to your desktop environment. Because the full path of the binary
>> > is in the .desktop file, it will always start THAT copy of
>> > owncloud-client, even if it is garbage collected.
>> 
>> I think you shouldn’t copy manually the .desktop file to
>> ~/.configure/autostart, precisely because of that.
>> 
>> Instead this should be done via in indirect GC root (as in “guix build
>> -r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.
>> 
>> Thoughts?
>> 
>> Ludo’.
>
> I agree it shouldn't copy a .desktop file into .config/autostart/. In
> this case, the offending code is here¹, so there's not much that can be
> done about it. In mine I've changed the Exec line to
> /var/guix/profiles/per-user/... so it'll work as expected. In this case
> the code generates a desktop file on the fly, so modifying the .desktop
> file shipping with applications wouldn't even help here.
>
>
> ¹ https://github.com/owncloud/client/blob/f326bf371d690f1929f7c5c06aebf53c7255daa6/src/common/utility_unix.cpp#L73

What do you think should be done on the Guix side?  We could patch the
code above to not install the .desktop file in ~/.config, for instance.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-01-30 11:00     ` Ludovic Courtès
@ 2018-02-18 19:03       ` Efraim Flashner
  2018-02-18 20:06         ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Efraim Flashner @ 2018-02-18 19:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30228

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

On Tue, Jan 30, 2018 at 12:00:02PM +0100, Ludovic Courtès wrote:
> Hello,
> 
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > On Wed, Jan 24, 2018 at 03:58:51PM +0100, Ludovic Courtès wrote:
> >> Hi,
> >> 
> >> Efraim Flashner <efraim@flashner.co.il> skribis:
> >> 
> >> > the owncloud-client package includes an option to add a .desktop entry
> >> > to $HOME/.configure/autostart/, which allows it to autostart when you
> >> > log in to your desktop environment. Because the full path of the binary
> >> > is in the .desktop file, it will always start THAT copy of
> >> > owncloud-client, even if it is garbage collected.
> >> 
> >> I think you shouldn’t copy manually the .desktop file to
> >> ~/.configure/autostart, precisely because of that.
> >> 
> >> Instead this should be done via in indirect GC root (as in “guix build
> >> -r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.
> >> 
> >> Thoughts?
> >> 
> >> Ludo’.
> >
> > I agree it shouldn't copy a .desktop file into .config/autostart/. In
> > this case, the offending code is here¹, so there's not much that can be
> > done about it. In mine I've changed the Exec line to
> > /var/guix/profiles/per-user/... so it'll work as expected. In this case
> > the code generates a desktop file on the fly, so modifying the .desktop
> > file shipping with applications wouldn't even help here.
> >
> >
> > ¹ https://github.com/owncloud/client/blob/f326bf371d690f1929f7c5c06aebf53c7255daa6/src/common/utility_unix.cpp#L73
> 
> What do you think should be done on the Guix side?  We could patch the
> code above to not install the .desktop file in ~/.config, for instance.
> 
> Thanks,
> Ludo’.

I've been thinking about it and it would also just be possible to patch
the exec line there to only have the binary name. As an unintended
consquence, if you did add the desktop entry to .config/autostart/ and
the exec was only 'owncloud-client' then we would match the other
distros' behaviors of not running uninstalled programs, if you were to
later uninstall owncloud-client from your profile.

I bet the reason it is coded this way is to allow for
/usr/bin/owncloud-client or /usr/local/bin/owncloud-client, but just
'owncloud-client' will pick up the executable if it is in the runpath.

I think that's the best option, to change the 'exec' line to just
'owncloud-client'.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-02-18 19:03       ` Efraim Flashner
@ 2018-02-18 20:06         ` Ricardo Wurmus
  2018-02-18 20:29           ` Efraim Flashner
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2018-02-18 20:06 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 30228


Efraim Flashner <efraim@flashner.co.il> writes:

> On Tue, Jan 30, 2018 at 12:00:02PM +0100, Ludovic Courtès wrote:
>> Hello,
>> 
>> Efraim Flashner <efraim@flashner.co.il> skribis:
>> 
>> > On Wed, Jan 24, 2018 at 03:58:51PM +0100, Ludovic Courtès wrote:
>> >> Hi,
>> >> 
>> >> Efraim Flashner <efraim@flashner.co.il> skribis:
>> >> 
>> >> > the owncloud-client package includes an option to add a .desktop entry
>> >> > to $HOME/.configure/autostart/, which allows it to autostart when you
>> >> > log in to your desktop environment. Because the full path of the binary
>> >> > is in the .desktop file, it will always start THAT copy of
>> >> > owncloud-client, even if it is garbage collected.
>> >> 
>> >> I think you shouldn’t copy manually the .desktop file to
>> >> ~/.configure/autostart, precisely because of that.
>> >> 
>> >> Instead this should be done via in indirect GC root (as in “guix build
>> >> -r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.
>> >> 
>> >> Thoughts?
>> >> 
>> >> Ludo’.
>> >
>> > I agree it shouldn't copy a .desktop file into .config/autostart/. In
>> > this case, the offending code is here¹, so there's not much that can be
>> > done about it. In mine I've changed the Exec line to
>> > /var/guix/profiles/per-user/... so it'll work as expected. In this case
>> > the code generates a desktop file on the fly, so modifying the .desktop
>> > file shipping with applications wouldn't even help here.
>> >
>> >
>> > ¹ https://github.com/owncloud/client/blob/f326bf371d690f1929f7c5c06aebf53c7255daa6/src/common/utility_unix.cpp#L73
>> 
>> What do you think should be done on the Guix side?  We could patch the
>> code above to not install the .desktop file in ~/.config, for instance.
>> 
>> Thanks,
>> Ludo’.
>
> I've been thinking about it and it would also just be possible to patch
> the exec line there to only have the binary name. As an unintended
> consquence, if you did add the desktop entry to .config/autostart/ and
> the exec was only 'owncloud-client' then we would match the other
> distros' behaviors of not running uninstalled programs, if you were to
> later uninstall owncloud-client from your profile.
>
> I bet the reason it is coded this way is to allow for
> /usr/bin/owncloud-client or /usr/local/bin/owncloud-client, but just
> 'owncloud-client' will pick up the executable if it is in the runpath.
>
> I think that's the best option, to change the 'exec' line to just
> 'owncloud-client'.

Would that pick up owncloud-client if there is an executable of that
name somewhere in PATH?  Could this be a security problem?

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-02-18 20:06         ` Ricardo Wurmus
@ 2018-02-18 20:29           ` Efraim Flashner
  0 siblings, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2018-02-18 20:29 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 30228

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

On Sun, Feb 18, 2018 at 09:06:11PM +0100, Ricardo Wurmus wrote:
> 
> Efraim Flashner <efraim@flashner.co.il> writes:
> 
> > On Tue, Jan 30, 2018 at 12:00:02PM +0100, Ludovic Courtès wrote:
> >> Hello,
> >> 
> >> Efraim Flashner <efraim@flashner.co.il> skribis:
> >> 
> >> > On Wed, Jan 24, 2018 at 03:58:51PM +0100, Ludovic Courtès wrote:
> >> >> Hi,
> >> >> 
> >> >> Efraim Flashner <efraim@flashner.co.il> skribis:
> >> >> 
> >> >> > the owncloud-client package includes an option to add a .desktop entry
> >> >> > to $HOME/.configure/autostart/, which allows it to autostart when you
> >> >> > log in to your desktop environment. Because the full path of the binary
> >> >> > is in the .desktop file, it will always start THAT copy of
> >> >> > owncloud-client, even if it is garbage collected.
> >> >> 
> >> >> I think you shouldn’t copy manually the .desktop file to
> >> >> ~/.configure/autostart, precisely because of that.
> >> >> 
> >> >> Instead this should be done via in indirect GC root (as in “guix build
> >> >> -r the-root owncloud-client”) or, ideally, by having it GuixSD-managed.
> >> >> 
> >> >> Thoughts?
> >> >> 
> >> >> Ludo’.
> >> >
> >> > I agree it shouldn't copy a .desktop file into .config/autostart/. In
> >> > this case, the offending code is here¹, so there's not much that can be
> >> > done about it. In mine I've changed the Exec line to
> >> > /var/guix/profiles/per-user/... so it'll work as expected. In this case
> >> > the code generates a desktop file on the fly, so modifying the .desktop
> >> > file shipping with applications wouldn't even help here.
> >> >
> >> >
> >> > ¹ https://github.com/owncloud/client/blob/f326bf371d690f1929f7c5c06aebf53c7255daa6/src/common/utility_unix.cpp#L73
> >> 
> >> What do you think should be done on the Guix side?  We could patch the
> >> code above to not install the .desktop file in ~/.config, for instance.
> >> 
> >> Thanks,
> >> Ludo’.
> >
> > I've been thinking about it and it would also just be possible to patch
> > the exec line there to only have the binary name. As an unintended
> > consquence, if you did add the desktop entry to .config/autostart/ and
> > the exec was only 'owncloud-client' then we would match the other
> > distros' behaviors of not running uninstalled programs, if you were to
> > later uninstall owncloud-client from your profile.
> >
> > I bet the reason it is coded this way is to allow for
> > /usr/bin/owncloud-client or /usr/local/bin/owncloud-client, but just
> > 'owncloud-client' will pick up the executable if it is in the runpath.
> >
> > I think that's the best option, to change the 'exec' line to just
> > 'owncloud-client'.
> 
> Would that pick up owncloud-client if there is an executable of that
> name somewhere in PATH?  Could this be a security problem?
> 

efraim@macbook41 ~$ echo $PATH
/home/efraim/.guix-profile/bin:/home/efraim/.guix-profile/sbin:/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin

probably, but I assume you'd have to modify your default path to add
~/bin or something. It seems less worse than starting an older version
of owncloud-client or trying to start one that's been garbage collected.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#30228: desktop files embedding full path
  2018-01-23 11:00 bug#30228: desktop files embedding full path Efraim Flashner
  2018-01-24 14:58 ` Ludovic Courtès
@ 2019-02-20  7:08 ` Efraim Flashner
  1 sibling, 0 replies; 8+ messages in thread
From: Efraim Flashner @ 2019-02-20  7:08 UTC (permalink / raw)
  To: 30228-done

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

Fixed in commit 2b371f4dd5ddafa0786240b40408ef5c30d7a526

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-02-20  7:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-23 11:00 bug#30228: desktop files embedding full path Efraim Flashner
2018-01-24 14:58 ` Ludovic Courtès
2018-01-29 19:39   ` Efraim Flashner
2018-01-30 11:00     ` Ludovic Courtès
2018-02-18 19:03       ` Efraim Flashner
2018-02-18 20:06         ` Ricardo Wurmus
2018-02-18 20:29           ` Efraim Flashner
2019-02-20  7:08 ` Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).