spamdyke是用C语言编写的一个下拉式过滤器用于qmail的应用,替代sendmail的,旨在提供众多的功能,包括灰名单,连接时间黑名单,DNS RHSBL / RBL检查,提高了测井一个开源软件,和发件人的MX checking.Features在glancespamdyke已设计以这样一种方式,它提供了的TLS和SMTP AUTH以打补丁的qmail服务器。它可用于监测和截距的SMTP一个qmail服务器和远程主机之间的连接。
该过滤器能够拦截垃圾邮件,而垃圾邮件发送者仍然连接,而无需任何额外的存储和处理。 spamdyke拥有众多的反垃圾邮件过滤器,以及各种功能,这将增强qmail的。
spamdyke包括各种各样的反垃圾邮件过滤器,组织在四个主要类别,如反向DNS滤波器,白名单和黑名单过滤器,灰名单过滤器等过滤器,可以一目了然,在未来section.Included反垃圾filtersAmong观看反向DNS过滤器,我们可以提到用于需要反向DNS名称,对于需要反向DNS名称解析为IP地址的支持的支持,对于需要反向DNS名的支持是真实的,而不是动态分配,以及支持用于需要一个有效的MX (邮件交换器)为发件人的域名。
白名单/黑名单过滤器包括搜索本地IP地址和反向DNS白名单或黑名单的文件,搜索的DNS RBLs的(实时白名单和黑名单),搜索的DNS RHSBLs(右手侧白名单和黑名单),搜索接收者和发送者的白名单或能力黑名单的文件,以及搜索邮件头的某些内容。
在另一方面,灰名单过滤器可以让你灰名单一定的收件人域,从一定的反向DNS域名或IP地址,灰名单连接到灰名单跳过某些领域,反向DNS域名或IP地址,并执行最高和最低年龄为灰名单条目
什么在此版本中是新的:
- 在重新整理了测试脚本,按类别将它们放在文件夹中。这只是使上市的目录更易于管理。
- 修正的README文件中的一些错别字。感谢约翰·门多萨报告的。
- 修正了spamdyke_log一个很不起眼的错误():在Linux系统上(可能只有64位系统),vsyslog()偶尔会无法打印所有的可变参数。一种方法被认为引发这种行为 - 当RDNS黑名单-DIR过滤器从配置目录启动
- 修正了find_domain一个bug()解析某些无效的格式时,可能导致段错误。感谢Gary Gendel报告这一项。
- 新增了备份/恢复功能,将与QUOT;运行"脚本在"测试"文件夹,运行任何脚本之前保存最关键的系统和qmail文件的副本。这是必要的,因为一些脚本修改这些文件,如果他们不正常运行或取消,原件丢失。
- 新增了" -skipcompile"标志为"运行"脚本在"测试"文件夹跳过重新配置和重新编译所有的二进制文件的脚本运行时。
- 在改变了"运行"脚本在"测试"前后测试运行后,文件夹清空qmail的队列。
- 在改变了"运行"脚本在"测试"文件夹复制到当前系统和qmail的配置文件进行比较,以最新的备份每个脚本结束后。如果它们不匹配,则最新的备份将被恢复。如果他们仍然不匹配,脚本停止与错误。
- 在改变nihdns_query()接受可选"优先"类型的响应。如果多种类型的查询,它会等待至少一个超时时段为该类型的应答到达而不是总是接受第一应答到达。然而,重新发送查询之前,它会接受一个保存的答案。
- 在不向后兼容:改变nihdns_mx()喜欢的MX记录了A记录,如果同时存在。如果可以选择,MX记录将被检查的有效性和A记录将被忽略。感谢布鲁斯·施雷伯的建议这一个。
- 在固定filter_level()和smtp_filter()不顾白名单,并要求身份验证,如果与QUOT;过滤级别和QUOT;选项设置为QUOT;要求-auth的",如文档说,它应该。感谢阿恩报告这一项。
- 在改变nihdns_create_packet()脱衣使用它们DNS查询之前尾随名点。结尾点是传统方式告诉libc中的解析器不附加本地域名和许多系统管理员期望有使用它。因为spamdyke从未追加地域和不使用的libc的解析器,它是没有必要的,并导致查找失败。由于Dossy盐原报告这一项。
- 在改变中间人()总是发送" STARTTLS"回应" EHLO"作为一个延续,从来没有像最后一行(仅当spamdyke被插入" STARTTLS")。这个作品围绕在Android邮件客户端,只查找和QUOT错误; STARTTLS"作为一个延续。感谢乔纳斯Pasche写关于如何解决这个bug在他的博客。
- 在不向后兼容:改变的&QUOT的含义;白名单"仅免除spamdyke的垃圾邮件过滤器的连接;白名单不再允许连接到中继邮件。这意味着spamdyke现在将只设置RELAYCLIENT环境变量,如果"中继级"选项设置为QUOT;允许-所有&QUOT ;.中继现在必须通过的tcpserver或xinetd进行控制。非常感谢埃里克·舒伯特的建议,并与我讨论这个。
- 在不向后兼容:删除了"访问文件"和"甩文访问被拒绝"选择,因为他们只需要控制中继。还取消了行使他们修改了他们使用的许多其他测试脚本的测试脚本。
- 在不向后兼容:删除了"无检查和QUOT;中继级"从&QUOT值;选项,改变的意义和QUOT;正常"值使用以前分配到&QUOT逻辑,没有检查和QUOT;
- 新增的选项和QUOT;拒绝发件人"取多个值。如果该值"没有本地和QUOT;给定,如果域名没有本地承载发件人将被拒绝。如果该值与QUOT;认证失配"给出,发件人将被拒绝,如果发件人地址不完全验证过程中提供的用户名(或者验证用户名不是电子邮件地址,发送者的用户名必须与身份验证的用户名一致)相匹配。如果该值与QUOT;认证域不匹配"给出,发送方将如果域名没有身份验证过程中提供的用户名的一部分被拒绝。感谢马克·弗拉特的建议这一个。
- 新增的方式];拒绝文本发送者,没有本地和QUOT;和"拒绝文本发送者认证不匹配"设置给甩文本时的"拒绝发件人和QUOT;选项的过滤器被触发。
- 在不向后兼容:删除选项"拒绝缺失发件人-MX"和折叠的过滤器进入"拒绝发件人"过滤器的"无-MX"选项。
- 在不向后兼容:改名选项"拒绝文本缺失发件人-MX"到"拒绝文本发送者,无MX"
- 在不向后兼容:改名选项"拒绝,同样的发送者,接收者QUOT;到"拒绝收件人"与值QUOT;同时,作为发件人和QUOT ;.功能保持不变。
- 在不向后兼容:改名选项"拒绝,文字相同的发送者,接收者QUOT;到"拒绝文本收件人,同为发件人和QUOT;
- 在不向后兼容:改名选项"地方域文件"到"的qmail-的rcpthosts文件&QUOT ;.命名一直是令人困惑,因为qmail的这实际上是在本地托管与本地文件系统(当地人)邮箱应的qmail-smtpd的过程中SMTP(rcpthosts中)接受域和域之间的区别。这些选项总是意味着前者,但现在spamdyke需要知道域的两份名单,现在是时候重新命名。现在也以配置目录才可使用该选项。
- 在不向后兼容:删除选项"本地域中输入"因为可以SMTP期间被接受供给域仅spamdyke(但不是的qmail)将导致在收信人验证不一致的结果。如果一个域是SMTP期间被接受,它应该被添加到所使用的两个spamdyke和qmail控制文件。
- 添加CDB在CDB搜索代码[CH]阅读DJB的"恒数据库"在收件人验证文件。这些文件的格式是权利(由DJB)要快,效率高。不要相信炒作...
- 新增的选项和QUOT;的qmail-morercpthosts-CDB"以允许提供的CDB文件包含为哪些邮件应的SMTP期间接受域的列表。有没有人真正使用这个qmail的"特征"
- 在浇过的qmail的文档和源代码,以弄清楚它究竟是如何确定从何处传递消息。该文件是经常错误和广泛的测试是需要发现的真理。由此产生的程序封装在文件夹的流程图。
- 新增了"发电机"程序来创建测试脚本通过收件人确认流程图检查每一个可能的路径,都与spamdyke到位,没有(检查流程图是正确的)。程序生成的脚本是必须的,因为有近25万可能的路径进行测试。
- 在附加值和QUOT;无效"该选项"拒绝收件人"检查是否本地收件人地址接受消息之前存在。决定是否/何处传递消息时,此验证过程使用相同的逻辑qmail的,所以不需要额外的步骤,以使这项工作(例如保持在一个单独的文件中的有效地址的列表)。如果这个过程确定的本地地址是有效的,传送有保证。这个选项应该可以消除散射发送垃圾邮件的qmail的习惯。
- 在附加值和QUOT;不可用"该选项"拒绝收件人"检查是否本地收件人接受邮件的时刻。大概从人们实际编辑的.qmail手工文件长老天缓缴,qmail的支票传递消息之前,文件上的文件和文件夹的权限。如果它们被设置为特定的值,qmail的将排队的消息,直到权限被固定或反弹的消息,如果排队时间过长。在这些启发倍,这样的权限更可能是由于比故意错误或疏忽。
- 新增的方式];的qmail-分配-CDB","的qmail-defaultdelivery文件","的qmail-envnoathost文件","的qmail-当地人文件","的qmail-ME-文件" ,"的qmail-percenthack文件"和"的qmail-virtualdomains文件"允许spamdyke使用不同的控制文件是否比qmail。这是不太可能的人永远都需要这些选项(这将是不明智的使用它们),但他们可以以防万一。
- 新增的选项和QUOT;拒绝-文本收件人无效"设置拒绝文本时,"无效"筛选"拒绝收件人"被触发。
- 新增的选项和QUOT;拒绝文本收件人,无法"设置拒绝文本时"不可"筛选"拒绝收件人"被触发。
- 在删除功能filter_recipient_local()和移动它的逻辑为filter_recipient_valid()。
- 在删除功能filter_recipient_relay()和移动它的逻辑为filter_recipient_valid()。
- 在改变了"有利于"选择只显示可用选项的列表没有说明文字。
- 新增了"更帮助"选项,以显示与所有帮助文本选项的完整列表。
- 新增的方式]; IP-继电器输入"," IP中继文件"," RDNS继电器输入"和" RDNS中继文件"要允许来自特定IP和/或RDNS名中继,因为白名单不再意味着中继的能力。如果这些选项都匹配,qmail的启动前RELAYCLIENT变量被设置。
- 在创建" create_cdb"程序生成任意大小的CDB文件,充满了随机数据,测试spamdyke的CDB验证程序。 create_cdb也有七个方面的能力,腐败产生的CDB;这使得比单纯使用随机的垃圾文件更具体的测试。
- 删除从测试脚本TESTSD_ *环境变量的所有用途,并与dnsdummy适当的调用替换它们。这使得测试脚本在没有从外部DNS改变和无需运行spamdyke服务器找到示例值的潜在干扰运行。
- 在固定smtp_filter()和中间人()来清除打印日志信息后保存的收件人地址的列表。这可以防止重复的日志消息时,多封电子邮件被发送了相同的连接。由于特奥多尔Milkov和大卫达维多夫报告这一项。
- 新增了" -skippatched"和" -skipunpatched"标志为"运行"脚本跳过需要的qmail的补丁或者未打补丁的版本,分别为任何测试。
- 修正了find_username一个小错误(),将截断该用户名的最后一个字符没有域时给出。这已经不是一个问题,因为spamdyke拒绝没有域名收件人地址反正,但收件人验证测试脚本的一个发现。
- 新增的选项和QUOT; TLS-dhparams文件"选择读DH PARAMS从一个文件中的SSL / TLS密钥协商创建临时密钥。感谢马克Gregel的建议这一个。
- 在改变了所有的错误信息输出文件名,函数名和行号生成它们,就像调试和过多的消息。
- 在增加了一个新的日志级别,LOG_LEVEL_CONFIG_TEST,用于配置测试错误消息。该电平被视为大致相同LOG_LEVEL_ERROR除了未打印的文件名,函数名和行号。
- 在增加了一个新的决策水平,为FILTER_DECISION_AUTHENTICATED身份验证的连接。过滤器例程使用此电平应该是未过滤由于认证与白名单的连接之间进行区分。
- 在增加了一个新的配置选项类型:CONFIG_TYPE_ALIAS。这种类型的选项别名其他选项。这消除了价值和潜在的重复在灰名单/灰名单的选项疏漏。
- 在添加一些代码到"运行"脚本在"测试"目录尝试检测核心转储。有些测试会申报成功,即使spamdyke段错误,并切断输出过早。
- 删除未使用的功能reset_rejection()和skip_cfws()。
- 在发现spamdyke无法阅读所有需要的收件人验证正常运行过程中,因为它们是由不同的用户有严格的权限和spamdyke不以root身份运行所拥有的文件。我不知道我怎么错过了,但它完全moots了一年多的工作。
- 感动了所有收件人valiation代码到QUOT名为外部程序及; spamdyke-QRV&QUOT ;.这项计划是为了只执行收件人验证,没有别的,所以它应该是安全的以root身份运行(至少比安全运行spamdyke根)。
- 在删除选项"的qmail-分配-CDB","的qmail-defaultdelivery文件","的qmail-envnoathost文件","的qmail-当地人文件","的qmail-ME-文件"和"的qmail-percenthack文件"从spamdyke,因为收件人的验证码也没有了。
- 新增的选项和QUOT;收件人验证命令"传递路径spamdyke-QRV,当需要收件人确认将被调用。
什么是4.3.1版本,新的:
- 在该版本修正了几个错误处理新标题黑名单过滤和访问冲突,可导致崩溃。
- 在头黑名单应该是安全的,使了。
什么是4.3.0版本,新的:
- 在它增加基础上,筛选信息的能力他们的头内容。它修复了一些小错误,在Debian 7编译错误和主要一系列的错误,可能导致缓冲区溢出(可能远程利用,根据配置选项)。请立即升级!
什么在4.2.0版本新:
- 在改变READ_FILE()返回的可用数量行读取,而不是线(包括注释和空白)的总数。
- 修正了一个巨大的thinko在许多调用READ_FILE() - 当函数返回0,返回值为NULL。这是造成spamdyke崩溃时,没有内容被从文件中读取" DNS黑名单文件"," DNS白名单文件"," RHS-黑名单文件"," RHS-白名单文件"和"主机文件&QUOT ;.感谢大卫·斯蒂勒报告这一个,跟踪下来,提供了很大的帮助。
- 新增的选项和QUOT; TLS-密码列表"用于指定在SSL / TLS连接使用密码的列表。这会不会是很多人都不会使用的选项,但在特定的设置是必需的。由于克里斯·博尔顿对这一建议之一,并产生了一个补丁来实现它。
- 在增加了一个新的价值" TLS级":" SMTP-无直通"允许spamdyke提供TLS,但防止它通过TLS通过对qmail的,如果SSL库不能因为某些原因被初始化。
- 修正了smtp_filter,允许开放中继时spamdyke配置了&QUOT错误;本地域中输入"而不是"地方域文件"
- 从do_spamdyke感动码()是一套标准输入和标准输出插座,以无阻塞到tls_read()和tls_write()代替。设置套接字非阻塞整个运行是造成一些奇怪的行为,其中记录会经过一系列大投入停下来。
- 在(再一次)重构地址解析器来解决,这不是处理路由地址正确的bug。由于克里斯·博尔顿报告这一项。
- 在固定process_config_file()不重置"多"值默认,如果它在配置过程中故意清除。
- 在固定prepare_settings()处理命令行之前初始化所有的默认值或配置文件所以"多"值可以在配置过程中被清除。
- 在固定configure.ac使用GCC的#pragma命令对待格式警告视为错误,而不是依靠AC_LANG_WERROR(这并不总是有效)。
- 新增的方式]; DNS查询型A"," DNS查询类型-MX"," DNS查询型PTR"和" DNS查询型RBL"以限制可发送用于不同目的的DNS查询的类型。由于特奥多尔Milkov的建议这一个。
- 修正了当一个后RCPT过滤器被触发的非本地地址超时的错误。 spamdyke应该关闭连接到qmail的,等待它的退出,而是只是等待其退出,导致不必要的超时。由于乌尔里希C.曼斯报告这一项。
- 修正了policy.php.example一个错字。感谢Richard Lamse报告这一项。
- 在固定的编译器警告在Fedora 11由于二滩奥尔罕报告这一项。
- 修正了一个在那里SENDRECV未初始化的变量是导致错误的摊位和超时的CentOS的5.5。
什么是4.1.0版本,新的:
- 在一些bug修复,包括TLS / SSL的问题这可能会导致spamdyke挂下去。一些新的特性,包括拒绝消息时,发送者和接收者的地址是相同的。
什么在4.0.10版本是新的:
- 在那台远程IP中的Plesk 9中的bug地址到一个名字而不是一个IP地址被工作围绕。
什么是4.0.9版本,新的:
- 在该版本修正了在地址解析器了一个错误,为防止有些发件人/接受者黑名单/白名单条目匹配。
- 在它还修复了,这是无法找到spamdyke二进制如果它是当前目录之外的配置测试功能中的错误。
什么是4.0.8版本,新的:
- 在一种解决方法是增加了一个设计缺陷DJB的的multilog,可能会导致损坏的日志消息时服务器负载下。
什么在4.0.6版本新:
- 在关键词的IP功能于RDNS滤波器现在可以正确地终止,使他们能够匹配。
- 在AUTH从补丁qmail的广告现在已经完全拆除时,与QUOT; SMTP-AUTH级"选项"总是QUOT;或QUOT;始终加密"
- 匹配RBL / RHSBL现在登录当多个RBLs的/ RHSBLs使用的总记录第一个替代的名称。
- 在慢速远程服务器正在处理礼貌地让spamdyke不会消耗100%的CPU。
- 在使用了&QUOT完整的日志记录功能,记录级"选项设置为QUOT;过度"不再发送日志输出到远程服务器时spamdyke上使用的Plesk服务器。
要求:
- 在qmail的
评论没有发现