diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in index f68ac9e021..941c144f84 100644 --- a/openwrt/package/Config.in +++ b/openwrt/package/Config.in @@ -101,6 +101,7 @@ source "package/radvd/Config.in" source "package/rarpd/Config.in" source "package/reaim/Config.in" source "package/robocfg/Config.in" +source "package/rrs/Config.in" source "package/rsync/Config.in" source "package/samba/Config.in" source "package/ser/Config.in" diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile index 0c4d048310..e061e2bdfe 100644 --- a/openwrt/package/Makefile +++ b/openwrt/package/Makefile @@ -152,6 +152,7 @@ package-$(BR2_COMPILE_RP_PPPOE) += rp-pppoe package-$(BR2_PACKAGE_RRDCOLLECT) += rrdcollect package-$(BR2_COMPILE_RRDTOOL) += rrdtool package-$(BR2_COMPILE_RRDTOOL1) += rrdtool1 +package-$(BR2_COMPILE_RRS) += rrs package-$(BR2_PACKAGE_RSYNC) += rsync package-$(BR2_PACKAGE_SABLEVM) += sablevm package-$(BR2_PACKAGE_SABLEVM_CLASSPATH) += sablevm-classpath @@ -378,6 +379,11 @@ ifneq ($(BR2_PACKAGE_PMACCT_PGSQL),) pmacct-compile: postgresql-compile endif +rrs-compile: uclibc++-compile +ifneq ($(BR2_PACKAGE_RRS),) +rrs-compile: openssl-compile +endif + snort-compile: libnet-compile libpcap-compile pcre-compile ifeq ($(BR2_PACKAGE_SNORT_MYSQL),y) snort-compile: mysql-compile diff --git a/openwrt/package/rrs/Config.in b/openwrt/package/rrs/Config.in new file mode 100644 index 0000000000..8c9ab8205b --- /dev/null +++ b/openwrt/package/rrs/Config.in @@ -0,0 +1,28 @@ +config BR2_COMPILE_RRS + bool + default n + depends BR2_PACKAGE_RRS || BR2_PACKAGE_RRS_NOSSL + +config BR2_PACKAGE_RRS + tristate "rrs - A reverse (connecting) remote shell, with SSL support" + default m if CONFIG_DEVEL + select BR2_COMPILE_RRS + select BR2_PACKAGE_UCLIBCXX + select BR2_PACKAGE_LIBOPENSSL + help + A reverse (connecting) remote shell, built with SSL support. + + http://www.cycom.se/dl/rrs/ + + +config BR2_PACKAGE_RRS_NOSSL + tristate "rrs-nossl - A reverse (connecting) remote shell, without SSL support" + default m if CONFIG_DEVEL + select BR2_COMPILE_RRS + select BR2_PACKAGE_UCLIBCXX + help + A reverse (connecting) remote shell, built without SSL support. + + http://www.cycom.se/dl/rrs/ + + diff --git a/openwrt/package/rrs/Makefile b/openwrt/package/rrs/Makefile new file mode 100644 index 0000000000..f7b2d5f223 --- /dev/null +++ b/openwrt/package/rrs/Makefile @@ -0,0 +1,58 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=rrs +PKG_VERSION:=1.70 +PKG_RELEASE:=1 +PKG_MD5SUM:=b400d03c0e39e3e78a7327ba78f789f0 + +PKG_SOURCE_URL:=http://www.cycom.se/uploads/36/19 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_CAT:=zcat +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(TOPDIR)/package/rules.mk + +$(eval $(call PKG_template,RRS,rrs,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,RRS_NOSSL,rrs-nossl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) + +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared + touch $@ + +$(PKG_BUILD_DIR)/.built: +ifneq ($(BR2_PACKAGE_RRS),) + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -fno-builtin -nostdinc++" \ + LDFLAGS="-nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -luClibc++ -lc -lm -lutil -lssl -lcrypto" \ + generic + ( cd $(PKG_BUILD_DIR); mv rrs rrs-ssl; ) + -$(MAKE) -C $(PKG_BUILD_DIR) \ + clean +endif +ifneq ($(BR2_PACKAGE_RRS_NOSSL),) + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -fno-builtin -nostdinc++" \ + LDFLAGSNOSSL="-nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -luClibc++ -lc -lm -lutil" \ + generic-nossl + ( cd $(PKG_BUILD_DIR); mv rrs rrs-nossl; ) +endif + touch $@ + +$(IPKG_RRS): + install -d -m0755 $(IDIR_RRS)/usr/bin + install -m0755 $(PKG_BUILD_DIR)/rrs-ssl $(IDIR_RRS)/usr/bin/rrs + $(RSTRIP) $(IDIR_RRS) + $(IPKG_BUILD) $(IDIR_RRS) $(PACKAGE_DIR) + +$(IPKG_RRS_NOSSL): + install -d -m0755 $(IDIR_RRS_NOSSL)/usr/bin + install -m0755 $(PKG_BUILD_DIR)/rrs-nossl $(IDIR_RRS_NOSSL)/usr/bin/rrs + $(RSTRIP) $(IDIR_RRS_NOSSL) + $(IPKG_BUILD) $(IDIR_RRS_NOSSL) $(PACKAGE_DIR) + +mostlyclean: + -$(MAKE) -C $(PKG_BUILD_DIR) clean + rm -f $(PKG_BUILD_DIR)/.built diff --git a/openwrt/package/rrs/ipkg/rrs-nossl.control b/openwrt/package/rrs/ipkg/rrs-nossl.control new file mode 100644 index 0000000000..0407e8ffcb --- /dev/null +++ b/openwrt/package/rrs/ipkg/rrs-nossl.control @@ -0,0 +1,8 @@ +Package: rrs-nossl +Priority: optional +Section: net +Maintainer: OpenWrt Developers Team , putman +Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/rrs/ +Depends: uclibc++ +Description: A reverse (connecting) remote shell, without SSL support. + diff --git a/openwrt/package/rrs/ipkg/rrs.control b/openwrt/package/rrs/ipkg/rrs.control new file mode 100644 index 0000000000..a6366f7165 --- /dev/null +++ b/openwrt/package/rrs/ipkg/rrs.control @@ -0,0 +1,8 @@ +Package: rrs +Priority: optional +Section: net +Maintainer: OpenWrt Developers Team +Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/rrs/ +Depends: uclibc++, libopenssl +Description: A reverse (connecting) remote shell, with SSL support. + diff --git a/openwrt/package/rrs/patches/rrs-1.70-shell.patch b/openwrt/package/rrs/patches/rrs-1.70-shell.patch new file mode 100644 index 0000000000..822ce7c18e --- /dev/null +++ b/openwrt/package/rrs/patches/rrs-1.70-shell.patch @@ -0,0 +1,12 @@ +diff -ruN rrs-1.70-old/rrs.c rrs-1.70-new/rrs.c +--- rrs-1.70-old/rrs.c 2004-05-30 02:32:03.000000000 +0200 ++++ rrs-1.70-new/rrs.c 2005-10-12 12:41:24.000000000 +0200 +@@ -920,7 +920,7 @@ + close(slave_fd); + signal(SIGHUP, SIG_DFL); + signal(SIGCHLD, SIG_DFL); +- execl("/bin/sh", "", NULL); ++ execl("/bin/sh", "/bin/sh", NULL); + /* should not return */ + exit(1); + } else if (pid > 0) {