diff --git a/net/ulogd/Makefile b/net/ulogd/Makefile new file mode 100644 index 0000000000..375712b7ea --- /dev/null +++ b/net/ulogd/Makefile @@ -0,0 +1,200 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ulogd +PKG_VERSION:=2.0.4 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/ulogd/ \ + ftp://ftp.be.netfilter.org/pub/netfilter/ulogd/ \ + ftp://ftp.de.netfilter.org/pub/netfilter/ulogd/ \ + ftp://ftp.no.netfilter.org/pub/netfilter/ulogd/ +PKG_MD5SUM:=7c71ec460dfea5287eba27472c521ebc + +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILE:=COPYING +PKG_MAINTAINER:=Nicolas Thill + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/ulogd/Default + SECTION:=net + CATEGORY:=Network + URL:=http://www.netfilter.org/projects/ulogd/index.html +endef + +define Package/ulogd + $(call Package/ulogd/Default) + DEPENDS:=+libmnl +libnfnetlink +libpthread + TITLE:=Netfilter userspace logging daemon + MENU:=1 +endef + +define Package/ulogd/conffiles +/etc/ulogd.conf +endef + +define Package/ulogd-mod-dbi + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libdbi + TITLE:=Output plugin for logging to a database using libdbi +endef + +define Package/ulogd-mod-mysql + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libmysqlclient + TITLE:=Output plugin for logging to a MySQL database +endef + +define Package/ulogd-mod-nfacct + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libnetfilter-acct + TITLE:=Input plugin for flow-based logging (accounting) +endef + +define Package/ulogd-mod-nfct + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libnetfilter-conntrack + TITLE:=Input plugin for flow-based logging (conntracking) +endef + +define Package/ulogd-mod-nflog + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libnetfilter-log + TITLE:=Input plugin using NFLOG +endef + +define Package/ulogd-mod-pcap + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libpcap + TITLE:=Output plugin for logging in pcap format +endef + +define Package/ulogd-mod-pgsql + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libpq + TITLE:=Output plugin for logging to a PostgreSQL database +endef + +define Package/ulogd-mod-sqlite + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libsqlite3 + TITLE:=Output plugin for logging to an SQLite database +endef + +define Package/ulogd-mod-syslog + $(call Package/ulogd/Default) + DEPENDS:=ulogd + TITLE:=Syslog output plugin +endef + +define Package/ulogd-mod-xml + $(call Package/ulogd/Default) + DEPENDS:=ulogd +libnetfilter-acct +libnetfilter-conntrack +libnetfilter-log + TITLE:=XML output plugin +endef + +define Package/ulogd-mod-extra + $(call Package/ulogd/Default) + DEPENDS:=ulogd + TITLE:=Extra plugins +endef + +PKG_BUILD_DEPENDS:=libnetfilter-acct libnetfilter-conntrack libnetfilter-log + +PKG_CONFIG_DEPENDS:= \ + CONFIG_PACKAGE_ulogd-mod-dbi \ + CONFIG_PACKAGE_ulogd-mod-mysql \ + CONFIG_PACKAGE_ulogd-mod-pgsql \ + CONFIG_PACKAGE_ulogd-mod-sqlite \ + +CONFIGURE_ARGS += \ + --enable-nfacct \ + --enable-nfct \ + --enable-nflog \ + +ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-dbi),) + CONFIGURE_ARGS += --with-dbi \ + --with-dbi-inc=$(STAGING_DIR)/usr/include/dbi \ + --with-dbi-lib=$(STAGING_DIR)/usr/lib +else + CONFIGURE_ARGS += --without-dbi +endif + +ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-mysql),) + CONFIGURE_ARGS += --with-mysql="$(STAGING_DIR)/usr" +else + CONFIGURE_ARGS += --without-mysql +endif + +ifneq ($(DEVELOPER)$(SDK)$(CONFIG_PACKAGE_ulogd-mod-pgsql),) + CONFIGURE_ARGS += --with-pgsql="$(STAGING_DIR)/usr" +else + CONFIGURE_ARGS += --without-pgsql +endif + +ifneq ($(SDK)$(CONFIG_PACKAGE_ulogd-mod-sqlite),) + CONFIGURE_ARGS += --with-sqlite="$(STAGING_DIR)/usr" +else + CONFIGURE_ARGS += --without-sqlite +endif + +define Package/ulogd/install + $(INSTALL_DIR) $(1)/etc + $(CP) $(PKG_BUILD_DIR)/ulogd.conf $(1)/etc/ + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ulogd $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/usr/lib/ulogd + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_raw2packet_BASE.so $(1)/usr/lib/ulogd/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/ulogd.init $(1)/etc/init.d/ulogd +endef + +define BuildPlugin + define Package/ulogd-mod-$(1)/install + $(INSTALL_DIR) $$(1)/usr/lib/ulogd + for m in $(2); do \ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_$$$$$$$${m}.so $$(1)/usr/lib/ulogd/ ; \ + done + endef + $$(eval $$(call BuildPackage,ulogd-mod-$(1))) +endef + +ULOGD_EXTRA_PLUGINS:= \ + filter_HWHDR \ + filter_IFINDEX \ + filter_IP2BIN \ + filter_IP2HBIN \ + filter_IP2STR \ + filter_MARK \ + filter_PRINTFLOW \ + filter_PRINTPKT \ + filter_PWSNIFF \ + inppkt_UNIXSOCK \ + output_GPRINT \ + output_GRAPHITE \ + output_LOGEMU \ + output_OPRINT \ + +$(eval $(call BuildPackage,ulogd)) +$(eval $(call BuildPlugin,dbi,output_DBI)) +$(eval $(call BuildPlugin,mysql,output_MYSQL)) +$(eval $(call BuildPlugin,nfacct,inpflow_NFACCT)) +$(eval $(call BuildPlugin,nfct,inpflow_NFCT)) +$(eval $(call BuildPlugin,nflog,inppkt_NFLOG)) +$(eval $(call BuildPlugin,pcap,output_PCAP)) +$(eval $(call BuildPlugin,pgsql,output_PGSQL)) +$(eval $(call BuildPlugin,sqlite,output_SQLITE3)) +$(eval $(call BuildPlugin,syslog,output_SYSLOG)) +$(eval $(call BuildPlugin,xml,output_XML)) +$(eval $(call BuildPlugin,extra,$(ULOGD_EXTRA_PLUGINS))) diff --git a/net/ulogd/files/ulogd.init b/net/ulogd/files/ulogd.init new file mode 100644 index 0000000000..3650322bf4 --- /dev/null +++ b/net/ulogd/files/ulogd.init @@ -0,0 +1,12 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2014 OpenWrt.org + +START=20 + +USE_PROCD=1 + +start_service() { + procd_open_instance + procd_set_param command /usr/sbin/ulogd + procd_close_instance +}