[PATCH] configure: disallow whitespace in paths, extend checks to $PWD

classic Classic list List threaded Threaded
3 messages Options
Tomi Ollila-2 Tomi Ollila-2
Reply | Threaded
Open this post in threaded view
|

[PATCH] configure: disallow whitespace in paths, extend checks to $PWD

Whitespace in $NOTMUCH_SRCDIR (and $PWD) may work in builds,
but definitely will not work in tests. It would be difficult
to make tests support whitespace in test filename paths -- and
fragile to maintain if done.

So it is just easier and safer to disallow whitespace there.

In case of out of tree build $NOTMUCH_SRCDIR differs from $PWD
(current directory). Extend this whitespace, and also previously
made unsafe characters check to $PWD too.
---

Tried to make test work w/ $IFS characters in paths. Not trivial
since there are variables like $NOTMUCH_TESTS which split to separate
filenames on SPC. Got an idea to set IFS=$'\n' and use newline as
separator -- but then many other places where arg splitting on SPC
is used would fail. There would be ways but making it work would
just make developers' work harder...

 configure | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/configure b/configure
index ef81e71b..3c148e12 100755
--- a/configure
+++ b/configure
@@ -31,6 +31,22 @@ case $NOTMUCH_SRCDIR in ( *\'* | *['\"`$']* )
  exit 1
 esac
 
+case $PWD in ( *\'* | *['\"`$']* )
+ echo "Definitely unsafe characters in current directory '$PWD'".
+ exit 1
+esac
+
+# In case of whitespace, builds may work, tests definitely will not.
+case $NOTMUCH_SRCDIR in ( *["$IFS"]* )
+ echo "Whitespace in source path '$NOTMUCH_SRCDIR' not supported".
+ exit 1
+esac
+
+case $PWD in ( *["$IFS"]* )
+ echo "Whitespace in current directory '$PWD' not supported".
+ exit 1
+esac
+
 subdirs="util compat lib parse-time-string completion doc emacs"
 subdirs="${subdirs} performance-test test test/test-databases"
 subdirs="${subdirs} bindings"
--
2.21.0

_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch
Daniel Kahn Gillmor Daniel Kahn Gillmor
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] configure: disallow whitespace in paths, extend checks to $PWD

On Sun 2019-09-01 23:09:46 +0300, Tomi Ollila wrote:

> Whitespace in $NOTMUCH_SRCDIR (and $PWD) may work in builds,
> but definitely will not work in tests. It would be difficult
> to make tests support whitespace in test filename paths -- and
> fragile to maintain if done.
>
> So it is just easier and safer to disallow whitespace there.
>
> In case of out of tree build $NOTMUCH_SRCDIR differs from $PWD
> (current directory). Extend this whitespace, and also previously
> made unsafe characters check to $PWD too.
This is a sad constraint to have, but i understand it and i think Tomi's
patch is both a sensible guard, and a realistic acknowledgement of the
state of play today.  If someone wants to fix it (which would be great),
they can remove these checks when they fix it.

LGTM, please merge.

        --dkg

_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch

signature.asc (233 bytes) Download Attachment
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] configure: disallow whitespace in paths, extend checks to $PWD

In reply to this post by Tomi Ollila-2
Tomi Ollila <[hidden email]> writes:

> Whitespace in $NOTMUCH_SRCDIR (and $PWD) may work in builds,
> but definitely will not work in tests. It would be difficult
> to make tests support whitespace in test filename paths -- and
> fragile to maintain if done.
>
> So it is just easier and safer to disallow whitespace there.
>
> In case of out of tree build $NOTMUCH_SRCDIR differs from $PWD
> (current directory). Extend this whitespace, and also previously
> made unsafe characters check to $PWD too.

pushed,

d
_______________________________________________
notmuch mailing list
[hidden email]
https://notmuchmail.org/mailman/listinfo/notmuch