summaryrefslogtreecommitdiffstats
path: root/package/br2684ctl/patches/100-debian.patch
blob: 8a8b3b743c9c1a9a12386873b602e7f576fa42b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
--- a/br2684ctl.c
+++ b/br2684ctl.c
@@ -3,6 +3,8 @@
 #include <unistd.h>
 #include <errno.h>
 #include <sys/ioctl.h>
+#include <sys/types.h>
+#include <signal.h>
 #include <string.h>
 #include <syslog.h>
 #include <atm.h>
@@ -22,9 +24,9 @@
 */
 
 
-#define LOG_NAME "RFC1483/2684 bridge"
-#define LOG_OPTION     LOG_PERROR
-#define LOG_FACILITY   LOG_LOCAL0
+#define LOG_NAME       "br2684ctl"
+#define LOG_OPTION     LOG_PERROR|LOG_PID
+#define LOG_FACILITY   LOG_LOCAL2
 
 
 int lastsock, lastitf;
@@ -39,10 +41,16 @@ void fatal(const char *str, int i)
 
 void exitFunc(void)
 {
-  syslog (LOG_PID,"Daemon terminated\n");	
+  syslog (LOG_NOTICE,"Daemon terminated\n");
 }
 
 
+void int_signal(int dummy)
+{
+  syslog (LOG_INFO,"Killed by a signal\n");
+  exit(0);
+}
+
 int create_pidfile(int num)
 {
   FILE *pidfile = NULL;
@@ -80,7 +88,7 @@ int create_br(char *nstr)
       err=ioctl (lastsock, ATM_NEWBACKENDIF, &ni);
   
       if (err == 0)
-	syslog(LOG_INFO, "Interface \"%s\" created sucessfully\n",ni.ifname);
+	syslog(LOG_NOTICE, "Interface \"%s\" created sucessfully\n",ni.ifname);
       else
 	syslog(LOG_INFO, "Interface \"%s\" could not be created, reason: %s\n",
 	       ni.ifname,
@@ -112,7 +120,7 @@ int assign_vcc(char *astr, int encap, in
     addr.sap_addr.vpi = 0;
     addr.sap_addr.vci = vci;
 #endif
-    syslog(LOG_INFO,"Communicating over ATM %d.%d.%d, encapsulation: %s\n", addr.sap_addr.itf,
+    syslog(LOG_NOTICE,"Communicating over ATM %d.%d.%d, encapsulation: %s\n", addr.sap_addr.itf,
 	   addr.sap_addr.vpi,
 	   addr.sap_addr.vci,
 	   encap?"VC mux":"LLC");
@@ -261,11 +269,13 @@ int main (int argc, char **argv)
   }
   
   create_pidfile(itfnum);
+  signal(SIGINT, int_signal);
+  signal(SIGTERM, int_signal);
 
   syslog (LOG_INFO, "RFC 1483/2684 bridge daemon started\n");	
   atexit (exitFunc);
   
-  while (1) sleep(30);	/* to keep the sockets... */
+  while (1) pause();	/* to keep the sockets... */
   return 0;
 }
 
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,13 @@
+OPTS := -O2
+CFLAGS := -Wall -g
+LIBS := -latm
+
+all: br2684ctl
+
+br2684ctl: br2684ctl.c
+	$(CC) $(OPTS) $(CFLAGS) $(LIBS) $< -o $@
+
+distclean: clean
+clean:
+	rm -f br2684ctl
+