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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

fi<br />

if [ ${#reverse_pair[@]} -gt 0 ]<br />

then<br />

echo<br />

echo ’Known reverse pairs.’<br />

col_print reverse_pair 2 5 55<br />

fi<br />

return 0<br />

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

# Check an address against the list of blacklist servers.<br />

# A good place to capture for GraphViz: address->status(server(reports))<br />

# check_lists <br />

check_lists() {<br />

[ $# -eq 1 ] || return 1<br />

local -a _cl_fwd_addr<br />

local -a _cl_rev_addr<br />

local -a _cl_reply<br />

local -i _cl_rc<br />

local -i _ls_cnt<br />

local _cl_dns_addr<br />

local _cl_lkup<br />

}<br />

split_ip ${1} _cl_fwd_addr _cl_rev_addr<br />

_cl_dns_addr=$(dot_array _cl_rev_addr)’.’<br />

_ls_cnt=${#list_server[@]}<br />

echo ’ Checking address ’${1}<br />

for (( _cl = 0 ; _cl < _ls_cnt ; _cl++ ))<br />

do<br />

_cl_lkup=${_cl_dns_addr}${list_server[${_cl}]}<br />

if short_text ${_cl_lkup} _cl_reply<br />

then<br />

if [ ${#_cl_reply[@]} -gt 0 ]<br />

then<br />

echo ’ Records from ’${list_server[${_cl}]}<br />

address_hits[${#address_hits[@]}]=${1}’ ’${list_server[${_cl}]}<br />

_hs_RC=2<br />

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

do<br />

echo ’ ’${_cl_reply[${_clr}]}<br />

done<br />

fi<br />

fi<br />

done<br />

return 0<br />

# # # The usual application glue # # #<br />

# Who <strong>di</strong>d it?<br />

cre<strong>di</strong>ts() {<br />

echo<br />

699

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

Saved successfully!

Ooh no, something went wrong!