The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

nsupdate - RFC2136 complaint DNS zone update

DESCRIPTION

plugin to update dynamis DNS zone

logics is this:

    1. get target ip address from LDAP obj
    2. get name server/s from reverse zone for network, ip belongs to
    3. get list of zones to be updated
    3.1. from config file
         first ns_zone record is used for PTR

    3.2. from reverse zone TXT records
         get TXT records from reverse zone for network, ip belongs to, and
         a) here we assume, all related zones are served by the same name server/s
         b) each TXT record to suply zone names, should be prefixed

            prefix format is: `PART1:PART2:` where
            PART1 is config file value for 'service' -> 'service-name' -> 'ns_txt_pfx'
            PART2 is index number 0-9 to prioritize zones (0 is the highest priority)
            both parts should end with colon character

            so, zone name in TXT record value starts with offset = length(PART1)+3

            zone with priority 0 is used for PTR
         c) reverse zone name is pushed to the end of list of zones to be updated

    4. check existance and get if exist, A and PTR records for LDAP obj
    4.1. if not exists, then add new either record and return
    4.2. if exists, then check them against LDAP obj data
    4.2.1. if match, then return
    4.2.2. if not match then delete allr records and -> 4.1.

METHODS

new

Creates an instance of the class and saves a reference to its arguments for further use.

ldap_sync_add_modify

performs nsupdate: add new, delete or modify existent records, according LDAP sync state

ldap_sync_delete

alias to ldap_sync_add_modify