linux - Android liblog 关于 Unix domain socket 证书的疑问?
PHPz
PHPz 2017-04-17 17:53:52
[Android讨论组]

最近在查看 Android 的 log 系统,Java 端的 logcat 的所有读写操作最终会调用 liblog 作为 client 端与 logd 这个 server 端进行通讯,使用的是 Unix domain socket。

然后在查看源码的时候发现,当调用 liblog 的写操作的时候(./system/core/liblog/logd_write.c),最终使用的是 writev() 这个函数,但是在 server 端(./system/core/logd/LogListener.cpp)进行接收的时候,却是调用 recvmsg()LogListener.cppaccept() 之后调用 onDataAvailable(),首先会进行一个 struct ucred 证书的检查。但是 liblog 如上面所说的在 writev() 的时候是没有准备这个证书的,这就会导致 server 端检查到没有证书而退出。但是事实上是不会的。

所以想请教各位,是不是我遗漏了什么地方,特此请教各位,在此先行感谢了!

PHPz
PHPz

学习是最好的投资!

全部回复(1)
PHP中文网

ucred是内核写入的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号