> I didn't take the time to figure out exactly what you are doing, thanks george. sorry, my fault in not making it easy enough to follow.
the top directory for this is a "ramdisk". it is like a filesystem that resides only in memory (but it is not a true file system) it has no presence on a harddisk unless it fills up, in which case things get moved from the ramdisk onto the hdd swap partition. i could be wrong, but that is my understanding of it. i create the dirs and symlinks in a tmpfs to reduce hdd activity. here is what it holds: ## ls -ld * drwxr-xr-x 2 root root 780 2005-06-04 08:49 0/ drwxr-xr-x 2 root root 780 2005-06-04 08:49 1/ drwxr-xr-x 2 root root 780 2005-06-04 08:49 2/ . . -rw-r--r-- 1 root root 0 2005-06-04 08:49 the.end . drwxr-xr-x 2 root root 780 2005-06-04 08:49 x drwxr-xr-x 2 root root 780 2005-06-04 08:49 y drwxr-xr-x 2 root root 780 2005-06-04 08:49 z each of those 36 directories holds this: ## ls -l total 4 lrwxrwxrwx 1 root root 6 2005-06-04 08:49 0 -> /TFS/0 lrwxrwxrwx 1 root root 6 2005-06-04 08:49 1 -> /TFS/1 lrwxrwxrwx 1 root root 6 2005-06-04 08:49 2 -> /TFS/2 . -rw-r--r-- 1 root root 3 2005-06-04 08:49 the.end . lrwxrwxrwx 1 root root 6 2005-06-04 08:49 x -> /TFS/x lrwxrwxrwx 1 root root 6 2005-06-04 08:49 y -> /TFS/y lrwxrwxrwx 1 root root 6 2005-06-04 08:49 z -> /TFS/z > 42 subdirectories just looks wrong -- whatever your problem is, there > has got to be a simpler solution. in my posts, i have not yet described why i am doing this. i will, but first i wanted to make sure that the symlinks were not causing havoc. > /TMP/1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2 so with the symlink method, 36*36 things are created. that is alot of things, but -e will return true for 36^42 paths to ... and if i had a 1/X of a penny for each, i'd be rich, even if x="the gates fortune". lol. so the symlink method is extremely powerfull. in particular, it can code commands like: gimp image.jpg as fp= /TMP/g/i/m/p///i/m/a/g/e//0/j/p/g/the.end and -e will test positive. using sed, it is trivial to decode it. double slashes signify that the next character is "special". /// is a space, and //0 is a period etc. nonspecial characters are [a-z0-9] big deal? i guess not so far. but bear with me. i'll either prove myself a big laugh, or you'll find the ugliest hack that is probably worthless to you, or something in between. so then i can write a bash script called shell_game.sh that takes one argument such. shell_game decodes $fp back into the command line and -- if it matches a case -- it gets executed. now, i can set shell_game to be mozilla's helper application for files that end in dot-end (as in: the.end) and then i can write scripts that write html pages with hrefs that will execute arbitrary commands in a shell. The following is important: without $fp testing true, mozilla will not pass it as and argument to the helper app. mozilla modifies the path somewhat. for example /TMP/././a/b/c////z/the.end gets passed as /TMP/a/b/c////z/the.end or something similar. according to a google search, people want to write html that executes arbitray commands, but there are no existing solutions. well, at one point there was a way to do it, but it made the system vulnerable. in actuality, i do not use a files named "the.end" in /TMP. instead i use xx.$kk, where kk=49gw85h8gq3h954j6nd96j1fti9rj9cdhgsrwda1s5sgek or some such, and the mime type in mozilla is $kk. as a bonus, $fp allows a number of arguments to be passed to the helper app (shell_game), instead of just a file name. afaik, there is no security risk for this method, but don't take my word for it. -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list
