Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>lilik-openwrt-22.03
@ -0,0 +1,57 @@ | |||||
# | |||||
# Copyright (C) 2008-2012 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:=radsecproxy | |||||
PKG_VERSION:=1.6.5 | |||||
PKG_RELEASE:=1 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:=http://software.uninett.no/radsecproxy/ | |||||
PKG_MD5SUM:=f74f82a7ae2cdf2b1d9d271a5c360617 | |||||
PKG_INSTALL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/radsecproxy | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
DEPENDS:=+libopenssl +libpthread | |||||
TITLE:=radsecproxy | |||||
URL:=http://software.uninett.no/radsecproxy | |||||
MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk> | |||||
endef | |||||
define Package/radsecproxy/description | |||||
A generic radius proxy for UDP/TLS (RadSec) | |||||
endef | |||||
CONFIGURE_ARGS+= \ | |||||
--with-ssl="$(STAGING_DIR)/usr" | |||||
#TARGET_CFLAGS += -ansi | |||||
#TARGET_CFLAGS += -std=c99 | |||||
TARGET_CFLAGS += -Wno-long-long | |||||
define Package/radsecproxy/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/radsecproxy $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/etc/ | |||||
$(CP) $(PKG_BUILD_DIR)/radsecproxy.conf-example $(1)/etc/radsecproxy.conf | |||||
$(INSTALL_DIR) $(1)/etc/init.d/ | |||||
$(INSTALL_BIN) ./files/radsecproxy.init $(1)/etc/init.d/radsecproxy | |||||
endef | |||||
define Package/radsecproxy/conffiles | |||||
/etc/radsecproxy.conf | |||||
endef | |||||
$(eval $(call BuildPackage,radsecproxy)) | |||||
@ -0,0 +1,16 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
# Copyright (C) 2006-2011 OpenWrt.org | |||||
START=70 | |||||
USE_PROCD=1 | |||||
PROG=/usr/sbin/radsecproxy | |||||
CONFFILE=/etc/radsecproxy.conf | |||||
start_service() { | |||||
procd_open_instance | |||||
procd_set_param command $PROG -f -c $CONFFILE | |||||
procd_set_param file $CONFFILE | |||||
procd_set_param respawn | |||||
procd_close_instance | |||||
} |
@ -0,0 +1,58 @@ | |||||
--- a/dtls.c | |||||
+++ b/dtls.c | |||||
@@ -523,6 +523,7 @@ void *udpdtlsserverrd(void *arg) { | |||||
free(params); | |||||
cacheexpire(sessioncache, &lastexpiry); | |||||
} | |||||
+ return NULL; | |||||
} | |||||
int dtlsconnect(struct server *server, struct timeval *when, int timeout, char *text) { | |||||
@@ -642,6 +643,7 @@ void *udpdtlsclientrd(void *arg) { | |||||
if (udp2bio(s, conf->servers->rbios, cnt)) | |||||
debug(DBG_DBG, "radudpget: got DTLS in UDP from %s", addr2string((struct sockaddr *)&from)); | |||||
} | |||||
+ return NULL; | |||||
} | |||||
void *dtlsclientrd(void *arg) { | |||||
--- a/radsecproxy.c | |||||
+++ b/radsecproxy.c | |||||
@@ -3203,6 +3203,8 @@ void *sighandler(void *arg) { | |||||
debug(DBG_WARN, "sighandler: ignoring signal %d", sig); | |||||
} | |||||
} | |||||
+ | |||||
+ return NULL; | |||||
} | |||||
int createpidfile(const char *pidfile) { | |||||
@@ -3289,6 +3291,8 @@ int radsecproxy_main(int argc, char **ar | |||||
/* just hang around doing nothing, anything to do here? */ | |||||
for (;;) | |||||
sleep(1000); | |||||
+ | |||||
+ return 0; | |||||
} | |||||
/* Local Variables: */ | |||||
--- a/udp.c | |||||
+++ b/udp.c | |||||
@@ -266,6 +266,8 @@ void *udpclientrd(void *arg) { | |||||
buf = radudpget(*s, NULL, &server, NULL); | |||||
replyh(server, buf); | |||||
} | |||||
+ | |||||
+ return NULL; | |||||
} | |||||
void *udpserverrd(void *arg) { | |||||
@@ -310,6 +312,8 @@ void *udpserverwr(void *arg) { | |||||
debug(DBG_DBG, "udpserverwr: refcount %d", reply->refcount); | |||||
freerq(reply); | |||||
} | |||||
+ | |||||
+ return NULL; | |||||
} | |||||
void addclientudp(struct client *client) { |
@ -0,0 +1,31 @@ | |||||
diff --git a/radsecproxy.c b/radsecproxy.c | |||||
index 563c4a8..9fa076d 100644 | |||||
--- a/radsecproxy.c | |||||
+++ b/radsecproxy.c | |||||
@@ -3382,18 +3382,16 @@ int radsecproxy_main(int argc, char **argv) { | |||||
options.loglevel = loglevel; | |||||
else if (options.loglevel) | |||||
debug_set_level(options.loglevel); | |||||
- if (!foreground) { | |||||
- debug_set_destination(options.logdestination | |||||
- ? options.logdestination | |||||
- : "x-syslog:///", LOG_TYPE_DEBUG); | |||||
+ debug_set_destination(options.logdestination | |||||
+ ? options.logdestination | |||||
+ : "x-syslog:///", LOG_TYPE_DEBUG); | |||||
#if defined(WANT_FTICKS) | |||||
- if (options.ftickssyslogfacility) { | |||||
- debug_set_destination(options.ftickssyslogfacility, | |||||
- LOG_TYPE_FTICKS); | |||||
- free(options.ftickssyslogfacility); | |||||
- } | |||||
-#endif | |||||
+ if (options.ftickssyslogfacility) { | |||||
+ debug_set_destination(options.ftickssyslogfacility, | |||||
+ LOG_TYPE_FTICKS); | |||||
+ free(options.ftickssyslogfacility); | |||||
} | |||||
+#endif | |||||
free(options.logdestination); | |||||
if (!list_first(clconfs)) |