Firmware merge requestshttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests2020-03-23T19:41:52Zhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/62rename Community "Freifunk OL" to "Freifunk O.L."2020-03-23T19:41:52ZSven enniKrename Community "Freifunk OL" to "Freifunk O.L."https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/61Update ddmesh-utils-wifi-info.sh2020-04-14T20:17:56ZSven enniKUpdate ddmesh-utils-wifi-info.shchange "if else" to "elif" ;)change "if else" to "elif" ;)https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/60wifi hotplug rework2020-03-16T19:03:57ZStephanwifi hotplug reworkStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/58router: add Western Digital My Net N7502020-03-04T17:30:25ZStephanrouter: add Western Digital My Net N750StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/57Fileinfo: COMFAST CF-E110N v22020-03-17T01:30:11ZYaroslav PetrovFileinfo: COMFAST CF-E110N v2Add Fileinfo for COMFAST CF-E110N v2Add Fileinfo for COMFAST CF-E110N v2StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/55fix wifi 5ghz ssid2020-02-14T13:15:35ZSven enniKfix wifi 5ghz ssidhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/53add 5ghz gui2020-02-07T14:02:29ZStephanadd 5ghz guiRework some internals when detecting if any radio is present. This also uses a new approach to
detect physical wifi devices to request infos for GUI.Rework some internals when detecting if any radio is present. This also uses a new approach to
detect physical wifi devices to request infos for GUI.StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/46merge: docker.yml: update number of cpu cores (8 provided by max)2020-01-23T11:27:39ZStephanmerge: docker.yml: update number of cpu cores (8 provided by max)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/45delete nodetype server!!!2020-01-22T16:52:29ZSven enniKdelete nodetype server!!!https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/44Dev reconfigure out of memory issue2020-01-11T19:47:05ZStephanDev reconfigure out of memory issueStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/42update docker configs2020-01-07T14:51:22ZStephanupdate docker configsdocker image uses external mounted path /cache and /mycache to store generated data.
This avoids transfering cache and artifacts to gitlab server and back between stages (which takes long time and needs huge disk space).docker image uses external mounted path /cache and /mycache to store generated data.
This avoids transfering cache and artifacts to gitlab server and back between stages (which takes long time and needs huge disk space).StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/41Patch fixes2020-01-10T20:58:37ZSven enniKPatch fixes- update changelog
- we need to add also community "Tharandt" in upgrade.sh
- remove obsolet node type "server"- update changelog
- we need to add also community "Tharandt" in upgrade.sh
- remove obsolet node type "server"https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/40remove node_type: server2020-01-04T11:10:56ZSven enniKremove node_type: serverhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/39check some shebangs. also remove trailingspaces and blank lines.2019-12-18T11:25:46ZSven enniKcheck some shebangs. also remove trailingspaces and blank lines.https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/38update credentials and bootconfig2019-12-18T10:23:39ZSven enniKupdate credentials and bootconfigSven enniKSven enniKhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/37Patch gw check2019-12-18T10:25:13ZSven enniKPatch gw checkSven enniKSven enniKhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/36WIP: Patch bmxd v0.52020-07-05T14:31:55ZSven enniKWIP: Patch bmxd v0.5see: https://github.com/Freifunk-Dresden/ffdd-server/issues/14
> after some changes:
> https://github.com/Freifunk-Dresden/ffdd-server/compare/patch-bmxd
>
> ```
> stderr:
> In file included from batman.h:28,
> ...see: https://github.com/Freifunk-Dresden/ffdd-server/issues/14
> after some changes:
> https://github.com/Freifunk-Dresden/ffdd-server/compare/patch-bmxd
>
> ```
> stderr:
> In file included from batman.h:28,
> from control.c:35:
> control.c: In function 'remove_dbgl_node':
> control.c:94:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> list_for_each_safe( list_pos, list_tmp, (struct list_head *)&dbgl_clients[i] ) {
> list-batman.h:96:14: note: in definition of macro 'list_for_each_safe'
> for (pos = (head)->next, n = pos->next; pos != (struct list_head *)(head); \
> ^~~~
> control.c: In function 'debug_output':
> control.c:591:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> list_for_each ( list_pos, (struct list_head *)&(dbgl_clients[level]) ) {
> list-batman.h:85:14: note: in definition of macro 'list_for_each'
> for (pos = (head)->next; pos != (struct list_head *)(head); \
> ^~~~
> stdout:
> rm -f bmxd *.o posix/*.o linux/*.o
> make -C lib clean
> make[1]: Entering directory '/usr/local/src/bmxd/lib'
> for d in ./bmx_gsf_map ./bmx_howto_plugin ./bmx_http_info ./bmx_uci_config; do make -C $d clean || echo compiling $d failed; echo;echo; done
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_gsf_map'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_gsf_map'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_howto_plugin'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_howto_plugin'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_http_info'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_http_info'
>
>
> make[2]: Entering directory '/usr/local/src/bmxd/lib/bmx_uci_config'
> rm -f *.o *.so.1
> make[2]: Leaving directory '/usr/local/src/bmxd/lib/bmx_uci_config'
>
>
> make[1]: Leaving directory '/usr/local/src/bmxd/lib'
> make bmxd
> make[1]: Entering directory '/usr/local/src/bmxd'
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c batman.c -o batman.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c originator.c -o originator.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c hna.c -o hna.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c schedule.c -o schedule.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c plugin.c -o plugin.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c list-batman.c -o list-batman.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c allocate.c -o allocate.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c avl.c -o avl.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c profile.c -o profile.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c control.c -o control.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c metrics.c -o metrics.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c linux/route.c -o linux/route.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c posix/posix.c -o posix/posix.o
> cc -pedantic -Wall -W -Wno-unused-parameter -Os -g3 -std=gnu99 -I./ -DREVISION_VERSION=\"-src:[a13362f398]\" -DSTEPHAN_NO_DYNAMIC_PLUGIN -DNODEPRECATED -DNOVIS -DNOHNA -c posix/tunnel.c -o posix/tunnel.o
> cc batman.o originator.o hna.o schedule.o plugin.o list-batman.o allocate.o avl.o profile.o control.o metrics.o linux/route.o posix/posix.o posix/tunnel.o -o bmxd -g3
> make[1]: Leaving directory '/usr/local/src/bmxd'
> # further make targets: help, libs, build_all, strip[_libs|_all], install[_libs|_all], clean[_libs|_all]
> make bmxd
> make[1]: Entering directory '/usr/local/src/bmxd'
> make[1]: 'bmxd' is up to date.
> make[1]: Leaving directory '/usr/local/src/bmxd'
> # further make targets: help, libs, build_all, strip[_libs|_all], install[_libs|_all], clean[_libs|_all]
> strip bmxd
> ```
in list-batman.h für Header-Dateien, list-batman.c für Definitionen
Die gegebene Funktion ist
```
void list_add_before( struct list_head *prev_node, struct list_head *next_node, struct list_head *new_node ) {
prev_node->next = new_node;
new_node->next = next_node;
}
```
es benutzt nur -> next
nicht -> prev
Die Neufassung sollte sich also hoffentlich nicht darauf auswirken
zumal der Zeiger neu erstellt wird, nicht die Struktur selbst aber nur um sicher zu gehen.<br />
siehe: https://locklessinc.com/articles/overloading/<br />
search: "warning: dereferencing type-punned pointer will break strict-aliasing rules"
aber die beste Lösung ist wie folgt<br />
erstelle eine andere Funktion:<br />
```
void list_add_before_fxx( struct list_head_first *prev_node, struct list_head *next_node, struct list_head *new_node ) {
same body
}
```
dann ein anderer:<br />
```void list_add_before_xfx(struct list_head *prev_node, struct list_head_first *next_node, struct list_head *new_node){samebody}```
wir müssen 2 * 2 * 2 = 8 Funktionen erstellen , 7 Funktionen<br />
Der xxx-Fall ist nur die ursprüngliche Funktion<br />
dann die richtige Version mit dem richtigen Typ verwenden<br />
das ist es oder?Sven enniKSven enniKhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/34www: some small optimations2019-12-18T13:59:03ZSven enniKwww: some small optimationsSven enniKSven enniKhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/33fastd: update to a master rec and change repo url to github.2019-12-11T22:57:14ZSven enniKfastd: update to a master rec and change repo url to github.https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/29Fix gl inet config / create version 6.0.122019-11-10T22:24:51ZStephanFix gl inet config / create version 6.0.12StephanStephan