Version 0.27:
---------------




Version 0.26.8:
---------------
- Added support for rotating the error.log of all vhosts using logrotate
- Now deletes files older than 7 days in the tmp folder of all vhosts
- Welcome message corrected
- Ticket support list is improved with last reply from admin or client shown
- The panel now detects the default IP to use
- Sent lots of questions to low priority
- A lot of FreeBSD twicks so it runs better for it.
- A lot of minor bugfix

Version 0.26.7:
---------------
- Some grave problems in the reminders.php fixed (parse error, wrong file, etc.)
- Some FreeBSD improvements

Version 0.26.6:
---------------
- Some VAT problems fixed: it's now correctly adding VAT within EU rules

Version 0.26.5:
---------------
- Some slackware compatibility improvements
- The omit_kdev_mknod was not working correctly
- Now prompting for the mx subdomain in debconf

Version 0.26.4:
---------------
- VPS stat page for network was missing in the .deb
- Added password protection patch from <krystian@ezpear.com> for the /stats
folder of all domains.
- Many improvements to use a remote database for users
- Some patch to make it work for Slackware (from Krystian).
- Restarts bind9 with "rndc reload"
- Some support tickets improvements

Version 0.26.3:
---------------
- feature: User databases can be on a different host now. Also, remote SQL
is fully working for DTC as well.
- feature: Fixed some of the problems of the ticket system (root panel side)
- feature: Recipient delimiter now configurable
- feature: The port of the panel for SSL is not configurable
- feature: Shuts down and delete an admin VPS when deleting
- feature: rewrote the rrdtool graphs in PHP, not using librrd-perl and a
cgi-bin anymore
- feature: ALL types of email messages sent by the panel are now
configurable in /etc/dtc
- feature: Now supports "Visitor" stats
- feature: dedicated are now showed on "domain" view of the admin list
- feature: graphs the xen disk I/O, network and CPU usage in the client
interface, for each VPS.
- feature: shows the registration date for the new admin waiting list
- bugfix: management of sasl2passwd when no password set (to support older
version of dtc)
- bugfix: the no-reply @ is now using the correct domain ($conf_main_domain)
and not no-reply.com
- bugfix: the debian cron script checks for the panel to be installed
- bugfix: the mysql user accounts are now added with both % and localhost
- missing code: now deleting mailing lists when deleting an admin, also
deletes VPS & dedicated servers
- missing code: now also restarts courier-pop-ssl and courier-imap-ssl

Version 0.26.2:
-------------
- Added Mail Alias Group patch from George
- Added AddDefaultCharset option for each subdomains (by default does nothing)

Version 0.25.9:
---------------
- The script to build SASL2 db and .mailfilter are now rewrote in php, so
it's not spawning process and so makes it a lot faster to generate the mail
accounts.
- Fixed MANY rights problems
- Fixed the vacation message system when there is no redirection (was not
working)
- Fixed many other little but anoying bugs
- Fixed XSS (in fact pisshing) hole in the 404.php file

Version 0.25.2:
---------------
- Implemented courier maildrop Maildir quota.

Version 0.25.1:
---------------
- Added a system that makes it possible to totaly customize
the control panel look, not only a "skin". Now also the layout
of everything can be redesigned.
- Added the bwoup skin using the above system.
Version 0.25.0:
---------------
- Now using a template system that draws all the forms
in a common way, so they all look like the same (with
currently blue background). This is a preparation for
the new upcomming graphics. This includes all forms in
the user interface and in the config part of the panel.
- Rewrote the userdb (courier) generation. Should be
safer, faster and more clean.
- Added invoicing system using FPDF. Each time someone
makes a succesful payment, an entry in "completedorders"
table is added, so the invoice can be generated.
- Added SSL vhosts for customers with SSL IP provision
table.
- Added a (customizable) link to selling conditions when
people register. Of course, the checkbox has to be checked
to be able to register. If the link is not customized
(eg "none" in the field), then the feature does not appear.
- Added functions to subscribe / unsubscribe users to a
MLMMJ list.

Review and reorganized:
- Install script (full re-organization with functions)
- Cron job
- Forms drawings of 70% of the panel (using a template thing)

Version 0.24.6 (never released, dev version):
---------------------------------------------
- The restor_db.php can now check primary keys and (re)add them
if needed. It also works with auto_increment keys.

- The site preview with https://dtc.your-host.com/site.net/
is now https://dtc.your-host.com/whatever-subdomain.site.net/
and understands the register_globals value.

- The panel is now using dtc:dtcgrp as user/group instead
of nobody:nogroup

- A customer can now ask to close a ticket

- Debian packaging and FreeBSD ports reviewed and clean

Version 0.24.5:
---------------
- Lot's of clean-up and bug fixes (0.22 has never been said
a stable version, but was always our CVS one).

Version 0.22:
-------------
- Added support ticket system with email reminders

- Added an eye icon to see the content of the password fields

- Added support for VPS together with the dtc-xen hosting package
connecting to a SOAP server using nusoap (modified). Includes VPS
start/shutdown/destroy, VPS status and renewal, and remote SSH
logins to the physical console (thomas & damien)

- Added email reminders for shared and VPS hosting (thomas)

- A better apache2 and php5 support (better dependencies)

- Added a form to configure the login/pass and how do ftp backup:
weekly, daily or monthly

- Corrected the net_backup.sh script to take into account
the new mysql manager. Wrote a net_restor.sh script. (thomas)

- Added import/export functionnalities for domains: to be tested
and debugged fully. (thomas)

- Changed a bit the layout of the admin panel so it's less
confusing (for the admin editor) (thomas)

- The panel setup asks less stuffs (like it don't asks for
NAT IP if not using NAT...)

- Added support for Cyrus (thanks to Cristian Livaradu).

- Domain parking: a domain copies the configuration from
another one for mail and DNS, and redirects all subdomains to it.

- Apache log dumps and Webalizer stats are now done everyday
archives older than one year are now deleted. (Thomas Goirand)

- There was some bad unic keys added uppon each installs
of the panel in http_accounting, it's now automaticaly
removed. (Damien Mascord)

- Added NSSMySQL stuff so it's possible to grant ssh access
to all vhosts directories using chroot + chuid: optional,
selection for each admins, no by default (Damien Macord)

- Registrar API is now optional

- Added eNETS payment gateway support (Thomas Goirand)

- Added Joomla CMS package installer

- As usual: lot's of small debugs...

Version 0.20:
-------------
- Added a score board system with realtime download
statistics and HTTP hits, no need to wait end of the
day anymore to have them, no big cron job that would
slow down your server every day...

This will be version 0.18 when released:
----------------------------------------
- Bandwidth calculation is now done in realtime !!!

- Added support for pure-ftpd-mysql

- There is now a fantastico like installer that enables you to
install phpBB2. Dev team is working on other packages.

- Backup/restor script are now working correctly with the INDEX
and UNIC keys. Things should go back to normal when upgrading
from a (bad) old db setup. (Thomas)

- Added support for amavis + clamav + spamassassin. If virus
is found, it's destroyed, if spam is detected, then DTC looks
for the SPAM flag in the email panel, and if it's set, then
the spam is sent to the imap SPAM quarantine folder of the mail
account. (Damien Mascord)

- Added a feature to add a list of allowed DNS IP for transfering.
That helps managing slaves DNS that are not listed as NS1/NS2
(otherwise by default transfer is forbidden). (Thomas Goirand)

- Now made it work with mod_log_sql2 using $ in table names of
apachelogs and not # anymore. BSD port reviewed a bit to use
mod_log_sql2 and mysql 4.1. (Thomas Goirand)

- Added port number to be able to support apache2. Might
be configurable in the futur in the general config form. (Thomas)

- Debian now asks to use vhost_nated IP for generating apache vhosts.

- There is now support for MLMMJ mailing lists. (Core done by
Lucas with a bit of help from Damien and Qmail part by Thomas)

- Newly added admins are added with correct values. (Thomas)

- Corrected a bug for local delivery + redirection in postfix:
when local delivery was set, no redirection possible (thomas & damien)

- Reviewed and internationnalised the Tucows reseller interface,
added a tucows API user/key form in the general config panel. (Thomas)

- There is now a complete new design thanks to Jerome Centex,
thanks to him and his help.

- Added subaccount feature (reseller) (thomas)

- New layout for the main root consol. You wont have to scroll again and
again like before, main stuff is now divided in 2 parts. (thomas)

- Virtual admins can now change they're password themself. (T.Goirand)

- Random rotative password is now used for the root web panel, so there
is no password in any url now (exept the email panel maybe).

- Added NAS adding/editing for freeradius.

- Added chmod 644 on all new / edited .qmail files.

- Added a better MySQL manager by adding a field dtcowner in mysql.user.
Now virtual administrators can add/delete mysql users and can create/delete
database. There is a field for each admin telling how mutch db at max,
number of mysql user is not limited.

- Added a popup for catchall feature for Qmail, corrected some of Postfix,
the ugly * account doesn't exists anymore.
(D.Mascord and T.Goirand, help from stilger in the forums)

- Added FreeRadius automatic installer (web interface not finished yet).
(T.Goirand)

- Putting something else than default in DNS config of a domain
does now produce a nice slave zone. (D.Mascord)

- Now double checking if apache is restart. Retry if not. (T.Goirand)

- Now have separated grant privileges for mysql access:
a dtcdaemons user is created uppon install. (T.Goirand)

- Qmail is new renamed to Mail in dtc daemons page. (T.Goirand)

V0.17.0-R3
Now, DTC checks that apache is REALLY restarted.
If it's not, then it tries again durring 15 times,
that should represent at least 45 seconds (could be
1 minute), waiting 2 seconds between each retries.

DTC now restarts Courier daemons after (re)install of the panel.

On freebsd: It's now using mod_log_sql and sbox-dtc
(that last one is now in standard in freebsd ports)
and mod_log_sql directive links agains the correct
/tmp/mysqld.sock path, php.ini-dist is copied to php.ini
if not exists, and an incdir directive to pear folder is
now automaticaly added.

The FreeBSD Makefile is revised and should depend correctly
on other tools now. I pickedup examples from the phpmyadmin
Makefile and others. It's tested and working, now I'm the
foccus is on the dtc-install.sh script.

Changed size of ip of subdomain to 255, now you can use it
as a CNAME value. The entered value is checked for resolvability
before entering the database.

A lot lot lot of debugs and cleanup. Swiched error_reporting
to E_ALL, and find some little bugs. I can't count the nomber
of little fixes made here. It should also improove a lot the
way the panel installs for BSD.

Now installer works for newer RedHat. DB setup is working
well again.

Installer now regenerate the main domain on each install so
dpkg-reconfigure works better. Thanks to the users in the
dtc forum for reporting! (thomas)

Added support for macOsx in the build tree. More on this soon
with maybe a total graphical install and Mac OS X integration. (thomas)

DTC now restarts proftpd and courier-authdaemon + courier-imap,
so it's up and working without worry after a fresh install. (thomas)

The installer now removes one temp install file that was not removed.
(thomas)

DTC now has support for TXT records. 2 root records
and one record per subdomains. (thomas)

The backup MX/NS is now capable of using cache file when
generating domain lists even when the remote is down and
there is a domain listing update pending (little bug in
behavior found). (thomas)

The installer does not happend some new lines to the config
files anymore (Damien)

Patched to allow the use of lynx -s like for getting backup
NS and MX if php < 4.3. (thomas)

Corrected a bug in the subdomain defaut handler wich caused
smtp, ftp, pop and list customisation not possible. (thomas)

2005-03-03 V0.17.0-R2
Some corrections in the database so the panel installs properly.
It was broken due to some bad UNIC key inserting and users
complained about it.

2005-02-03 V0.17.0-R1
This release does some major bugfix in the isntaller: the field name
PASSWORD (upper case) in the ftp_access table is now back to normal password
(lower case) when creating the tables. Please switch it back to lower case
if you have some troubles. The template directory from wich is copied the
html files of new vhosts has now the good unix rights so the copy works
(upgrading will add the x flag to the directory). The mail accounts are now
generated and the qmail control files are now linked correctly on each
install/upgrade of the panel. Note that no trouble should have hapened to
any production server upgrading DTC, this corrects only some problems to
first installations. (thomas & damien)

31-01-03: V0.17.0-R0
After many tests and debug, I'm proud of this milestone
which should be a lot better. Work to be done for BSD
mainly... (thomas)

01-04: V0.16.0-R1
Email panel is now fully working.

Added some internationnalisations.

Added stuff for configuring DTC client session expire time.

Added automatic PayPal payment with IPN (Instant payment
notification) which makes DTC having IAA (Instant Account
Activation), and (of course) new user registration.

17-12-04:
Thomas Goirand:
Added automatic SSL certificate generation durring
install.

Added NS and MX backup between dtc panels. A DTC
panel query another one to list his domains to
backup, and the resulting is cached in a file.

17-09-04: V0.16.0-R0
New features:
There is now a product manager on where you can build
your hosting plans. Once hosting plans build, new user
can register an account on the client interface, and
checkout the order with paypal.

Each pop user have now access to a special mini email
panel with option for mailbox. In the future this panel
will be improoved a lot to allow autoresponder and spam
filtering.

Cosmetic enhancements:
Updated standard skin title color to some darker stuff.
New registration form for new users done, mued greyskin
updated.
Template for new sites was not copied because of a global
not set.

Using new icons taken from the exelent art.gnome.org

Bugfixes:
Apache conf generation died if domain has no subdomains,
wich can happen in some configuration of a domain name.

A \n was missing in Postfix email generation when redirection
was used.

09-10-04: V0.15.0-R8
Thomas:
Added a link to documentation inside root admin interface.

Added rotating passwords. Because some browsers can store
the login/passwords sent in DTC urls, now a random pass with
expiration replace customer's pass. It is still possible to
call any URL of the customer interface using BOTH two kind
of pass, so customers can continue to script the client side
using the following type of code:

<?
function DTCnewEmail($email,$pass,$domain){
	$url = "https://dtc.gplhost.com/dtc/index.php?".
		"adm_login=dtc".
		"&adm_pass=YourAdminPass".
		"&addrlink=".$domain."%2Fmailboxs".
		"&edit_domain=$domain".
		"&whatdoiedit=mails".
		"&newmail_login=$email".
		"&newmail_redirect1=".
		"&newmail_pass=$pass".
		"&newmail_redirect2=".
		"&newmail_deliver_localy=yes".
		"&addnewmailtodomain=Ok";
	file($url);
}
?>

but the new code just replace the adm_pass with something
random in the forms and URL of the customer's GUI... Those
are then compared to the stored value in SQL with an expiration
timestamp.

06-10-04: Released version 0.15.0-R7.
Thomas: Added 404 domain for whenever a FQDN points
to the server but no Vhost is associated (previously
it was using the first Vhost in alphabetical order),
wich I called 404 subdomain. Also a standard
ErrorDocument 404 is installed automaticaly.

Damien:
Added a flag in config to show/hide passwords in the
interface.

Thomas & damien:
Now using installer to create .htpasswd and .htaccess of
the root consol.

Thomas:
Checked SASL and patched for whenever a box has no support
for it (Damien: how to install that in woody? For final
customer, just add "secure auth" in outlook and that's it!

Added a flag in installer for verbosivity, it was NOT
possitble to continue like that! :)0

01-10-04:
Damien:
Postfix now has SASL SMTP AUTH support, and the sasldb file is
generated along with the rest of the postfix generation.

Also, a few tidy ups in regards to tmp file usage, it's now
using mktemp, and also other bashisms removed.

1-10-04: V0.15.0-R6
Added italian translation thanks to lupin3rd@gmx.it, .htaccess
and .htpasswd are now created if not exists under install.
R3 4 and 5:
Thomas & damien:
Resolved pear install under Debian by a stupidly long php version
checking.

Thomas:
Added 2 new nice skins, debuged access log dump so webalizer
statistics are ok. Added an option to have domain preview if
unresolved. This was incompatible with reselling subdomains...
Also this could enable cross-site scripting if enable,
because of running under the same domain. Happily, DTC does
not have a lot of stuff in session (who said sessions are
secured?)! :)

31-08-04: V0.15.0-R2 improved the way DTC handles non-resolveable
domains aliasing: now it uses open_basedir like for normal vhosts,
so users can't screw up other's users files.
The installer now checks if runnin under debian. If not, it does
NOT check for apache modules !!! It will be up to the Unix you are
using to do the job (you have been warned).

18-08-04: DTC now handles SBOX wich is a cgi-wrapper: it does chroot,
suexec, and some memory and processor limitation.

Dovecot configuration now uses PLAIN instead of CRYPT because it seemed
to have some problems.

The installer will now systematicaly regenerate files for named and apache
and the installer has precedence over the mysql inserted values (an update
is done durring install before launching the cron job). That means that
you will have to do a dpkg-reconfigure to change mta type BEFORE upgrading
to a newer version of DTC in the case you have switched to a new mail
system.

2004-08-10: The latest add of a db_stop was breaking installation under
Debian Sarge or Sid (testing or unstable) when using modules-config. Version
0.12.0-R2 correct this: the db_stop is now done just before the launch of
the cron.php script. This release also adds the generation of
/etc/pam.d/smtp file with the correct configuration. If you are using
postfix-tls and pamd, then this should configurate your SMTPD server to use
DTC's database.

2004-08-04: Added some basic start for mailling list manager.

2004-08-03: Version 0.14.0-R1 correct some minor bugs of 0.14.0-R0:
access.log is now correctly dumped from sql so webalizer stats are now
working again (was broken only in 0.14.0-R0), in the bandwidth monitor, in
the graphic wich shows monthly usage over quota periodes are shown in red,
and it works even if you haven't setup a quota for your user (all will then
be drawn in red). Last thing: when installing DTC, it sometimes has to
start/restart daemons. Under Debian, and since the begining of DTC's debian
package, it was hanging at end of install script because it was waiting for
daemon to finish to execute, wich of cource never occurs. Now a db_stop
fixes that and DTC can now install all OK even on a fresh Debian install.
DTC will be version 1.0 as soon as Mailman support is finished.

2004-07-17: A big bunch of new stuff for 0.12.0-R8:
- Now includes support for both Postfix, Courier and Dovecot. Trafic monitor
is being written for those. Imap trafic monitor is beeing added too. The
Qmail vs Postfix discution is now over! Thanks to Damien Mascord (from
tusker.org) for his very good work on that part.
- Added some spanish (someof was missing) and (all) chinese translations,
DTC is now fully internationnalised.
- Added some stuff in the CRM manager (root admin console) so there is not
need to do some hacks in phpmyadmin any more. You can add and remove some
admins to customer now.
- Change mysql password fully working.
- Change of FTP path re-works.
- DTC now has a popup for changing skins. Now comes with 5 different skin to
choose from. All the config panel has been reviewed and split in 4 screens.
- The bandwidth monitor now includes a 12-month view of each customer trafic
usage.
- There is now an option to use [at]domain.com ftp login (enabled by
default). - DTC works also with Debian Unstable and Woody using nicely
moduleconfig if available.

24/06/2004:
- Network (ftp) backup now includes database backup
- Reviewed and updated MX generation in zonefiles. Now it's possible
to setup some backup MX servers for DTC thanks to the new generated
morercpthosts file.

21/06/2004:
- Install script now uses a backup/restor script so it's easyer to add
some fields in previous tables (automatic addon to sql is done when
installing, you don't have to worry anymore about your database
upgrades !!!).
- Added some spanish and chinese translations.

12/06/2004:
- Added some stuff in the CRM manager (root admin console) so there is
not need to do some hacks in phpmyadmin any more.
- Added chinese translation. Did some more internationalisation (only
remaining todo tucows api need to be translated).
- Changed some stuff for the BSD OS. Now DTC is integrated in the
FreeBSD port collection.
- Change mysql password fully working.
- Change of FTP path re-works.
- DTC now has a popup for changing skins. Now comes with 5 different
skin to choose from.

12/4/2004:
Added lot's of stuff to the install process, because I was bored to do
it manualy. /etc/resolv.conf and httpd.conf are now edited automaticaly.

7/1/2004:
Added some changes needed for BSD:

Added custom path for generated config files and dtc shared directory
during install: this depends on the OS type and where BSD installed
and must be set accordingly (mainly for FreeBSD and for demo version
for example).

The cronscript is now configurable, so you can setup apachectl path
for restarting apache. You can tell also if you need to check if
qmail-pop3d is running (small debian watchdog). Please disable that
feature with, or rewrite another script with it's specificities.

29/12/2003:
This release 0.12.0-1 comes with a BSD port totaly
integrated with DTC package maker. So BSD port install script
is totaly scynchronised to other BSD release. It has been tested
and declared working. Some minor bugs of the BSD installer has been
found since: checkout before in this text file.

DTC now comes with complete bandwidth monitoring tool for all supported
service: apache using mod_log_sql, proftpd using it's sql features, and
qmail using mysqmail tar.gz qmail trafic monitoring package (see in
ftp://gplhost.com/pub for mysqmail latest release).

Many things have changed since the introduction of the
DB version field. I will soon have to release script...

Label was not correct in the domain configuration table.
It was not "Webalizer", but "Name zone file generate". It's
now corrected.

There is now the possibility to have a dynamic IP (given
for example by your ISP using DHCP for your home connection)
updated to any domain name.

1/11/2003 (v0.11.1-27):
A script that check for apache directories (and create them
if needed) is now genearted at the same time as apache vhosts.
It's launched before apache restart in the cronjob.

BSD package now configurate automaticaly the named.conf and the
/etc/rc.conf so named is started at boot time, with correct
inclusion (thanks to Cybile).

When DNS configuration is modified (eg, primary server is not default)
DTC now removes completly FTP, MX, Apache and Subdomains configuration
interface because that means the user is leaving the hosting service.

Removed a "/" at the end ScriptAlias under the generation of Apache
VHOST file.

Added whois config display for DTCRM module. Modified a lot of the
drawings to use the new "dtcrm" module for commercial care of your
customer (this module will be SOLD, as long as it's for doing
business: I wont give my work for free so someone else has my customers,
I'm not THAT mad...).
ALTER TABLE config ADD whois enum('here','away','linked') NOT NULL default 'away';

Added caching of generated image files for the tree menu. Now
take the advantage of your browser's cache and save bandwith and
server CPU ! :)

All files in bin (for makeDTC pakage) have been touch this time.
In one night, I've build a BSD package with a friend. I'm realy
happy of it !
Now a single "makeDTC" do packaging for both:
- RedHat (.rpm)
- Debian (.deb)
- FreeBSD (.tar.gz)
- Generic all Unix install (.tar.gz)
- CVS_SNAPSHOT (including all files to rebuild packages) (.taz.gz)

client/inc/img.php
img.php now has good colors even when
register_globals is set to Off (wasn't
fetching the $color param). Now you can see back
again when a link is selected or not.

admin/inc/gen_named_files.php
Corrected a bug in gen_named_files.php that were
not generating default ftp/pop/smtp zones when not
added manualy.

shared/strings.php
Corrected a bug in MySql account manager in french
version (the link for adding a new mysql user was
broken.

24-09-2003 by Thomas GOIRAND <thomas [ at ] goirand.fr>
------------------------------------------------
Lot's of updates in this release. Leaving beta
stage, and becoming version 1.0 very soon, when
RPM works.

admin/inc/submit_root_queries:
New dommain are now added with the $conf_site_main_ip
instead of the default IP value in MySQL db, wich
is better because understandable for final user.
The final option should be to have a popup near
the "add domain to admin" so it would be possible
to select IP addr during domain creation.

admin/inc/draw_user_admin.php:
New user admin form is now a password

admin/index.php & shared/anotherDtc.php:
Removed the language selection form the top
banner of the client interface : language has
to be choosen before login, by the way...

admin/inc/dtc_config.php:
Now any modification in this panel make all deamon update
run in next cronjob. Could be better checking what changes,
but too complicate and long to do.

admin/inc/dtc_config.php & admin/inc/gen_pro_vhost.php:
Finished the "nated vhost" in the configuration panel
(now operational for generation vhost for apache).
If you have a apache server binded to local area
network, you need vhost to correspond to that IP,
even if the name server gives the external IP.
This is the reason of that option (thanks to Thorin
for beta testing my software and giving me the
correct environement for testing).
WARNING !!! table structure of config table has changed.
Issue the following SQL query to upgrade :
ALTER TABLE config ADD db_version int(11) NOT NULL default '10000';
ALTER TABLE config ADD use_nated_vhost enum('yes','no') NOT NULL default 'no';
ALTER TABLE config ADD nated_vhost_ip varchar(16) NOT NULL default '192.168.0.2';

17-09-2003
shared/inc/submit_to_sql.php & admin/inc/gen_named_files.php:
It is now possible to change the ip of ftp/smtp/pop. If it's
not set by the adminuser, then it will be default. Otherwise
it will have the setuped IP addresse (or once again default
if used as a web subdomain leaving IP umpty). Very conveinient.

dtc/admin/cron.php:
Now does not do a "/etc/init.d/qmail stop/start", and a mutch
better "kill -HUP `pidof qmail-send`" for reloading qmail's
files in /var/qmail/control

dtc/admin/inc/dtc_config.php & dtc/admin/inc/dtc_config_string.php:
Added configuration for using ssl & javascript in the configuration
panel. Added SSL generation for the dtc vhost so you can use
https://dtc.maindomain.com if ssl is enabled (not enabled by
default). DTC is using the following cert files :
new.cert.cert  new.cert.csr  new.cert.key  privkey.pem
all located in /etc/apache/ssl. You can issue the following
shell commands to generate ssl key files using openssl :

mkdir -p /etc/apache/ssl; cd /etc/apache/ssl
[quoting apache-ssl.org]
Step 1 - create the key and request:
  openssl req -new > new.cert.csr
Step 2 - remove the passphrase from the key (optional):
  openssl rsa -in privkey.pem -out new.cert.key
Step 3 - convert request into signed cert:
   openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 365
[/quoting apache-ssl.org]

bin/sources/uninstall_deamons.sh:
Corrected uninstall of named.conf install that wasnot
removing the include directive (this ending to double include
if dtc was reinstalled).
Uninstall of proftpd remains buggy, but install of
UserReverseDNS has been removed (not supported in
newer versions of profptd).

The install script was simlinking /var/qmail/control/locals to
/usr/share/dtc/etc/rcpthosts wich is completly wrong. Forgive
me for that mistake.

bin/sources/setup_mysql_db.sh & admin/tables/cron_job.sql :
The install script does not longer can install a double
cron_job row thanks to a unic key. Table structure of
cron_job & config tables has changed : WARNING !!!
Please verify that cron_job & config tables have each only
one row, and issue the following mysql command before
upgrading to a newer DTC version:
ALTER TABLE cron_job ADD unicrow INT DEFAULT '1' NOT NULL;
ALTER TABLE cron_job ADD UNIQUE (unicrow);
ALTER TABLE config ADD use_ssl ENUM('yes','no') DEFAULT 'no' NOT NULL;
ALTER TABLE config ADD unicrow INT DEFAULT '1' NOT NULL;
ALTER TABLE config ADD UNIQUE (unicrow);

bin/sources/setup_mydql_db.sh :
added insertion of the subdomains ns1 and mx for the main 
hosting domain.

admin/inc/gen_pro_vhost.php :
Removed a nasty bug that made the NameVirtualHost generation
take only the last IP adresse. (= instead of .= in the sources).
Now it check for each IP if it is used, so the directive is
inserted only if needed thus avoiding the warning
NameVirtualHost IP.A.D.R:80 has no VirtualHosts
26-02-2003 by Jelle kalf

 -- Jelle Kalf <jelle@kalf.org> 2003-02-26
 
- Fixed all dutch languages
- Fixed a nightly CVS-build in tar.gz and tar.bz2


- The domain table have now 3 new fields.

dtc (0.10.7-1)

  * First attempt to a debian package

 -- Thomas GOIRAND <thomas [ at ] goirand.fr> 2003-02-20

19-02-2003 by Thomas GOIRAND

- Mysql account manager done. DTC has to have access to the privilege
database (called "mysql" database under mysql) to be able to commit changes
it the MySQL rights tables.
- A cron job now exists. Install it on your root crontab (/etc/crontab) with
the following parameters (here started each 10 minutes):
00,10,20,30,40,50 * * * * root /usr/bin/php4 /usr/share/dtc/admin/cron.php
It does the following task, whenever needed :
	o Generate config files for vhosts named qmail webalizer and backups
	o Launch /var/qmail/bin/qmail-newu
	o restart qmail when a domain is added/removed
	o reload_named when a domain name changes
	o restart_apache when a domain name changes
- Removed some specific Anotherlight stuff in the tables


17-02-2003 by Thomas GOIRAND

- DTC is now in /usr/share/dtc with 4 directories: admin, client, shared and
etc (the last one is where dtc files are stored now).
- New skin library for easyer graphics customisation.
- Qmail & apache sub-domains are now handled with the saved admin's path.
- New autoSQLconfig.php script for setuping DTC at first launch (mysql
connection and table creation). All the internal config.inc.php stuff is now
handled in database under the "config" table. All fields in this table are
processed and a $conf_FIELD_NAME global variable is created.
- No mysql_connect() call in file-generation scripts anymore. Connection is
supposed to be done before in autoSQLconfig.php.
- Some unused globals have been removed from gen_* and fetch.php scripts.
- delete all mailbox, ftp accounts and subdomain when deletting a domain name
- delete all mailbox, ftp accounts subdomain and domain names when deletting
a user
- delete files (rm -r) when deleting most objects (at now : domain names and
virtual admins files are deleted when deleting a domain name or a virtual
admin : Mailbox files and subdomain files are NOT deleted, because it's up
to the virtual admin to do it, and they can be newbies...)
- when a user is created, it's username is happened to the "main_site_root",
so there is no risks anymore that a user share the same path as another one.
Less risks also to "rm -r" all hosted files on the box when deleting a user,
because that user directory wont be in the hosting directory root.

Changes to D.T.C. by J.R. Kalf (jan 2003)

1. Split D.T.C. into 3 parts
  - DTCclient
    - /usr/local/dtcclient
	- Alias /dtc  /usr/local/dtcclient
  - DTCshared
    - /usr/local/dtcshared
	  - no alias thingy needed in apache.
  - DTCadmin
    - $admin_site/dtcadmin/

  - DTCclient
	- changed the include config.inc.php into a REQUIRED.
	  All references to the DTC shared stuff <which is needed for both the client 
	  and the admin dtc> is done in config.inc.php with the $dtcshared_path 
	  variable. All that needs to be done by the user is change this path to 
	  config.inc.php in the login.php file for DTCclient.
	- The img.php is included in inc/img.php in both the DTCadmin and DTCclient. 
	  This is because it's needed in both, but it's called upon via URL, so I 
	  couldn't use a absolute filesystempath to the file and I didn't want to
	  make an alias for apache to the dtcshared directory. Clients have no use
	  for that directory and I don't want them to be able to view the 
	  config.inc.php with the username and password to the database in any way.
	  I included it in both DTCadmin/inc and DTCclient/inc to make sure I 
	  wouldn't reference the DTCclient in anyway to the location where the
	  administrator is configuring everything for the server.
  
  - DTCadmin
	- changed the include config.inc.php into a REQUIRED.
	  All references to the DTC shared stuff <which is needed for both the client
	  and the admin dtc> is done in config.inc.php with the $dtcshared_path 
	  variable. All that needs to be done by the user is change this path to 
	  config.inc.php in the index.php file for DTCadmin.
	- Organised the require and include lines in the top of index.php to easily show
	  if a included or required file is part of the shared or admin only directory.
	  
  - DTCshared
	- changed skin.php
	  - had to fix the reference to img.php as described above.
	- changed anotherDtc.php
	  - fixed location of all graphics to "gfx/" instead of "/gfx/"
	    This does mean that both DTCadmin and DTCclient have to have a gfx
		directory, but this will prevent another alias to have to be made in Apache.
			And I find it easier to know that if I change my clients point of view
		I keep my trusty look for administrating things.. My look doesn't have 
		to change, it just has to be functional.
	- Changed skin.php again.
	  - line 161
	  - was: 	$path = "/gfx/cadre";
	  - is: 	$path = "gfx/cadre";

2. Translating D.T.C. to Nederlands <dutch>
   - Translated the strings.php and added an entry in the lang.php.
     I couldn't fix the pictures, maybe you could add a picture called with 
	 the name "Nederlands" er in.
   - added: iso-8859-15 as default font. Why -15 instead of -1, because -15 is the
     new fontset including euro signs and other new stuff.

3. Fixed an error in anotherDtc.php
   - line 9: function anotherLanguageSelection
     - on line 10 it stated: global $PHP_SLEF;
	   I fixed it to: global $PHP_SELF;
	   Think this was a little typing error?!


4. PHP lockdown in apache
   I've shown you how to do it already, so I'll skip them basics. I've changed
   config.inc.php and gen_pro_vhost.php.
   
   config.inc.php
     - added 2 variables in the vhost section.
	   - php_library_path = "/usr/lib/php/";
	     pointing to the library section of you php installation.
	   - php_additional_library_path = "/location/to/my/php/libraries/:/tmp/";
	     Pay attention here. Every path has to end with a / and between paths
		 you need to put a : .
		 
	   Incase you're using something like a shared webmail client 
	   <I use horde/imp> and shared phpmyadmin installation you need to add 
	   their paths into the paths as well because this lockdown closes down ALL
	   .php files outside your php paths.

  gen_pro_vhost.php
    - added some globals:
	  global $php_library_path;
	  global $php_additional_library_path;
	  global $data_path;
	  global $administrative_site;

Removed the entire part where all subdomains were written to the Vhosts file 
and created a new IF statement that will seperate the administrative 
site/subdomain from the rest of all webdomains/subdomains.
I've started deleting the code just after the FOR statement that which
was fetching the subdomain from the database and started writing the
vhost file. Starting at that FOR statement:
------------ CODE ------------
		for($j=0;$j<$num_rows2;$j++){
			$subdomain = mysql_fetch_array($result2) or die ("Cannot fetch user");
			$web_subname = $subdomain["subdomain_name"];
-=>         if($administrative_site == "$web_subname.$web_name"){
			  $vhost_file .= "<VirtualHost $ip_to_write>
	ServerName $web_subname.$web_name
	Alias /phpmyadmin /usr/share/phpmyadmin
	Alias /dtc /usr/local/dtcclient
	Alias /webmail /usr/local/horde/imp
	Alias /horde /usr/local/horde
	Alias /cms /usr/local/cms
	Alias /stats $web_path/$web_name/subdomains/$web_subname/logs
	DocumentRoot $web_path/$web_name/subdomains/$web_subname/html/
	ScriptAlias /cgi $web_path/$web_name/subdomains/$web_subname/cgi-bin/
	CustomLog $web_path/$web_name/subdomains/$web_subname/logs/access.log combined
	ErrorLog $web_path/$web_name/subdomains/$web_subname/logs/error.log
	DirectoryIndex index.php index.cgi index.pl index.htm index.html index.php4
</VirtualHost>

";
		} else {
			  $vhost_file .= "<VirtualHost $ip_to_write>
	ServerName $web_subname.$web_name
	Alias /phpmyadmin /usr/share/phpmyadmin
	Alias /dtc /usr/local/dtcclient
	Alias /webmail /usr/local/horde/imp
	Alias /horde /usr/local/horde
	Alias /cms /usr/local/cms
	Alias /stats $web_path/$web_name/subdomains/$web_subname/logs
	DocumentRoot $web_path/$web_name/subdomains/$web_subname/html/
	<Location />
		php_admin_value open_basedir \"$web_path/$web_name/subdomains/$web_subname/:$php_library_path:$php_additional_library_path:\"
	</Location>
	ScriptAlias /cgi $web_path/$web_name/subdomains/$web_subname/cgi-bin/
	CustomLog $web_path/$web_name/subdomains/$web_subname/logs/access.log combined
	ErrorLog $web_path/$web_name/subdomains/$web_subname/logs/error.log
	DirectoryIndex index.php index.cgi index.pl index.htm index.html index.php4
</VirtualHost>

";
		}
------------ /CODE ------------

	I've included in this lockdown the subdomain of every site so it can be 
	viewed for files like password files <example, I use .htaccess files and I 
	do not keep them htpasswd and htgroup files inside my html directory, but 
	in a differently named directory 1 level upwards.> 
	So it's locked down in the directory above "html".
    
	!!! note, currently the Administrative site does NOT have a lockdown. 
	I don't think it will be necessary in the future, but just so you know.
	Also a good point for people to know is that the administrative_site is narrowed down
	to 1 single subdomain!!!

  - Changed the Directory index to take more different kind of files :P
    I got a bugzilla running and it required to have .cgi and .pl running also.
	Also a LOAD of people are using windows style of index files so I added .htm
	as well.
