Added patch for capability support rather UID check (#589770)
This commit is contained in:
parent
c71dd73dda
commit
468bbb009a
45
libnet-1.1.4-capability.patch
Normal file
45
libnet-1.1.4-capability.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
Patch by Robert Scheck <robert@fedoraproject.org> for libnet >= 1.1.4, which backports
|
||||||
|
capability support instead of explicitly checking for UID 0. Further information can be
|
||||||
|
found at the following links:
|
||||||
|
|
||||||
|
- https://bugzilla.redhat.com/show_bug.cgi?id=589770
|
||||||
|
- http://github.com/sam-github/libnet/commit/671742244c20804c9e935326e3649dac3382f17a
|
||||||
|
|
||||||
|
--- libnet-1.1.4/src/libnet_init.c 2009-06-05 02:31:44.000000000 +0200
|
||||||
|
+++ libnet-1.1.4/src/libnet_init.c.capability 2010-07-09 22:57:10.000000000 +0200
|
||||||
|
@@ -44,14 +44,7 @@
|
||||||
|
{
|
||||||
|
libnet_t *l = NULL;
|
||||||
|
|
||||||
|
-#if !defined(__WIN32__)
|
||||||
|
- if (getuid() && geteuid())
|
||||||
|
- {
|
||||||
|
- snprintf(err_buf, LIBNET_ERRBUF_SIZE,
|
||||||
|
- "%s(): UID or EUID of 0 required\n", __func__);
|
||||||
|
- goto bad;
|
||||||
|
- }
|
||||||
|
-#else
|
||||||
|
+#if defined(__WIN32__)
|
||||||
|
WSADATA wsaData;
|
||||||
|
|
||||||
|
if ((WSAStartup(0x0202, &wsaData)) != 0)
|
||||||
|
--- libnet-1.1.4/src/libnet_link_linux.c 2009-06-05 02:31:44.000000000 +0200
|
||||||
|
+++ libnet-1.1.4/src/libnet_link_linux.c.capability 2010-07-09 22:58:33.000000000 +0200
|
||||||
|
@@ -90,8 +90,15 @@
|
||||||
|
|
||||||
|
if (ioctl(l->fd, SIOCGIFHWADDR, &ifr) < 0 )
|
||||||
|
{
|
||||||
|
- snprintf(l->err_buf, LIBNET_ERRBUF_SIZE,
|
||||||
|
- "SIOCGIFHWADDR: %s", strerror(errno));
|
||||||
|
+ if (errno == EPERM) {
|
||||||
|
+ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE,
|
||||||
|
+ "%s(): UID/EUID 0 or capability CAP_NET_RAW required",
|
||||||
|
+ __func__);
|
||||||
|
+
|
||||||
|
+ } else {
|
||||||
|
+ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE,
|
||||||
|
+ "socket: %s", strerror(errno));
|
||||||
|
+ }
|
||||||
|
goto bad;
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,12 @@
|
|||||||
Summary: C library for portable packet creation and injection
|
Summary: C library for portable packet creation and injection
|
||||||
Name: libnet
|
Name: libnet
|
||||||
Version: 1.1.4
|
Version: 1.1.4
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.sourceforge.net/projects/libnet-dev/
|
URL: http://www.sourceforge.net/projects/libnet-dev/
|
||||||
Source: http://downloads.sourceforge.net/libnet-dev/%{name}-%{version}.tar.gz
|
Source: http://downloads.sourceforge.net/libnet-dev/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: libnet-1.1.4-capability.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -29,6 +30,7 @@ and sample test code for more detailed information.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .capability
|
||||||
|
|
||||||
# Keep the sample directory untouched by make
|
# Keep the sample directory untouched by make
|
||||||
rm -rf __dist_sample
|
rm -rf __dist_sample
|
||||||
@ -84,6 +86,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man3/%{name}*.3*
|
%{_mandir}/man3/%{name}*.3*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 09 2010 Robert Scheck <robert@fedoraproject.org> 1.1.4-4
|
||||||
|
- Added patch for capability support rather UID check (#589770)
|
||||||
|
|
||||||
* Fri Aug 21 2009 Robert Scheck <robert@fedoraproject.org> 1.1.4-3
|
* Fri Aug 21 2009 Robert Scheck <robert@fedoraproject.org> 1.1.4-3
|
||||||
- Move libnet.so.* to /lib[64] to avoid static linking (#518150)
|
- Move libnet.so.* to /lib[64] to avoid static linking (#518150)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user