Re: [PATCH v2] Unveil patch

Rodrigo Arias <[email protected]>
Newsgroups gmane.comp.web.dillo.devel
Message-ID <[email protected]>
Hi,

On Mon, Aug 05, 2024 at 05:42:54PM +0200, [email protected] wrote:
>Hi Rodrigo,
>
>On Mon, 5 Aug 2024 15:06:04 +0200
>Rodrigo Arias <[email protected]> wrote:
>
>> >> I think we could just not allow $HOME to be set as save_dir (or any
>> >> directory that contains $HOME, like /home) and refuse to start if
>> >> this is the case.
>
>Sorry, I guess this is the part that confused me:
>"(or any directory that contains $HOME, like /home)"
>
>I agree with it, just not sure how to implement while still allowing a
>save_dir like '$HOME/Downloads', or '/home/user/Downloads'.
>
>Maybe it's a simple thing, but any help would be appreciated!

By "contains" I mean that $HOME cannot be inside save_dir:

bad: save_dir=/
bad: save_dir=/home
bad: save_dir=/home/<theuser>
ok: save_dir=/home/<theuser>/foo
ok: save_dir=/tmp

Here is a very simple check (doesn't handle /../ and other problems):

   const char *home = dGethomedir();
   const char *save = prefs.save_dir;
   int nsave = strlen(save);
   int nhome = strlen(home);

   if (nsave <= nhome) {
      /* Prevent save_dir="/home" and save_dir=$HOME */
      if (strncmp(save, home, nsave) == 0) {
         MSG("save_dir cannot contain home\n");
         exit(1);
      }
   }

Best,
Rodrigo.
_______________________________________________
Dillo-dev mailing list -- dillo-dev-lx9mn2B4QYRWk0Htik3J/[email protected]
To unsubscribe send an email to dillo-dev-leave-lx9mn2B4QYRWk0Htik3J/[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.