Current time: 11-27-2024, 02:10 PM Hello There, Guest! (LoginRegister)


Thread Closed 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PATCH] PDNS patch benötigt Hilfe beim PERLcode
Author Message
Uwe Driessen Offline
Junior Member
*

Posts: 21
Joined: Feb 2009
Reputation: 0
Post: #1
[PATCH] PDNS patch benötigt Hilfe beim PERLcode
so nach einer Woche habe ich nun alle eventualitäten im PDNS berücksichtigt.
Problem bei der im Howto beschrieben Funktionen :

bei Verwendung von Alias Domains werden diese nicht eingetragen
die vergebenen ID's in PDNS unterscheiden sich von den ISPCP verwendeten.

Bei Update von Datensätzen konnte ich nicht erkennen ob diese erst gelöscht und dann neu eingetragen werden oder einfach der alte Datensatz überschrieben wird.

Änderungen:
zuerst wird die richtige ID ermittelt sofern es eine gibt
bei vorhandenener ID wird sowohl in pdns.domains als auch in pdns.records ein Update gemacht.

Beim löschen wird ebenfalls nach der in der pdns.domains stehende id selektiert gelöscht.

Beispiel:
ID ermitteln für SOA record
Code:
my $myrdata = undef;
468         ($myrdata) = doSQL("SELECT IF(
469                                         (SELECT t2.id FROM pdns.records t2 WHERE t2.name = '$dmn_name' AND TYPE = 'SOA')>0,
470                                         (SELECT t2.id FROM pdns.records t2 WHERE t2.name = '$dmn_name' AND TYPE = 'SOA'),
471                                         'NULL')"
472                                );
473         return $myrdata if ($myrdata != ' ');

$myrdata kann eine Zahl bei vorhandenem record oder den Wert 'NULL' wenn kein record vorhanden ist enthalten.
diese Abfrage muß ich vor jedem Schreiben in die records durchführen.

ein allgemeines diff dazu kommt in den nächsten Tagen zumindest mal für die 1.0 stable sofern ich das hinbekomme das perl mitspielt.

wir verzichten bewust auf CNAME Einträge denn da nimmt man dann lieber direkt A records
die NS Server haben wir hardcodiert könnte aber auch über die Serverip's ermittelt werden dafür könnte man das Feld ALIAS nehmen das dann mit NS1,NS2,MX 10, MX 20 ausgefüllt würde und über join funktion die IP dazu ermittelt wird. das wäre dann nur noch ein bischen was an den statements zu ändern
(This post was last modified: 04-03-2009 06:48 PM by Uwe Driessen.)
03-31-2009 01:51 PM
Find all posts by this user
RatS Offline
Project Leader
******

Posts: 1,854
Joined: Oct 2006
Reputation: 17
Post: #2
RE: PDNS patch benötigt Hilfe beim PERLcode
Ich bin mir nicht sicher, ob ich das richtig verstanden habe, falls der oben stehende Code in einer Schleife ausgeführt wird, solltest du darauf achten, dass die deklaration der Variablen außerhalb der Schleife geschieht:

Code:
my $myrdata;
for (<expression>) {
    $myrdata = undef;
    <do sth. else>
}
04-02-2009 06:23 PM
Visit this user's website Find all posts by this user
Uwe Driessen Offline
Junior Member
*

Posts: 21
Joined: Feb 2009
Reputation: 0
Post: #3
RE: PDNS patch benötigt Hilfe beim PERLcode
so ich habs am laufen
nicht perl mochte mich nicht sondern ich sollte mir angewöhnen früher schlafen zu gehen, dann sieht man auch die typos die sich beim copy and paste einschleichen*g.

ich hänge mal ein erstes DIFF an bitte zuerst auf testmaschinen probieren UND GANZ WICHTIG bitte zuerst das diff anschauen, ist das erste mal das ich sowas gemacht habe.
SQL ist sauber, es ist angepasst für Allgemeinheit, weitere Einträge können durch kopieren eines kompletten blocks dazu gemacht werden.
Es wird beachtet ob bereits ein Eintrag in der PDNS database drin ist dann Update wenn nicht vorhanden dann neu.

Domains, Subdomains, Aliasdomains und Subaliasdomains sollten sauber behandelt werden.

weitere Anpassungen sind ebenfalls noch vorstellbar.
z.B. Eintrag eines 2 MX dessen IP aus der Server_ip tabelle ermittelt wird.

P.S. ich bekomme das diff nicht ins Forum rein
The type of file that you attached is not allowed. Please remove the attachment or choose a different type.
wat will der denn von mir ? na dann als zip

Patch offline muß ein paar kleine bugs noch fixen sobald ich das habe kommt der patch wieder rein
(This post was last modified: 04-06-2009 10:35 PM by Uwe Driessen.)
04-02-2009 11:08 PM
Find all posts by this user
BeNe Offline
Moderator
*****
Moderators

Posts: 5,899
Joined: Jan 2007
Reputation: 68
Post: #4
RE: PDNS patch benötigt Hilfe beim PERLcode
Sehr schön!
Quote:dann sieht man auch die typos die sich beim copy and paste einschleichen*g.
Wenn Du Syntax highliting und farben in vi/vim einschaltest lässt sich das leicht verhindern Wink Fällt Dir quasi ins Auge.
Quote:UND GANZ WICHTIG bitte zuerst das diff anschauen, ist das erste mal das ich sowas gemacht habe.
Sieht sauber aus, inhaltlich kann ich es nicht beurteilen.

Danke für deine Arbeit!

Greez BeNe
04-02-2009 11:44 PM
Visit this user's website Find all posts by this user
Uwe Driessen Offline
Junior Member
*

Posts: 21
Joined: Feb 2009
Reputation: 0
Post: #5
RE: PDNS patch benötigt Hilfe beim PERLcode
Quote:Wenn Du Syntax highliting und farben in vi/vim einschaltest lässt sich das leicht verhindern Wink Fällt Dir quasi ins Auge.

was hilft das wenn die Augen zufallen?*gg

ansonsten ist das schon eingeschaltet wobei allerdings sql in perlcode anders aussieht wie in einer .sql

bei einer reinen SQL bekommst du auch sofort auf die Pfoten wenns nicht stimmt perl schluckt das einfach.

kannst ja die Überschrift in solved umbenennen
04-02-2009 11:51 PM
Find all posts by this user
Thread Closed 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)