免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: gadfly
打印 上一主题 下一主题

[Mail] 修正Qmail auth smtp中电子邮件地址任意的patch [复制链接]

论坛徽章:
0
41 [报告]
发表于 2005-11-16 16:46 |只看该作者
# vi /service/qmail-smtpd/run
exec /usr/local/bin/softlimit -m 40000000
    /usr/local/bin/tcpserver -v -H -R -l 0
    -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD"
    -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp
    /var/qmail/bin/qmail-smtpd
    /home/vpopmail/bin/vchkpw /bin/true 2>&1

这样的配置如何应用这个补丁?

论坛徽章:
0
42 [报告]
发表于 2005-11-17 09:15 |只看该作者
我多说一句。首先感谢gladfly.
下面代码的第3行
stralloc tmplogin={0},mydefaultdomain={0};
应该改为
static stralloc tmplogin={0},mydefaultdomain={0};
否则有内存泄露。
因为坏人可以用RSET在一个连接发出许多MAIL FROM
smtp_auth_validfrom()被许多次调用。
tmplogin, mydefaultdomain会占用内存不退,越占越多。

也许我看的不完全对,因为我没有看PATCH后的代码。但希望你研究。




  1. +int smtp_auth_validfrom(from) char * from;
  2. +{
  3. +  stralloc tmplogin={0},mydefaultdomain={0};
  4. +  char authusername[256];
  5. +  int k, userlen;
  6. +
  7. +  if (!authd) return 1;
  8. +
  9. +  authusername[255] = '';
  10. +  userlen = k = str_len(smtpauthlogin);
  11. +  k = byte_rchr(smtpauthlogin, k, '@');
  12. +
  13. +  if (k == userlen)
  14. +  {
  15. +    k = byte_rchr(smtpauthlogin, userlen, '%');
  16. +
  17. +    if (k == userlen)

  18. ......................
复制代码

论坛徽章:
0
43 [报告]
发表于 2005-11-19 09:10 |只看该作者
[root@testmailserver netqmail-1.05]# patch < qmail-smtpd.patch
patching file qmail-smtpd.c
Hunk #1 succeeded at 216 (offset -52 lines).
Hunk #3 succeeded at 447 (offset -85 lines).
Hunk #4 succeeded at 693 (offset -6 lines).
[root@testmailserver netqmail-1.05]# make qmail-smtpd
./compile qmail-smtpd.c
qmail-smtpd.c: In function `main':
qmail-smtpd.c:642: warning: return type of `main' is not `int'
./load qmail-smtpd rcpthosts.o commands.o timeoutread.o
timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o
received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a
datetime.a getln.a open.a sig.a case.a env.a stralloc.a
alloc.a substdio.a error.a str.a fs.a auto_qmail.o  `cat
socket.lib`

论坛徽章:
0
44 [报告]
发表于 2006-02-18 11:18 |只看该作者
留个印
过些时候有用

论坛徽章:
0
45 [报告]
发表于 2006-02-18 20:40 |只看该作者
原帖由 vyouzhi 于 2006-2-18 11:18 发表
留个印
过些时候有用

已经没有必要了

论坛徽章:
0
46 [报告]
发表于 2006-06-29 11:17 |只看该作者
好文章!!!

论坛徽章:
0
47 [报告]
发表于 2006-06-30 02:31 |只看该作者
我的服务器安装完后也出现了与楼主一样的故障,任何非法用户只要使用了我的服务器就可以给我的域内所有成员发邮件,我的服务器环境是:

qmail 1.05 +vpopmail 5.4.10 +mysql+LINUX AS 4

请问应该用什么补丁,或者有什么比较好的解决方案呢,

先谢谢大家的帮助

详细烦请查看连接:http://bbs.chinaunix.net/viewthr ... &extra=page%3D1

论坛徽章:
0
48 [报告]
发表于 2006-07-07 11:58 |只看该作者
文件又找不到了希望那位发给我一份yjc2688@163.com

论坛徽章:
0
49 [报告]
发表于 2008-06-08 11:45 |只看该作者

现在的下载地址在那里

没有下载的了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP