Commit Graph

5495 Commits (2021.7)
 

Author SHA1 Message Date
kille72 75f98b7a4a /router/rc/init.c SDK7: corrections 8 years ago
kille72 c6aef99f62 Merge branch 'shibby-arm' into shibby-arm7 8 years ago
kille72 a574290ebe Makefile SDK7: corrections 8 years ago
kille72 eda974f79c Fix build break: /router/libusb10 and /router/libogg 8 years ago
kille72 e4d2072d59 Merge branch 'shibby-arm' into shibby-arm7 8 years ago
pedro 9bbe5d5a11 libusb: libusb10 updated to 1.0.21 8 years ago
pedro 292828815e libusb: libusb-compat updated to libusb-compat-0.1.5 8 years ago
edrikk 527e548c1c Merged in edrikk/tomato-arm-kille72-fork (pull request #6)
Upstream fixes to ip4, igmp, etc
8 years ago
edrikk 9e88fd8cbe net: ipv4: fix multipath RTM_GETROUTE behavior when iif is given
Per: a8801799c6
8 years ago
edrikk cca4700577 proc/sysctl: fix the int overflow for jiffies conversion
Per:  63259457a2


do_proc_dointvec_jiffies_conv() uses LONG_MAX/HZ as the max value to
avoid overflow.  But actually the *valp is int type, so it still causes
overflow.

For example,

  echo 2147483647 > ./sys/net/ipv4/tcp_keepalive_time

Then,

  cat ./sys/net/ipv4/tcp_keepalive_time

The output is "-1", it is not expected.

Now use INT_MAX/HZ as the max value instead LONG_MAX/HZ to fix it.
8 years ago
pedro 23aba0de97 libogg: updated to 1.3.2 8 years ago
pedro f1d85252ea libxml2: updated to 2.9.3 + libs optimization 8 years ago
edrikk fddcc1cfa6 Align with upstream following fixes. Beyond the fix noted in link, aligning strengthens code such that input is not clobbered in case of inability allocate memory.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c28294b941232931fbd714099798eb7aa7e865d7
8 years ago
edrikk f7694078c3 igmp: acquire pmc lock for ip_mc_clear_src()
Per: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c38b7d327aafd1e3ad7ff53eefac990673b65667
8 years ago
edrikk 0ef94567e8 igmp: add a missing spin_lock_init()
Per https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b4846fc3c8559649277e3e4e6b5cec5348a8d208
8 years ago
edrikk 9cafa77640 Merged kille72/tomato-arm-kille72 into shibby-arm 8 years ago
kille72 ff71298f4b Merge branch 'shibby-arm' into shibby-arm7 8 years ago
pedro 5485e59610 libvorbis: updated to 1.3.5 8 years ago
pedro 5a5b5af8ff libexif: updated to 0.6.21 8 years ago
pedro 590d06ef0e FLAC: updated to 1.3.2 8 years ago
pedro 77c41ddf6d QOS: Fix ingress QOS, both IPv4 & IPv6
- ARM uses IFB so change all refs of "IMQ" to "IFB"

Based on pull request #49: https://bitbucket.org/pl_shibby/tomato-arm/pull-requests/49/arm-fix-ingress-qos-both-ipv4-ipv6/diff
8 years ago
kille72 3d7185a7a3 Merge branch 'shibby-arm' into shibby-arm7 8 years ago
kille72 3e721cde29 lzo: updated to 2.10 8 years ago
pedro b5a5cb1e1c uqmi: updated to uqmi-8ceeab6
https://git.openwrt.org/?p=project/uqmi.git;a=summary
8 years ago
pedro ea00764a7e switch4g: improved/fixed QMI modem support 8 years ago
edrikk 8d49e5bfb3 Merged kille72/tomato-arm-kille72 into shibby-arm 8 years ago
kille72 a4c5273db7 OpenVPN: updated to 2.4.3 8 years ago
pedro fffa970db9 tor.c:
- add localhost ports and .onion support
 - disable IPv6 names resolution for onion domains by default
 - enable LAN pool for clients
   This will allow outside router access to mapped hosts, but only with DNS-rebind disabled in case DNSMasq used for names resolution.
 - add AvoidDiskWrites option to config

Thanks @tsynik
8 years ago
tsynik 9bafa34d20 minidlna: add persistent uuid based on router's mac
ported from RMerlin git commit 62d747

62d7471b4d
8 years ago
edrikk 3dbe8e449c Merged in edrikk/tomato-arm-kille72-fork (pull request #5)
Two fixes from Kernel, found by @tvlz
8 years ago
edrikk 7ad9669471 bridge: fix parsing of MLDv2 reports
Per: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/net/bridge/br_multicast.c?id=47cc84ce0c2fe75c99ea5963c4b5704dd78ead54
8 years ago
edrikk 74db831b17 ipv4: Resolve force_igmp_version ignored when a IGMPv3 query received
Per https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7998156344b0d93de61ff8e5d75e96500e43a571
8 years ago
kille72 fdeff53a4f LED fix for RT-N18U
- Add LAN led support - 9a76a8c564
- Cosmetics
8 years ago
tsynik 1ebdbaabaf libcurl: disable proxy and libcurl output options
size optimization
8 years ago
tsynik f0d484593b busybox: drop modules.dep path hack, it doesn't required
from https://github.com/RMerl/asuswrt-
merlin/commit/8b4736236f355aa5408c6bce9713c8347a6a6ae7
8 years ago
kille72 54142d954c samba: improve performance
Added some performance options.

Thx Nikk Gitanes!
8 years ago
kille72 98c01feda0 Add Tenda AC15 support
Ported from Toastman-ARM, see commit http://repo.or.cz/tomato.git/commit/59724ceafbedbe7c2aeedaf6134dba76e1a0177

thx to marto12, Toastman and M_ars
8 years ago
iv7777 04b270ddda main.c edited to fix some NVRAM variables restoration failure
This commit is to fix a problem that any NVRAM variables that are not in the list of "shared/defaults.c" will not be restored from configuration file including custom variables. So far it’s in all ARM builds. Here’s the detail. For example, the following are not restored:

 qos_inuse
 rrule1
 rrule2

Traced back to nvram_arm/main.c in the source code:

 line 216:
 if (issyspara(p))
 nvram_set(p, v);

What it does is to perform a variable name check, if it either contains "wl", "wan", "lan", or it's in the list of "shared/defaults.c", the variable will be restored using nvram set equivalent command. If not found, then they are ignored. The perfect solution will be putting every single variable names in file "shared/defaults.c". However this is a tremendous and complex work to accomplish and requires highly orchestrated team effort. Before it’s done, the restore process is always flawed by missing some variables, potentially causing unexpected behavior of the router. The less perfect solution would be just skip the check. It seems restoring a complete list of variables in the configuration file is more important. To do this, just comment it out like the following:

 // if (issyspara(p))
 nvram_set(p, v);
8 years ago
iv7777 32fdfa7f61 main.c edited to fix random corruption of configuration file
There’s a flaw in the NVRAM encryption process which, by 20% of the chance, will cause the saved configuration file become corrupted. This commit is to fix this problem. Here’s the detail. Whenever NVRAM variables contain any control characters which ASCII values are less than 32(0x20), data corruption may occur when saving configuration file, either by using tomato GUI menu Administration/Backup Configuration or command line: nvram save filename.cfg. This problem will cause restoration failure either in GUI menu Restore Configuration or command line: nvram restore filename.cfg, WITHOUT showing any error messages. When this error occurs, only the NVRAM variables before the corrupted data are restored while any data after it is lost. The most common scenario that control characters are used in nvram is Line Feed(0x0A) and Carriage Return(0x0D), usually appears in custom scripts in firewall, init, etc. The root cause lies in nvram_arm/main.c in the following code:

Line 68:
    rand = get_rand() % 30;

Line 88:
    if (buf[i] == 0x0)
        buf[i] = 0xfd + get_rand() % 3;
    else
        buf[i] = 0xff - buf[i] + rand;

Line 68 generate a random value from 0 to 29 and store it in “rand”. Starting from line 88, it uses this value to convert the original NVRAM value to the encrypted one. When it meets 0, which is a separator for NVRAM variables, random value of 0xfd, 0xfe, 0xff are used to represent it in the encrypted format. However, when NVRAM contains control characters such as 0x0A, and the random value happens to be 0, 1, or 2 less, in this case, “rand” = 0x08, 0x09 or 0x0A, the encrypted value will be 0xfd, 0xfe, 0xff, which is the same as “0” in the encrypted format. This results in decryption failure because the encrypted value of 0xfd, 0xfe, 0xff not only means 0, it also can be 0x0A, 0x0D, etc. The original values are lost and the data corruption occurs. While the perfect solution could be a complete makeover of this algorithm, the less perfect one is to walk around it. So far, only control characters of 0x0A and 0x0D are found to be used in NVRAM variables. By excluding the random value(in “rand”) from 8 to 13, value 0x0A and 0x0D will never to encrypted to 0xfd, 0xfe and 0xff, thus avoid the problem. The updated code contains a do…while loop to check if “rand” is between 8 to 13, if true, get the random number again until it’s not. This fix only works when the NVRAM contains no other control characters. If it does, corruption still occurs. However, this is quite uncommon. The up side of this fix is: it doesn’t interfere with the decryption algorithm by only use less number of random values in the encryption process. No change has to be made in the restore process for things to work. It’s totally compatible with any existing good configuration file. The fix has been tested in my ARM router and so far so good.
8 years ago
kille72 ab83797585 Merge branch 'shibby-arm' into shibby-arm7 8 years ago
kille72 24bad8d1ba samba: add lowercase/uppercase codepage support
f302e1efce
8 years ago
AndreDVJ 8aa72453b1 dnsmasq: Updated to 2.77 8 years ago
AndreDVJ 200909d2c6 dnscrypt-proxy: Updated to 1.9.5 8 years ago
kille72 495c76ca05 minidlna: Updated to 1.2.0
minidlna: switch to -r option
Do rescan not full rebuild on startup, if Scan Media at Startup checked
(also move Tomato notice to the right place)
368b29d0a9

minidlna: cosmetics
Those functions already in begin/end_scan, so don't do it twice on
ReadyNAS
a57272a53f

Thx Nikk Gitanes!
8 years ago
kille72 4d2f8e18c2 router/Makefile: deleted unnecessary code, after Samba 3.0.x and Samba 3.5.x 8 years ago
kille72 0cf9bf5bbc btools/libfoo.pl there's no library to optimize in Samba 3.6.x, Makefile build Samba with static libraries.
Thx RMerlin!
8 years ago
kille72 dea8fbf200 Merge branch 'shibby-arm' into shibby-arm7 8 years ago
kille72 dacb1b5692 tor: updated to 0.3.0.8 8 years ago
kille72 8dcf1c145f Ported Samba 3.6.25 (SMB1 + SMB2 support) from asuswrt-merlin with all patches, deleted old Samba 3.0.37.
https://github.com/RMerl/asuswrt-merlin

$ git log --oneline | grep samba36
samba36: CVE-2017-7494: rpc_server3: Refuse to open pipe names with / inside
samba36: add a few minor optimizations based on the BRT-AC828's GPL
samba36: re-generated PIDL files
samba36: Update OpenWRT patches to be in sync with the recent CVE patches
samba36: Apply numerous security patches backported to 3.6 by Openwrt
samba36: Update to 3.6.25, which includes security fixes
samba36: Updated Makefile to match recent GPL changes in 3.5.8
samba36: Try finding the account without mangling it in any way at first, otherwise mixed-caps names will never be found at all by Get_pwnam()
samba36: added missing talloc frame handling to smbpasswd; use a copy of the pasw when manipulating it
samba36: also clean auth/*.o objects
samba36: for consistency, move it at the start of the line
samba36: clean multi.o
samba36: Enable libiconv support
samba36: disable dnsupdate
samba36: Enabled by default for ARM devices as well
samba36: Enabled by default on MIPS devices, as this has no impact on performance (bottleneck being at the disk IO level)
samba36: Correct symlinks to multicall binary
samba36: Reverting this for now since we don't have a permanent etc directory. Revert "samba36: Added codepage data"
samba36: Added codepage data
samba36: Use multicall binary, saves 400 KB from trx image
samba36: Removed non-existing configure options
samba36: Renamed RTCONFIG_SAMBA_NEW to RTCONFIG_SAMBA_MODERN
samba36: Go for broke, and compile Samba 3.6 with highest level of optimization to reduce the performance impact of the upgrade.  Size difference isn't as bad as expected.
samba36: Replicate Samba 3.5.8's Makefile settings instead of OpenWRT's
samba36: Parallel build support; still compile Samba 3.5.8 since we are unable to port the AiCloud proprietary changes from 3.5.8 to 3.6.24.  AiCloud should only use the generated libsmbclient.
samba36: set the correct protocol for SMB1 mode (default)
samba36: Add option to control SMB2 support - disabled by default as it seems to reduce performance rather than improve it
samba36: Implement option to enable building with Samba 3.6.xx; updated default smb.conf
samba36: Disable libtevent
samba36: Updated gitignore
samba36: Reverted smbpasswd syntax to the old one, to maintain full compatibility even with closed source code that might use it
samba36: Add OpenWRT's smbpasswd
samba36: Added root Makefile (from Asus's code)
samba36: Patched getiffadr support (from Asus's 3.5.8 code)
samba36: LibRPC default print (OpenWRT)
samba36: Debug level check (OpenWRT)
samba36: Remove error strings (OpenWRT)
samba36: Assert debug level (OpenWRT)
samba36: Remove lsa support (OpenWRT)
samba36: Remove srvsvc support (OpenWRT)
samba36: Remove registry backend (OpenWRT)
samba36: Remove samr (OpenWRT)
samba36: Remove domain logon (OpenWRT)
samba36: Remove DFS API (OpenWRT)
samba36: Remove winreg support (OpenWRT)
samba36: Remove services support (OpenWRT)
samba36: Remove AD support (OpenWRT)
samba36: Remove printer support (OpenWRT)
samba36: Add missing ifdef (OpenWRT)
samba36: configure patch (OpenWRT)
samba36: initial commit

* Samba3/Makefile: modifications.

* /rc/services.c: smb.conf
- added "passdb backend = smbpasswd", that will take care of the login issue in Samba 3.6
- enabled SMB2 protocol. Both SMB1 and SMB2 are enabled now, client negotiates and selects the fastest protocol.
- added dos/unix/display charsets

* Samba: replace broken getifaddrs() function with a working one
This commit adds the missing code, but also better integrates it into Samba's replacement
system, based on theMIROn's implementation for 3.5.8. This fixes Samba failing to resolve interface names.
114e0c6cf9 (diff-741153c4251c17b92ec54b7dc04baa71)

Thx @RMerlin, @Sean B. and @Edrikk
8 years ago
kille72 1b5ea730b4 Updated README 8 years ago