再来一份对已经提交项目的BUG管理

下面是上期项目的BUG管理,给大家借鉴一下,希望能够得到大家更多的意见,共同进步:

(file ref: G:/_P2004002/PI_smtpEX_item_forPLATO_cn.xls)

  1. [7] DNS协议BUG对应
    1. [5] 无法解决使用DNS的名称
      [原因
      新建了Lgetipnodebyname函数,但是因为没有指定query type,所以出错

      対処方法
      Lgetipnodebyname函数内,设置query type为T_A.

      修正箇所
      DNS/resolv.c(Lgetipnodebyname)]
  2. [7] SMTP协议BUG对应
    1. mail_initEX中无法登录多个服务器
      [原因
      在仕样设计阶段遗漏了扩展版的新API中登录多个服务器

      対処方法
      要求开发方在扩展版API中也可以登录多个邮件服务器.
      2004/3/11拿到开发方的修正版.

      修正箇所
      MAIL/mailmain.c(Lmail_initEX, Lmail_sendEX)]
    2. [7] 不用mail_initEX登录邮件服务器,且DNS中没有指定MX记录时,无法发送邮件。
      [原因
      本来的设计应该为Mailmx.c的mail_get_server()函数找到的邮件个数作为返回值。但是正常时返回0

      対処方法
      修正为返回mail_get_server()找到的邮件个数

      修正箇所
      MAIL/mailmx.c(mail_get_server)]
    3. [7] 不用mail_initEX登录邮件服务器,且DNS中没有指定MX记录时,无法发送邮件
      [原因
      因为mail_get_server找到的服务器列表不传递到调用元.

      対処方法
      将mail_get_server()的第2参数从addrinfo结构体的指针更改为指针的指针.

      修正箇所
      MAIL/mailmx.c(mail_get_server)]
    4. [7] 如果继续发送邮件,则heap内存减少
      [原因
      mail_get_server中用CXMALLOC获取heap内存,但是没有是否其内存

      対処方法
      在函数内从heap内存获取临时使用的6byte内存是设计错误.
      如果只要6byte左右,那么使用堆栈更好,所以更改为从堆栈获取.

      修正箇所
      MAIL/mailmx.c(mail_get_server)]
    5. [7] port编号为异常值
      [原因
      mail_get_server中使用sprintf,但是没有对应COSXSTRLIB

      対処方法
      修改为事先准备SMTP用port编号的字符串,不使用sprintf

      修正箇所
      MAIL/mailmx.c(mail_get_server)]
    6. [7] MX得到的邮件服务器地址为异常值
      [原因
      抽取了MX,但是从MX获取IP地址时,没有转换为endian

      対処方法
      修改为将_getlong函数获得的地址转换为endian

      修正箇所
      MAIL/mailmx.c(mail_mx, mail_mxEX)]
    7. [7] 用原来的API的mail_init登录服务器后,如果用mail_initEX登录服务器则无法用mail_sendEX发送邮件
      [原因
      因为mscount这个外部变量用于原来版本和扩展版,因此在上述条件下,扩展版的第1个服务器进入了垃圾.而且如果第一个服务器失败,则停止向之后的服务器发送邮件,并发此故障后,发送邮件失败

      対処方法
      分为mscount和mscountEX,取消互相的依赖.
      另外,修改为即使Lmail_sendEX对第一个服务器失败,也继续尝试连接下一个服务器

      修正箇所
      MAIL/mailmain.c(main_initEX, mail_sendEX)]
    8. [7] mail_sendEX的SSL的version指定中如果全部指定为小写字母"sslv3",既不错误返回也不发送
      [原因
      mail_send_EX内,SSL的处理即使出错,其错误代码也没有反映到mp->error

      対処方法
      修改为使错误代码反映到mp->error,传递给系统调用的返回值

      修正箇所
      MAIL/mailsend.c(main_send_EX)]
    9. [7] 发送大附件的邮件时,即使分割也只发送第一个邮件
      [原因
      即使发送数据仍然存在,如果发送成功,也正常返回

      対処方法
      删除发送邮件成功时无条件正常返回的部分

      修正箇所
      MAIL/mailsend.c(main_send_EX)]
  3. [5] 其他BUG
    1. [5] 加载连续负荷时,cancelTimer系统崩溃
      [原因
      要取消已经超时正在删除的计时器要求时发生系统崩溃.
      计时器和取消处理的互斥错误.

      対処方法
      取消处理之前,添加插入mask处理和计时器要求的存在确认

      修正箇所
      MAIL/mailsmtp.c(main_sndrcv)]
    2. [5] 加载连续负荷时,计数器队列损坏,计时器句柄内发生无限循环.
      [原因
      不进行终端mask,而直接进行mailsmtp.c的mail_sndrcv()内的createTimer调用

      対処方法
      修改为将mailsmtp.c的mail_sndrcv()内的createTimer调用前后用Mskhi保护

      修正箇所
      MAIL/mailsmtp.c(main_sndrcv)]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值