From cb8adf5ed27bb8d3e2c25d43ee28382cdf5930c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 2 Aug 2010 14:18:26 +0000 Subject: [PATCH] * Only allow raw sockets for root. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37843 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp b/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp index 149dcf996f..934b94e483 100644 --- a/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp +++ b/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp @@ -1034,6 +1034,10 @@ ipv4_open(net_protocol* _protocol) { ipv4_protocol* protocol = (ipv4_protocol*)_protocol; + // Only root may open raw sockets + if (geteuid() != 0) + return B_NOT_ALLOWED; + RawSocket* raw = new (std::nothrow) RawSocket(protocol->socket); if (raw == NULL) return B_NO_MEMORY;