Linux下动态库的符号冲突、隐藏和强制优先使用库内符号

    我司为客户提供sdk包供开发使用,就是几个so文件,在so文件中我司封装了tinyxml2这个库,客户再做开发时也时候用了tinyxml2这个库,但是所使用的版本是不同的,造成了再运行时,会崩溃。应该是在程序运行时,先加载了他们的tinyxml库,然后我们的sdk在寻找tinyxml库的相关符号是找到的是他们库的符号。

源码编译jemalloc

    jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.

mpeg-ts封装对时间戮循环到头的处理

    在对H.264/H.265视频流进行mpeg-ts封装时,需要填写pcr/dts/pts信息,但这三个字段均有长度限制,在进行相关时间戮赋值时,需要考虑循环溢出问题。

    ts流中的三个时间戮,pts(33bit)、dts(33bit)、pcr(42bit)

通过sasl的pam认证机制实现对svnserve的自定义用户认证

      上一篇博文中讲解了svnserve使用sasl协议认证的配置方式,并通过sasl的pam认证机制使用linux自带的用户认证信息实现对svnserve的用户认证。在企业中,通常都有自己的用户管理及认证系统,如AD(活动目录),也有自定义的基于 MySQL 的用户信息并通过HTTP接口的方式对外暴露认证接口,这样做可以进行统一用户管理和认证,在企业中,员工只需要维护一份用户信息记录,即可操作所有需要认证的系统。

通过sasl配置svnserve认证方式

    在创建一个代码仓库时,通过 repository/conf/svnserve.conf 可以看到,可以通过启用 password-db 来指定可以访问 svn 代码仓库的用户认证信息,但通过该方式只能是明文形式的,有以下缺点:

    1. 用户名和密码均为明文存储,在实际项目开发过程中,管理员需要每个成员提供明文密码,存在安全隐患;
    2. 用户名和密码需要单独手动添加并独立维护;