htscanner, new release, ISP needs?
Posted by Pierre in
Uncategorized
Monday, January 8. 2007
The 0.6.3 releases have two important fixes:
- Possible erroneous ini value length have been fixed
- The fatal errors have in module and request initialization have been replaced by warnings
Thanks to Eugeny Zadevalov for the detailed reports. Eugeny sent patches to use htscanner in apache when mod_htaccess is active but without mod_php. You can find it in the README file in the release archive or CVS. We will try to keep this patch up to date.
He is working on making htscanner compatible with PHP4. I’m not a fan of supporting dead branches (I consider PHP4 as dead) but if enough users need a PHP4 version, I can push the patches upstream. In the worst case, I will add them in the release and Eugeny can maintain them. Let me know what you need!
During the season holidays, I got a couple of mails from hosting company using fastcgi and planning to use htscanner. Having system configuration automatically set by htscanner (open basedir per vhost for ex.) but not editable by the users can help to use fastcgi for shared hosts. Are you an ISP? or simply provide hosting services and plan to give htscanner support to your users? Let me know what you need.
Matthijs Kooijman - #2 - 2007-01-23 18:23 - (Reply)
I’ve given this some thought, and this is what I would care to see. Firstly, the current parsing of .htaccess files should be limitable. In other words, there should be two new configuration directives: allowed_settings and denied_settings (only one can be used, not both). Both can be one of the PHP_INI constants to limit changeable settings to one of those categories (might need some reworking when used with allowed_settings, though). Alternatively, they can be a list of settings that can be changed (or not be changed for denied_settings). This will allow the admin fine grained control over which settings can be changed by users. Secondly, there should be some way for the admins to set configs, probably on a per-directory basis. An obvious choice would be putting .htaccess_admin files in the document root next to .htaccess files, in which all settings are allowed without limits. Admins can use these to set any setting on a per directory basis. The problem with this setup is that nothing wil prevent users from creating these admin files. Checks could be added for the owner or permissions of these files, but a system like this will be shakey at best. A better option will probably to add a single config file, that can contain any admin settings (let’s call it the "admin config" file). To support per-directory configs, one can allow for something like lighttpd’s conditionals, but simpler (only matching the script name and only doing prefix matching, for example). This creates a solution that is probably powerfull enough. One remaining problem, at least in my setup, is that this will require a single admin config file for the entire server. In particular, I have a number of different fastcgi servers running as different users. They will all use the same php.ini file and thus the same htscanner configuration and thus the same admin config file. This file could contain a huge list of config directories, using path-based conditionals to apply the directives to the correct subdir/vhost. Yet having this monolithic file is not really a good idea. Options that cross my mind are making the admin config file location relative to the document root (but since users usually have write access to the document root, this might be a bad idea, perhaps supporting ".." in the path might help…) or allowing to include other php.ini files from the admin config file (so I can give every fastcgi server their own php.ini without losing the ability to defaults). Not sure what exactly is a good idea here (or what I want to have even…)


