bmx7: update to git snapshot as of 2018-12-29
authorDaniel Golle <daniel@makrotopia.org>
Sat, 2 Mar 2019 21:22:23 +0000 (22:22 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 2 Mar 2019 21:34:57 +0000 (22:34 +0100)
consolidated commits from master branch:
 25916fb bmx7: update to git snapshot as of 2018-12-29
(dfe8097 bmx7: Avoid namespace collision with libubox.)
(43449bc treewide: Basic cleanup and alignment to package guidelines (#383))
 440ad46 bmx7: add config trigger

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
bmx7/Makefile
bmx7/patches/100-rename-list_add_tail-and-struct-list_head.patch [deleted file]
luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua
luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info
luci-app-bmx6/bmx6/www/luci-static/resources/bmx6/js/bmx6-graph.js

index 8f2a1ec070da4c690a1b46099c3012ecd2297f70..d9337e99ed9ac1e184067beb2f5ef5e2fec38ee9 100644 (file)
@@ -27,13 +27,12 @@ PKG_NAME:=bmx7
 
 PKG_SOURCE_PROTO:=git
 
-PKG_SOURCE_URL:=git://github.com/bmx-routing/bmx7.git
-#PKG_SOURCE_URL:=file:///usr/src/bmx-routing/bmx7.git
+PKG_SOURCE_URL:=https://github.com/bmx-routing/bmx7.git
 
-PKG_REV:=9883383dc26df16da67b9ef7ba99efe62f79c4e7
-PKG_MIRROR_HASH:=012178aba42016d3e0961715f99bf1e322c2c6c22b1cc6635375468360cb4d68
-PKG_VERSION:=r2018042501
-PKG_RELEASE:=3
+PKG_REV:=7711e1f12b29e668f3090b5b94b783f4470a31ce
+PKG_MIRROR_HASH:=6269b210679fa391f92dfc66d2b629038f51201c93bb279fa55cd608c4f90827
+PKG_VERSION:=r2018122901
+PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0
 
 PKG_SOURCE_VERSION:=$(PKG_REV)
@@ -45,7 +44,7 @@ include $(INCLUDE_DIR)/package.mk
 
 TARGET_CFLAGS += $(FPIC)
 
-MAKE_ARGS += EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=MBEDTLS_2_4_0 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DNO_TRACE_FUNCTION_CALLS -DBMX7_LIB_IWINFO"
+MAKE_ARGS += EXTRA_CFLAGS="$(TARGET_CFLAGS) -I. -I$(STAGING_DIR)/usr/include -DCRYPTLIB=MBEDTLS_2_8_0 -DCORE_LIMIT=20000 -DTRAFFIC_DUMP -DNO_TRACE_FUNCTION_CALLS -DBMX7_LIB_IWINFO"
 
 MAKE_ARGS += \
         EXTRA_LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib -liwinfo" \
diff --git a/bmx7/patches/100-rename-list_add_tail-and-struct-list_head.patch b/bmx7/patches/100-rename-list_add_tail-and-struct-list_head.patch
deleted file mode 100644 (file)
index ffb4584..0000000
+++ /dev/null
@@ -1,461 +0,0 @@
-From 53f5a6ef74acff4c7294f4346a3d88fa04ad49c9 Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Tue, 14 Aug 2018 12:19:49 +0200
-Subject: [PATCH] rename list_add_tail and struct list_head
-
-Rename some list stuff to avoid namespace collision with libubox
----
- control.c          | 18 +++++++++---------
- control.h          | 12 ++++++------
- lib/bmx7_tun/tun.c |  2 +-
- list.c             | 26 +++++++++++++-------------
- list.h             | 36 ++++++++++++++++++------------------
- msg.h              |  2 +-
- plugin.c           |  8 ++++----
- plugin.h           |  2 +-
- schedule.c         |  2 +-
- tun.h              |  2 +-
- 10 files changed, 55 insertions(+), 55 deletions(-)
-
-diff --git a/control.c b/control.c
-index ee9df30..9ab778d 100644
---- a/control.c
-+++ b/control.c
-@@ -73,7 +73,7 @@ uint32_t My_pid = 0;
- LIST_SIMPEL(ctrl_list, struct ctrl_node, list, list);
--struct list_head dbgl_clients[DBGL_MAX + 1];
-+struct bmx_list_head dbgl_clients[DBGL_MAX + 1];
- static struct dbg_histogram dbgl_history[2][DBG_HIST_SIZE];
- static uint8_t debug_system_active = NO;
-@@ -136,7 +136,7 @@ void add_dbgl_node(struct ctrl_node *cn, int dbgl)
-       dn->cn = cn;
-       cn->dbgl = dbgl;
--      list_add_tail(&dbgl_clients[dbgl], &dn->list);
-+      bmx_list_add_tail(&dbgl_clients[dbgl], &dn->list);
-       if (dbgl == DBGL_SYS || dbgl == DBGL_CHANGES) {
-               dbgf_all(DBGT_INFO, "resetting muted dbg history");
-@@ -255,7 +255,7 @@ struct ctrl_node *create_ctrl_node(int fd, void (*cn_fd_handler) (struct ctrl_no
- {
-       struct ctrl_node *cn = debugMallocReset(sizeof(struct ctrl_node), -300010);
--      list_add_tail(&ctrl_list, &cn->list);
-+      bmx_list_add_tail(&ctrl_list, &cn->list);
-       cn->fd = fd;
-       cn->cn_fd_handler = cn_fd_handler;
-@@ -571,7 +571,7 @@ void debug_output(uint32_t check_len, struct ctrl_node *cn, int8_t dbgl, int8_t
-               if (level == DBGL_SYS && mute_dbgl_sys == DBG_HIST_MUTED)
-                       continue;
--              list_for_each(list_pos, /*(struct list_head *)*/&(dbgl_clients[level]))
-+              list_for_each(list_pos, /*(struct bmx_list_head *)*/&(dbgl_clients[level]))
-               {
-                       struct dbgl_node *dn = list_entry(list_pos, struct dbgl_node, list);
-@@ -990,7 +990,7 @@ void register_option(struct opt_type *opt, const char * category_name)
-               opt->d.parent_opt = tmp_opt;
--              list_add_tail(&tmp_opt->d.childs_type_list, &opt->d.list);
-+              bmx_list_add_tail(&tmp_opt->d.childs_type_list, &opt->d.list);
-       } else {
-@@ -1017,7 +1017,7 @@ void register_option(struct opt_type *opt, const char * category_name)
-               }
-               if (!tmp_opt)
--                      list_add_tail(&opt_list, &opt->d.list);
-+                      bmx_list_add_tail(&opt_list, &opt->d.list);
-       }
-@@ -1094,7 +1094,7 @@ struct opt_type *get_option(struct opt_type *parent_opt, uint8_t short_opt, char
-       struct list_node *list_pos;
-       int32_t len = 0;
--      struct list_head *list;
-+      struct bmx_list_head *list;
-       struct opt_type *opt = NULL;
-       char *equalp = NULL;
-       char s[MAX_ARG_SIZE] = "";
-@@ -1305,7 +1305,7 @@ struct opt_child *add_opt_child(struct opt_type *opt, struct opt_parent *p)
-       c->opt = opt;
-       c->parent_instance = p;
--      list_add_tail(&p->childs_instance_list, &c->list);
-+      bmx_list_add_tail(&p->childs_instance_list, &c->list);
-       return c;
- }
-@@ -1347,7 +1347,7 @@ struct opt_parent *add_opt_parent(struct opt_type *opt)
-       LIST_INIT_HEAD(p->childs_instance_list, struct opt_child, list, list);
--      list_add_tail(&opt->d.parents_instance_list, &p->list);
-+      bmx_list_add_tail(&opt->d.parents_instance_list, &p->list);
-       return p;
- }
-diff --git a/control.h b/control.h
-index df0176f..4ef0854 100644
---- a/control.h
-+++ b/control.h
-@@ -49,7 +49,7 @@ typedef uint32_t TIME_SEC_T;
- extern int unix_sock;
--extern struct list_head ctrl_list;
-+extern struct bmx_list_head ctrl_list;
- extern int32_t Client_mode;
-@@ -115,7 +115,7 @@ struct ctrl_node {
-       int8_t dbgl;
- };
--extern struct list_head dbgl_clients[DBGL_MAX + 1];
-+extern struct bmx_list_head dbgl_clients[DBGL_MAX + 1];
- struct dbgl_node {
-       struct list_node list;
-@@ -227,7 +227,7 @@ struct ctrl_node *create_ctrl_node(int fd, void (*cn_fd_handler) (struct ctrl_no
- #define MAX_UNIX_MSG_SIZE 2000
--extern struct list_head opt_list;
-+extern struct bmx_list_head opt_list;
- /* opt_t types:
-@@ -292,7 +292,7 @@ struct opt_child {
- struct opt_parent {
-       struct list_node list;
--      struct list_head childs_instance_list;
-+      struct bmx_list_head childs_instance_list;
-       char *val; //key
-@@ -311,9 +311,9 @@ struct opt_data {
-       struct opt_type *parent_opt; //REMOVE THIS and use casting instead !
--      struct list_head childs_type_list; //if this opt is a section type, then further sub-opts types can be listed here
-+      struct bmx_list_head childs_type_list; //if this opt is a section type, then further sub-opts types can be listed here
--      struct list_head parents_instance_list; //
-+      struct bmx_list_head parents_instance_list; //
- };
- struct opt_type {
-diff --git a/lib/bmx7_tun/tun.c b/lib/bmx7_tun/tun.c
-index 2aa740c..265c47a 100644
---- a/lib/bmx7_tun/tun.c
-+++ b/lib/bmx7_tun/tun.c
-@@ -126,7 +126,7 @@ void set_tunXin6_net_adv_list_handl(uint8_t del, void **adv_list_ptr)
-       n = debugMallocReset(sizeof( struct tunXin6_net_adv_list_node), -300517);
-       n->adv_list = adv_list;
--      list_add_tail((&tunXin6_net_adv_list_list), &n->list);
-+      bmx_list_add_tail((&tunXin6_net_adv_list_list), &n->list);
- }
- STATIC_FUNC
-diff --git a/list.c b/list.c
-index 5e0665d..b698874 100644
---- a/list.c
-+++ b/list.c
-@@ -39,7 +39,7 @@
-  * @head: list head of maintained nodes
-  * @node: a node maintained in the list or NULL
-  */
--void * list_iterate(struct list_head *head, void *node)
-+void * list_iterate(struct bmx_list_head *head, void *node)
- {
-       struct list_node *ln = (node ?
-               ((struct list_node*) (((char*) node) + head->list_node_offset)) :
-@@ -53,7 +53,7 @@ void * list_iterate(struct list_head *head, void *node)
-       return(((char*) ln->next) - head->list_node_offset);
- }
--void *list_find_next(struct list_head *head, void* key, void *node)
-+void *list_find_next(struct bmx_list_head *head, void* key, void *node)
- {
-       while ((node = list_iterate(head, node))) {
-@@ -68,7 +68,7 @@ void *list_find_next(struct list_head *head, void* key, void *node)
-  * @head: list head to add it after
-  * @new: new entry to be added
-  */
--void list_add_head(struct list_head *head, struct list_node *new)
-+void list_add_head(struct bmx_list_head *head, struct list_node *new)
- {
-       new->next = head->next;
-@@ -82,12 +82,12 @@ void list_add_head(struct list_head *head, struct list_node *new)
- }
- /**
-- * list_add_tail - add a new entry
-+ * bmx_list_add_tail - add a new entry
-  * @head: list head to add it before
-  * @new: new entry to be added
-  */
--void list_add_tail(struct list_head *head, struct list_node *new)
-+void bmx_list_add_tail(struct bmx_list_head *head, struct list_node *new)
- {
-       new->next = (struct list_node *) head;
-       head->last->next = new;
-@@ -96,7 +96,7 @@ void list_add_tail(struct list_head *head, struct list_node *new)
-       head->items++;
- }
--void list_add_after(struct list_head *head, struct list_node *ln, struct list_node *new)
-+void list_add_after(struct bmx_list_head *head, struct list_node *ln, struct list_node *new)
- {
-       new->next = ln->next;
-       ln->next = new;
-@@ -112,7 +112,7 @@ void list_add_after(struct list_head *head, struct list_node *ln, struct list_no
-  * @entry: the element to delete from the list.
-  * Note: list_empty on entry does not return true after this, the entry is in an undefined state.
-  */
--void list_del_next(struct list_head *head, struct list_node *ln)
-+void list_del_next(struct bmx_list_head *head, struct list_node *ln)
- {
-       assertion(-502641, (ln->next != (struct list_node*) head));
-@@ -126,7 +126,7 @@ void list_del_next(struct list_head *head, struct list_node *ln)
-       head->items--;
- }
--void *list_del_head(struct list_head *head)
-+void *list_del_head(struct bmx_list_head *head)
- {
-       if (LIST_EMPTY(head))
-               return NULL;
-@@ -147,7 +147,7 @@ void *list_del_head(struct list_head *head)
-  */
- /* UNTESTED
--void * plist_iterate(struct list_head *head, struct plist_node **pln)
-+void * plist_iterate(struct bmx_list_head *head, struct plist_node **pln)
- {
-       if (head->last == (struct list_node*)
-@@ -169,17 +169,17 @@ static struct plist_node *plist_node_create(void *item)
-       return plh;
- }
--void plist_add_head(struct list_head *head, void *item)
-+void plist_add_head(struct bmx_list_head *head, void *item)
- {
-       list_add_head(head, &((plist_node_create(item))->list));
- }
--void plist_add_tail(struct list_head *head, void *item)
-+void plist_add_tail(struct bmx_list_head *head, void *item)
- {
--      list_add_tail(head, &((plist_node_create(item))->list));
-+      bmx_list_add_tail(head, &((plist_node_create(item))->list));
- }
--void * plist_del_head(struct list_head *head)
-+void * plist_del_head(struct bmx_list_head *head)
- {
-       struct plist_node *pln = list_del_head(head);
-diff --git a/list.h b/list.h
-index d40306c..770dc9f 100644
---- a/list.h
-+++ b/list.h
-@@ -28,7 +28,7 @@
- #ifndef _LIST_H
--#define _LIST_H
-+#define _LIST_H_
- #include <stdint.h>
-@@ -36,7 +36,7 @@ struct list_node {
-       struct list_node *next;
- };
--struct list_head {
-+struct bmx_list_head {
-       struct list_node *next;
-       struct list_node *last;
-       uint16_t items;
-@@ -52,7 +52,7 @@ struct plist_node {
--#define LIST_SIMPEL(ptr, element_type, list_field, key_field ) struct list_head ptr = { \
-+#define LIST_SIMPEL(ptr, element_type, list_field, key_field ) struct bmx_list_head ptr = { \
-           .next = (struct list_node *)&ptr, \
-           .last = (struct list_node *)&ptr,    \
-           .items = 0, \
-@@ -75,14 +75,14 @@ struct plist_node {
- #define list_get_first(head) ((void*)((LIST_EMPTY(head)) ? NULL : (((char*) (head)->next) - (head)->list_node_offset) ))
- #define list_get_last(head) ((void*)((LIST_EMPTY(head)) ? NULL : (((char*) (head)->last) - (head)->list_node_offset) ))
--void *list_iterate(struct list_head *head, void *node);
--void *list_find_next(struct list_head *head, void* key, void *node);
-+void *list_iterate(struct bmx_list_head *head, void *node);
-+void *list_find_next(struct bmx_list_head *head, void* key, void *node);
--void list_add_head(struct list_head *head, struct list_node * new);
--void list_add_tail(struct list_head *head, struct list_node * new);
--void list_add_after(struct list_head *head, struct list_node *pos, struct list_node * new);
--void list_del_next(struct list_head *head, struct list_node *pos);
--void *list_del_head(struct list_head *head);
-+void list_add_head(struct bmx_list_head *head, struct list_node * new);
-+void bmx_list_add_tail(struct bmx_list_head *head, struct list_node * new);
-+void list_add_after(struct bmx_list_head *head, struct list_node *pos, struct list_node * new);
-+void list_del_next(struct bmx_list_head *head, struct list_node *pos);
-+void *list_del_head(struct bmx_list_head *head);
- #define plist_get_first(head) (LIST_EMPTY(head) ? NULL : \
-@@ -91,17 +91,17 @@ void *list_del_head(struct list_head *head);
- #define plist_get_last(head) (LIST_EMPTY(head) ? NULL : \
-                               ((struct plist_node*)(((char*) (head)->prev) - (head)->list_node_offset))-item )
--void * plist_iterate(struct list_head *head, struct plist_node **pln);
-+void * plist_iterate(struct bmx_list_head *head, struct plist_node **pln);
--void plist_add_head(struct list_head *head, void *item);
--void plist_add_tail(struct list_head *head, void *item);
--void *plist_del_head(struct list_head *head);
-+void plist_add_head(struct bmx_list_head *head, void *item);
-+void plist_add_tail(struct bmx_list_head *head, void *item);
-+void *plist_del_head(struct bmx_list_head *head);
- /**
-  * list_entry - get the struct for this entry
-- * @ptr:      the &struct list_head pointer.
-+ * @ptr:      the &struct bmx_list_head pointer.
-  * @type:     the type of the struct this is embedded in.
-  * @member:   the name of the list_struct within the struct.
-  */
-@@ -109,7 +109,7 @@ void *plist_del_head(struct list_head *head);
- /**
-  * list_for_each      -       iterate over a list
-- * @pos:      the &struct list_head to use as a loop counter.
-+ * @pos:      the &struct bmx_list_head to use as a loop counter.
-  * @head:     the head for your list.
-  */
- #define list_for_each(pos, head) \
-@@ -123,8 +123,8 @@ void *plist_del_head(struct list_head *head);
- /**
-  * list_for_each_safe -       iterate over a list safe against removal of list entry
-- * @pos:      the &struct list_head to use as a loop counter.
-- * @n:                another &struct list_head to use as temporary storage
-+ * @pos:      the &struct bmx_list_head to use as a loop counter.
-+ * @n:                another &struct bmx_list_head to use as temporary storage
-  * @head:     the head for your list.
-  */
- #define list_for_each_safe(pos, n, head) \
-diff --git a/msg.h b/msg.h
-index d36f6e2..b881cef 100644
---- a/msg.h
-+++ b/msg.h
-@@ -357,7 +357,7 @@ struct tx_frame_iterator {
-       // MUST be initialized:
-       // remains unchanged:
-       const char *caller;
--      struct list_head *tx_task_list;
-+      struct bmx_list_head *tx_task_list;
-       struct tx_task_node *ttn;
-       //      struct desc_contents *descContents;
-       struct frame_db *db;
-diff --git a/plugin.c b/plugin.c
-index 5016956..102cdba 100644
---- a/plugin.c
-+++ b/plugin.c
-@@ -74,7 +74,7 @@ void _set_thread_hook(int32_t cb_type, void (*cb_handler) (void), int8_t del, st
-               cleanup_all(-500143);
-       }
--      list_for_each_safe(list_pos, tmp_pos, (struct list_head*) cb_list)
-+      list_for_each_safe(list_pos, tmp_pos, (struct bmx_list_head*) cb_list)
-       {
-               cbn = list_entry(list_pos, struct cb_node, list);
-@@ -82,7 +82,7 @@ void _set_thread_hook(int32_t cb_type, void (*cb_handler) (void), int8_t del, st
-                       if (del) {
--                              list_del_next(((struct list_head*) cb_list), prev_pos);
-+                              list_del_next(((struct bmx_list_head*) cb_list), prev_pos);
-                               debugFree(cbn, -300069);
-                               return;
-@@ -103,7 +103,7 @@ void _set_thread_hook(int32_t cb_type, void (*cb_handler) (void), int8_t del, st
-       cbn->cb_type = cb_type;
-       cbn->cb_handler = cb_handler;
--      list_add_tail(((struct list_head*) cb_list), &cbn->list);
-+      bmx_list_add_tail(((struct bmx_list_head*) cb_list), &cbn->list);
- }
-@@ -261,7 +261,7 @@ int activate_plugin(struct plugin *p, void *dlhandle, const char *dl_name)
-       pn->plugin = p;
-       pn->dlhandle = dlhandle;
--      list_add_tail(&plugin_list, &pn->list);
-+      bmx_list_add_tail(&plugin_list, &pn->list);
-       dbgf_all(DBGT_INFO, "%s SUCCESS", pn->plugin->plugin_name);
-diff --git a/plugin.h b/plugin.h
-index 5028d4e..b5c9727 100644
---- a/plugin.h
-+++ b/plugin.h
-@@ -74,7 +74,7 @@ struct cb_fd_node {
-       void (*cb_fd_handler) (int32_t fd);
- };
--extern struct list_head cb_fd_list;
-+extern struct bmx_list_head cb_fd_list;
- // cb_fd_handler is called when fd received data
- // called function may remove itself
- void set_fd_hook(int32_t fd, void (*cb_fd_handler) (int32_t fd), int8_t del);
-diff --git a/schedule.c b/schedule.c
-index 8e3f7a6..8868b01 100644
---- a/schedule.c
-+++ b/schedule.c
-@@ -205,7 +205,7 @@ void task_register(TIME_T timeout, void (* task) (void *), void *data, int32_t t
-       }
-       if ((tmp_tn == NULL) || (U32_LE(tmp_tn->expire, tn->expire)))
--              list_add_tail(&task_list, &tn->list);
-+              bmx_list_add_tail(&task_list, &tn->list);
- }
-diff --git a/tun.h b/tun.h
-index 06b8c6f..102ee87 100644
---- a/tun.h
-+++ b/tun.h
-@@ -309,7 +309,7 @@ struct tunXin6_net_adv_list_node {
- };
--extern struct list_head tunXin6_net_adv_list_list;
-+extern struct bmx_list_head tunXin6_net_adv_list_list;
- struct tun_bit_key_nodes {
-       struct tun_search_node *tsn;
index a4a8e438ef5d63acafb2458f18ffc1afbdee8f8e..a61362b97b3db69820fa1c7b73402e27ee088eb0 100644 (file)
@@ -59,6 +59,7 @@ function get(field, host)
 
        if json_url[1] == "http"  then
                raw,err = wget(url..field,1000)
+               sys.exec("")
        else
 
                if json_url[1] == "exec" then
index 9c615e456893643f111e59d905159da1ad1b3f58..ceebbbb37264c941d1c761e6edbf5278bd9412b0 100755 (executable)
@@ -43,7 +43,7 @@ print_query() {
         i=$(( $i + 1 ))
       done
       echo -n " ] }"
-      
+
       # If /all has been specified, printing all the files together
       } || {
       comma=""
@@ -77,7 +77,7 @@ if [ "$QUERY" == 'myself' ]; then
   echo -n "{\"myself\":{\"hostname\":\"$hostname\",\"ip6\":\"$ip6\",\"ip4\":\"$ip4\",\"net6\":\"$cidr6\",\"net4\":\"$cidr4\"}}"
   exit 0
 fi
-    
+
 if [ "$QUERY" == 'info' ]; then
   echo -n '{ "info": [ '
   print_query status
@@ -100,7 +100,12 @@ if [ "$QUERY" == 'neighbours' ]; then
 fi
 
 if [ "$QUERY" == 'tunnels' ]; then
-  bmx6 -c --jshow tunnels /r=0
+  tunnels=$(bmx6 -c --jshow tunnels /r=0)
+  if [ -z $tunnels ]; then
+    echo '{ "tunnels" : [] }'
+  else
+    echo $tunnels
+  fi
   exit 0
 fi
 
index 80233ffd5e346fe291df87f77369ce3c37beb905..e3ff0097f08657a2c003c4e8b87175f3f2939374 100644 (file)
@@ -48,7 +48,7 @@ function init() {
 
   divwait = document.getElementById("wait");
 
-  XHR.get('/cgi-bin/luci/status/bmx6/topology', null, function(nodesRequest, nodesData) {
+  XHR.get('/cgi-bin/luci/admin/network/BMX6/topology', null, function(nodesRequest, nodesData) {
     nodes = nodesData;
 
     XHR.get('/cgi-bin/bmx6-info?$myself&', null, function(myselfRequest, myselfData) {