Obert Fa 8 anys

Tancat Fa 8 anys

#69 closed Error // Bug (fixed)

Error en la creació del host per defecte ns1 del DNSservices al mòdul guifi de Drupal (solució inclosa).

Notificat per: sim6 Propietari: somebody
Prioritat: Normal Fita: Per determinar - A determinar - To be determined
Component: Altres / Others Paraules clau: dnsservices NS
Cc:

Descripció

Actualment a la web de guifi.net, a la test.guifi.net, i al mòdul anomenat guifi de Drupal amb versió 6.3-dev6.3 i revisió 829 del SVN es pot contemplar el següent error.

Quan es crea un tipus de domini Master en un servei de DNS, per defecte es crea un host anomenat ns1 que apunta a l'adreça IP del servidor que conte el servei. Aquest host no te assignat un registre NS, es pot veure com a la secció "Configuració avançada" no està actiu la casella "NS" de "Opcions". Per tant si per exemple només s'especifica l'adreça IP per defecte i es guarda el domini, el cnml generat és el següent.

<cnml version="0.1" server_id="1" server_url="http://guifi.net" generated="2010090354">
        <domains network_domains="domains">
                <internal>
                        <master zone="domain.tld" IPv4="10.0.0.2" nameserver="ns1" domain_ip="10.1.1.1" allow-transfer="none" contact="root@localhost" domain_id="1" service_id="4">
                                <host name="ns1" IPv4="10.0.0.2"/>
                        </master>
                </internal>
                <external/>
        </domains>
</cnml>

Per tant el programa dnsservices.php genera la següent configuració per el bind.

@       IN      SOA     ns1.localhost. root.localhost. (
                2010090312 10800 3600 604800 86400 )
*                                       IN      A               10.1.1.1
@                                       IN      A               10.1.1.1
ns1                                     IN      A               10.0.0.2

Aquesta configuració al no contenir un registre NS no és funcional i s'obté el següent un error

Host domain.tld not found: 2(SERVFAIL)

Si quan s'està creant el domini, en comptes de guardar directament, s'activa l'opció NS per el host ns1 no tenim aquest problema.

El programador ja havia pensat que es necessitava activar el registre NS, per aquest motiu a la línia 145 del següent fitxer
semble que intenta especificar que s'activi el registre NS del host ns1 creat per defecte.

https://anonymous@svn.projectes.lafarga.cat/svn/guifi/trunk/modules/guifi/guifi_domains.inc.php

$form_state['values']['hosts']['0']['options'] = array( 'NS' => 'NS', 'MX' => '0' );

Però aquest valor no és interpretat per la funció guifi_hosts_form del seguent fitxer.

https://anonymous@svn.projectes.lafarga.cat/svn/guifi/trunk/modules/guifi/guifi_hosts.inc.php

El problema es pot solucionar canviant la línia citada afegint ['opt'] de la següent forma:

$form_state['values']['hosts']['0']['opt']['options'] = array( 'NS' => 'NS', 'MX' => '0' );

Que gaudiu del pedaç que adjunto.

Adjunts (1)

dnsservices-default-host-ns1.patch (734 octets) afegit per sim6, Fa 8 anys).
Pedaç per solucionar el problema d'aquest tiquet

Baixa tots els adjunts com: .zip

Historial de canvis (2)

Canviat Fa 8 anys per sim6

Pedaç per solucionar el problema d'aquest tiquet

comment:1 Canviat Fa 8 anys per miquel.martos

  • Estat canviat de new a closed
  • Resolució establert a fixed

Ja he aplicat el pegat i corregit alguna altre cosa, merci pel pegat!
Això concretament ja funcionava al començament, però arran d'actualitzacions on se'm va barrejar codi en diverses maquines.. ho vaig espatllar altre cop :P Ho tenia pendent de revisar.

Ara però encara queden coses importants per revisar/fer com son les validacions per evitar hosts/dominis repetits, permissos d'usuari, etc.. viam quin dia ho reviso :P

Nota: Vegeu TracTickets per a obtenir ajuda sobre l'ús dels tiquets.