From 0e3d70176cafb618236cf27e0250b9f03a5c3e72 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 2 Mar 2019 22:22:23 +0100 Subject: [PATCH] bmx7: update to git snapshot as of 2018-12-29 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 --- bmx7/Makefile | 13 +- ...e-list_add_tail-and-struct-list_head.patch | 461 ------------------ .../bmx6/usr/lib/lua/luci/model/bmx6json.lua | 1 + luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info | 11 +- .../resources/bmx6/js/bmx6-graph.js | 2 +- 5 files changed, 16 insertions(+), 472 deletions(-) delete mode 100644 bmx7/patches/100-rename-list_add_tail-and-struct-list_head.patch diff --git a/bmx7/Makefile b/bmx7/Makefile index 8f2a1ec..d9337e9 100644 --- a/bmx7/Makefile +++ b/bmx7/Makefile @@ -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 index ffb4584..0000000 --- a/bmx7/patches/100-rename-list_add_tail-and-struct-list_head.patch +++ /dev/null @@ -1,461 +0,0 @@ -From 53f5a6ef74acff4c7294f4346a3d88fa04ad49c9 Mon Sep 17 00:00:00 2001 -From: Daniel Golle -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 - -@@ -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; diff --git a/luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua b/luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua index a4a8e43..a61362b 100644 --- a/luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua +++ b/luci-app-bmx6/bmx6/usr/lib/lua/luci/model/bmx6json.lua @@ -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 diff --git a/luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info b/luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info index 9c615e4..ceebbbb 100755 --- a/luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info +++ b/luci-app-bmx6/bmx6/www/cgi-bin/bmx6-info @@ -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 diff --git a/luci-app-bmx6/bmx6/www/luci-static/resources/bmx6/js/bmx6-graph.js b/luci-app-bmx6/bmx6/www/luci-static/resources/bmx6/js/bmx6-graph.js index 80233ff..e3ff009 100644 --- a/luci-app-bmx6/bmx6/www/luci-static/resources/bmx6/js/bmx6-graph.js +++ b/luci-app-bmx6/bmx6/www/luci-static/resources/bmx6/js/bmx6-graph.js @@ -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) {