View Single Post
Old 26th April 2009, 09:39
falcontx falcontx is offline
Junior Member
Join Date: Apr 2009
Posts: 2
Thanks: 1
Thanked 1 Time in 1 Post

I had this same problem and figured it out with switching to mydns-ng. I had considered switching to mydns-ng until I found out that it's still in development and there has yet to be a "stable" release. In it's current state, mydns-ng is not suitable for use on our production servers.

In post #8, you posted the check_xfer function from axfr.c. That function contains the following query:
	querylen = snprintf(query, sizeof(query), "SELECT xfer FROM %s WHERE id=%u%s",
		mydns_soa_table_name, soa->id, mydns_rr_use_active ? " AND active=1" : "");
The problem is that the query is looking for "active=1" in the dns_soa table. However, in ISPConfig (and probably the SVN, as well), the "active" field in the dns_soa table is type "enum('N', 'Y')", so that query will always fail.

If you wish to keep mydns, there are two solutions. Either:

1) Change that query in axfr.c to check for "active='Y'" instead of "active=1" and recompile mydns.

2) Alter the "active" field in the dns_soa table to type "int" or "tinyint" and change lines 178-179 of "/usr/local/ispconfig/interface/web/dns/form/dns_soa.tform.php" to the following:
                        'default'       => '1',
                        'value'         => array(0, 1)
and change lines 92-94 of "/usr/local/ispconfig/interface/lib/classes/" to the following:
                                if(strtolower($rec[$key]) == '1' or strtolower($rec[$key]) == '0') {
                                        // Set a additional image variable for boolean fields
                                        $rec['_'.$key.'_'] = (strtolower($rec[$key]) == '1')?'x16/tick_circle.png':'x16/cross_circle.png';

Last edited by falcontx; 15th May 2009 at 09:36.
Reply With Quote