Version 1.28.2

Released: 2006-12-18


api for "local mailserver".

method: GET or POST

return usual api output, including error=0|1 with text= and details=

To view the setting, use:


it will return:


For MX record output, use:


custom scripts for deleting a database.

They're run before and/or after the database is deleted (should they exist).

add random password button for modify pop pass (SKINS) new

random password button has been added for modifying a email accounts' password.




<script language="Javascript">


// -->


<form name=info action="CMD_EMAIL_POP" method="post">


<form name=reseller action="CMD_EMAIL_POP" method="post">

and add:

<input type=button value="Random" onClick="randomPass()">

after the 2nd hidden password field (the "Leave blank..." is after the 1st one)

Redirect type option (SKINS) (API) new

option to chose what type of redirect is used.

SKINS (not absolutely required):



<tr><td class=list>Redirect Type</td><td class=list><select name=type>
<option value="301">301 - Permanent</option>
<option value="302" selected>302 - Temporary</option>
<option value="303">303 - Replaced</option>

If you don't insert this, it will default to 302 - Temporary.

API additions:

In order for you to be able to see what type is added

CMD_API_REDIRECT will have an "apitype=yes" option you can pass with GET (not POST) when viewing the list, and the type will be included in the config file output.

With apitype=yes, the result will be double encoded:




run mini tally in background process after domain deletion new

When you delete a domain, the disk usage and totals are recounted for the domain. This change will move them to a different process so that larger accounts don't timeout when trying to delete the domain (by larger, I mean very large)

The process will actually just be the dataskq. The command:


will be added to the task.queue

Note that you can also run:

echo "action=quotatally&value=all" >> /usr/local/directadmin/data/task.queue

if you want. This would be a good choice to update your stats more often.

Note that bandwidth is not counted here. Only disk usage and totals (number of items) are counted with this quotatally.

In the system.log, the usual tally entries will show up, but with this, it will show the mask, eg:

Tally User admin Begin: mask 20

This lets you know what the tally is actually looking at.

If no mask is present, eg:

Tally User admin Begin

then everything is checked.

The mask layout is as follows:

#define TLY_MASK_TOTALS 16

so.. that means a mask of 20 = 16+4, so we have totals + quotas in the above example.

ip_whitelist for DA logins new

add an ip_whitelist for the DA login, so that you don't accidentally block yourself.

File is:


If your IP is in the file, you cannot be added to the blacklist.

If you are already in the black, and your IP is in this file, you can login.

An addition to the:


was entered for the ip_whitelist, so you can add/remove IPs from within DA.

The file does not need to exist (unless of course, you wan't to use the feature)

Admin Level Backups (SKINS) new

The backup portion of this feature will work similarly to the Reseller Level Backups, except there is a new naming convention for the files.

The format is:

where type is one of:

user, reseller or admin

creator is the name of the person who created this account

name is the name of the account.

With this, the admin is able to backup all accounts on the server using a single cronjob without needing to login to each reseller account.

The assignement of IPs for Reseller's/Admins that are to be created on the server is extremely complex internally.. not too bad at the interface. If you tell it to try to use the IPs from ip.list in the backup, DA will try.. but if it fails and no IPs in that list work, it will give him the server IP. If it succeeds, it will give that reseller those IPs from his ip.list file, try to assign his account to the IP in his user.conf file, and also set up that IP as specified by the ip= value in his reseller.conf (shared, sharedresller, or owned)... where his domain would be setup on the ip as it was previously.. possibly on his own IP.

If you select 1 single IP (instead of "use ip from file), then only that IP will be assigned to the reseller. His ip.list will be ignored, and it would be up to the admin to go to the Admin Level -> IP Manager to assign him IPs after he's creaed, before assigning other users to him... although, the IP selection is currently quite relaxed, so an admin could in theory create users on IPs that dont' belong to any reseller yet, and assign them later.. this might be useful and just less stressful for admins, so might stay 😉

if "serverip=ON" in the reseller.conf, then the server IP will also be assigned to the resellers ip.list.

The new naming format is also flexible... the old "user.tar.gz" files can be restored into the admin level backups... but will be created as users (if the account doesn't already exist) under the admin account (that is doing the restore).

Make sure you actually click the "Submit" button with your mouse, and do not rely on the Enter key to submit your form. It's been found that some browsers will submit other forms on that page, regardless of where your cursor was located. Using your mouse to click submit will ensure the browser is submitting the form you're expecting.


Dont start coding this yet if you have custom skins. It's not complete, will be changed. I've also only set it up for the enhanced skin at this time. It won't be translated to the other skins until it's complete and ready for regular testing.

bandwidth.reseller.tally fixed

If a Reseller deletes a User, add the bandwidth used by that user to this file.

It will remain permanently (for the duration of the month) each time a user is removed. (a user removed twice will be added twice). This is to sure that user's usage isn't lost when the account is removed.

scan the type=email in the bandwidth.tally for duplicate id= fixed

During the tally.. if type=email, method=outgoing, and there exists id=# ... this feature will record that # to make sure that it's not counted twice.

Admins will need to update their exim.conf and in order to have the id=# logged. This will fix duplciate outbound size entries that are falsely increasing the email traffic for users (emails stuck in the outbound queue)

save the private_html option in the backups, and restore it.



in the backup/domain.conf file.

Link is then created when restoring the account via the Reseller Level (or higher).

shared mysql users not being restored fixed

if 1 mysql user was being used on multiple databases, during the restore to a new server, the user was only added to the first database. This fix adds the user to all databases he was previously assigned to.

Last Updated: