OPenssh6代码移植的依赖库 OpenSSL双库连接问题的解决方案
代码移植出现:架构设计的缺陷。 ssh 其实只要 socket + OpenSSL 就能跑,但在我们系统里 socket 被换成了协议栈的自研库。将其引入后,协议栈又是一个大库,这些库还互相有函数调用, 协议栈又引入了其他库就把 SNMP、BGP、驱动这些全都链式拖进来,就包含了这些还包含openssl1.1版本 ,然后就冲突导致openssh6跑不起来,但又不能轻易改其他模块接口。 本质上就是缺少分层隔离,耦合太重,牵一发而动全身。
我曾经尝试过运行时连接库优先级也不能解决此问题,最后还是自动的连接到了非法库