快乐10分钟: 禅道3.0.beta1插件安装清除文件bug补丁下载!

2012-01-10 20:43:44
王春生
转贴
8221
摘要:今天收到3群飞鸟网友的反馈,发现禅道3.0.beta1安装插件的时候,会把其所在分区的...

陕西快乐十分开奖走势图 www.1ucoz.cn 今天收到3群飞鸟网友的反馈,发现禅道3.0.beta1安装插件的时候,会把其所在分区的文件误删。这是一个非常严重的bug,感谢飞鸟网友的反馈,也非常抱歉,给大家造成不便和损失。

 

这个bug的缘由如下:

 

禅道插件安装的机制是从我们的网站下载插件包,然后将其解压缩到module/extension/ext目录下面。这样存在一个问题就是同一个插件的新版本安装的时候,也会解压缩到同样的目录,然后再拷贝到对应的目录里面去。这样就无法保证新版本插件安装时的目录和文件的纯粹性,因为可能还包含了老版本插件已经不再使用的文件或者目录。所以我们在3.0.beta1里面在安装插件之前,就增加了一个逻辑,先把extension/ext/xxx目录删掉。问题就出现在这个代码逻辑里面:

 

代码:module/extension/model.php

505 public function extractPackage($extension)
506 {
507 $return->result = 'ok';
508 $return->error = '';
509
510 /* try remove pre extracted files. */
511 $extensionPath = "ext/$extension";
512 $this->classFile->removeDir($extensionPath);

 

问题就出现在511行,如果是新安装一个插件的时候,ext/$extension这个目录其实不并存在,file.class.php里面的removeDir()方法会先尝试将传入的删除目录取realpath,然后再进行删除。而php里面的realpath方法对一个不存在的目录返回值为空,结果就变成了删除根目录。

 

我们平时的开发机都是在linux下面。linux下面的权限机制还是非常完善的,虽然是错误的操作,但其实并没有任何影响,所以就没有呈现不良的结果。但在windows下面,问题就出现了。apache运行所用的帐号往往是当前登录的帐号,就给删掉了。

 

如何解决这个bug呢,请下载附件里面的model.php,将其覆盖到禅道的model/extension/model.php,就可以了。

 

教训:

1. 不测试的代码肯定会有错误!

2. 跨平台的测试尤其关键。

3. 还是linux好。:)

 

再次向大家表示歉意,希望大家能够谅解。

 

禅道开发团队 2012年1月10日

下载提示

禅道使用问题交流,请先加 官方QQ: 说明来意后由群主邀请入群。

获取技术支持注意事项: //www.1ucoz.cn/book/zentaopmshelp/70.html

欢迎关注我们的微博微信。

新浪微博:易软天创

微信公众号:易软天创

评论列表
Liem 2012-01-19 11:09:09
是不是路径弄错了?应是 module/extension/model.php
ct455332 2012-01-11 14:49:06
亏好,刚才在试验机上测试的...D盘什么都没剩下
wwccss 2012-01-11 14:30:43
不安装插件的话,不会有这个问题的。下载我们的补丁文件,来修复这个问题。
Jason 2012-01-11 11:20:50
这问题搞大了,开始的时候我安装在的笔记本的C盘,那天无缘无故的C盘空间变大,大部分软件没了,害得我重新安装了系统,具体问题没有找到,后来我将禅道安装到我们的服务器上,今天早上无意中发现E盘空间变大了60多个G,这样搞不行??!
1/1
发表评论
评论通过审核后显示。
文章分类
联系我们

联系人:魏中显

电话:18561939726

Email:[email protected]

QQ:1746749398

地址:青岛开发区长江路232号国贸中心C座2单元2902室

联系人:丁芝

电话:17663906485

Email:[email protected]

QQ:1481227768

地址:青岛开发区长江路232号国贸中心C座2单元2902室

联系人:杨苗

电话:13165050229

Email:[email protected]

QQ:3142565561

地址:青岛开发区长江路232号国贸中心C座2单元2902室

联系人:徐贺

电话:15216484215

Email:[email protected]

QQ:1492153927

地址:青岛开发区长江路232号国贸中心C座2单元2902室

联系人:王壮

电话:13730922971

Email:[email protected]

QQ:2845263372

地址:青岛开发区长江路232号国贸中心C座2单元2902室

联系人:孙良宇

电话:13165056632

Email:[email protected]

QQ:3137772959

地址:青岛开发区长江路232号国贸中心C座2单元2902室

  • 新闻漫评——最贵学区房 春城壹网 七彩云南 一网天下 2019-05-18
  • 新华时评:美逆潮流而动,必将付出代价 2019-05-18
  • 【美家课堂】高温高湿 沙发保养有讲究 2019-05-09
  • “爱佑益+”受益机构CEO二期课程在京成功举办 2019-04-28
  • “东方夜莺”杨学进悉尼举办上海老歌独唱音乐会 2019-04-25
  • 端午小长假我市旅游总收入同比增20.5% 2019-04-18
  • 春节期间琼海文昌万宁临高4市县空气质量超标 2019-04-18
  • “爸爸的苹果”,甜甜的爱(青春派) 2019-04-18
  • 乡贤们,台州发“英雄帖”了 2019-04-17
  • 中国电视剧“抱团出海”(深聚焦) 2019-04-17
  • U+:顺情之境 中和之美 2019-04-13
  • 江苏洋河酒厂股份有限公司获第十二届人民企业社会责任奖年度企业奖 2019-04-11
  • 为何一个不在城中心的儿童之家成为全省最美? 2019-04-09
  • 《阿搭嫂》将与台湾观众见面 2019-04-09
  • “安全”这张牌在新一轮网约车大战中必不可少 2019-03-31
  • 499| 513| 748| 507| 309| 952| 242| 397| 142| 588|