Firmware merge requestshttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests2023-08-07T19:05:47Zhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/187Draft: router: linksys mr83002023-08-07T19:05:47ZStephanDraft: router: linksys mr8300StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/178Draft: build.json: cleanup;2023-01-07T20:40:06ZStephanDraft: build.json: cleanup;build.sh: comment about feed-revisions
Xiaomi 4a-100m: openwrt 21->22.03.03build.sh: comment about feed-revisions
Xiaomi 4a-100m: openwrt 21->22.03.03StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/177fix gitlab-ci2022-12-19T17:36:46ZStephanfix gitlab-cifix gitlab-cifix gitlab-ciStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/173increment purge timeout to avoid deselecting gw when some ogm are missing...2022-10-20T22:27:57ZStephanincrement purge timeout to avoid deselecting gw when some ogm are missing...- rework gateway processing to avoid unneeded gateway changes
- increment purge timeout to avoid deselecting gw when some ogm are missing (server still have 10s ogm)- rework gateway processing to avoid unneeded gateway changes
- increment purge timeout to avoid deselecting gw when some ogm are missing (server still have 10s ogm)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/146merge vpn-serverupdates in master2021-10-22T19:52:31ZStephanmerge vpn-serverupdates in mastermerge vpn-serverupdates in mastermerge vpn-serverupdates in masterStephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/145T_FIRMWARE_7.0.42021-10-22T19:52:42ZSven enniKT_FIRMWARE_7.0.4Hallo,
aktuell haben wir im stable Release T_FIRMWARE_7.0.3 nur noch 2 aktive Backbone Verbindungen da VPN 3 & VPN 12 keine Verbindungen mehr zulassen.
Ebenso läuft VPN 13 inzwischen auch recht voll.
Daher würde ich vorschlagen dass wi...Hallo,
aktuell haben wir im stable Release T_FIRMWARE_7.0.3 nur noch 2 aktive Backbone Verbindungen da VPN 3 & VPN 12 keine Verbindungen mehr zulassen.
Ebenso läuft VPN 13 inzwischen auch recht voll.
Daher würde ich vorschlagen dass wir eine neue stable Version raus schicken in welcher nur die default Backbone Verbindungen aktualisiert werden. bzw. für neue Geräte hinterlegt sind.StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/138set bmxd version to 0.6 (0.5 is used on server, which is still very old and...2021-06-16T17:10:08ZStephanset bmxd version to 0.6 (0.5 is used on server, which is still very old and...* set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
* replace awful implementation of list handling with ObjectList (-6kbyte binary size)
* fix some memory leaks (valgrind)
todo: remove...* set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
* replace awful implementation of list handling with ObjectList (-6kbyte binary size)
* fix some memory leaks (valgrind)
todo: remove tunnel option code, because it is not used any more (we have only one way tunnel)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/137Draft: set bmxd version to 0.6 (0.5 is used on server, which is still very ol...2021-06-16T17:03:45ZStephanDraft: set bmxd version to 0.6 (0.5 is used on server, which is still very old and...- set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
- replace awful implementation of list handling with ObjectList (-6kbyte binary size)
- fix some memory leaks (valgrind)
todo: remov...- set bmxd version to 0.6 (0.5 is used on server, which is still very old and supports two way tunnel)
- replace awful implementation of list handling with ObjectList (-6kbyte binary size)
- fix some memory leaks (valgrind)
todo: remove tunnel option code, because it is not used any more (we have only one way tunnel)StephanStephanhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/135Draft: add ath79 for TP-Link TL-WDR43002022-03-20T17:11:29ZYaroslav PetrovDraft: add ath79 for TP-Link TL-WDR4300https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/134Draft: Yaro mt6721 openwrt 21022022-03-20T17:12:13ZYaroslav PetrovDraft: Yaro mt6721 openwrt 2102Aufgrund massiven Verbesserungen von mt76(wifi) Treiber, sollte mt7621 Target auf Openwrt-21.02 aktualisiert werden.
Direkte Upgrade auf Grund DSA ist nicht möglich. Nur neue installationAufgrund massiven Verbesserungen von mt76(wifi) Treiber, sollte mt7621 Target auf Openwrt-21.02 aktualisiert werden.
Direkte Upgrade auf Grund DSA ist nicht möglich. Nur neue installationYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/132Draft: CI: Code quality2022-03-20T17:13:08ZYaroslav PetrovDraft: CI: Code quality* CPP Check
* BASH Script Check* CPP Check
* BASH Script CheckYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/124WIP: Resolve "BMXD hat gehangen. Watchdog"2021-04-18T21:02:15ZStephanWIP: Resolve "BMXD hat gehangen. Watchdog"Closes #78Closes #78https://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/65WIP: Add TP-Link RE450 v1, v22020-09-05T16:23:34ZYaroslav PetrovWIP: Add TP-Link RE450 v1, v2see issue #51
need testssee issue #51
need testsYaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/64Patch script-check2020-03-31T15:41:45ZSven enniKPatch script-checkIncludes https://gitlab.freifunk-dresden.de/firmware-developer/firmware/merge_requests/63Includes https://gitlab.freifunk-dresden.de/firmware-developer/firmware/merge_requests/63https://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/56WIP: Add Router: Strong 12002020-03-03T20:58:00ZYaroslav PetrovWIP: Add Router: Strong 1200HW Identisch wie Netgear R6220HW Identisch wie Netgear R6220Yaroslav PetrovYaroslav Petrovhttps://gitlab.freifunk-dresden.de/firmware-developer/firmware/-/merge_requests/47Add Outdoor Router: Comfast CF-E110N2020-01-31T21:05:55ZYaroslav PetrovAdd Outdoor Router: Comfast CF-E110NOutdoor router: 2.4 Ghz, 35 € ( Issue #23 )Outdoor router: 2.4 Ghz, 35 € ( Issue #23 )Yaroslav PetrovYaroslav Petrovhttps://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/40remove node_type: server2020-01-04T11:10:56ZSven enniKremove node_type: serverhttps://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 enniK