From 62bd7ad2f594786a1dbff7181023ea6ef65af6a9 Mon Sep 17 00:00:00 2001 From: Sunwook Bae Date: Wed, 15 May 2013 17:06:26 +0900 Subject: [PATCH] Apply * label to C-Channel socket Change-Id: I212262248c3d682a1d0d7338aceaa9a450649997 Signed-off-by: Sunwook Bae --- src/FIo_ChannelCAppStub.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/FIo_ChannelCAppStub.cpp b/src/FIo_ChannelCAppStub.cpp index f10b044..a904456 100644 --- a/src/FIo_ChannelCAppStub.cpp +++ b/src/FIo_ChannelCAppStub.cpp @@ -36,6 +36,8 @@ #include #include +#include + #include #include #include @@ -156,6 +158,19 @@ _ChannelCAppStub::Construct(void) SysTryReturnResult(NID_IO, serverSocket != -1, E_SYSTEM, "Failed to create a socket."); + // SMACK (Add a * label to socket) + if(smack_fsetlabel(serverSocket, "@", SMACK_LABEL_IPOUT) != 0) + { + SysTryCatch(NID_IO, errno == EOPNOTSUPP, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] SMACK labeling failed"); + SysLog(NID_IO, "Kernel doesn't have Smack."); + } + + if(smack_fsetlabel(serverSocket, "*", SMACK_LABEL_IPIN) != 0) + { + SysTryCatch(NID_IO, errno == EOPNOTSUPP, r = E_SYSTEM, E_SYSTEM, "[E_SYSTEM] SMACK labeling failed"); + SysLog(NID_IO, "Kernel doesn't have Smack."); + } + bzero(&serverAddress, sizeof(serverAddress)); serverAddress.sun_family = AF_UNIX; strncpy(serverAddress.sun_path, pSocketName, socketNameLength); -- 2.7.4