Re: [arch-dev-public] [PATCH] makechrootpkg: Use the host's SRCDEST and PKGDEST if they are defined

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [arch-dev-public] [PATCH] makechrootpkg: Use the host's SRCDEST and PKGDEST if they are defined

by Rogutes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daenyth Blank (2009-11-05 13:07):

> On Thu, Nov 5, 2009 at 13:03, Aaron Griffin <aaronmgriffin@...> wrote:
> > I was thinking more along the lines of:
> >
> > Original: eval $(grep '^SRCDEST=' /etc/makepkg.conf)
> >
> > SRCDEST=$(grep '^SRCDEST=' /etc/makepkg.conf | cut -d= -f2)
> > PKGDEST=$(grep '^PKGDEST=' /etc/makepkg.conf | cut -d= -f2)
> >
>
> I believe that should work... Make sure to throw in a -d -w check
> after, to make sure it's right... I think a malicious line (".. && rm
> -rf /") would simply get stored as a string.. as long as we quote
> everything properly and unset it if it's not right, I'm pretty sure
> it's not dangerous. It could however, fail in cases where it's split
> over multiple lines. I don't think that's a reason not to do it
> though, I can't imagine a reason for such a thing.

This wouldn't work for
SRCDEST="/path/to/dir"
SRCDEST='/path/to/dir'

But sed should be able to do it:
SRCDEST=$(sed -nr "/^SRCDEST=/{s/[^=]+=(['\"]?)(.+)\1/\2/p}" /etc/makepkg.conf)

--
--  Rogutės Sparnuotos

Re: [arch-dev-public] [PATCH] makechrootpkg: Use the host's SRCDEST and PKGDEST if they are defined

by Eric Bélanger-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Nov 5, 2009 at 2:15 PM, Rogutės Sparnuotos
<rogutes@...> wrote:

> Daenyth Blank (2009-11-05 13:07):
>> On Thu, Nov 5, 2009 at 13:03, Aaron Griffin <aaronmgriffin@...> wrote:
>> > I was thinking more along the lines of:
>> >
>> > Original: eval $(grep '^SRCDEST=' /etc/makepkg.conf)
>> >
>> > SRCDEST=$(grep '^SRCDEST=' /etc/makepkg.conf | cut -d= -f2)
>> > PKGDEST=$(grep '^PKGDEST=' /etc/makepkg.conf | cut -d= -f2)
>> >
>>
>> I believe that should work... Make sure to throw in a -d -w check
>> after, to make sure it's right... I think a malicious line (".. && rm
>> -rf /") would simply get stored as a string.. as long as we quote
>> everything properly and unset it if it's not right, I'm pretty sure
>> it's not dangerous. It could however, fail in cases where it's split
>> over multiple lines. I don't think that's a reason not to do it
>> though, I can't imagine a reason for such a thing.
>
> This wouldn't work for
> SRCDEST="/path/to/dir"
> SRCDEST='/path/to/dir'
>
> But sed should be able to do it:
> SRCDEST=$(sed -nr "/^SRCDEST=/{s/[^=]+=(['\"]?)(.+)\1/\2/p}" /etc/makepkg.conf)
>
> --
> --  Rogutės Sparnuotos
>

Let me know when you guys agree on a better (safer) way to implement
this. I'll then sent a corrected patch.