rpms/sing/EL-4 sing-1.1-fedora.patch, NONE, 1.1 sing-1.1-suid_log.patch, NONE, 1.1 sing.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Robert Scheck robert at fedoraproject.org
Fri Apr 24 20:48:37 UTC 2009


Author: robert

Update of /cvs/pkgs/rpms/sing/EL-4
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv21985/EL-4

Modified Files:
	.cvsignore sources 
Added Files:
	sing-1.1-fedora.patch sing-1.1-suid_log.patch sing.spec 
Log Message:
Import sing into other Fedora/EPEL branches


sing-1.1-fedora.patch:

--- NEW FILE sing-1.1-fedora.patch ---
Patch by Robert Scheck <robert at fedoraproject.org> for sing >= 1.1, which removes
all references to internal libpcap and libnet to get the system libraries used. It
also removes internal CFLAGS definitation in favour of the system-wide one.

--- SING-1.1/configure.in			2001-04-18 13:11:08.000000000 +0200
+++ SING-1.1/configure.in.fedora		2009-04-18 04:33:04.000000000 +0200
@@ -7,20 +7,11 @@
 
 AM_CONFIG_HEADER(config.h)
 
-libpcapdir=libpcap-0.4
-libnetdir=Libnet-1.0.1b
-
-AC_SUBST(libpcapdir)
-AC_SUBST(libnetdir)
-
 AC_CANONICAL_SYSTEM
 
 AM_INIT_AUTOMAKE(SING, 1.1)
 
 AC_PROG_CC
-if test -n "$GCC"; then
-      CFLAGS="-O3 -Wall"
-fi
 
 AC_STDC_HEADERS
 
@@ -44,45 +35,6 @@
 AC_CHECK_LIB(net, libnet_open_raw_sock, have_libnet=yes, have_libnet=no)
 
 dnl
-dnl libpcap...
-dnl
-PCAP_CLEAN="pcap_clean"
-PCAP_DISTCLEAN="pcap_distclean"
-CFLAGS="$CFLAGS -I$libpcapdir"
-
-if test $have_libpcap = yes; then
-  PCAP_COMPILE=""
-  LIBS="-L/usr/local/lib $LIBS"
-else
-  PCAP_COMPILE="pcap_compile"
-  LIBS="-L/usr/local/lib -L$libpcapdir $LIBS"
-fi
-
-AC_SUBST(PCAP_CLEAN)
-AC_SUBST(PCAP_DISTCLEAN)
-AC_SUBST(PCAP_COMPILE)
-
-dnl
-dnl libnet...
-dnl
-LIBNET_CLEAN="libnet_clean"
-LIBNET_DISTCLEAN="libnet_distclean"
-CFLAGS="$CFLAGS -I$libnetdir"
-
-if test $have_libnet = yes; then
-  LIBNET_COMPILE=""
-  LIBS="-L/usr/local/lib $LIBS"
-else
-  LIBNET_COMPILE="libnet_compile"
-  LIBS="-L/usr/local/lib -L$libnetdir/lib $LIBS"
-fi
-
-AC_SUBST(LIBNET_CLEAN)
-AC_SUBST(LIBNET_DISTCLEAN)
-AC_SUBST(LIBNET_COMPILE)
-
-
-dnl
 dnl Check headers
 dnl
 AC_CHECK_HEADERS(sys/sockio.h string.h strings.h bstring.h sys/ioctl.h)
@@ -144,7 +96,7 @@
            case "`uname -r`" in
                 2.4*)
                    AC_DEFINE(LINUX_24)
-                ;
+                ;;
                 2.2*)
                    AC_DEFINE(LINUX_22)
                 ;;
--- SING-1.1/Makefile.in			2001-04-18 13:11:06.000000000 +0200
+++ SING-1.1/Makefile.in.fedora			2009-04-18 04:18:04.000000000 +0200
@@ -67,18 +67,13 @@
 LIBNET_DISTCLEAN = @LIBNET_DISTCLEAN@
 MAKEDEPEND = @MAKEDEPEND@
 PACKAGE = @PACKAGE@
-PCAP_CLEAN = @PCAP_CLEAN@
-PCAP_COMPILE = @PCAP_COMPILE@
-PCAP_DISTCLEAN = @PCAP_DISTCLEAN@
 VERSION = @VERSION@
 getopt_OBJECTS = @getopt_OBJECTS@
 getopt_SOURCES = @getopt_SOURCES@
-libnetdir = @libnetdir@
-libpcapdir = @libpcapdir@
 
-INCLUDES = -I$(includedir) -I$(libpcapdir) -I$(libnetdir)/include
+INCLUDES = -I$(includedir)
 
-LIBS = @LIBS@ -lpcap -lnet
+LIBS = @LIBS@ -lpcap `/usr/bin/libnet10-config --libs`
 
 bin_PROGRAMS = sing
 
@@ -94,7 +89,7 @@
 PROGRAMS =  $(bin_PROGRAMS)
 
 
-DEFS = @DEFS@ `$(libnetdir)/libnet-config --defines` -I. -I$(srcdir) -I.
+DEFS = @DEFS@ `/usr/bin/libnet10-config --cflags --defines` -I.
 sing_OBJECTS =  sing.o device.o ip_options.o parser.o vers_date.o help.o @getopt_OBJECTS@
 sing_LDADD = $(LDADD)
 sing_DEPENDENCIES = 
@@ -111,7 +106,7 @@
 SOURCES = $(sing_SOURCES)
 OBJECTS = $(sing_OBJECTS)
 
-all: libpcap libnet all-redirect
+all: all-redirect
 .SUFFIXES:
 .SUFFIXES: .S .c .o .s
 
@@ -226,7 +221,7 @@
 
 
 help.o: help.c config.h
-sing.o: sing.c config.h libpcap-0.4/pcap.h libpcap-0.4/net/bpf.h \
+sing.o: sing.c config.h \
 	sing.h ipcompat.h misc.h packet.h dev_struct.h
 ip_options.o: ip_options.c config.h ip_options.h ipcompat.h packet.h \
 	misc.h
@@ -269,12 +264,12 @@
 
 clean-am:  clean-binPROGRAMS mostlyclean-am
 
-clean: clean-am pcap_clean libnet_clean
+clean: clean-am
 
 distclean-am:  distclean-hdr distclean-compile \
 		 distclean-generic clean-am
 
-distclean: distclean-am pcap_distclean libnet_distclean
+distclean: distclean-am
 	-rm -f config.status
 
 
@@ -290,38 +285,9 @@
 distclean-generic clean mostlyclean distclean
 
 
-clean-local:	@PCAP_CLEAN@ @LIBNET_CLEAN@
+clean-local:
 
-distclean-local:	@PCAP_DISTCLEAN@ @LIBNET_DISTCLEAN@
-
-libpcap:	pcap_conf @PCAP_COMPILE@
-
-pcap_conf:
-	@echo Configuring libpcap; cd $(libpcapdir); ./configure
-
-pcap_compile:
-	@echo Compiling libpcap; cd $(libpcapdir); $(MAKE)
-
-pcap_clean:
-	cd $(libpcapdir); $(MAKE) clean
-
-pcap_distclean:
-	cd $(libpcapdir); $(MAKE) distclean
-
-
-libnet: libnet_conf @LIBNET_COMPILE@
-
-libnet_conf:
-	@echo Configuring libnet; cd $(libnetdir); ./configure
-
-libnet_compile:
-	@echo Compiling libnet; cd $(libnetdir); $(MAKE)
-
-libnet_clean:
-	cd $(libnetdir); $(MAKE) clean
-
-libnet_distclean:
-	cd $(libnetdir); $(MAKE) distclean
+distclean-local:
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.

sing-1.1-suid_log.patch:

--- NEW FILE sing-1.1-suid_log.patch ---
Re-merged patch by Robert Scheck <robert at fedoraproject.org> for sing >= 1.1, which
causes sing to drop privileges when opening log file and running sing suid; this is
CVE-2007-6211. The patch is originally from Nico Golde <nion at debian.org> and then
afterwards used by Alberto Gonzalez Iniesta <agi at inittab.org>.

Further information:
 - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6211
 - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454167

--- SING-1.1/parser.c				2001-04-18 13:11:08.000000000 +0200
+++ SING-1.1/parser.c.suid_log			2009-04-18 04:53:05.000000000 +0200
@@ -75,6 +75,8 @@
    struct protoent *proto;
    static struct mi_ifaz iface;
    struct sockaddr_in *aux2;
+   uid_t user_id;
+
    static struct option options[] =
    {
     { "help",    0, 0, 'h' },
@@ -380,8 +382,14 @@
        break;
        
        case 31:
+             user_id = getuid();
+             uid_t tmp_id = geteuid();
+
+             seteuid(user_id);
              if ( (packet->logfile = fopen(optarg, "a+")) == NULL )
                 go_out_error(1, "fopen");
+
+             seteuid(tmp_id);
        break;
        
        case 32:


--- NEW FILE sing.spec ---
Summary:	Sends fully customized ICMP packets from command line
Name:		sing
Version:	1.1
Release:	1%{?dist}
License:	GPLv2+
Group:		Applications/Internet
URL:		http://www.sourceforge.net/projects/%{name}/
Source:		http://downloads.sourceforge.net/%{name}/SING-%{version}.tgz
Patch0:		sing-1.1-fedora.patch
Patch1:		sing-1.1-suid_log.patch
BuildRequires:	%{_includedir}/pcap.h, libnet10-devel, automake, autoconf
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
Sing is a little tool that sends fully customized ICMP packets from command
line. The main purpose is to replace/complement the nice ping command with
certain enhancements as:

 - Send fragmented and monster packets > 65534 bytes
 - Send/read spoofed packets
 - Send many ICMP Information types in addition to the echo request type,
   sent by default as address mask request, timestamp, information request,
   router solicitation and router advertisement
 - Send many ICMP error types: redirect, source quench, time exceeded,
   destination unreach and parameter problem
 - Send to host with loose or strict source routing
 - Use little fingerprinting techniques to discover Windows or Solaris boxes
 - Send ICMP packets emulating certain OS: Cisco, Solaris, Linux, Shiva,
   Unix and Windows at the moment

%prep
%setup -q -n SING-%{version}
%patch0 -p1 -b .fedora
%patch1 -p1 -b .sing_suid

# Rebuilding of configure file is needed for Patch0
autoconf

# Automake can't be run because of missing Makefile.am
cp -f %{_datadir}/automake-*/config.* .

%build
%configure --bindir=%{_sbindir}
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install

# Convert everything to UTF-8
iconv -f iso-8859-1 -t utf-8 -o LEEME.utf8 LEEME
touch -c -r LEEME LEEME.utf8
mv -f LEEME.utf8 LEEME

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING README THANKS
%lang(es) %doc LEEME
%{_sbindir}/%{name}
%{_mandir}/man8/%{name}.8*

%changelog
* Sat Apr 18 2009 Robert Scheck <robert at fedoraproject.org> 1.1-1
- Upgrade to 1.1
- Initial spec file for Fedora and Red Hat Enterprise Linux


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/sing/EL-4/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	23 Apr 2009 16:45:39 -0000	1.1
+++ .cvsignore	24 Apr 2009 20:48:06 -0000	1.2
@@ -0,0 +1 @@
+SING-1.1.tgz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/sing/EL-4/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	23 Apr 2009 16:45:39 -0000	1.1
+++ sources	24 Apr 2009 20:48:06 -0000	1.2
@@ -0,0 +1 @@
+f9f649c4b40174a983601d46e4a3daac  SING-1.1.tgz




More information about the fedora-extras-commits mailing list