From mboxrd@z Thu Jan 1 00:00:00 1970 From: dgoulet@efficios.com (David Goulet) Date: Fri, 15 Nov 2013 10:45:39 -0500 Subject: [lttng-dev] [lttng-tools PATCH 0/5] Follow up to the realpath(3) for unexistent paths In-Reply-To: <1384477115-18809-1-git-send-email-raphael.beamonte@gmail.com> References: <1517784416.67313.1384445660213.JavaMail.zimbra@efficios.com> <1384477115-18809-1-git-send-email-raphael.beamonte@gmail.com> Message-ID: <20131115154539.GA6986@thessa> On 14 Nov (19:58:30), Rapha?l Beamonte wrote: > David, > > Following the discussions we had on IRC with Mathieu and the last > mail exchange, here is a series of patch that should answer to our > enquiries. > > The first two patches are linked to the utils_expand_path unit test > and correct its behavior and the expected results (some input was > at first considered invalid, but during our discussions it was > mentionned that it should be considered valid). > > The next three ones introduce a new utils_partial_realpath that, > as its name says it, allows to partially resolve a real path for > a given path. This function is then used in utils_expand_path to > resolve the paths, and the utils_resolve_relative function is > removed as it is not necessary anymore in this new "setup". > > Waiting for your comments, Hey Raph, I've created a symlink directory maze here to test theses patches and everything seems to work fine but I got one wrong use case. I'll print my maze here so you can recreate: /tmp/test $ . ??? a ??? b ??? ??? c ??? ??? ??? g -> ../../../ ??? ??? f -> ../e/ ??? ??? h -> ../g/ ??? ??? k -> c/g/ ??? d -> b/c/ ??? e ??? g -> d/ 10 directories, 0 files $ lttng create -o /tmp/test/a/g/../l/.. Session auto-20131115-103416 created. Traces will be written in /tmp/test/a/b/l/.. Note the "/.." at the end. Relative or not, same output. Seems like "./" and "../" *after* an unexisting path fails to parse. In this case, I would throw in an error since there is simply no way of knowing that "l/" is going to point to. What I'm going to do here is to merge those 5 patches and wait for fix(es) that we'll merge in the RC cycle. The feature is there just not perfect :). 2.4-rc1 is coming up this morning btw. Thanks! David > Rapha?l > > Rapha?l Beamonte (5): > Tests: add a check in test_utils_expand_path to avoid segfault if > result is NULL > Tests: move invalid tests in test_utils_expand_path that should be > valid > Introduce a new utils_partial_realpath function > Change the utils_expand_path function to use utils_partial_realpath > Remove the utils_resolve_relative function that is not useful anymore > > .gitignore | 1 - > src/common/utils.c | 256 ++++++++++++++++++------------ > src/common/utils.h | 3 +- > tests/unit/Makefile.am | 7 +- > tests/unit/test_utils_expand_path.c | 7 +- > tests/unit/test_utils_resolve_relative.c | 98 ------------ > tests/unit_tests | 1 - > 7 files changed, 158 insertions(+), 215 deletions(-) > delete mode 100644 tests/unit/test_utils_resolve_relative.c > > -- > 1.7.10.4 > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 620 bytes Desc: Digital signature URL: