Etsushi Kato
ekato****@ees*****
2004年 2月 29日 (日) 15:40:40 JST
On Sun, Feb 29, 2004 at 02:31:04PM +0900, Etsushi Kato <ekato****@ees*****> wrote: > > msg_accrightsの代わりにmsg_controlがありませんか? > > 4.3BSDではmsg_accrightsで、 > > 4.3BSD Renoからはmsg_controlに変更されたとのことなので[*]、 > > msg_controlを使うようにすればいいのではないかと思います。 > > なるほど。勉強になります。確かに Mac OS X でも msg_control が struct > msghdr にありました。msg_accrights は struct omsghdr に含まれています。 > openldap のDO_SENDMSG の場合のコードを msg_control に対応したように書 > きかえたところ、手元でも uid が得られました。ちょうど、木原さんのダミー > リクエストのコードが役立ちました。 > もう少しきれいに修正してからパッチを送りたいと思います。 少し試したり考えてみたのですが、openldap にある getpeereid の DO_SENDMSG のコードでは、相手側の ソケットの uid は得ることができない ので、結局 geteuid() を使うのと同じ結果になってしまいます。 ということで、 Mac OS X では Unix ドメインソケットに credentials が使 えるようになるのを待つしかないのかもしれません。 -- Etsushi Kato ekato****@ees*****