On Tue, Sep 29, 2009 at 3:09 PM, Ricardo Cantu <[email protected]> wrote:
> On Tuesday 29 September 2009 12:14:51 pm you wrote: > > On Tue, Sep 29, 2009 at 12:51 PM, Ricardo Cantu <[email protected] > >wrote: > > > > Ricardo Cantu wrote: > > > > > > > > That's the problem with mod_fcgid right now with out the patch. > > > > argv[0] is different but mod_fcgid is not considering it different. > It > > > > is lumping together by inode only and not paying attention to > basename > > > > > > (argv[0]). > > > > > > > Which can be different when using symbolic links. > > > > The patch is so it can properly respect your statement. > > > > > > > > Ah ha - I misread your statement. > > > > > > So, is the patch acceptable? > > > > Doesn't the patch require the symlink to reside in the same directory as > > the actual executable in order to be effective? > No > got it > > > > > Wouldn't tracking the devno/inode of the link itself (apr_lstat() instead > > of apr_stat()) handle the issue more cleanly? It wouldn't work for hard > > links, but it should be a sufficient capability. > > > > As suggested in an earlier mail, why not always fully respect the symlink > > as distinct from other filesystem paths that resolve to the same > > executable code? > > > > Thought about all the possible scenarios and as far as i can see respecting > basename (argv[0] ) is the one that handles all of them. For instance using > apr_lstat would interfere with someone who likes to put all executables in > one > directory then link them to what ever other directory they need it in. > > So > /usr/bin/program1 > ln -s /usr/bin/program1 /var/www/virtual1/bin/program1 > ln -s /usr/bin/program1 /var/www/virtual2/bin/program1 > > Needs to consider all program1's the same. > note that programs in different vhosts are in different classes for other reasons what about this example? /www/foo.example.com/catalog/index.fcgi /www/foo.example.com/survey/index.fcgi In general, two commands with the same basename probably aren't the same application. > > On the other hand: > > /usr/bin/program1 > ln -s /usr/bin/program1 /var/www/virtual1/bin/program2 > ln -s /usr/bin/program1 /var/www/virtual2/bin/program3 > > Needs to consider program1,program2,program3 different. > > sure
