Package: ocsinventory-server Version: 1.02-2 Severity: normal Hello,
This is the last patch of this bug report. It remove the use of install.php, the dbconfig.inc.php is now automatically generated by dbconfig-common. Log from my bzr repository: revno: 9 committer: Daniel Dehennin <daniel.dehen...@ac-caen.fr> timestamp: Fri 2009-05-22 10:09:04 +0200 branch nick: 1.02-create-db message: ocsinventory-reports provides a dbconfig-common based dbconfig.inc.php. * debian/conf/dbconfig.inc.php: Add dbconfig-common template. * debian/ocsinventory-reports.install: Install the template. * debian/ocsinventory-reports.config: Remove htpasswd handling. Add dbconfig-common frontend. * debian/ocsinventory-reports.postinst: Do not add write mode in /var/lib/ocsinventory-server/config for php. Generate the config file from the template and install it in /etc/ocsinventory/. Provide default values if dbconfig-common is not use. * debian/ocsinventory-reports.links: Fix links, dbconfig.inc.php is placed in /etc/ocsinventory. * debian/ocsinventory-reports.postrm: Use dbconfig-common frontend. Remove dbconfig-common configuration file. htpasswd.setup is not created anymore. revno: 8 committer: Daniel Dehennin <daniel.dehen...@baby-gnu.org> timestamp: Thu 2009-05-21 11:59:10 +0200 branch nick: 1.02-create-db message: htpasswd access is now useless. * debian/ocsinventory-reports.postinst: Do not generate an htpasswd for install.php. revno: 7 committer: Daniel Dehennin <daniel.dehen...@baby-gnu.org> timestamp: Thu 2009-05-21 11:52:24 +0200 branch nick: 1.02-create-db message: install.php is useless now. * debian/conf/ocsreports.conf: Deny access to install.php. Regards. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (90, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.30-rc6+hati.1 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
=== added file 'debian/conf/dbconfig.inc.php' --- debian/conf/dbconfig.inc.php 1970-01-01 00:00:00 +0000 +++ debian/conf/dbconfig.inc.php 2009-05-21 10:12:35 +0000 @@ -0,0 +1,5 @@ +<?php +$_SESSION["SERVEUR_SQL"]="_DBC_DBSERVER_"; +$_SESSION["COMPTE_BASE"]="_DBC_DBUSER_"; +$_SESSION["PSWD_BASE"]="_DBC_DBPASS_"; +?> === modified file 'debian/conf/ocsreports.conf' --- debian/conf/ocsreports.conf 2009-05-19 05:39:42 +0000 +++ debian/conf/ocsreports.conf 2009-05-21 09:51:41 +0000 @@ -11,21 +11,10 @@ Options Indexes FollowSymLinks DirectoryIndex index.php - # Authorize for setup + # Disable install.php <Files install.php> - # For Apache 1.3 and 2.0 - <IfModule mod_auth.c> - AuthType Basic - AuthName "OCS Reports Setup" - AuthUserFile /etc/ocsinventory/htpasswd.setup - </IfModule> - # For Apache 2.2 - <IfModule mod_authn_file.c> - AuthType Basic - AuthName "OCS Reports Setup" - AuthUserFile /etc/ocsinventory/htpasswd.setup - </IfModule> - Require valid-user + Order deny,allow + Deny from all </Files> <IfModule mod_php4.c> === modified file 'debian/ocsinventory-reports.install' --- debian/ocsinventory-reports.install 2009-05-19 05:39:42 +0000 +++ debian/ocsinventory-reports.install 2009-05-21 10:02:51 +0000 @@ -1,3 +1,4 @@ ocsreports usr/share/ocsinventory-server #ipdiscover-util/ipdiscover-util.pl usr/share/ocsinventory-server/ocsreports debian/conf/ocsreports.conf etc/ocsinventory +debian/conf/dbconfig.inc.php usr/share/ocsinventory-server/files === modified file 'debian/ocsinventory-reports.links' --- debian/ocsinventory-reports.links 2009-05-19 05:39:42 +0000 +++ debian/ocsinventory-reports.links 2009-05-21 10:13:34 +0000 @@ -1,3 +1,3 @@ -var/lib/ocsinventory-server/config/dbconfig.inc.php usr/share/ocsinventory-server/ocsreports/dbconfig.inc.php -var/lib/ocsinventory-server/config/dbconfig.inc.php etc/ocsinventory/dbconfig.inc.php -var/lib/ocsinventory-server/ipd usr/share/ocsinventory-server/ocsreports/ipd +etc/ocsinventory/dbconfig.inc.php usr/share/ocsinventory-server/ocsreports/dbconfig.inc.php +etc/ocsinventory/dbconfig.inc.php var/lib/ocsinventory-server/config/dbconfig.inc.php +var/lib/ocsinventory-server/ipd usr/share/ocsinventory-server/ocsreports/ipd === modified file 'debian/ocsinventory-reports.postinst' --- debian/ocsinventory-reports.postinst 2009-05-19 05:39:42 +0000 +++ debian/ocsinventory-reports.postinst 2009-05-21 10:11:54 +0000 @@ -15,31 +15,35 @@ varpath="/var/lib/ocsinventory-server" confpath="/etc/ocsinventory" conffile="ocsreports.conf" + dbconffile="dbconfig.inc.php" # Allow php to write there - for dirname in config ipd download; do + for dirname in ipd download; do chown www-data:www-data $varpath/$dirname chmod g+w $varpath/$dirname done - # Generate an htpasswd file for the web based setup - if [ ! -f $confpath/htpasswd.setup ]; then - touch $confpath/htpasswd.setup - chgrp www-data $confpath/htpasswd.setup - chmod 0640 $confpath/htpasswd.setup - db_get ocsinventory-reports/setup-username - setup_username=${RET:-admin} - db_get ocsinventory-reports/setup-password - if [ -n "$RET" ]; then - setup_password=`perl -le 'print crypt($ARGV[0], join("", map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..2)))' "$RET"` - else - setup_password="*" - fi - echo "$setup_username:$setup_password" > $confpath/htpasswd.setup - db_reset ocsinventory-reports/setup-username || true - db_reset ocsinventory-reports/setup-password || true + # use dbconfig to setup vars in apache config file + . /usr/share/dbconfig-common/dpkg/postinst.mysql + dbc_generate_include=template:$confpath/$dbconffile + dbc_generate_include_args="-U -o template_infile='$pkgpath/files/$dbconffile'" + dbc_generate_include_owner="root:www-data" + dbc_generate_include_perms="0640" + + dbc_go ocsinventory-server $@ + + # if not using dbconfig, set default values to have a valid config file + db_get ocsinventory-server/dbconfig-install + use_dbconfig=${RET:-false} + if [ "x$use_dbconfig" != "xtrue" ]; then + sed -i -e 's/^\([^]]*\["SERVEUR_SQL"\]="\).*/\1localhost";/' \ + -e 's/^\([^]]*\["COMPTE_BASE"\]="\).*/\1ocs";/' \ + -e 's/^\([^]]*\["PSWD_BASE"\]="\).*/\1ocs";/' \ + $confpath/$conffile fi + db_stop + # link apache config files in apache's conf.d dir webservers="apache2" for webserver in $webservers; do