Browse Source

Fwknop: add flexibility to uci support

	Styling cleanups
signed-off-by: Jonathan Bennett <jbennett@incomsystems.biz>
Jonathan Bennett 10 years ago
parent
commit
1947795df8
3 changed files with 64 additions and 50 deletions
  1. 7
    1
      net/fwknop/Makefile
  2. 9
    0
      net/fwknop/files/fwknopd
  3. 48
    49
      net/fwknop/files/fwknopd.init

+ 7
- 1
net/fwknop/Makefile View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
9 9
 
10 10
 PKG_NAME:=fwknop
11 11
 PKG_VERSION:=2.6.6
12
-PKG_RELEASE:=1
12
+PKG_RELEASE:=2
13 13
 
14 14
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 15
 PKG_SOURCE_URL:=http://www.cipherdyne.org/fwknop/download
@@ -102,6 +102,8 @@ define Build/InstallDev
102 102
 endef
103 103
 
104 104
 define Package/fwknopd/install
105
+	$(INSTALL_DIR) $(1)/etc/config
106
+	$(INSTALL_CONF) ./files/fwknopd $(1)/etc/config/fwknopd
105 107
 	$(INSTALL_DIR) $(1)/etc/fwknop
106 108
 	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/fwknop/{access,fwknopd}.conf \
107 109
 		$(1)/etc/fwknop/
@@ -111,6 +113,10 @@ define Package/fwknopd/install
111 113
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fwknopd $(1)/usr/sbin/
112 114
 endef
113 115
 
116
+define Package/fwknopd/conffiles
117
+	/etc/config/fwknopd
118
+endef
119
+
114 120
 define Package/fwknop/install
115 121
 	$(INSTALL_DIR) $(1)/usr/bin
116 122
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fwknop $(1)/usr/bin/

+ 9
- 0
net/fwknop/files/fwknopd View File

@@ -0,0 +1,9 @@
1
+config global
2
+#	option uci_enabled '1'
3
+
4
+config access
5
+	option SOURCE 'ANY'
6
+	option HMAC_KEY 'CHANGEME'
7
+	option KEY 'CHANGEME'
8
+
9
+config config

+ 48
- 49
net/fwknop/files/fwknopd.init View File

@@ -30,60 +30,59 @@ restart()
30 30
 
31 31
 reload()
32 32
 {
33
+	gen_confs
33 34
         $FWKNOPD_BIN -R
34 35
 }
35 36
 
36 37
 gen_confs()
37 38
 {
38
-
39
-
40
-config_cb() {
41
-
42
-	local type="$1"
43
-	local name="$2"
44
-	if [ "$type" = "global" ]
45
-	then
46
-	        option_cb() { 
47
-			local option="$1"                                
48
-			local value="$2"   
49
-			if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then
50
-				> /etc/fwknop/fwknopd.conf
51
-				> /etc/fwknop/access.conf
52
-				UCI_ENABLED=1
39
+	[ -f /tmp/access.conf.tmp ] && rm /tmp/access.conf.tmp
40
+	config_cb() {
41
+		local type="$1"
42
+		local name="$2"
43
+		if [ "$type" = "global" ]; then
44
+			option_cb() {
45
+				local option="$1"
46
+				local value="$2"
47
+				if [ "$option" = "uci_enabled" ] && [ "$value" -eq 1 ] ; then
48
+					> /etc/fwknop/fwknopd.conf
49
+					> /etc/fwknop/access.conf
50
+					UCI_ENABLED=1
51
+				fi
52
+			}
53
+		elif [ "$type" = "config" ]; then
54
+			option_cb() {
55
+				local option="$1"
56
+				local value="$2"
57
+				if [ $UCI_ENABLED ]; then
58
+					echo "$option $value" >> /etc/fwknop/fwknopd.conf  #writing each option to fwknopd.conf
59
+				fi
60
+			}
61
+		elif [ "$type" = "access" ]
62
+		then
63
+			if [ -f /tmp/access.conf.tmp ] ; then
64
+				cat /tmp/access.conf.tmp >> /etc/fwknop/access.conf
65
+				rm /tmp/access.conf.tmp
53 66
 			fi
54
-		}
55
-	elif [ "$type" = "config" ]
56
-	then
57
-	        option_cb() { 
58
-			local option="$1"                                
59
-			local value="$2"   
60
-			if [ $UCI_ENABLED ]; then 
61
-				echo "${option//_/-} $value" >> /etc/fwknop/fwknopd.conf  #writing each option to fwknopd.conf
62
-			fi
63
-		}
64
-	elif [ "$type" = "SOURCE" ]
65
-	then
66
-		echo "${type//_/-} $name" >> /etc/fwknop/access.conf  #writing each option to access.conf
67
-	        option_cb() { 
68
-			local option="$1"                                
69
-			local value="$2"   
70
-			if [ $UCI_ENABLED ]; then 
71
-				echo "${option//_/-} $value" >> /etc/fwknop/access.conf  #writing each option to access.conf
72
-			fi
73
-		}
74
-	fi	 
75
-
76
-
77
-
78
-
79
-}
80
-
81
-
82
-if [ -f /etc/config/fwknopd ]; then
83
-
84
-	config_load fwknopd
85
-
86
-
87
-fi
67
+			option_cb() {
68
+				local option="$1"
69
+				local value="$2"
70
+				if [ $UCI_ENABLED ] && [ $option = "SOURCE" ]; then
71
+					echo "$option $value" >> /etc/fwknop/access.conf  #writing each option to access.conf
72
+				fi
73
+				if [ $UCI_ENABLED ] && [ $option != "SOURCE" ]; then
74
+					echo "$option $value" >> /tmp/access.conf.tmp  #writing each option to access.conf
75
+				fi
76
+			}
77
+		fi
78
+	}
79
+
80
+	if [ -f /etc/config/fwknopd ]; then
81
+		config_load fwknopd
82
+		if [ -f /tmp/access.conf.tmp ] ; then
83
+			cat /tmp/access.conf.tmp >> /etc/fwknop/access.conf
84
+			rm /tmp/access.conf.tmp
85
+		fi
86
+	fi
88 87
 
89 88
 }