显然, 错误本身及其修复 为什么内核、libc或编译器中的对策没有阻止这一点,或者静态分析工具是如何没有捕捉到这一点的 在这里 和 在这里 ) 协议设计–有些人想知道为什么在这样一个关键的安全协议中包含一个看似应用程序级的功能,以及为什么在身份验证完成之前该功能可用。 有趣的是,该功能的声明目的之一是 DTLS的PMTU发现 但它也支持普通TLS 易受攻击的不仅仅是服务器—— 同样脆弱的客户 由于没有记录此故障情况,因此无法检测到攻击 OpenSSL项目的运行状况, 谈论其开发人员不负责任 当涉及到他们的开发实践时 错误是如何引入的 ,涉及多少代码审查或测试。 (更新: 代码原作者的评论 ) 认识到我们行业中很少有人积极投资这个项目,而这个项目得到了很多人的信任 OpenSSL是否是每个人都应该依赖的库的问题,它应该是NSS还是GnuTLS 像OpenSSL这样的东西如何成为web服务体系结构的关键部分 即使服务是通过诸如以下技术实现的。 净值 如果SSL漏洞具有如此深远的影响,我们是否将所有鸡蛋放在一个篮子里 该漏洞暴露了多少数据,例如私钥、用户名和密码、其他敏感数据,以及在修补之前,拥有该知识的果断、资源充足的攻击者可能会泄露多少数据 这个 证书撤销措施的效力 保护用户免受可能受损的证书的影响 怎么 完美远期安全是一项重要的缓解措施 针对此类漏洞 这个 一个站点声称可以在其日志中检测到攻击 ,在漏洞公开前两周,有人利用了该漏洞。 (Thierry Carrez指出了对这篇文章的更新,它说“其他工具[…]可以在SeaCat服务器日志中生成相同的模式”) 怎么 我们对这种脆弱性的认识已经改变 现在我们知道了情报机构(国家安全局和其他机构)在人口监测和监测方面的积极性。 这次FOSDEM演讲相当有先见之明 将OpenSSL描述为NSA的“皇冠宝石”。 (更新: 声称国家安全局在引入该漏洞后不久就知道该漏洞并加以利用 ) 披露漏洞的方法、披露过程的责任以及进一步推迟披露的利弊。 显然,CloudFlare是在公开披露之前披露的,而Red Hat等供应商则没有 (更新: Kurt Seifried关于披露时间表的更多细节 )(另一个更新: OpenSSL的时间表官方视图 )(还有一个更新: Codenomicon的David Chartier访谈 ) 像Linux发行版这样的实体在帮助快速修补漏洞方面的效率如何(参见 Stripe去做了他们自己的补丁包 而不是等待Ubuntu包) 由于应用程序捆绑OpenSSL,修补这一问题的难度要大得多,如果捆绑的做法更加广泛,情况可能会更糟 影响 令人印象深刻的营销 –例如,一个很酷的名字,而不是一个CVE编号、一个徽标、清晰的技术文字来表达业务影响等–影响了补丁的部署速度
类别: 概述
OpenStack、精英政治和多元化
GNOME是一种精英政治
公司、组织或个人不应被授予基金会席位,除非根据其贡献的优点证明其存在是正当的。 金钱买不到对GNOME项目的影响:向我们展示代码(或文档、翻译、领导力或网络管理……)。
当团队认为此人“赢得了”成为开发社区一员的荣誉时,他们授予了对代码库的直接访问权,从而增加了团队,提高了团队开发程序、更有效地维护和开发程序的能力。
我们将这一基本原则称为“精英政治”:字面意思是,以德治国。
值得注意的是,这个过程在不产生摩擦的情况下进行得很好,因为与其他权力稀缺且保守的情况不同,在阿帕奇集团中,新来的人被视为志愿者,他们想帮助别人,而不是想偷取职位。
由于没有保守的资源(金钱、精力、时间)处于危险之中,该团队很高兴有新的人加入并提供帮助,他们只是筛选那些他们认为对任务有足够承诺的人,并匹配与他人合作所需的人类态度,尤其是在分歧中。
我们在中国。 讲台上没有亚洲人。 你能做些什么来改善这种情况?
Git钢筋加固(续)
假设你的树枝叫做毛茸茸的小猪。 你已经把它推出去并征求意见。 不要再重新设置此分支的基址。 创建另一个名为fluffy-pigger-rebased的分支,最初以fluffy pigger为基础。 用例如-v1后缀标记两个分支,检查两个标记中的树是否相同: $>git-diff毛茸茸的小猪 $>git show-s--format='%t'毛茸茸的小猪 将重设基分支和v1标记推送到您的回购中。 如果您希望重设基础并对补丁进行一些清理工作,请这样做,然后标记并将结果推送到repo中的绒毛小猪重设基础分支,如(3)和(4)所示,但使用新后缀。 如果你收到一些补丁,把它们拉到你的毛茸茸的小猪树枝上,贴上标签,然后把补丁重新定位到重新定位的树枝上。 $>git标签绒毛小猪-v3 $>git rebase——到绒毛小猪上——基于v2绒毛小猪-v2 $>git标签fluffy-pigger rebasing-v3 如果您希望重新设置为最新的上游,可以首先启用git的“重用记录的分辨率”功能: $>git配置--全局重新启用true 然后重新设置重设基分支: $>git结账-毛茸茸的小猪重新基础 $>git rebase上游/主 $>git标签fluffy-pigger rebasing-v4 然后,将上游合并到非重定基分支: $>吉特结账毛茸茸的小猪 $>git上游/主合并 $>git标签绒毛小猪-v4 如(3)所示,您应该能够验证生成的两棵树是否相同。 如果在重设基期间需要解决任何冲突,那么启用重设基很可能意味着合并时冲突将自动解决。 最后,如果有人想帮助你完成任何系列清理工作,只需“传递指挥棒”即可。 你基本上会说,“在第4版之后,不要再从我这里重新设定基址了,继续吧”,而其他人可以继续工作,直到他们准备再次传递控制权。
与他人合作的能力,因为人们有一个非重定基的分支要对抗 能够使用rebase清理一个系列,同时仍然确信没有任何问题,因为您有一对具有相同树内容的标记 允许其他人帮助清理该系列的能力
Git重新定位
一旦你和别人分享了一个承诺,千万不要改变它。他们可能会把工作建立在你的承诺上,通过改变它,你把一切都搞砸了。
如果您正在学习git,请花点时间了解rebase命令,尤其是交互式选项。 如果你正在开发一系列补丁,即使还没有完成,你也可以与其他人分享这个系列。 这意味着稍后对您与其他人共享的承诺进行重定基址。 如果你担心人们可能会将他们的工作建立在你计划稍后重新设置的提交上,那么你可以通过在存储库或分支名称中输入例如“v1”、“rebases”或“rebasing”来警告人们。 如果有人的工作确实基于您重新设定的承诺,那么请将他们指向 从上游Rebase恢复git-resbase部分(1) 这真的不是世界末日,特别是在简单的情况下。
我们奇怪的张贴约定
错误处理
类工厂{ 静态Foo getFoo(){ 尝试{ //加载.properties文件,从中读取密钥 ... return new Foo(propValue); }catch(异常ex){ log.error(“在属性文件中找不到键:”+ex.toString()); 返回null; } } }
Factory.getFoo().doSomething();
类FactoryException扩展了RuntimeException{ private static final String ERROR_MSG=“在文件{1}中查找密钥{0}失败”; private字符串propsFile; 私有字符串propsKey; FactoryException(字符串属性文件、字符串键、可引发原因){ super(MessageFormat.format(ERROR_MSG,propsFile,key),原因); this.propsFile=属性文件; this.propsKey=propsKey; } 字符串getPropsFile(){ return propsFile; } 字符串getPropsKey(){ return props键; } }
类工厂{ 静态Foo getFoo(){ 尝试{ //加载.properties文件,从中读取密钥 ... return new Foo(propValue); }catch(异常ex){ 抛出新的FactoryException(propsFile,propsKey,ex); } } }
FactoryException:在文件bar.properties中查找密钥foo失败 ... 原因:java.io.FileNotFoundException:。。。