Alternc  latest
Alternc logiel libre pour l'hébergement
 All Classes Namespaces Files Functions Variables Pages
system_bind Class Reference

Public Member Functions

 system_bind ()
 
 conf_from_db ($domain=false)
 Return the part of the conf we got from the database. More...
 
 get_zone_file_uri ($domain)
 Return full path of the zone configuration file. More...
 
 get_zone_file ($domain)
 
 get_serial ($domain)
 
 get_persistent ($domain)
 Return lines that are after ;;; END ALTERNC AUTOGENERATE CONFIGURATION. More...
 
 get_zone_header ()
 
 get_domain_summary ($domain=false)
 
 dkim_delete ($domain)
 
 dkim_generate_key ($domain)
 Generate the domain DKIM key. More...
 
 dkim_refresh_list ()
 Refresh DKIM configuration: be sure to list the domain having a private key (and only them) More...
 
 dkim_entry ($domain)
 
 mail_autoconfig_entry ($domain)
 Conditionnal generation autoconfig entry for outlook / thunderbird If entry with the same name allready exist, skip it. More...
 
 get_zone ($domain)
 Return a fully generated zone. More...
 
 reload_zone ($domain)
 
 is_locked ($domain)
 return true if zone is locked More...
 
 save_zone ($domain)
 
 delete_zone ($domain)
 Delete the zone configuration file. More...
 
 reload_named ()
 
 regenerate_conf ($all=false)
 Regenerate bind configuration and load it. More...
 

Public Attributes

 $ZONE_TEMPLATE ="/etc/alternc/templates/bind/templates/zone.template"
 
 $NAMED_TEMPLATE ="/etc/alternc/templates/bind/templates/named.template"
 
 $NAMED_CONF ="/var/lib/alternc/bind/automatic.conf"
 
 $RNDC ="/usr/sbin/rndc"
 
 $dkim_trusted_host_file = "/etc/opendkim/TrustedHosts"
 
 $dkim_keytable_file = "/etc/opendkim/KeyTable"
 
 $dkim_signingtable_file = "/etc/opendkim/SigningTable"
 
 $cache_conf_db = array()
 
 $cache_get_persistent = array()
 
 $cache_zone_file = array()
 
 $cache_domain_summary = array()
 
 $zone_file_directory = '/var/lib/alternc/bind/zones/'
 

Private Member Functions

 dummy_for_translation ()
 

Detailed Description

Definition at line 4 of file class_system_bind.php.

Member Function Documentation

system_bind::conf_from_db (   $domain = false)

Return the part of the conf we got from the database.

Parameters
globalm_mysql $db
string$domain
Returns
array $this->cache_conf_db

Definition at line 34 of file class_system_bind.php.

References $cache_conf_db, $db, $domain, and $t.

Referenced by get_zone(), and mail_autoconfig_entry().

34  {
35  global $db;
36  // Use cache, fill cache if empty
37  if (empty($this->cache_conf_db)) {
38  $db->query("
39  select
40  sd.domaine,
41  replace(replace(dt.entry,'%TARGET%',sd.valeur), '%SUB%', if(length(sd.sub)>0,sd.sub,'@')) as entry
42  from
43  sub_domaines sd,
44  domaines_type dt
45  where
46  sd.type=dt.name
47  and sd.enable in ('ENABLE', 'ENABLED')
48  order by entry ;");
49  $t=array();
50  while ($db->next_record()) {
51  $t[$db->f('domaine')][] = $db->f('entry');
52  }
53  $this->cache_conf_db = $t;
54  }
55  if ($domain) {
56  if (isset($this->cache_conf_db[$domain])) {
57  return $this->cache_conf_db[$domain];
58  } else {
59  return array();
60  }
61  } // if domain
62  return $this->cache_conf_db;
63  }
global $db
Definition: bootstrap.php:22
$t
Definition: dom_editdns.php:58
$domain
Definition: dom_import.php:40
system_bind::delete_zone (   $domain)

Delete the zone configuration file.

Parameters
string$domain
Returns
boolean

Definition at line 410 of file class_system_bind.php.

References $domain, dkim_delete(), and get_zone_file_uri().

Referenced by regenerate_conf().

410  {
411  $file=$this->get_zone_file_uri($domain);
412  if (file_exists($file)) {
413  unlink($file);
414  }
415  $this->dkim_delete($domain);
416  return true;
417  }
get_zone_file_uri($domain)
Return full path of the zone configuration file.
dkim_delete($domain)
$domain
Definition: dom_import.php:40
system_bind::dkim_delete (   $domain)
Parameters
string$domain
Returns
boolean

Definition at line 165 of file class_system_bind.php.

Referenced by delete_zone().

165  {
166  $target_dir = "/etc/opendkim/keys/$domain";
167  if (file_exists($target_dir)) {
168  @unlink("$target_dir/alternc_private");
169  @unlink("$target_dir/alternc.txt");
170  @rmdir($target_dir);
171  }
172  return true;
173  }
system_bind::dkim_entry (   $domain)
Parameters
string$domain
Returns
string

Definition at line 267 of file class_system_bind.php.

References $domain, dkim_generate_key(), and get_domain_summary().

Referenced by get_zone().

267  {
268  $keyfile="/etc/opendkim/keys/$domain/alternc.txt";
269  $domainInfo = $this->get_domain_summary($domain);
270  if (! file_exists($keyfile) && $domainInfo['gesmx'] ) {
271  $this->dkim_generate_key($domain);
272  }
273  return @file_get_contents($keyfile);
274  }
dkim_generate_key($domain)
Generate the domain DKIM key.
get_domain_summary($domain=false)
$domain
Definition: dom_import.php:40
system_bind::dkim_generate_key (   $domain)

Generate the domain DKIM key.

Parameters
string$domain
Returns
null|boolean

Definition at line 181 of file class_system_bind.php.

References $domain, and get_domain_summary().

Referenced by dkim_entry().

181  {
182  // Stop here if we do not manage the mail
183  $domainInfo = $this->get_domain_summary($domain);
184  if ( ! $domainInfo['gesmx'] ) return;
185 
186  $target_dir = "/etc/opendkim/keys/$domain";
187 
188  if (file_exists($target_dir.'/alternc.txt')) return; // Do not generate if exist
189 
190  if (! is_dir($target_dir)) mkdir($target_dir); // create dir
191 
192  // Generate the key
193  $old_dir=getcwd();
194  chdir($target_dir);
195  exec('opendkim-genkey -r -d '.escapeshellarg($domain).' -s "alternc" ');
196  chdir($old_dir);
197 
198  // opendkim must be owner of the key
199  chown("$target_dir/alternc.private", 'opendkim');
200  chgrp("$target_dir/alternc.private", 'opendkim');
201 
202  return true; // FIXME handle error
203  }
get_domain_summary($domain=false)
$domain
Definition: dom_import.php:40
system_bind::dkim_refresh_list ( )

Refresh DKIM configuration: be sure to list the domain having a private key (and only them)

Definition at line 208 of file class_system_bind.php.

References $domain, and get_domain_summary().

Referenced by regenerate_conf().

208  {
209  // so ugly... but there is only 1 pass, not 3. Still ugly.
210  $trusted_host_new = "# WARNING: this file is auto generated by AlternC.\n# Add your changes after the last line\n";
211  $keytable_new = "# WARNING: this file is auto generated by AlternC.\n# Add your changes after the last line\n";
212  $signingtable_new = "# WARNING: this file is auto generated by AlternC.\n# Add your changes after the last line\n";
213 
214  # Generate automatic entry
215  foreach ($this->get_domain_summary() as $domain => $ds ) {
216  // Skip if delete in progress, or if we do not manage dns or mail
217  if ( ! $ds['gesdns'] || ! $ds['gesmx'] || strtoupper($ds['dns_action']) == 'DELETE' ) continue;
218 
219  // Skip if there is no key generated
220  if (! file_exists("/etc/opendkim/keys/$domain/alternc.txt")) continue;
221 
222  // Modif the files.
223  $trusted_host_new.="$domain\n";
224  $keytable_new .="alternc._domainkey.$domain $domain:alternc:/etc/opendkim/keys/$domain/alternc.private\n";
225  $signingtable_new.="$domain alternc._domainkey.$domain\n";
226  }
227  $trusted_host_new.="# END AUTOMATIC FILE. ADD YOUR CHANGES AFTER THIS LINE\n";
228  $keytable_new .="# END AUTOMATIC FILE. ADD YOUR CHANGES AFTER THIS LINE\n";
229  $signingtable_new.="# END AUTOMATIC FILE. ADD YOUR CHANGES AFTER THIS LINE\n";
230 
231  # Get old files
232  $trusted_host_old=@file_get_contents($this->dkim_trusted_host_file);
233  $keytable_old =@file_get_contents($this->dkim_keytable_file);
234  $signingtable_old=@file_get_contents($this->dkim_signingtable_file);
235 
236  # Keep manuel entry
237  preg_match_all('/\#\s*END\ AUTOMATIC\ FILE\.\ ADD\ YOUR\ CHANGES\ AFTER\ THIS\ LINE(.*)/s', $trusted_host_old, $output_array);
238  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
239  $trusted_host_new.=$output_array[1][0];
240  }
241  preg_match_all('/\#\s*END\ AUTOMATIC\ FILE\.\ ADD\ YOUR\ CHANGES\ AFTER\ THIS\ LINE(.*)/s', $keytable_old, $output_array);
242  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
243  $keytable_new.=$output_array[1][0];
244  }
245  preg_match_all('/\#\s*END\ AUTOMATIC\ FILE\.\ ADD\ YOUR\ CHANGES\ AFTER\ THIS\ LINE(.*)/s', $signingtable_old, $output_array);
246  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
247  $signingtable_new.=$output_array[1][0];
248  }
249 
250  // Save if there are some diff
251  if ( $trusted_host_new != $trusted_host_old ) {
252  file_put_contents($this->dkim_trusted_host_file, $trusted_host_new);
253  }
254  if ( $keytable_new != $keytable_old ) {
255  file_put_contents($this->dkim_keytable_file, $keytable_new);
256  }
257  if ( $signingtable_new != $signingtable_old ) {
258  file_put_contents($this->dkim_signingtable_file, $signingtable_new);
259  }
260 
261  }
get_domain_summary($domain=false)
$domain
Definition: dom_import.php:40
system_bind::dummy_for_translation ( )
private

Definition at line 484 of file class_system_bind.php.

484  {
485  _("The zone file of this domain is locked. Contact your administrator.");
486  }
system_bind::get_domain_summary (   $domain = false)
Parameters
globalm_dom $dom
string$domain
Returns
array Retourne un tableau

Definition at line 148 of file class_system_bind.php.

References $cache_domain_summary, $dom, and $domain.

Referenced by dkim_entry(), dkim_generate_key(), dkim_refresh_list(), get_zone(), mail_autoconfig_entry(), regenerate_conf(), and reload_named().

148  {
149  global $dom;
150 
151  // Use cache if is filled, if not, fill it
152  if (empty($this->cache_domain_summary)) {
153  $this->cache_domain_summary = $dom->get_domain_all_summary();
154  }
155 
156  if ($domain) return $this->cache_domain_summary[$domain];
157  else return $this->cache_domain_summary;
158  }
$domain
Definition: dom_import.php:40
$dom
Definition: whois_test.php:10
system_bind::get_persistent (   $domain)

Return lines that are after ;;; END ALTERNC AUTOGENERATE CONFIGURATION.

Parameters
string$domain
Returns
string

Definition at line 122 of file class_system_bind.php.

References $domain, and get_zone_file().

Referenced by get_zone(), and mail_autoconfig_entry().

122  {
123  if ( ! isset($this->cache_get_persistent[$domain] )) {
124  preg_match_all('/\;\s*END\sALTERNC\sAUTOGENERATE\sCONFIGURATION(.*)/s', $this->get_zone_file($domain), $output_array);
125  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
126  $this->cache_get_persistent[$domain] = $output_array[1][0];
127  } else {
128  $this->cache_get_persistent[$domain] = false;
129  }
130  } // isset
131  return $this->cache_get_persistent[$domain];
132  }
get_zone_file($domain)
$domain
Definition: dom_import.php:40
system_bind::get_serial (   $domain)
Parameters
string$domain
Returns
string

Definition at line 97 of file class_system_bind.php.

References $domain, get_zone_file(), and max.

Referenced by get_zone().

97  {
98  // Return the next serial the domain must have.
99  // Choose between a generated and an incremented.
100 
101  // Calculated :
102  $calc = date('Ymd').'00'."\n";
103 
104  // Old one :
105  $old=$calc; // default value
106  $file = $this->get_zone_file($domain);
107  preg_match_all("/\s*(\d{10})\s+\;\sserial\s?/", $file, $output_array);
108  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
109  $old = $output_array[1][0];
110  }
111 
112  // Return max between newly calculated, and old one incremented
113  return max(array($calc,$old)) + 1 ;
114  }
get_zone_file($domain)
$domain
Definition: dom_import.php:40
system_bind::get_zone (   $domain)

Return a fully generated zone.

Parameters
globalstring $L_FQDN
globalstring $L_NS1_HOSTNAME
globalstring $L_NS2_HOSTNAME
globalstring $L_DEFAULT_MX
globalstring $L_DEFAULT_SECONDARY_MX
globalstring $L_PUBLIC_IP
string$domain
Returns
string

Definition at line 317 of file class_system_bind.php.

References $domain, conf_from_db(), dkim_entry(), get_domain_summary(), get_persistent(), get_serial(), get_zone_header(), and mail_autoconfig_entry().

Referenced by save_zone().

317  {
318  global $L_FQDN, $L_NS1_HOSTNAME, $L_NS2_HOSTNAME, $L_DEFAULT_MX, $L_DEFAULT_SECONDARY_MX, $L_PUBLIC_IP;
319 
320  $zone =$this->get_zone_header();
321  $zone.=implode("\n",$this->conf_from_db($domain));
322  $zone.="\n;;;HOOKED ENTRY\n";
323 
324  $zone.= $this->dkim_entry($domain);
325  $zone.= $this->mail_autoconfig_entry($domain);
326 
327  $zone.="\n;;; END ALTERNC AUTOGENERATE CONFIGURATION\n";
328  $zone.=$this->get_persistent($domain);
329  $domainInfo = $this->get_domain_summary($domain);
330 
331  // FIXME check those vars
332  $zone = strtr($zone, array(
333  "%%fqdn%%"=>"$L_FQDN",
334  "%%ns1%%"=>"$L_NS1_HOSTNAME",
335  "%%ns2%%"=>"$L_NS2_HOSTNAME",
336  "%%DEFAULT_MX%%"=>"$L_DEFAULT_MX",
337  "%%DEFAULT_SECONDARY_MX%%"=>"$L_DEFAULT_SECONDARY_MX",
338  "@@fqdn@@"=>"$L_FQDN",
339  "@@ns1@@"=>"$L_NS1_HOSTNAME",
340  "@@ns2@@"=>"$L_NS2_HOSTNAME",
341  "@@DEFAULT_MX@@"=>"$L_DEFAULT_MX",
342  "@@DEFAULT_SECONDARY_MX@@"=>"$L_DEFAULT_SECONDARY_MX",
343  "@@DOMAINE@@"=>"$domain",
344  "@@SERIAL@@"=>$this->get_serial($domain),
345  "@@PUBLIC_IP@@"=>"$L_PUBLIC_IP",
346  "@@ZONETTL@@"=> $domainInfo['zonettl'],
347  ));
348 
349  return $zone;
350  }
get_domain_summary($domain=false)
get_serial($domain)
mail_autoconfig_entry($domain)
Conditionnal generation autoconfig entry for outlook / thunderbird If entry with the same name allrea...
get_persistent($domain)
Return lines that are after ;;; END ALTERNC AUTOGENERATE CONFIGURATION.
$domain
Definition: dom_import.php:40
conf_from_db($domain=false)
Return the part of the conf we got from the database.
system_bind::get_zone_file (   $domain)
Parameters
string$domain
Returns
string zone file path

Definition at line 80 of file class_system_bind.php.

References $domain, and get_zone_file_uri().

Referenced by get_persistent(), get_serial(), and is_locked().

80  {
81  // Use cache, fill cache if empty
82  if (!isset($this->cache_zone_file[$domain]) ) {
83  if (file_exists($this->get_zone_file_uri($domain))) {
84  $this->cache_zone_file[$domain] = @file_get_contents($this->get_zone_file_uri($domain));
85  } else {
86  $this->cache_zone_file[$domain] = false;
87  }
88  }
89  return $this->cache_zone_file[$domain] ;
90  }
get_zone_file_uri($domain)
Return full path of the zone configuration file.
$domain
Definition: dom_import.php:40
system_bind::get_zone_file_uri (   $domain)

Return full path of the zone configuration file.

Parameters
string$domain
Returns
string

Definition at line 71 of file class_system_bind.php.

Referenced by delete_zone(), get_zone_file(), reload_named(), and save_zone().

71  {
72  return $this->zone_file_directory.$domain;
73  }
system_bind::get_zone_header ( )
Returns
string

Definition at line 138 of file class_system_bind.php.

Referenced by get_zone().

138  {
139  return file_get_contents($this->ZONE_TEMPLATE);
140  }
system_bind::is_locked (   $domain)

return true if zone is locked

Parameters
string$domain
Returns
boolean

Definition at line 369 of file class_system_bind.php.

References $domain, and get_zone_file().

Referenced by save_zone().

369  {
370  preg_match_all("/(\;\s*LOCKED:YES)/i", $this->get_zone_file($domain), $output_array);
371  if (isset($output_array[1][0]) && !empty($output_array[1][0])) {
372  return true;
373  }
374  return false;
375  }
get_zone_file($domain)
$domain
Definition: dom_import.php:40
system_bind::mail_autoconfig_entry (   $domain)

Conditionnal generation autoconfig entry for outlook / thunderbird If entry with the same name allready exist, skip it.

Parameters
string$domain
Returns
string

Definition at line 283 of file class_system_bind.php.

References $domain, conf_from_db(), get_domain_summary(), and get_persistent().

Referenced by get_zone().

283  {
284  $zone= implode("\n",$this->conf_from_db($domain))."\n".$this->get_persistent($domain);
285 
286  $entry='';
287  $domainInfo = $this->get_domain_summary($domain);
288  if ( $domainInfo['gesmx'] ) {
289  // If we manage the mail
290 
291  // Check if there is no the same entry (defined or manual)
292  // can be toto IN A or toto.fqdn.tld. IN A
293  if (! preg_match("/autoconfig(\s|\.".str_replace('.','\.',$domain)."\.)/", $zone )) {
294  $entry.="autoconfig IN CNAME %%fqdn%%.\n";
295  }
296  if (! preg_match("/autodiscover(\s|\.".str_replace('.','\.',$domain)."\.)/", $zone )) {
297  $entry.="autodiscover IN CNAME %%fqdn%%.\n";
298  }
299  } // if gesmx
300  return $entry;
301  }
get_domain_summary($domain=false)
get_persistent($domain)
Return lines that are after ;;; END ALTERNC AUTOGENERATE CONFIGURATION.
$domain
Definition: dom_import.php:40
conf_from_db($domain=false)
Return the part of the conf we got from the database.
system_bind::regenerate_conf (   $all = false)

Regenerate bind configuration and load it.

Parameters
globalm_hooks $hooks
boolean$all
Returns
boolean

Definition at line 456 of file class_system_bind.php.

References $domain, $hooks, delete_zone(), dkim_refresh_list(), get_domain_summary(), reload_named(), reload_zone(), and save_zone().

456  {
457  global $hooks;
458 
459  foreach ($this->get_domain_summary() as $domain => $ds ) {
460  if ( ! $ds['gesdns'] && strtoupper($ds['dns_action']) == 'OK' ) continue; // Skip if we do not manage DNS and is up-to-date for this domain
461 
462  if ( (strtoupper($ds['dns_action']) == 'DELETE' ) ||
463  (strtoupper($ds['dns_action']) == 'UPDATE' && $ds['gesdns']==false ) // in case we update the zone to disable DNS management
464  ) {
465  $this->delete_zone($domain);
466  continue;
467  }
468 
469  if ( ( $all || strtoupper($ds['dns_action']) == 'UPDATE' ) && $ds['gesdns'] ) {
470  $this->save_zone($domain);
471  $this->reload_zone($domain);
472  $hooks->invoke_scripts("/usr/lib/alternc/reload.d", array('dns_reload_zone', $domain) );
473  }
474  } // end foreach domain
475 
476  $this->dkim_refresh_list();
477  $this->reload_named();
478  return true;
479  }
$hooks
Definition: bootstrap.php:74
reload_zone($domain)
get_domain_summary($domain=false)
delete_zone($domain)
Delete the zone configuration file.
$domain
Definition: dom_import.php:40
dkim_refresh_list()
Refresh DKIM configuration: be sure to list the domain having a private key (and only them) ...
system_bind::reload_named ( )
Parameters
globalm_hooks $hooks
Returns
boolean

Definition at line 424 of file class_system_bind.php.

References $domain, $hooks, get_domain_summary(), and get_zone_file_uri().

Referenced by regenerate_conf().

424  {
425  global $hooks;
426  // Generate the new conf file
427  $new_named_conf="// DO NOT EDIT\n// This file is generated by Alternc.\n// Every changes you'll make will be overwrited.\n";
428  $tpl=file_get_contents($this->NAMED_TEMPLATE);
429  foreach ($this->get_domain_summary() as $domain => $ds ) {
430  if ( ! $ds['gesdns'] || strtoupper($ds['dns_action']) == 'DELETE' ) continue;
431  $new_named_conf.=strtr($tpl, array("@@DOMAINE@@"=>$domain, "@@ZONE_FILE@@"=>$this->get_zone_file_uri($domain)));
432  }
433 
434  // Get the actual conf file
435  $old_named_conf = @file_get_contents($this->NAMED_CONF);
436 
437  // Apply new configuration only if there are some differences
438  if ($old_named_conf != $new_named_conf ) {
439  file_put_contents($this->NAMED_CONF,$new_named_conf);
440  chown($this->NAMED_CONF, 'bind');
441  chmod($this->NAMED_CONF, 0640);
442  exec($this->RNDC." reconfig");
443  $hooks->invoke_scripts("/usr/lib/alternc/reload.d", array('dns_reconfig') );
444  }
445 
446  return true;
447  }
$hooks
Definition: bootstrap.php:74
get_domain_summary($domain=false)
get_zone_file_uri($domain)
Return full path of the zone configuration file.
$domain
Definition: dom_import.php:40
system_bind::reload_zone (   $domain)
Parameters
string$domain

Definition at line 356 of file class_system_bind.php.

References $domain.

Referenced by regenerate_conf().

356  {
357  exec($this->RNDC." reload ".escapeshellarg($domain), $output, $return_value);
358  if ($return_value != 0 ) {
359  echo "ERROR: Reload zone failed for zone $domain\n";
360  }
361  }
$domain
Definition: dom_import.php:40
system_bind::save_zone (   $domain)
Parameters
globalm_mysql $db
globalm_dom $dom
string$domain
Returns
boolean

Definition at line 384 of file class_system_bind.php.

References $db, $dom, $domain, get_zone(), get_zone_file_uri(), and is_locked().

Referenced by regenerate_conf().

384  {
385  global $db, $dom;
386 
387  // Do not save if the zone is LOCKED
388  if ( $this->is_locked($domain)) {
389  $dom->set_dns_result($domain, "The zone file of this domain is locked. Contact your administrator."); // If edit, change dummy_for_translation
390  $dom->set_dns_action($domain, 'OK');
391  return false;
392  }
393 
394  // Save file, and apply chmod/chown
395  $file=$this->get_zone_file_uri($domain);
396  file_put_contents($file, $this->get_zone($domain));
397  chown($file, 'bind');
398  chmod($file, 0640);
399 
400  $dom->set_dns_action($domain, 'OK');
401  return true; // fixme add tests
402  }
global $db
Definition: bootstrap.php:22
get_zone_file_uri($domain)
Return full path of the zone configuration file.
is_locked($domain)
return true if zone is locked
$domain
Definition: dom_import.php:40
$dom
Definition: whois_test.php:10
get_zone($domain)
Return a fully generated zone.
system_bind::system_bind ( )

Definition at line 23 of file class_system_bind.php.

23  {
24  // Constructeur
25  }

Member Data Documentation

system_bind::$cache_conf_db = array()

Definition at line 14 of file class_system_bind.php.

Referenced by conf_from_db().

system_bind::$cache_domain_summary = array()

Definition at line 17 of file class_system_bind.php.

Referenced by get_domain_summary().

system_bind::$cache_get_persistent = array()

Definition at line 15 of file class_system_bind.php.

system_bind::$cache_zone_file = array()

Definition at line 16 of file class_system_bind.php.

system_bind::$dkim_keytable_file = "/etc/opendkim/KeyTable"

Definition at line 11 of file class_system_bind.php.

system_bind::$dkim_signingtable_file = "/etc/opendkim/SigningTable"

Definition at line 12 of file class_system_bind.php.

system_bind::$dkim_trusted_host_file = "/etc/opendkim/TrustedHosts"

Definition at line 10 of file class_system_bind.php.

system_bind::$NAMED_CONF ="/var/lib/alternc/bind/automatic.conf"

Definition at line 7 of file class_system_bind.php.

system_bind::$NAMED_TEMPLATE ="/etc/alternc/templates/bind/templates/named.template"

Definition at line 6 of file class_system_bind.php.

system_bind::$RNDC ="/usr/sbin/rndc"

Definition at line 8 of file class_system_bind.php.

system_bind::$zone_file_directory = '/var/lib/alternc/bind/zones/'

Definition at line 18 of file class_system_bind.php.

system_bind::$ZONE_TEMPLATE ="/etc/alternc/templates/bind/templates/zone.template"

Definition at line 5 of file class_system_bind.php.


The documentation for this class was generated from the following file: