_XOPEN_SOURCE is included by _GNU_SOURCE.
This fixes redefinition errors of _XOPEN_SOURCE when the libc
implementations define it because of _GNU_SOURCE.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
The function enabled_notify_check_value_change_param() calls these 2
functions that have no definition or decleration:
- add_list_value_change()
- send_active_value_change()
This commit comments them out.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- don't export symbols that are not used ouside of dhcpv4.c
- make read only values const
- remove uneceessary memory allocations and duplications
- avoid "router.network" calls for compatibitliy with generic openwrt builds
- move redundand code to functions
- remove tab indents on empty lines
- avoid opening and parsing DHCP_LEASE_FILE multiple times
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use less memory
- decrease lookup time
- make read only variables const
- remove unused variables / macros
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use libubus instead of fork and exec ubus program
- move redundant code to static functions
- don't export ubus_ctx. It's only used in dmubus.c
- mark static gobals static
- remove unecessary json to blobmsg conversions/allocations when preparing parameters for ubus_invoke
- fix memleaks on not freeing ubus_ctx from ubus_connect
- fix invoking requests on random stack value id when ubus_lookup_id failed
- don't connect/disconnect on every request
- don't reallocate blob_buf on every request
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
There is not always an "ifname" option in the wifi-iface section.
This commit uses ubus to resolve the right interface for the SSID.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
This function was only used to query interface statistics,
which are now read direclty from sysfs.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use sysfs instread of ubus and ifconfig command execution for Inteface stats.
This reduces uneccessary memory and cpu overhead and speeds up the query time for
IP.Interface queries by a multiple.
- move redundant code to static functions
- fix rx/tx multicast/broadcast stats can never be obtained from ifconfig
- fix invalid stats for unknownprotopackets.
- fix stats not correclty reported when counters exceed 32bit int values.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- use sysfs instread of ubus and ifconfig command execution for Inteface stats.
This reduces uneccessary memory and cpu overhead and speeds up the query time for
IP.Interface queries by a multiple.
- move redundant code to static functions
- fix rx/tx multicast/broadcast stats can never be obtained from ifconfig
- fix invalid stats for unknownprotopackets.
- fix stats not correclty reported when counters exceed 32bit int values.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Read-only values should be marked with const to help the compiler
optimize code. But this would requrire a bigger rewirte of all the code,
hence the original code did not use const at all.
This should be done in the future to ensure good code quality
and performance.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- avoid uneccessary memory allocations
- move {read,write}FileContent functions to usb source file where they are used exclusively and make them static
- fix bad logic in readFileContent
- move redundant code to static functions
- fix get_USBUSBHostsHostDevice_MaxChildren never returning any value
- fix no interface instances being created
- make some functions that are not exported static
- fix segfault on get_USBInterface_Enable when the interface is down
- fix segfault on get_USBInterface_Status when the interface is down.
- fix segfault on missing format character in get_USBInterface_LowerLayers.
- fix segfault and double frees on recrusive browseUSBUSBHostsHostInst() calls.
- reduce overall memory usage
- use const on read-only values
- fix invalid comparision on strstr return value
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
This fixes segfaults and pointers with invalid strings for:
- dmuci_add_section
- dmuci_set_value_by_section
- dmuci_set_value
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Update fsize by the actual read bytes from fread,
because ftell will always return 4k on sysfs files.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Use unified function 'dmmap_file_path_get' and reuse it in
every function where the segfault occured.
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
- Changes done in Bridging.Bridge.X.Port, Bridging.Bridge.X.VLAN Objects
- Changes done in IP.Interface Objects
- Changes done in Ethernet Objects
TODO : Few more deployments needs to be covered. Also to add supoort for
VLANPort and VLANTermination.
- remove unused variables
- fix coding style of most function (Indentation, Tabulation, ..)
- check the source code using cppcheck tool
- change sprintf by snprintf