首页
/ Poco项目1.14.2版本发布:网络与安全功能全面升级

Poco项目1.14.2版本发布:网络与安全功能全面升级

2025-06-07 23:19:23作者:吴年前Myrtle

Poco(Portable Components)是一个开源的C++类库集合,专注于简化网络编程、文件系统访问、数据流处理等常见任务的开发。作为C++标准库的扩展,Poco提供了许多实用的组件,帮助开发者快速构建跨平台的应用程序。近日,Poco项目发布了1.14.2版本,这是一个专注于问题修复和安全性增强的维护版本。

核心变更与安全修复

本次1.14.2版本最值得关注的是对多个安全问题的修复。项目团队升级了内置的libexpat库至2.7.1版本,修复了已知的安全缺陷。libexpat是一个流行的XML解析库,广泛应用于各种XML处理场景中,其安全性直接影响到依赖它的应用程序。

另一个重要的安全修复是针对NTLM认证模块中的异常问题。Poco::Net::NTLMCredentials::parseChallengeMessage函数在某些情况下可能导致程序异常,这在1.14.2版本中得到了修复。NTLM认证是企业环境中常见的认证协议,这一修复提升了Poco在网络认证方面的稳定性。

在网络组件方面,开发团队修复了TCPServer在调用stop()后仍可能继续接受连接的问题。这个异常可能导致服务器在关闭过程中处理不必要的连接请求,影响服务的优雅关闭。修复后,TCPServer的行为更加符合预期,确保了服务的可靠关闭。

功能改进与优化

1.14.2版本对Poco的多个核心组件进行了优化。在WebSocket实现中,修复了receiveFrame()方法在没有有效负载时重复返回相同帧的问题。这一改进使得WebSocket通信更加可靠,特别是在处理控制帧时表现更加稳定。

动态类型系统(Poco::Dynamic::Var)也获得了改进,修复了负数的浮点精度转换问题。现在,当开发者将Dynamic::Var转换为浮点数时,无论是正数还是负数,都能获得正确的精度处理结果。

在数据库连接池方面,修复了SessionPool::dead()方法检查空闲会话而非活动会话的问题。这一修复确保了连接池能更准确地识别和回收失效的数据库连接,提高了数据库操作的可靠性。

构建系统与依赖管理

1.14.2版本对CMake构建系统进行了优化,使utf8proc、PCRE2、zlib和expat等依赖项成为私有依赖。这一变更简化了项目的依赖管理,减少了与其他项目可能产生的依赖冲突。

对于Windows平台,开发团队增强了系统架构检测功能,现在能够正确报告所有PROCESSOR_ARCHITECTURE_*常量的字符串值,提高了跨平台兼容性。

总结

Poco 1.14.2版本虽然是一个维护更新,但包含了多项重要的安全修复和功能改进。从XML解析的安全性到网络服务的稳定性,再到动态类型系统的准确性,这次更新全面提升了框架的可靠性和安全性。对于正在使用Poco框架的开发者来说,升级到1.14.2版本将获得更稳定、更安全的开发体验。特别是那些依赖网络服务和XML处理的应用程序,这次更新解决了多个潜在的问题点,值得及时升级。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
197
2.17 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
208
285
pytorchpytorch
Ascend Extension for PyTorch
Python
59
94
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
974
574
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
549
81
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
399
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
393
27
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
1.2 K
133