11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

local IFS=${WSP_IFS}<br />

# Local, unique copy of names to check<br />

unique_lines chk_name _den_chk<br />

unset chk_name[@] # Done with globals.<br />

# Less any names already known<br />

e<strong>di</strong>t_exact known_name _den_chk<br />

_den_cnt=${#_den_chk[@]}<br />

# If anything left, add to known_name.<br />

[ ${_den_cnt} -gt 0 ] &&<br />

known_name=( ${known_name[@]} ${_den_chk[@]} )<br />

# for the list of (previously) unknown names . . .<br />

for (( _den = 0 ; _den < _den_cnt ; _den++ ))<br />

do<br />

_den_who=${_den_chk[${_den}]}<br />

if long_fwd ${_den_who} _den_new<br />

then<br />

unique_lines _den_new _den_new<br />

if [ ${#_den_new[@]} -eq 0 ]<br />

then<br />

_den_pair[${#_den_pair[@]}]=’0.0.0.0 ’${_den_who}<br />

fi<br />

Appen<strong>di</strong>ce A. Script aggiuntivi<br />

# Parse each line in the reply.<br />

for (( _line = 0 ; _line < ${#_den_new[@]} ; _line++ ))<br />

do<br />

IFS=${NO_WSP}$’\x09’$’\x20’<br />

_den_tmp=( ${_den_new[${_line}]} )<br />

IFS=${WSP_IFS}<br />

# If usable record and not a warning message . . .<br />

if [ ${#_den_tmp[@]} -gt 4 ] && [ ’x’${_den_tmp[0]} != ’x;;’ ]<br />

then<br />

_den_rec=${_den_tmp[3]}<br />

_den_nr[${#_den_nr[@]}]=${_den_who}’ ’${_den_rec}<br />

# Begin at RFC1033 (+++)<br />

case ${_den_rec} in<br />

# [] [] SOA <br />

SOA) # Start Of Authority<br />

if _den_str=$(name_fixup ${_den_tmp[0]})<br />

then<br />

_den_name[${#_den_name[@]}]=${_den_str}<br />

_den_achn[${#_den_achn[@]}]=${_den_who}’ ’${_den_str}’ SOA’<br />

# SOA origin -- domain name of master zone record<br />

if _den_str2=$(name_fixup ${_den_tmp[4]})<br />

then<br />

_den_name[${#_den_name[@]}]=${_den_str2}<br />

_den_achn[${#_den_achn[@]}]=${_den_who}’ ’${_den_str2}’ SOA.<br />

fi<br />

# Responsible party e-mail address (possibly bogus).<br />

693

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!