Resolve network devices by first trying 'network_get_device' (L3) and
falling back to 'network_get_physdev' (L2) on failure, which allows using
Wireguard interfaces. Both are needed to avoid breaking existing usage
for some interfaces (e.g. 'wan').
Also add myself as a maintainer.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Variable 'UID' is set readonly in some calling contexts, yielding errors
during e.g. ImageBuilder usage:
Enabling rpcd
./etc/init.d/siproxd: line 14: UID: readonly variable
Enabling siproxd
Enabling sysctl
Rename UID and GID variables as SIPROXD_UID and SIPROXD_GID.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This release includes bug fixes and improvements accumulated over the last
4 years of development snapshots [1].
Bump upstream version, build new plugins 'stats' and 'blacklist', and add
an 'sqlite3' package dependency for siproxd-mod-blacklist.
Disable procd capturing stderr to syslog, since siproxd in 'foreground'
mode writes both to syslog and stderr, duplicating log messages.
Include a patch to drastically reduce memory usage (RSS from 17MB to 5MB
on ipq40xx platform):
* 005-reduce-rtpproxy-urlmap-size.patch
Drop the following patches now included upstream:
* 010-syslog-msg.patch
* 020-gcc10.patch
* 100-musl-compat.patch
[1] http://siproxd.sourceforge.net/index.php?op=changelog.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Although siproxd normally logs to syslog, it's debug output appears to go
only to stderr. Adjust procd setup to also capture stderr in syslog.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Switch to use procd for init, with support for jails. Clean up code and
restructure callback processing to be more robust and understandable. This
also fixes a bug processing multiple siproxd config sections, as reported
by Michael Kuron.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Switch to using callback functions for UCI config processing, and remove
the unnecessary scan_interfaces() call together with related code.
Instead of explicitly handling every possible siproxd config option, use
callbacks to deal with those defined in the UCI config file, and directly
handle only selected options with desired default values. This shrinks
the init code by ~3.5 KB and simplifies updating to future siproxd
versions with new options.
(Note: this change exposed some long-standing, broken aspects of UCI
callback handling, fixed in https://github.com/openwrt/openwrt/pull/805.)
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Use lists for the config entries outbound_domain_{name,host,port}.
This permits multiple outbound proxies and fixes:
https://github.com/openwrt/telephony/issues/127
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
An upstream siproxd update was released after ~5 years, with bugfixes
and new features. This package supports the new plugins and their config
options, and updates required patches.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Use more conventional, clearer naming for config and registration files.
This includes having distinct directories and specific file suffixes.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Using the append_conf_if_set() function removes much repetitive and
error-prone code, reduces the source size by ~30%, and fixes a typo
previously uncaught.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
The previous default logging level is completely silent, making normal
monitoring or troubleshooting impossible. Use the sane upstream default
for logging which captures basic startup, shutdown and error messages.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Support using standard interface names and make "lan"/"wan" the defaults
for inbound/outbound SIP traffic. This change makes siproxd more portable
but preserves backwards compatibility for upgrades.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>