Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37529048
en ru br
Репозитории ALT
S:8.16-alt1
5.1: 5.9.91-alt0.20091119.0.M51.7
4.1: 5.0.90-alt0.20090320.0.M41.3
4.0: 4.0-alt2.M40.2
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: mailfromd

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

func match_cidr_list(string cl_addr, string cidr_list) returns number
do
set str1 substring(cidr_list, 0, index(cidr_list, "\n")-1)

if index(cidr_list, "\n") = 0
return 0
fi

if match_cidr(cl_addr, str1)
return 1
fi

set str2 substring(cidr_list, index(cidr_list, "\n")+1, -1)
return match_cidr_list(cl_addr, str2)
done

func massallocated_hit(string cl_addr, string ma_regexps) returns number
do
set str1 substring(ma_regexps, 0, index(ma_regexps, "\n")-1)

if hostname (cl_addr) matches str1
return 1
fi

if not index(ma_regexps, "\n") = 0
set str2 substring(ma_regexps, index(ma_regexps, "\n")+1, -1)
set ms_hit_tmp massallocated_hit(cl_addr, str2)
if ms_hit_tmp = 0
return 0
else
return ms_hit_tmp + 1
fi
fi

return 0
done

func safe_send_mail (string msg, string eml)
do
catch failure
do
echo "%queue_id: WARNING: message from interceptor was not been sent to %eml."
return
done

send_mail(msg, eml)
done


func access_db_check (string dbfile, string key)
do
string accessdb_value dbget(dbfile, key, "NULL")

/* cancel processing with accept: MTA will be reject it... */

if accessdb_value matches '(REJECT|ERROR)(.?)(.*)'
accept
fi
done

/* Convert a SpamAssassin `code' back to fixed point form
using the given number of digits (`prec') */
func to_double_str(string code, number prec) returns string
do
if length(code) = prec
set code "0" . code
fi
if code matches "^(\-)(...)$"
set code "\1" "0" "\2"
fi
if length(code) > prec
return substring(code, 0, length(code)-prec-1) . '.'
. substring(code, length(code)-prec, -1)
else
return $1
fi
done

func whitelist_chk_global(string ipaddr, string mailfrom)
do
if ipaddr matches '([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)'
if dbmap("/etc/mailfromd/whitelist.db", "global:" . "\1.\2.\3.\4", 1)
or
dbmap("/etc/mailfromd/whitelist.db", "global:" . "\1.\2.\3", 1)
or
dbmap("/etc/mailfromd/whitelist.db", "global:" . "\1.\2", 1)
or
dbmap("/etc/mailfromd/whitelist.db", "global:" . "\1", 1)
or
dbmap("/etc/mailfromd/whitelist.db", tolower("global:" . "\1.\2.\3.\4" . "-" . mailfrom), 1)
or
dbmap("/etc/mailfromd/whitelist.db", tolower("global:" . "\1.\2.\3" . "-" . mailfrom), 1)
or
dbmap("/etc/mailfromd/whitelist.db", tolower("global:" . "\1.\2" . "-" . mailfrom), 1)
or
dbmap("/etc/mailfromd/whitelist.db", tolower("global:" . "\1" . "-" . mailfrom), 1)
or
dbmap("/etc/mailfromd/whitelist.db", tolower("global:" . mailfrom), 1)
accept
fi
fi
done
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin