[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||WONTFIX --- Comment #1 from Walter Bright bugzi...@digitalmars.com 2009-11-30 02:36:43 PST --- Paths are not allowed in the string supplied to the import statement. This is for security reasons. To get the example to compile, use: import (data.txt); and use the switch: -Jdir This behavior is as intended. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 Vladimir thecybersha...@gmail.com changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|WONTFIX | --- Comment #2 from Vladimir thecybersha...@gmail.com 2009-11-30 02:40:45 PST --- That's fine and dandy, except it doesn't work either: C:\Temp\D\Bug3420 dir Volume in drive C is WS2008X64 Volume Serial Number is 4CC8-8E34 Directory of C:\Temp\D\Bug3420 2009.11.30 12:38DIR . 2009.11.30 12:38DIR .. 2009.11.30 12:38DIR dir 2009.11.30 12:3838 test.d 1 File(s) 38 bytes 3 Dir(s) 11,197,788,160 bytes free C:\Temp\D\Bug3420 dir dir Volume in drive C is WS2008X64 Volume Serial Number is 4CC8-8E34 Directory of C:\Temp\D\Bug3420\dir 2009.11.30 12:38DIR . 2009.11.30 12:38DIR .. 2009.11.30 12:38 4 data.txt 1 File(s) 4 bytes 2 Dir(s) 11,197,788,160 bytes free C:\Temp\D\Bug3420 cat test.d const data = import(dir/data.txt); C:\Temp\D\Bug3420 dmd -Jdir test.d test.d(1): Error: use -Jpath switch to provide path for filename dir/data.txt -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 --- Comment #4 from Vladimir thecybersha...@gmail.com 2009-11-30 14:01:19 PST --- Ah, I see. This should be clarified in the documentation... Also, doesn't anyone think that this could be too constricting? What if you have a directory tree of data to import? Not to mention not being able to import two files with the same filename but from different directories... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 --- Comment #5 from Leandro Lucarella llu...@gmail.com 2009-11-30 14:10:12 PST --- (In reply to comment #4) Ah, I see. This should be clarified in the documentation... Also, doesn't anyone think that this could be too constricting? I do. Maybe this can be changed to be a feature request. I really can't see how allowing subdirectories can be a security risk, you only have to check that the canonical name of the imported file is still in a subdirectory of an -J'ed directory. In POSIX you can use realpath(3) to get the canonical name of a file, then just check if the imported canonical name starts with any -J directory canonical name. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 --- Comment #7 from Leandro Lucarella llu...@gmail.com 2009-11-30 16:51:47 PST --- Created an attachment (id=521) Test cases Here are some test cases, they are packed in a tarball because it includes a directory structure. Tests are in the directory d2, and they should be compiled in that directory. The tests have a small comment indicating what -J should be used to compile (other -J options should fail). You can test them all with this simple bash script (run it in the d2 directory): for f in test{1..7}.d do for j in . .. do echo -n $f: ; head -n1 $f dmd -J$j $f ./`basename $f .d` done done You have to go through the results and check them visually, the script can be improve to make the verification automatically. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3420] Impossible to specify -J path for subdirectories
http://d.puremagic.com/issues/show_bug.cgi?id=3420 --- Comment #8 from Leandro Lucarella llu...@gmail.com 2009-11-30 16:54:59 PST --- BTW, the patch I consider the patch only a proof of concept because it lacks Windows support (and testing on other unixes). Besides that, I think the patch is not bad =) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---