Hanno Böck commited on 2017-03-08 23:39:30
              Zeige 3 geänderte Dateien mit 30 Einfügungen und 3 Löschungen.
            
| ... | ... | 
                      @@ -65,9 +65,13 @@ foreach ($records AS $rec)  | 
                  
| 65 | 65 | 
                           {
                       | 
                    
| 66 | 66 | 
                        $data = (int) $rec['spec'] . ' 1 ' . $data;  | 
                    
| 67 | 67 | 
                        }  | 
                    
| 68 | 
                        + if ($rec['type'] == 'caa')  | 
                    |
| 69 | 
                        +  {
                       | 
                    |
| 70 | 
                        + $data = $caa_properties[(int) $rec['spec']] . ' 0 "' . $data.'"';  | 
                    |
| 71 | 
                        + }  | 
                    |
| 68 | 72 | 
                        $ttl = ($rec['ttl'] ? $rec['ttl'] : 3600);  | 
                    
| 69 | 73 | 
                        $link = $rec['fqdn'];  | 
                    
| 70 | 
                        -  if (!in_array($rec['type'], array('a', 'aaaa', 'mx', 'cname', 'ns', 'txt', 'spf', 'ptr', 'sshfp'))) {
                       | 
                    |
| 74 | 
                        +  if (!in_array($rec['type'], array('a', 'aaaa', 'mx', 'cname', 'ns', 'txt', 'spf', 'ptr', 'sshfp', 'caa'))) {
                       | 
                    |
| 71 | 75 | 
                        $editable = false;  | 
                    
| 72 | 76 | 
                        }  | 
                    
| 73 | 77 | 
                           if ($editable) {
                       | 
                    
| ... | ... | 
                      @@ -106,6 +110,7 @@ output('<h4>Neuen DNS-Record anlegen</h4>
                     | 
                  
| 106 | 110 | 
                         <li>'.internal_link('dns_record_edit', 'NS (Nameserver)', 'id=new&type=ns&domain='.$domain->id).'</li>
                       | 
                    
| 107 | 111 | 
                         <li>'.internal_link('dns_record_edit', 'TXT', 'id=new&type=txt&domain='.$domain->id).'</li>
                       | 
                    
| 108 | 112 | 
                         <li>'.internal_link('dns_record_edit', 'SSHFP', 'id=new&type=sshfp&domain='.$domain->id).'</li>
                       | 
                    
| 113 | 
                        +<li>'.internal_link('dns_record_edit', 'CAA', 'id=new&type=caa&domain='.$domain->id).'</li>
                       | 
                    |
| 109 | 114 | 
                        </ul>  | 
                    
| 110 | 115 | 
                         | 
                    
| 111 | 116 | 
                        <h4>Automatische DNS-Records</h4>  | 
                    
| ... | ... | 
                      @@ -137,6 +137,20 @@ if ($type == 'sshfp')  | 
                  
| 137 | 137 | 
                        ';  | 
                    
| 138 | 138 | 
                        }  | 
                    
| 139 | 139 | 
                         | 
                    
| 140 | 
                        +if ($type == 'caa')  | 
                    |
| 141 | 
                        +{
                       | 
                    |
| 142 | 
                        + $option="";  | 
                    |
| 143 | 
                        +  foreach ($caa_properties as $key => $property) {
                       | 
                    |
| 144 | 
                        + $option .= '<option value="'.$key.'" ';  | 
                    |
| 145 | 
                        + if ($key == $data['spec']) $option .= 'selected="selected"';  | 
                    |
| 146 | 
                        +    $option .= '>'.$property.' ('.$key.')</option>';
                       | 
                    |
| 147 | 
                        + }  | 
                    |
| 148 | 
                        + $form .= '  | 
                    |
| 149 | 
                        +<tr><td><label for="spec">Property tag:</label></td><td><select name="spec" id="spec">'.$option.'</select></td></tr>  | 
                    |
| 150 | 
                        +<tr><td><label for="data">Inhalt:</label></td><td><input type="text" name="data" id="data" value="'.$data['data'].'" /></td></tr>  | 
                    |
| 151 | 
                        +';  | 
                    |
| 152 | 
                        +}  | 
                    |
| 153 | 
                        +  | 
                    |
| 140 | 154 | 
                        if ($dyndns)  | 
                    
| 141 | 155 | 
                         {
                       | 
                    
| 142 | 156 | 
                        $form .= '  | 
                    
| ... | ... | 
                      @@ -21,6 +21,7 @@ require_once('inc/error.php');
                     | 
                  
| 21 | 21 | 
                         | 
                    
| 22 | 22 | 
                         require_once('class/domain.php');
                       | 
                    
| 23 | 23 | 
                         | 
                    
| 24 | 
                        +$caa_properties= array( 0 => "issue", 1 => "issuewild", 2 => "iodef" );  | 
                    |
| 24 | 25 | 
                         | 
                    
| 25 | 26 | 
                        function get_dyndns_accounts()  | 
                    
| 26 | 27 | 
                         {
                       | 
                    
| ... | ... | 
                      @@ -144,7 +145,7 @@ function get_dyndns_records($id)  | 
                  
| 144 | 145 | 
                        return $data;  | 
                    
| 145 | 146 | 
                        }  | 
                    
| 146 | 147 | 
                         | 
                    
| 147 | 
                        -$valid_record_types = array('a', 'aaaa', 'mx', 'ns', 'spf', 'txt', 'cname', 'ptr', 'srv', 'raw', 'sshfp');
                       | 
                    |
| 148 | 
                        +$valid_record_types = array('a', 'aaaa', 'mx', 'ns', 'spf', 'txt', 'cname', 'ptr', 'srv', 'raw', 'sshfp', 'caa');
                       | 
                    |
| 148 | 149 | 
                         | 
                    
| 149 | 150 | 
                         | 
                    
| 150 | 151 | 
                        function blank_dns_record($type)  | 
                    
| ... | ... | 
                      @@ -211,7 +212,7 @@ function get_domain_auto_records($domainname)  | 
                  
| 211 | 212 | 
                        }  | 
                    
| 212 | 213 | 
                         | 
                    
| 213 | 214 | 
                         | 
                    
| 214 | 
                        -$implemented_record_types = array('a', 'aaaa', 'mx', 'spf', 'txt', 'cname', 'ptr', 'srv', 'ns', 'sshfp');
                       | 
                    |
| 215 | 
                        +$implemented_record_types = array('a', 'aaaa', 'mx', 'spf', 'txt', 'cname', 'ptr', 'srv', 'ns', 'sshfp', 'caa');
                       | 
                    |
| 215 | 216 | 
                         | 
                    
| 216 | 217 | 
                        function save_dns_record($id, $record)  | 
                    
| 217 | 218 | 
                         {
                       | 
                    
| ... | ... | 
                      @@ -292,6 +293,13 @@ function save_dns_record($id, $record)  | 
                  
| 292 | 293 | 
                                 system_failure('text entry missing');
                       | 
                    
| 293 | 294 | 
                        break;  | 
                    
| 294 | 295 | 
                         | 
                    
| 296 | 
                        + case 'caa':  | 
                    |
| 297 | 
                        + $record['dyndns'] = NULL;  | 
                    |
| 298 | 
                        + $record['spec'] = max( (int) $record['spec'], 1);  | 
                    |
| 299 | 
                        + $record['ip'] = NULL;  | 
                    |
| 300 | 
                        + if (! $record['data'] )  | 
                    |
| 301 | 
                        +        system_failure('text entry missing');
                       | 
                    |
| 302 | 
                        + break;  | 
                    |
| 295 | 303 | 
                         | 
                    
| 296 | 304 | 
                        case 'srv':  | 
                    
| 297 | 305 | 
                               system_failure('not implemented yet');
                       | 
                    
| 298 | 306 |