From f11d2b55f745810c6e1de8c0474001bdf8310efe Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 8 Feb 2009 15:42:17 +0000 Subject: [PATCH] * ext/socket/option.c (inspect_local_peercred): cr_uid is a effective uid, not a real uid. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/socket/option.c | 2 +- test/socket/test_unix.rb | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b24ed5d196..c41185859f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 9 00:37:06 2009 Tanaka Akira + + * ext/socket/option.c (inspect_local_peercred): cr_uid is a effective + uid, not a real uid. + Mon Feb 9 00:30:56 2009 Tanaka Akira * ext/socket/extconf.rb: check sys/param.h and sys/ucred.h. diff --git a/ext/socket/option.c b/ext/socket/option.c index c79c1f529f..7bffdf8d6b 100644 --- a/ext/socket/option.c +++ b/ext/socket/option.c @@ -264,7 +264,7 @@ inspect_local_peercred(int level, int optname, VALUE data, VALUE ret) struct xucred cred; memcpy(&cred, RSTRING_PTR(data), sizeof(struct xucred)); rb_str_catf(ret, " version=%u", cred.cr_version); - rb_str_catf(ret, " uid=%u", cred.cr_uid); + rb_str_catf(ret, " euid=%u", cred.cr_uid); if (cred.cr_ngroups) { int i; char *sep = " groups="; diff --git a/test/socket/test_unix.rb b/test/socket/test_unix.rb index 6799e52fd1..6b54594736 100644 --- a/test/socket/test_unix.rb +++ b/test/socket/test_unix.rb @@ -321,7 +321,7 @@ class TestUNIXSocket < Test::Unit::TestCase s, = serv.accept cred = s.getsockopt(0, Socket::LOCAL_PEERCRED) inspect = cred.inspect - assert_match(/ uid=#{Process.uid} /, inspect) + assert_match(/ euid=#{Process.euid} /, inspect) assert_match(/ \(xucred\)/, inspect) } end