免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1534 | 回复: 2
打印 上一主题 下一主题

关于UNIXDOMAIN协议的接收发送者验证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-21 14:08 |只看该作者 |倒序浏览
偶在LINUX下
最近用到需要用到描述字传递 所以就用到了UNIXDOMAIN协议
为了安全起见同时做一个验证 这时就本着能抄就抄的懒蛋原则按照UNP V1 14.8节抄啦 然后编译发现用不了
比如内里是fucred 而在LINUX中是ucred 结构也不大一样
kernel中的scm_send和scm_recv好象就是用来传送描述字和这个东西的
8过弄了半天总是不行 总是收到的controllen是0,后来发现了一个套接字选项(跟UNP中介绍的不同)SO_PASSCRED 将其打开,8过虽然controllen的长度变成了24 可是其中的每位取出来都是0
最后另找到了一个套接字选项
{
struct ucred caller;
socklen_t optlen = sizeof (caller);

if (getsockopt (con, SOL_SOCKET, SO_PEERCRED, &caller, &optlen) < 0) {
perror("getsockopt";
exit(errno); }
printf("cool:%d\n",caller.pid);
}
比书中介绍的方式容易很多 不过我还是想知道如何使用书中介绍的类似的方法来取得
谁如果有相关的经验,来介绍一下 多谢了

论坛徽章:
0
2 [报告]
发表于 2003-07-21 19:21 |只看该作者

关于UNIXDOMAIN协议的接收发送者验证

传递描述字和系统有关

以前键盘有过几个讨论

并且提出几种方法
1 socket
2 ioctl方法  

你可以到精华中找找以前的贴子看看

论坛徽章:
0
3 [报告]
发表于 2003-07-21 21:08 |只看该作者

关于UNIXDOMAIN协议的接收发送者验证

我是问如何进行取得验证信息 不是问如何进行套接字传递
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP