Get rid of gnutls dependency introduced in 5bca84b. Needs patching
configure script to make gnutls existence test optional.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Modify init script to use standard uci configuration and procd for
process management. We benefit from:
- use of standard LEDE configuration with its ability to revert and
commit changes
- validation of configuration variables
- procd taking care of restarting daemon when config changes and user
wants to reload it
- automatic respawning of daemon process in case it dies
The source is patched to make it possible to run as a daemon in
foreground.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
This commit fixed what 6d99b602 was supposed to fix without affecting
interface-bound traffic.
Before 6d99b602 interface-bound traffic was working normally as long
as at least one interface was online. However when the last interface
went offline, it was impossible to ping and such state was
unrecoverable.
Commit 6d99b602 fixed unrecoverable offline state problem (it was
possible to ping -I iface) but messed inteface-bound traffic. Traffic
with interface source address was not working if the interface was in
"offline" state, even if another interface was online.
The problem was caused by an inconsistent "offline" interface state:
iptables-related rules were kept while routing table and policy were
deleted.
The idea behind this commit is to:
1. Keep all the rules for each interface (iptables, routing table,
policy) regardless of its state. This ensures consistency,
2. Make interface state hotplug events affect only iptables'
mwan3_policy_* rules. Interface-related iptables, routing table
and policy is removed only when mwan3 is manually stopped.
To make such changes possible, it's necessary to change the way
mwan3_policy_* rule generator keeps track of interface state hotplug
events.
Until now, it checked for the existence of custom interface-related
routing table (table id 1, 2, 3, ...). Clearly we can no longer rely
on that so each interface state is stored explicitly in file.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Fixes the following bugs introduced in commit 815e83d4:
- hotplug: invalid parameter order when initial interface state is "online",
mwan3track expects initial state to be the third argument
- hotplug: missing source ip address when initial interface state is "offline"
- mwan3track: source ip address should be the fourth argument
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Adds support for interface tracking using either ping, arping or
httping. This allows to track interface status on networks with filtered
ICMP traffic or simply to monitor data link layer etc.
To facilitate binding to a specified interface its IP address is passed
as a new mwan3track parameter. It's currently required by httping
and possibly by other tools that may be added in the future.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Package version upgraded to 2.5 with patches:
- Fixed compiler warnings
- Fixed miscalculated response time
- Reduced binary size by stripping unused code
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
This commit fixes bugs, cleans and enhances init.d script:
1. The first disk and interface was passed to mini_snmpd with extra
leading space.
This bug caused the first monitored disk and interface to be
inaccessible by SNMP daemon.
2. Automatically reload deamon if one of monitored interfaces goes
up/down.
Since mini_snmpd reads interface list only at startup, it won't
detect any interface which appeared after the daemon was started.
Fortunately we can use procd interface triggers to automatically
restart the daemon.
3. Replace hand-written direct ubus calls and json data filtering with
standard network functions.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Adds init.d and config files for nbd-client. Each section holds
parameters of one block device, where section name (eg. nbd0) is NBD
device name.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Network block device server allows to export a block device from router
to remote host. This is particularly useful if no network filesystem
server is feasible or direct access to a block device is needed.
It's been tested for nearly a month on ar71xx (TL-WR842ND) and proved to
be very stable and efficient solution.
The package comes with init.d script and conf.d file allowing to
configure most nbd-server options using standard uci interface.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Makes kmod-ipsec6 requirement dependent on IPv6 support for packages.
This allows to disable unnecessary IPv6 kernel modules, saving
considerable amount of space.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Monitor adapters (zeroconf, enet, usb and w1) don't have the reset
routine, causing null pointer dereference in BUS_reset function.
This patch has been submitted upstream:
https://sourceforge.net/p/owfs/bugs/67/
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Owfs shared library is quite large (700+ kB) by embedded devices standards.
The code for many different bus master and slave devices is compiled
into single big .so library. Had it been designed as modular,
dynamic-loadable plugins, we could split them into separate packages,
allowing user to install only the plugins he needs.
It's however possible to enable or disable libow features at compile time.
Here are some examples how much space can be saved turning off support for
unneeded devices and features:
- By disabling USB adapter support libusb and libusb-compat is no
longer needed, saving ~70kB of space. Bus masters using usbserial.ko
kernel driver don't need this.
- By disabling debug messages it's possible to reduce shared library
size by 130kB.
This patch adds a menu allowing user to select libow features one wants
built in:
- Bus master support: USB adapters through libusb, i2c adapters, kernel w1
adapters
- General features: zeroconf device announcement, debug messages, owtraffic
bus reports
Default config options preserve previous library configuration i.e.
everything is selected except for owtraffic (which was disabled) and
kernel w1 driver (whose netlink interface has been broken since 2011).
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Owfs daemons lack control scripts. This patch adds init.d scripts for owfs,
owserver, owhttpd and owftpd packages.
Most daemon options (both common libow and program-specific parameters)
are reflected as uci config variables.
Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>