Closed andrewhodel closed 4 years ago
On master, the way client connections are resolved was completely rewritten to handle lws async dns implementation. It now tries the dns results in turn (for both libc blocking resolver and the optional internal async one) and is aware if the record is AAAA or A. That's what this is referring to on the main README.md
Client connection logic rewrite
Lws master now makes much better use of the DNS results for ipv4 and ipv6… it will iterate through them automatically making the best use it can of what's provided and attempting new connections for each potentially usable one in turn before giving up on the whole client connection attempt.
If ipv6 is disabled at cmake it can only use A / ipv4 records, but if ipv6 is enabled, it tries both; if only ipv6 is enabled it promotes ipv4 to ::ffff:1.2.3.4 IPv4-in-IPv6 addresses.
You can work around it on v3.2 by disable ipv6, but the best way is just use master.
Awesome!
Thanks for the information.
The openwrt packages only currently include 3.1.0 in trunk, I was able to modify and build 3.2.0 without issue. Is there a plan to release a version with these improvements, I'm sure that's a dilemma with the package maintainers as using master/trunk might introduce unknown errors.
Yes, but not immediately.
using master/trunk might introduce unknown errors.
If I tag out a release from master, despite widespread belief to the contrary, that process does not magically purge and cleanse it of errors, known or unknown. The only way for that to happen is people using the code, before or after 'releasing' it.
I'm just saying they won't include trunk/master in the package Makefile, probably not a worry because most people are using other packages which have version dependencies anyway.
Andrew
On Wed, Jan 1, 2020 at 2:16 PM Andy Green notifications@github.com wrote:
Yes, but not immediately.
using master/trunk might introduce unknown errors.
If I tag out a release from master, despite widespread belief to the contrary, that process does not magically purge and cleanse it of errors, known or unknown. The only way for that to happen is people using the code, before or after 'releasing' it.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/warmcat/libwebsockets/issues/1812?email_source=notifications&email_token=AAFVCSMVGM53E6ZVTW4GWFLQ3UB4TA5CNFSM4KB4V56KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH5MW4A#issuecomment-570084208, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFVCSLAV7K2KUFJJUD5DFDQ3UB4TANCNFSM4KB4V56A .
Still the same problem with commit id 70bb1ef445749fe1940254898620553d3dede069
LWS is still resolving dns for an IPv4 address as AF_INET6
Here's the strace:
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[RT_68 RT_70 RT_71 RT_73 RT_74 RT_75 RT_77 RT_79 RT_80 RT_83 RT_84 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_93 RT_94 RT_95], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=NULL}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=NULL}, 16) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=4*1024}) = 0
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
pipe2([5, 6], O_NONBLOCK) = 0
getpid() = 1412
clock_gettime(CLOCK_BOOTTIME, {tv_sec=746, tv_nsec=714553651}) = 0
getpid() = 1412
getpid() = 1412
clock_gettime(CLOCK_BOOTTIME, {tv_sec=746, tv_nsec=722810704}) = 0
getpid() = 1412
getpid() = 1412
clock_gettime(CLOCK_BOOTTIME, {tv_sec=746, tv_nsec=726179261}) = 0
getpid() = 1412
getpid() = 1412
clock_gettime(CLOCK_BOOTTIME, {tv_sec=746, tv_nsec=729480375}) = 0
getpid() = 1412
getuid() = 0
geteuid() = 0
getgid() = 0
getegid() = 0
open("/etc/ssl/cert.pem", O_RDONLY|O_LARGEFILE) = 7
read(7, "-----BEGIN CERTIFICATE-----\nMIIH"..., 1024) = 1024
read(7, "xFwYIRKQ26ZIMApcQrAZQIDAQABo4ICy"..., 1024) = 1024
read(7, "gIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPN"..., 1024) = 1024
read(7, "AiIwDQYJKoZIhvcNAQEBBQADggIPADCC"..., 1024) = 1024
read(7, "8B1\nRXxlDPiyN8+sD8+Nb/kZ94/sHvJw"..., 1024) = 1024
read(7, "eQWN0YWxpcyBBdXRoZW50aWNhdGlvbiB"..., 1024) = 1024
read(7, "msGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4l"..., 1024) = 1024
read(7, "AGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYW"..., 1024) = 1024
read(7, "sxOBi0cQ+azcgOno4uG+GMmIPLHzHxRE"..., 1024) = 1024
read(7, "d6M06uJFdhrJNTxFq7YpFzUf1GO7RgBs"..., 1024) = 1024
read(7, "HQ4EFgQUBx/S55zawm6i\nQLSwelAQUHT"..., 1024) = 1024
read(7, "8rNrS\ns8PhaJyJ+HoAVt70VZVs+7pk3W"..., 1024) = 1024
read(7, "k4gmVBtWVyuEklut89pMF\nu+1z6S3RdT"..., 1024) = 1024
read(7, "W+uZPpY5Yse42O+tYHNbwKMeQ==\n----"..., 1024) = 1024
read(7, "E6V/Uq2V8viTO96LXFvKWlJbYK8U90vv"..., 1024) = 1024
read(7, "j\nmUyl+17vIWR6IF9sZIUVyzfpYgwLKh"..., 1024) = 1024
read(7, "H+fO6AgonB8Xx1sfT\n4PsJYGw=\n-----"..., 1024) = 1024
read(7, "BBAAiA2IABNKrijdPo1MN/sGKe0uoe0Z"..., 1024) = 1024
read(7, "nezG8HDt0L\ncp2AMBYHlT8oDv3FdU9T1"..., 1024) = 1024
read(7, "DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO"..., 1024) = 1024
read(7, "wBl\nAGwAbwBuAGEAIAAwADgAMAAxADcw"..., 1024) = 1024
read(7, "LMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJ"..., 1024) = 1024
read(7, "N CERTIFICATE-----\nMIIFWTCCA0GgA"..., 1024) = 1024
read(7, "71bbRuMGjeyNYmsHVee7QHIJihdjK4TW"..., 1024) = 1024
read(7, "AMMF0J1eXBhc3Mg\nQ2xhc3MgMyBSb290"..., 1024) = 1024
read(7, "jANBgkqhkiG9w0BAQsFAAOCAgEAACAj\n"..., 1024) = 1024
read(7, "YXRpc2xhdmEx\nEzARBgNVBAoTCkRpc2l"..., 1024) = 1024
read(7, "bYVybqjGom32+nNjf7xueQgcnYqf\nGop"..., 1024) = 1024
read(7, "wggIKAoICAQDXXWvNED8fBVnVBU03\nsQ"..., 1024) = 1024
read(7, "96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Q"..., 1024) = 1024
read(7, "9NT0RPIENlcnRpZmljYXRpb24gQXV0\na"..., 1024) = 1024
read(7, "IFICATE-----\n-----BEGIN CERTIFIC"..., 1024) = 1024
read(7, "NBgkqhkiG9w0BAQwFADCB\nhTELMAkGA1"..., 1024) = 1024
read(7, "qR84onAZFdr+CGCe01a60y1Dma/RMhnE"..., 1024) = 1024
read(7, "DCCApCgAwIBAgIJAP7c4wEPyUj/MA0GC"..., 1024) = 1024
read(7, "zRgzB7mFnc\nfca5DClMoTOi62c6ZYTTl"..., 1024) = 1024
read(7, "+PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK"..., 1024) = 1024
read(7, "0AMRgwj\nY/M50n92Uaf0yKHxDHYiI0ZS"..., 1024) = 1024
read(7, "\nQgEBBAQDAgEGMDcGA1UdHwQwMC4wLKA"..., 1024) = 1024
read(7, "ptJ11/91sts1rH\nUV+rpDKmYYe2bg+G0"..., 1024) = 1024
read(7, "EF1dGhvcml0eTEkMCIG\nA1UEAxMbQ2Vy"..., 1024) = 1024
read(7, "53/twIDAQABo0IwQDAPBgNVHRMBAf8EB"..., 1024) = 1024
read(7, "pcm1hLmNvbS9hZGRyZXNzKTESMBAGA1U"..., 1024) = 1024
read(7, "\nWk0ZN5K3xMGtr/R5JJqyAQuxr1yW84A"..., 1024) = 1024
read(7, "MjNbMMeJL0eYD6MD\nxvbxrN8y8NmBGuS"..., 1024) = 1024
read(7, "WCwEiwqJH5YZ92IFCokcdmtet4\nYgNW8"..., 1024) = 1024
read(7, "bCBSb290MB4XDTA2MTIxNTA4MDAwMFoX"..., 1024) = 1024
read(7, "B+TX3EJIrduPuoc\nA06dGiBh+4E37F78"..., 1024) = 1024
read(7, "0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCU"..., 1024) = 1024
read(7, "COvXwEz75ivJn9gpfSegpn\nljgJ9hBOl"..., 1024) = 1024
read(7, "a1CInXCGNjOCd1HjPqbqjdn5lPdE2BiY"..., 1024) = 1024
read(7, "cz8faXbauX+5v3gTt23ADq1cEmv8uXr\n"..., 1024) = 1024
read(7, "TNXeWHmb0moc\nQqvF1afPaA+W5OFhmHZ"..., 1024) = 1024
read(7, "UAA4IBDwAwggEKAoIBAQCtDhXO5EOAXL"..., 1024) = 1024
read(7, "zEVMBMGA1UEChMMRGlnaUNlcnQgSW5jM"..., 1024) = 1024
read(7, "5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7"..., 1024) = 1024
read(7, "----BEGIN CERTIFICATE-----\nMIIDr"..., 1024) = 1024
read(7, "TnmCmrEbXjcKChzUyImZOMkXDiqw8cvp"..., 1024) = 1024
read(7, "XOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\n"..., 1024) = 1024
read(7, "LfyHS8L6+c/MzXRq8NOrexpu80JX28Mz"..., 1024) = 1024
read(7, "nHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnr"..., 1024) = 1024
read(7, "EwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQ"..., 1024) = 1024
read(7, "mbnJeFwMDF/k5hQpVgs2\nSV1EY+CtnJY"..., 1024) = 1024
read(7, "0OFoXDTIz\nMDMwMzEyMDk0OFowgbIxCz"..., 1024) = 1024
read(7, "DVR0OBBYEFC7j27JJ0JxUeVz6\nJyr+zE"..., 1024) = 1024
read(7, "EgZGUgQ2Vy\ndGlmaWNhY2lvIChOSUYgU"..., 1024) = 1024
read(7, "IimAy4E5S2S+zw0JDnJwIDAQAB\no4HjM"..., 1024) = 1024
read(7, "DEy\nMTcyMzU5NTlaMHUxCzAJBgNVBAYT"..., 1024) = 1024
read(7, "Ddr5rMzcijJs1eg9gIW\niAYLtqZLICjU"..., 1024) = 1024
read(7, "PKQP5L6RQstRIzgUyVYr9smRMDuSYB3X"..., 1024) = 1024
read(7, "RydXN0LCBJbmMuMTkw\nNwYDVQQLEzB3d"..., 1024) = 1024
read(7, "ua2J7p8eRDjeIRRDq/r72DQnNSi6q7py"..., 1024) = 1024
read(7, "KlH\nBz7MIKNCMEAwDgYDVR0PAQH/BAQD"..., 1024) = 1024
read(7, "s1/T\nRU4cctZOMvJyig/3gxnQaoCAAEU"..., 1024) = 1024
read(7, "A1MTMxNVoXDTQwMTIzMTE1NTk1OVowYj"..., 1024) = 1024
read(7, "CAQDRSVfg\np8xoWLoBDysZzY2wYUWsEe"..., 1024) = 1024
read(7, "ENBMIIBIjANBgkqhkiG9w0BAQEFAAOCA"..., 1024) = 1024
read(7, "EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg"..., 1024) = 1024
read(7, "8Fj\nUjPtp8nSOQJw+uCxQmYpqptR7TBU"..., 1024) = 1024
read(7, "gpxgceeHHNgIwOlavmnRs9vuD4DPTCF+"..., 1024) = 1024
read(7, "F/BqxqjsHQ9gUdfeZC\nhuOl1UcCAwEAA"..., 1024) = 1024
read(7, "N+yFFXoZCPzVx5zw8qkuEKmS5j1YPakW"..., 1024) = 1024
read(7, "Pnbiucon8l+f725ZDQbYKxek0nxru18U"..., 1024) = 1024
read(7, "\nse4YuU6W3Nx2/zu+z18DwPw76L5GG//"..., 1024) = 1024
read(7, "8RW04eWe3fiPpm8m\n1wk8OhwRDqZsN/e"..., 1024) = 1024
read(7, "IN CERTIFICATE-----\nMIICHjCCAaSg"..., 1024) = 1024
read(7, "xMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRk"..., 1024) = 1024
read(7, "----BEGIN CERTIFICATE-----\nMIIDu"..., 1024) = 1024
read(7, "EbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0"..., 1024) = 1024
read(7, "RPvm2L7DWzgVGkWqQPabumDk3F2xmmFg"..., 1024) = 1024
read(7, "E3nOUTvOniX9PeGMIyBJQbUJmL025eSh"..., 1024) = 1024
read(7, "qW/hpvvf\ncDDpw+5CRu3CkwWJ+n1jez/"..., 1024) = 1024
read(7, "BDaGFtYmVyc2lnbiBSb290IC0gMjAwOD"..., 1024) = 1024
read(7, "VzcykxEjAQBgNVBAUTCUE4Mjc0MzI4Nz"..., 1024) = 1024
read(7, "IIEADCCAuigAwIBAgIBADANBgkqhkiG9"..., 1024) = 1024
read(7, "ZIhvcNAQEFBQAD\nggEBADJL87LKPpH8E"..., 1024) = 1024
read(7, "dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZ"..., 1024) = 1024
read(7, "v\nb3RDQSAyMDE1MB4XDTE1MDcwNzEwMz"..., 1024) = 1024
read(7, "Dk1MloXDTMxMTIwMTEzNDk1MlowgZUxC"..., 1024) = 1024
read(7, "ZJwzNzvoc7\ndIsXRSZMFpGD/md9zU1jZ"..., 1024) = 1024
read(7, "5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDP"..., 1024) = 1024
read(7, "DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6"..., 1024) = 1024
read(7, "VHRMBAf8ECDAGAQH/AgED\nMA4GA1UdDw"..., 1024) = 1024
read(7, "IB0ttov0DiNewNwIRt18jA8+o+u3dpjq"..., 1024) = 1024
read(7, "JUagEiuTDkHzsxHpFKVK7q4+63SM1N95"..., 1024) = 1024
read(7, "dBeo0XKIanoBScy0RnnGF7HamB4HWfp1"..., 1024) = 1024
read(7, "Xjtw+hG\n4iZZRHUe2XWJUc0QhJ1hYMtd"..., 1024) = 1024
read(7, "xkA2T26pEUWbMfXYD62qoKjgZl3YNa4p"..., 1024) = 1024
read(7, "q4/i6jC8UDfv\n8Ue1fXwsBOxonbRJRBD"..., 1024) = 1024
read(7, "UD8r6ddIB\nQFqNeb+Lz0vPqhbBleStTI"..., 1024) = 1024
read(7, "TrdZoQ0iy2+tzJOeRf1SktoA+\nnaM8TH"..., 1024) = 1024
read(7, "AiS8sIm7vI+AIpHb4g\nDEa/a4ebsypmQ"..., 1024) = 1024
read(7, "Qc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKq"..., 1024) = 1024
read(7, "qH5GoP7ghu5sJf0dgYzQ0mg/wu1\n+rUC"..., 1024) = 1024
read(7, "DAxOZXRM\nb2NrIEtmdC4xNzA1BgNVBAs"..., 1024) = 1024
read(7, "8ZvYzsRjdT9ZR7E=\n-----END CERTIF"..., 1024) = 1024
read(7, "ydGlmaWNhdGVBdXRob3Jp\ndHkuY3JsMA"..., 1024) = 1024
read(7, "OVTJoZIyEVRd7jyBxR\nVVuuk+g3/ytr6"..., 1024) = 1024
madvise(0x715000, 258048, MADV_DONTNEED) = 0
read(7, "A1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i"..., 1024) = 1024
read(7, "8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU"..., 1024) = 1024
read(7, "--\n-----BEGIN CERTIFICATE-----\nM"..., 1024) = 1024
read(7, "G+WAABMIH7MIHUBggrBgEFBQcCAjCBxx"..., 1024) = 1024
read(7, "Q2+Q==\n-----END CERTIFICATE-----"..., 1024) = 1024
read(7, "y7IlXnLc6KO\nTk0k+17kBL5yG6YnLUla"..., 1024) = 1024
read(7, "\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl"..., 1024) = 1024
read(7, "hGK8SEwzJQTU7tD2\nA8QZRtGUazBuBgN"..., 1024) = 1024
read(7, "ELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEF"..., 1024) = 1024
read(7, "B/wQEAwIB\nBjAdBgNVHQ4EFgQU7edvdl"..., 1024) = 1024
read(7, "AYTAkJNMRkwFwYDVQQKExBRdW9WYWRpc"..., 1024) = 1024
read(7, "QgQ0EgMyBDZXJ0\naWZpY2F0ZSBQb2xpY"..., 1024) = 1024
read(7, "8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK\n4"..., 1024) = 1024
read(7, "AVuNVejH38DMdyM0SXV89pgR6y3e7UEu"..., 1024) = 1024
read(7, "BAgIILCmcWxbtBZUwCgYIKoZIzj0EAwI"..., 1024) = 1024
read(7, "QIDAVUZXhhczEQMA4GA1UEBwwHSG91c3"..., 1024) = 1024
read(7, "kiFCbLsjtzdFVHB3mBOagwE0TlBIqulh"..., 1024) = 1024
read(7, "gIIdebfy8FoW6gwCgYIKoZIzj0EAwIwf"..., 1024) = 1024
read(7, "DgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK"..., 1024) = 1024
read(7, "6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRW"..., 1024) = 1024
read(7, "JKoZIhvcNAQEL\nBQAwUTELMAkGA1UEBh"..., 1024) = 1024
read(7, "RVOul4+vJhaAlIDf7js4MNIThPIGy\nd0"..., 1024) = 1024
read(7, "EB\nAKChOBZmLqdWHyGcBvod7bkixTgm2"..., 1024) = 1024
read(7, "01k/unK8RCSc43Oz969XL0Imnal0ugBS"..., 1024) = 1024
read(7, "lY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSq"..., 1024) = 1024
read(7, "ICATE-----\n-----BEGIN CERTIFICAT"..., 1024) = 1024
read(7, "vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7"..., 1024) = 1024
read(7, "7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T\n"..., 1024) = 1024
read(7, "P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jD"..., 1024) = 1024
read(7, "uU6TJJB79VWZxXSzFYGgEt9nC\nUiY4iK"..., 1024) = 1024
read(7, "HowNDXLldRqANb/9Zjr7dn3LDWyvfjFv"..., 1024) = 1024
read(7, "gpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/d"..., 1024) = 1024
read(7, "wWVxJK\ngnjIFNkXgiYtXSAfea7+1HAWF"..., 1024) = 1024
read(7, "KL+tjzk7FqX\nxz8ecAgwoNzFs21v0IJy"..., 1024) = 1024
read(7, "Yox+wrZ13+b8KKaa8MFSu1BYBQw\n0aoR"..., 1024) = 1024
read(7, "cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj1"..., 1024) = 1024
read(7, "MsIEluYy4xMjAwBgNVBAMTKVN0YXJmaW"..., 1024) = 1024
read(7, "TlZFkSIHc40zI+OIF1lnP6aI+xy84fxe"..., 1024) = 1024
read(7, "7FrjSXZm86B0UVGMpZwh94CDklDhbZsc"..., 1024) = 1024
read(7, "oWACjR8cGp4QjK7u9lit/VcyLwVcfDmJ"..., 1024) = 1024
read(7, "/wySTVltpkuzFwbs4AOPsF6m43Md8AYO"..., 1024) = 1024
read(7, "mD9ui5aLlV8gREpzn5/ASLHvGiTSf5YX"..., 1024) = 1024
read(7, "9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3X"..., 1024) = 1024
read(7, "GVsZVNlYyBHbG9iYWxSb290IENsYXNzI"..., 1024) = 1024
read(7, "pBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnB"..., 1024) = 1024
read(7, "uUg/vBa3wW30\n6gmv7PO15wWeph6KU1H"..., 1024) = 1024
read(7, "l8JoSNkvoBHToP4mQ4t4y86Ij5iySr\nL"..., 1024) = 1024
read(7, "TU5\nNTlaMFExCzAJBgNVBAYTAlRXMRIw"..., 1024) = 1024
read(7, "bDorMjupWkEmQqSpqsn\nLhpNgb+E1HAe"..., 1024) = 1024
read(7, "GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoI"..., 1024) = 1024
read(7, "BSb290IENlcnRpZmlj\nYXRpb24gQXV0a"..., 1024) = 1024
read(7, "VnKgMAAAQUA5vwIhP/lSg209yewDL7MT"..., 1024) = 1024
read(7, "bmVyYTEfMB0GA1UEAwwWVGVsaWFTb25l"..., 1024) = 1024
read(7, "0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q"..., 1024) = 1024
read(7, "\nIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1"..., 1024) = 1024
read(7, "JcLmA4GLEFPjx1Wi\ntJ/X5g==\n-----E"..., 1024) = 1024
read(7, "ABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/\nD"..., 1024) = 1024
read(7, "VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0"..., 1024) = 1024
read(7, "rWyOrsGS2h60COX\ndKcs8AjYeVrXWoSK"..., 1024) = 1024
read(7, "CASIwDQYJKoZIhvcNAQEBBQAD\nggEPAD"..., 1024) = 1024
read(7, "zARBgNVBAgTCk5ldyBKZXJzZXkxFDASB"..., 1024) = 1024
read(7, "aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAs"..., 1024) = 1024
read(7, "VS7qXMYoCAQlObgOK6nyTJccBz8NUvXt"..., 1024) = 1024
read(7, "uMR8wHQYDVQQLExZW\nZXJpU2lnbiBUcn"..., 1024) = 1024
read(7, "OzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVg"..., 1024) = 1024
read(7, "tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\nB"..., 1024) = 1024
read(7, "QQLEzEoYykgMjAwOCBWZXJp\nU2lnbiwg"..., 1024) = 1024
read(7, "nZlcmlzaWduLmNvbS92c2xvZ28uZ2lmM"..., 1024) = 1024
read(7, "\nbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXN"..., 1024) = 1024
read(7, "FADCB\ngjELMAkGA1UEBhMCVVMxHjAcBg"..., 1024) = 1024
read(7, "wDQYJKoZIhvcNAQEFBQAD\nggEBAJEVOQ"..., 1024) = 1024
read(7, "AoEwF73XVv4EOLQunpL+943AAAaWyjj0"..., 1024) = 1024
read(7, "ywEhajfqhFAH\nSyZbCUNsIZ5qyNUD9WB"..., 1024) = 1024
read(7, "xrsStZf0X4OFunHB2WyBEXYKCrC/\ngpf"..., 1024) = 1024
read(7, "UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbm"..., 1024) = 1024
read(7, "FICATE-----\nMIICiDCCAg2gAwIBAgIQ"..., 1024) = 1024
read(7, "GA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd"..., 1024) = 1024
read(7, "ggEBABpA\n2JVlrAmSicY59BDlqQ5mU11"..., 1024) = 381
read(7, "", 1024) = 0
close(7) = 0
getuid() = 0
geteuid() = 0
getgid() = 0
getegid() = 0
uname({sysname="Linux", nodename="OpenWrt", ...}) = 0
write(6, "\0", 1) = 1
open("/etc/hosts", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
read(7, "127.0.0.1 localhost\n\n::1 loc"..., 1024) = 110
read(7, "", 1024) = 0
close(7) = 0
open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
read(7, "search lan\nnameserver 127.0.0.1\n", 248) = 32
read(7, "", 248) = 0
close(7) = 0
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
sendto(7, "\246\250\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47
sendto(7, "\275A\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47
poll([{fd=7, events=POLLIN}], 1, 2500) = 1 ([{fd=7, revents=POLLIN}])
recvfrom(7, "\246\250\201\200\0\1\0\1\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 63
recvfrom(7, "\275A\201\200\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 47
close(7) = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl64(7, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0
# HERE IS THE FAILURE, THIS SHOULD BE TRYING TO CONNECT TO AN AF_INET ADDRESS NOT "::ffff:18.237.74.173" AS AF_INET6
connect(7, {sa_family=AF_INET6, sin6_port=htons(8550), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:18.237.74.173", &sin6_addr), sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation in progress)
mmap2(NULL, 143360, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77b7b000
mprotect(0x77b7d000, 135168, PROT_READ|PROT_WRITE) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0
clone(child_stack=0x77b9dd48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tid=[1743], tls=0x77ba4dec, child_tidptr=0x77f67ff8) = 1743
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
Here's the library information, and the output from strings so you can tell it is the latest commit.
root@OpenWrt:~# ldd /usr/bin/collect-client
/lib/ld-musl-mips-sf.so.1 (0x77e80000)
libwebsockets.so.15 => /usr/lib/libwebsockets.so.15 (0x77e34000)
libjson-c.so.4 => /usr/lib/libjson-c.so.4 (0x77e18000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77df4000)
libc.so => /lib/ld-musl-mips-sf.so.1 (0x77e80000)
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x77d74000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x77b9c000)
libuv.so.1 => /usr/lib/libuv.so.1 (0x77b72000)
libcap.so.2 => /usr/lib/libcap.so.2 (0x77b5e000)
root@OpenWrt:~# readelf -d /usr/lib/libwebsockets.so
libwebsockets.so libwebsockets.so.15
root@OpenWrt:~# readelf -d /usr/lib/libwebsockets.so
libwebsockets.so libwebsockets.so.15
root@OpenWrt:~# readelf -d /usr/lib/libwebsockets.so.15
Dynamic section at offset 0x168 contains 31 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libssl.so.1.1]
0x00000001 (NEEDED) Shared library: [libcrypto.so.1.1]
0x00000001 (NEEDED) Shared library: [libuv.so.1]
0x00000001 (NEEDED) Shared library: [libcap.so.2]
0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED) Shared library: [libc.so]
0x0000000e (SONAME) Library soname: [libwebsockets.so.15]
0x0000000c (INIT) 0x8750
0x0000000d (FINI) 0x30200
0x00000004 (HASH) 0x288
0x00000005 (STRTAB) 0x413c
0x00000006 (SYMTAB) 0x159c
0x0000000a (STRSZ) 12327 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000003 (PLTGOT) 0x494e0
0x00000011 (REL) 0x7778
0x00000012 (RELSZ) 4056 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x70000001 (MIPS_RLD_VERSION) 1
0x70000005 (MIPS_FLAGS) NOTPOT
0x70000006 (MIPS_BASE_ADDRESS) 0x0
0x7000000a (MIPS_LOCAL_GOTNO) 376
0x70000011 (MIPS_SYMTABNO) 698
0x70000012 (MIPS_UNREFEXTNO) 34
0x70000013 (MIPS_GOTSYM) 0x155
0x00000018 (BIND_NOW)
0x6ffffffb (FLAGS_1) Flags: NOW
0x6ffffffe (VERNEED) 0x76d8
0x6fffffff (VERNEEDNUM) 3
0x6ffffff0 (VERSYM) 0x7164
0x00000000 (NULL) 0x0
root@OpenWrt:~# strings libwebsockets.so.15
strings: libwebsockets.so.15: No such file or directory
root@OpenWrt:~# strings /usr/lib/libwebsockets.so.15
_fini
__cxa_finalize
__deregister_frame_info
__register_frame_info
malloc_usable_size
realloc
memset
lws_set_allocator
lws_buflist_append_segment
_lws_log
memcpy
lws_buflist_destroy_all_segments
lws_buflist_next_segment_len
lws_buflist_use_segment
lws_get_library_version
lws_context_is_deprecated
lws_context_destroy
lws_create_context
_lws_plat_file_open
_lws_plat_file_close
_lws_plat_file_seek_cur
_lws_plat_file_read
_lws_plat_file_write
lws_now_usecs
sysconf
lws_snprintf
strlen
lws_create_vhost
strcpy
lws_server_get_canonical_hostname
lws_cancel_service
lws_dll2_foreach_safe
lws_dll2_add_head
lws_dll2_add_before
lws_dll2_add_tail
lws_dll2_remove
lws_dll2_clear
lws_dll2_owner_clear
lws_dll2_add_sorted
lws_hex_to_byte_array
lws_open
lws_context_user
lws_explicit_bzero
lws_now_secs
gettimeofday
lws_canonical_hostname
lws_get_count_threads
lws_sql_purify
lws_json_purify
lws_filename_purify_inplace
lws_urlencode
lws_urldecode
lws_finalize_startup
lws_get_effective_uid_gid
vsnprintf
lws_strncpy
lws_timingsafe_bcmp
lws_tokenize
strchr
lws_tokenize_cstr
lws_tokenize_init
lws_cmdline_option
strncmp
__umoddi3
__udivdi3
lws_humanize
lws_system_get_info
lws_system_reboot
humanize_schema_us
humanize_schema_si_bytes
humanize_schema_si
__divdi3
lwsl_timestamp
localtime_r
lwsl_emit_stderr
__stack_chk_guard
isatty
fprintf
__stack_chk_fail
lwsl_emit_stderr_notimestamp
fputs
_lws_logv
lws_set_log_level
lwsl_visible
lwsl_hexdump_level
lwsl_hexdump
lws_b64_encode_string
lws_b64_encode_string_url
lws_b64_decode_string
lws_b64_decode_string_len
lws_set_fops
lws_vfs_tell
lws_vfs_get_length
lws_vfs_get_mod_time
lws_vfs_file_seek_set
lws_vfs_file_seek_end
lws_vfs_file_open
lws_get_fops
lws_ring_create
lws_ring_destroy
lws_ring_get_count_free_elements
lws_ring_get_count_waiting_elements
lws_ring_next_linear_insert_range
lws_ring_bump_head
lws_ring_insert
lws_ring_get_element
lws_ring_update_oldest_tail
lws_ring_consume
lws_ring_get_oldest_tail
lws_ring_dump
lws_callback_http_dummy
lws_get_socket_fd
lws_return_http_status
lws_cgi_write_split_stdout_headers
lws_rx_flow_control
lws_write
lws_http_transaction_completed
lws_callback_on_writable
lws_set_timeout
lws_get_context
lws_ssl_capable_write
lws_ssl_capable_read_no_ssl
__errno_location
recvfrom
recv
lws_ssl_capable_write_no_ssl
sendto
send
lws_ssl_pending_no_ssl
lws_ssl_close
lws_is_ssl
lws_get_peer_simple
lws_get_network_wsi
getpeername
strerror
lws_get_peer_addresses
memmove
getnameinfo
getaddrinfo
freeaddrinfo
lws_retry_get_delay_ms
lws_get_random
getifaddrs
strcmp
if_nametoindex
freeifaddrs
lws_interface_to_sa
htons
bind
getsockname
ntohs
lws_protocol_vh_priv_zalloc
lws_protocol_vh_priv_get
lws_protocol_init
lws_init_vhost_client_ssl
lws_cancel_service_pt
lws_role_transition
lws_vhost_destroy
lws_set_proxy
getenv
chown
lws_context_init_server_ssl
lws_vhost_user
lws_get_vhost_listen_port
lws_context_deprecate
lws_get_vhost_by_name
lws_callback_on_writable_all_protocol_vhost
lws_callback_on_writable_all_protocol
lws_handle_POLLOUT_event
lws_service_adjust_timeout
lws_ssl_capable_read
lws_service_fd_tsi
lws_service_fd
lws_service
lws_service_tsi
_lws_plat_service_tsi
lws_sul_schedule
lws_vhost_name_to_protocol
lws_callback_all_protocol
lws_callback_all_protocol_vhost_args
lws_callback_all_protocol_vhost
lws_callback_vhost_protocols
lws_callback_vhost_protocols_vhost
lws_rx_flow_allow_all_protocol
lws_get_protocol
lws_adjust_protocol_psds
lws_get_ssl
lws_partial_buffered
lws_get_peer_write_allowance
lws_parse_uri
atoi
lws_get_urlarg_by_name
lws_hdr_copy_fragment
lws_extension_callback_pm_deflate
lws_set_extension_option
lws_is_cgi
lws_pvo_search
lws_pvo_get_str
lws_wsi_user
lws_set_wsi_user
lws_get_parent
lws_get_child
lws_get_opaque_parent_data
lws_set_opaque_parent_data
lws_get_opaque_user_data
lws_set_opaque_user_data
lws_get_child_pending_on_writable
lws_clear_child_pending_on_writable
lws_get_vhost_name
lws_get_vhost_port
lws_get_vhost_user
lws_get_vhost_iface
lws_vhost_get
lws_get_vhost
lws_protocol_get
lws_get_udp
lws_raw_transaction_completed
lws_http_mark_sse
lws_http_headers_detach
lws_set_timer_usecs
lws_timed_callback_vh_protocol_us
lws_timed_callback_vh_protocol
lws_adopt_descriptor_vhost
lws_server_socket_service_ssl
lws_adopt_socket_vhost
lws_adopt_socket
lws_create_adopt_udp
lws_adopt_socket_readbuf
lws_adopt_socket_vhost_readbuf
lws_seq_destroy
lws_seq_queue_event
lws_seq_create
lws_seq_check_wsi
lws_seq_timeout_us
lws_seq_from_user
lws_seq_name
lws_seq_us_since_creation
lws_seq_get_context
lws_dir
uv_loop_init
uv_fs_scandir
uv_fs_scandir_next
uv_fs_req_cleanup
uv_loop_close
lws_token_to_string
lws_add_http_header_by_name
lws_finalize_http_header
lws_finalize_write_http_header
lws_add_http_header_by_token
lws_add_http_header_content_length
lws_add_http_header_status
lws_add_http_common_headers
lws_http_redirect
lws_http_compression_apply
lws_hdr_total_length
lws_hdr_copy
lws_hdr_fragment_length
lws_hdr_custom_length
lws_hdr_custom_copy
lws_serve_http_file_fragment
lws_ssl_pending
lws_remaining_packet_payload
lws_frame_is_binary
setsockopt
lws_is_final_fragment
lws_is_first_fragment
lws_get_reserved_bits
lws_get_close_length
lws_get_close_payload
lws_close_reason
sprintf
lws_SHA1
tolower
strncasecmp
lws_http_get_uri_and_method
lws_cgi
pipe
fcntl
atoll
vfork
prctl
chdir
dup2
setpgrp
execvpe
exit
atol
lws_cgi_kill
waitpid
lws_cgi_get_stdwsi
localtime
strftime
lws_list_ptr_insert
lwsac_align
lwsac_sizeof
lwsac_get_tail_pos
lwsac_get_next
lwsac_use
lwsac_use_zero
lwsac_use_zeroed
lwsac_free
lwsac_info
lwsac_total_alloc
lwsac_reference
lwsac_unreference
lwsac_detach
lwsac_use_cached_file_start
lwsac_use_cached_file_end
lwsac_use_cached_file_detach
lwsac_cached_file
fstat
lws_struct_schema_only_lejp_cb
lws_struct_default_lejp_cb
lejp_parser_push
lejp_parser_pop
lws_struct_json_init_parse
lejp_construct
lws_struct_json_serialize_create
lws_struct_json_serialize_destroy
lws_struct_json_serialize
lws_client_connect_via_info
strrchr
lws_client_http_body_pending
lws_http_client_http_response
lws_client_reset
lws_http_client_read
inet_pton
lws_json_dump_vhost
__fixdfsi
lws_json_dump_context
uv_uptime
getloadavg
fopen
fseek
ftell
fread
fclose
rename
lws_ssl_remove_wsi_from_buffered_list
lws_tls_vhost_cert_info
lws_tls_cert_updated
ERR_get_error
ERR_error_string_n
OPENSSL_init_ssl
CRYPTO_get_ex_new_index
mktime
X509_getm_notAfter
X509_get_X509_PUBKEY
i2d_X509_PUBKEY
CRYPTO_malloc
CRYPTO_free
X509_getm_notBefore
X509_get_subject_name
X509_NAME_oneline
strstr
X509_get_issuer_name
X509_get_key_usage
lws_x509_info
SSL_CTX_get0_certificate
lws_tls_peer_cert_info
SSL_get_peer_certificate
SSL_get_verify_result
X509_free
lws_x509_create
lws_x509_parse_from_pem
BIO_s_mem
BIO_new
BIO_write
PEM_read_bio_X509
BIO_free
lws_x509_verify
X509_check_issued
lws_x509_destroy
SSL_CTX_get_ex_data
SSL_CTX_free
SSL_get_current_cipher
SSL_CIPHER_get_bits
SSL_get_error
SSL_CTX_set_default_passwd_cb_userdata
SSL_CTX_set_default_passwd_cb
lws_ssl_destroy
ERR_clear_error
SSL_read
SSL_pending
SSL_want
SSL_write
SSL_get_SSL_CTX
SSL_get_fd
SSL_set_info_callback
SSL_shutdown
SSL_free
lws_genhash_init
EVP_MD_CTX_new
EVP_sha512
EVP_md5
EVP_DigestInit_ex
EVP_MD_CTX_free
EVP_sha1
EVP_sha256
EVP_sha384
lws_genhash_update
EVP_DigestUpdate
lws_genhash_destroy
EVP_DigestFinal_ex
lws_genhmac_init
HMAC_CTX_new
HMAC_Init_ex
HMAC_CTX_free
lws_genhmac_update
HMAC_Update
lws_genhmac_destroy
lws_genhmac_size
HMAC_Final
EVP_PKEY_new
EVP_PKEY_assign
EVP_PKEY_free
EVP_PKEY_CTX_new
lws_genrsa_destroy_elements
lws_genrsa_create
BN_bin2bn
BN_clear_free
RSA_free
RSA_new
RSA_set0_key
RSA_set0_factors
lws_genrsa_new_keypair
BN_new
BN_set_word
BN_free
RSA_generate_key_ex
RSA_get0_key
RSA_get0_factors
BN_num_bits
BN_bn2bin
lws_genrsa_public_encrypt
RSA_public_encrypt
lws_genrsa_private_encrypt
RSA_private_encrypt
lws_genrsa_public_decrypt
RSA_public_decrypt
lws_genrsa_private_decrypt
RSA_private_decrypt
lws_genrsa_hash_sig_verify
lws_genhash_size
RSA_verify_PKCS1_PSS
RSA_verify
lws_genrsa_hash_sign
RSA_pkey_ctx_ctrl
RSA_sign
EVP_PKEY_CTX_get0_pkey
EVP_DigestSignInit
EVP_MD_size
EVP_DigestSignFinal
lws_genrsa_destroy
EVP_PKEY_CTX_free
lws_genaes_create
EVP_CIPHER_CTX_new
EVP_aes_256_xts
EVP_CIPHER_CTX_free
EVP_CIPHER_CTX_set_flags
EVP_aes_128_wrap
EVP_aes_128_cbc
EVP_aes_128_cfb128
EVP_aes_128_cfb8
EVP_aes_128_ctr
EVP_aes_128_ecb
EVP_aes_128_ofb
EVP_aes_128_gcm
EVP_aes_192_ctr
EVP_aes_192_wrap
EVP_aes_192_cbc
EVP_aes_192_cfb128
EVP_aes_192_cfb8
EVP_aes_192_ecb
EVP_aes_192_ofb
EVP_aes_192_gcm
EVP_aes_256_ctr
EVP_aes_256_wrap
EVP_aes_256_cbc
EVP_aes_256_cfb128
EVP_aes_256_cfb8
EVP_aes_256_ecb
EVP_aes_256_ofb
EVP_aes_128_xts
EVP_aes_256_gcm
EVP_EncryptInit_ex
EVP_CIPHER_CTX_set_padding
EVP_DecryptInit_ex
lws_genaes_destroy
EVP_DecryptFinal_ex
EVP_EncryptFinal_ex
EVP_CIPHER_CTX_ctrl
lws_genaes_crypt
EVP_CIPHER_CTX_set_key_length
EVP_EncryptUpdate
EVP_DecryptUpdate
lws_genec_destroy_elements
lws_genec_dump
EC_KEY_new_by_curve_name
EC_KEY_generate_key
EVP_PKEY_set1_EC_KEY
EC_KEY_free
EC_KEY_get0_public_key
EC_KEY_get0_private_key
EC_KEY_get0_group
EC_POINT_get_affine_coordinates
BN_bn2binpad
EC_KEY_set_public_key_affine_coordinates
EC_KEY_set_private_key
EC_KEY_check_key
lws_genecdh_create
lws_genecdsa_create
lws_genecdh_set_key
lws_genecdsa_set_key
lws_genec_destroy
lws_genecdh_new_keypair
lws_genecdsa_new_keypair
lws_genecdsa_hash_sign_jws
lws_gencrypto_bits_to_bytes
EVP_PKEY_get1_EC_KEY
ECDSA_do_sign
ECDSA_SIG_get0
ECDSA_SIG_free
lws_genecdsa_hash_sig_verify_jws
ECDSA_SIG_new
ECDSA_SIG_set0
ECDSA_do_verify
lws_genecdh_compute_shared_secret
EC_GROUP_get_degree
ECDH_compute_key
SSL_select_next_proto
SSL_CTX_set_alpn_select_cb
SSL_get0_alpn_selected
X509_STORE_CTX_get_current_cert
SSL_get_ex_data_X509_STORE_CTX_idx
X509_STORE_CTX_get_ex_data
SSL_get_ex_data
SSL_get_servername
SSL_set_SSL_CTX
SSL_CTX_set_session_id_context
SSL_CTX_set_verify
SSL_CTX_use_PrivateKey_file
ERR_error_string
SSL_CTX_use_certificate_ASN1
SSL_CTX_use_PrivateKey_ASN1
SSL_CTX_check_private_key
OBJ_sn2nid
SSL_CTX_ctrl
SSL_CTX_set_options
OPENSSL_sk_value
X509_get_pubkey
EVP_PKEY_id
EVP_PKEY_type
SSL_CTX_use_certificate_chain_file
TLS_server_method
SSL_CTX_new
SSL_CTX_set_ex_data
SSL_CTX_set_cipher_list
SSL_CTX_set_ciphersuites
SSL_CTX_callback_ctrl
SSL_CTX_load_verify_locations
SSL_CTX_clear_options
SSL_new
SSL_set_ex_data
SSL_set_fd
SSL_ctrl
SSL_get_rbio
BIO_ctrl
SSL_get_wbio
SSL_accept
X509_STORE_CTX_get_error
X509_STORE_CTX_set_error
X509_STORE_CTX_get_error_depth
X509_verify_cert_error_string
SSL_get0_param
X509_VERIFY_PARAM_set_hostflags
X509_VERIFY_PARAM_set1_ip_asc
X509_VERIFY_PARAM_set1_host
SSL_set_verify
BIO_new_socket
SSL_set_bio
SSL_set_alpn_protos
SSL_connect
TLS_client_method
memcmp
SSL_CTX_set_default_verify_paths
d2i_X509
X509_STORE_new
X509_STORE_free
X509_STORE_add_cert
SSL_CTX_set_cert_store
strcasecmp
lws_send_pipe_choked
cap_get_proc
cap_set_flag
cap_set_proc
cap_free
getgrnam
getpwnam
getgrgid
setgid
getpwuid
initgroups
setuid
lws_plat_write_file
lws_plat_read_file
lseek
clock_gettime
lwsl_emit_syslog
lws_plat_write_cert
fsync
lws_plat_recommended_rsa_bits
getpid
lws_plat_plugins_init
signal
lws_plat_plugins_destroy
pipe2
poll
__sync_synchronize
inet_ntop
alphasort
listen
lws_get_mimetype
lws_serve_http_file
readlink
gethostname
lws_chunked_html_process
lws_spa_create_via_info
lws_spa_create
lws_spa_process
lws_spa_get_length
lws_spa_get_string
lws_spa_finalize
lws_spa_destroy
uv_stop
uv_is_closing
uv_close
uv_poll_start
uv_poll_stop
uv_idle_start
uv_timer_start
uv_idle_stop
uv_run
uv_poll_init
uv_poll_init_socket
elops_init_pt_uv
uv_idle_init
uv_timer_init
uv_signal_init
uv_signal_start
uv_timer_stop
uv_signal_stop
lws_libuv_static_refcount_add
lws_libuv_static_refcount_del
lws_close_all_handles_in_loop
uv_walk
lws_libuv_stop_without_kill
lws_uv_getloop
uv_is_active
uv_dlsym
uv_dlerror
uv_dlclose
uv_dlopen
lejp_destruct
lejp_change_callback
lejp_check_path_match
lejp_get_wildcard
lejp_parse
lejp_error_to_string
lwsws_get_config_globals
lwsws_get_config_vhosts
lws_gencrypto_jws_alg_to_definition
lws_gencrypto_jwe_alg_to_definition
lws_gencrypto_jwe_enc_to_definition
lws_base64_size
libssl.so.1.1
libcrypto.so.1.1
libuv.so.1
libcap.so.2
libgcc_s.so.1
libc.so
libwebsockets.so.15
OPENSSL_1_1_1
OPENSSL_1_1_0
GCC_4.4.0
GLIBC_2.0
GCC_3.0
lws_free
%s: buflist reached sanity limit
%s: corrupt list points to self
%s: OOM
%p: buflist empty
%p: %d: %llu / %llu (%llu left)
%s: next points to self
lws_buflist_describe
lws_buflist_append_segment
3.2.0 reboot-11651-g487e0631d0
ctx destroy
context
No memory for websocket context
%s: problem getting process max files
pt_serv_buf
info->ka_interval can't be 0 if ka_time used
fds table
OOM allocating %d fds
Failed to create default vhost
unknown
Requested event library support not configured, available:
- %s
lws_create_context
strdup
0123456789ABCDEF
(),/:;<=>?@[\]{}
%4llu%s
%4llu.%03llu%s
[%04d/%02d/%02d %02d:%02d:%02d:%04d] %s:
[%llu:%04d] %s:
%c%s%s%s%c[0m
%s%s
%c%s%s%c[0m
(hexdump: zero length)
(hexdump: trying to dump %d at NULL)
%04X:
%02X
[31;1m
[36;1m
[35;1m
[32;1m
[34;1m
[33;1m
[33m
[30;1m
[31m
|$$$}rstuvwxyz{$$$$$$$>?@ABCDEFGHIJKLMNOPQRSTUVW$$$$$$XYZ[\]^_`abcdefghijklmnopq
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
ring create
ring buf
ring %p: buflen %u, elem_len %u, head %u, oldest_tail %u
free_elems: %u; for tail %u, waiting elements: %u
CGI-stderr: %s
LWS_CALLBACK_CGI_STDIN_DATA: sent %d only %d went
LWS_CALLBACK_SSL_INFO: where: 0x%x, ret: 0x%x
** error invalid sock but expected to send
%s: partial completed, doing deferred transaction completed
%s: suspicious len int %d, ulong %lu
lws_write
lws_issue_raw
%s: failed to detach from parent
ZERO FD IN CGI CLOSE
general child recurse
trans q leader closing
closed before established
__lws_close_free_wsi
lws_remove_child_from_any_parent
getpeername: %s
inet_ntop: %s
::ffff:
ERROR on binding fd %d to port %d (%d %d)
getsockname: %s
%s: can't find role '%s'
%s: adoption bind to role '%s', protocol '%s', type 0x%x, failed
protocol_vh_privs
vh priv
%s: unknown protocol %p
default
%s: protocol %s failed init
event pipe wsi
%s: Out of mem
%s: listen skt from %s to %s
vh destroy
deferred free
create vhost
vh paths
vhost-specific plugin table
same vh list
(serving disabled)
(no listener)
port %u
http_proxy
STS enabled
unable to open log filepath %s
unable to chown log file %s
%s: lws_context_init_server_ssl failed
%s: lws_context_init_client_ssl failed
init server failed
%s: lws_protocol_init failed
ctx deprecate
http-only
lws_vhost_destroy1
lws_create_event_pipes
lws_create_vhost
lws_protocol_init
lws_protocol_vh_priv_get
lws_role_call_adoption_bind
Too many fds (%d vs %d)
Socket fd %d is too high (%d) offset %d
fd %d too high (%d)
no wsi for fd %d pos %d, pt->fds_count=%d
%s: protocol %p is not from vhost %p (%p - %p)
lws_callback_on_writable_all_protocol_vhost
close_and_handled
lws_service_fd_tsi
fake wsi
user space
http
https
%s: Cannot set internally-allocated user_space
%s: %p is not in vhost '%s' protocols list
lws_bind_protocol
lws_set_wsi_user
lws_ensure_user_space
hrtimer cb errored
CGI timeout: %s
Timed out waiting SSL
timeout
to sync kill
%s: %p: %llu us, reason %d
timed_vh
lws_set_timeout_us
adopt skt readbuf fail
%s: calling service on readbuf ah
%s: calling service
%s: deferring handling ah
no space for new conn
new server wsi
Out of memory for new connection
%s: unable to set sockfd nonblocking
%s: unable to set filefd nonblocking
Protocol %s not enabled on vhost %s
OOM trying to get user_space
Unable to find a role that can adopt descriptor type 0x%x
%s: fail inserting socket
adopt skt fail
%s: exiting on bail
%s: bind failed
%s: udp adoption failed
%s: unable to create INET socket
adopt_socket_readbuf
lws_create_adopt_udp
lws_adopt_descriptor_vhost
pipe
%s: more than %d events queued
lws_seq_queue_event
lws_seq_create
%s: loop init failed %d
Scandir on %s failed, errno %d
lws_dir
%llu
Continue
Not Modified
Redirect
HTTP/1.0
%s %u %s
max-age=15768000 ; includeSubDomains
Strict-Transport-Security:
%s: reached end of buffer
close
text/html
%s: wsi not bound to vhost
<html><head><meta charset=utf-8 http-equiv="Content-Language" content="en"/><link rel="stylesheet" type="text/css" href="/error.css"/></head><body><h1>%u</h1>%s</body></html>
pending status body
ah excessive hold: wsi %p
peer address: %s
ah pos %lu
%s = %s
excessive ah
HTTP/1.1
HTTP/2
referrer-policy:
no-referrer
x-frame-options:
deny
x-xss-protection:
1; mode=block
x-content-type-options:
nosniff
content-security-policy:
default-src 'none'; img-src 'self' data: ; script-src 'self'; font-src 'self'; style-src 'self'; connect-src 'self'; frame-ancestors 'none'; base-uri 'none';form-action 'self';
Internal Server Error
Not Implemented
Bad Gateway
Service Unavailable
Gateway Timeout
HTTP Version Not Supported
Bad Request
Unauthorized
Payment Required
Forbidden
Not Found
Method Not Allowed
Not Acceptable
Proxy Auth Required
Request Timeout
Conflict
Gone
Length Required
Precondition Failed
Request Entity Too Large
Request URI too Long
Unsupported Media Type
Requested Range Not Satisfiable
Expectation Failed
get
post
options
host:
connection:
upgrade:
origin:
sec-websocket-draft:
sec-websocket-extensions:
sec-websocket-key1:
sec-websocket-key2:
sec-websocket-protocol:
sec-websocket-accept:
sec-websocket-nonce:
http/1.1
http2-settings:
accept:
access-control-request-headers:
if-modified-since:
if-none-match:
accept-encoding:
accept-language:
pragma:
cache-control:
authorization:
content-length:
content-type:
date:
referer:
sec-websocket-key:
sec-websocket-version:
sec-websocket-origin:
:authority
:method
:path
:scheme
:status
accept-charset:
accept-ranges:
access-control-allow-origin:
allow:
content-disposition:
content-encoding:
content-language:
content-location:
content-range:
etag:
expect:
expires:
from:
if-match:
if-range:
if-unmodified-since:
last-modified:
link:
max-forwards:
proxy-authenticate:
proxy-authorization:
refresh:
retry-after:
server:
set-cookie:
strict-transport-security:
transfer-encoding:
user-agent:
vary:
via:
www-authenticate:
patch
delete
uri-args
proxy
x-real-ip:
http/1.0
x-forwarded-for
connect
head
replay-nonce:
:protocol
x-auth-token:
lws_return_http_status
lws_add_http_header_status
Ran out of header data space
%s: pos %ld, limit %ld
header %li exceeds limit %ld
%s: bad role %s
ah struct
ah data
More hdr frags than we can deal with, dropping
%s: http fail fallback
Duplicated method
More hdr frags than we can deal with
forbidding on uri sanitation
lws_parse
lws_pos_in_bounds
lws_header_table_attach
__lws_header_table_reset
JIKQRg@
%s: ah leak: wsi %p
http/1.1
%s: LRS_HEADERS: NULL ah
%s: LRS_DEFERRING_ACTION
%s: Unhandled state LRS_DEAD_SOCKET
%s: Unhandled state %d
lws_read_h1 bail
%s: just ignoring
%s a
server socket svc fail
POST
OPTIONS
PATCH
DELETE
CONNECT
lws_h1_server_socket_service
rops_destroy_role_h1
lws_read_h1
PONG timeout
null buf (%d)
lws_write: unknown write opc / wp
frame mask generation failed
ws role wsi with no ws
rx_ubuf
Out of Mem allocating rx buffer %d
Failed to set SNDBUF to %d
lws_ws_rx_sm: unknown spec version %d
frag ctl
bad cont
bad opc
bad fin
rsv bits
b63 of length must be zero
Attempted overflow
bad utf8
partial utf8
utf8 error
Control frame with xtended length is illegal
client ws struct
%s: client_rx_sm exited, DROPPING %d
/dev/urandom
Unable to read from random dev %s
Upgrade: websocket
Connection: %sUpgrade
Sec-WebSocket-Key:
Sec-WebSocket-Protocol: %s
Sec-WebSocket-Version: %d
%s258EAFA5-E914-47DA-95CA-C5AB0DC85B11
%s: client ws-over-h2 upgrade not supported yet
HS: h2 / ws upgrade unsupported
lws_client_handshake: got bad HTTP response '%d'
HS: ws upgrade unauthorized
HS: ws upgrade response not 101
HS: ACCEPT missing
HS: UPGRADE missing
lws_client_handshake: got bad Upgrade header '%s'
HS: Upgrade to something other than websocket
upgrade
HS: UPGRADE malformed
HS: PROTOCOL malformed
HS: Cannot match protocol
Failed to match protocol %s
No protocol on client
ws protocol no match
lws_client_int_s_hs: accept '%s' wrong vs '%s'
HS: Accept hash wrong
Problem allocating wsi user mem
HS: OOM
HS: Rejected by filter cb
client frame buffer
HS: SO_SNDBUF failed
HS: Rejected at CLIENT_ESTABLISHED
lws_client_ws_upgrade
lws_ws_handshake_client
unknown spec version %02d
client rx illegal state
Control frame asking for extended length is illegal
Client key too long %d
Base64 encoded hash too long
HTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept:
Sec-WebSocket-Protocol:
basic-auth
ws struct
problem with user space
User code denied connection
Unknown client spec version %d
h2 ws handshake failed
hs0405 has failed the connection
%.*s (%s)
NULL protocol at lws_read
%s: malformed or absent conn hdr
%s: protocol list too long
%s: rejecting ws upg with no protocol
ws upgrade default pcol
%s: pcol name too long
ws upg pcol
%s: malformatted protocol list
No supported protocol "%s"
lws_process_ws_upgrade
raw svc fail
udp struct
raw-skt
rops_handle_POLLIN_raw_skt
rops_adoption_bind_raw_skt
raw-file
new cgi
new wsi
%s: unable to create cgi stdwsi
%s: setting NONBLOCK failed
HTTPS=ON
REQUEST_METHOD=%s
QUERY_STRING=
REQUEST_URI=
PATH_INFO=%s
HTTP_REFERER=%s
HTTP_HOST=%s
HTTP_COOKIE=
HTTP_USER_AGENT=%s
HTTP_CONTENT_ENCODING=%s
HTTP_ACCEPT=%s
HTTP_ACCEPT_ENCODING=%s
CONTENT_TYPE=%s
CONTENT_LENGTH=%s
PATH=/bin:/usr/bin:/usr/local/bin:/var/www/cgi-bin
SCRIPT_PATH=%s
%s=%s
GIT_PROJECT_ROOT
SERVER_SOFTWARE=libwebsockets
fork failed, errno %d
/tmp
%s: Failed to chdir
%s: stdin dup2 failed
%s: failed
chunked
finalize failed
adding no fin flag
cgi hdr buf
CGI hdrs > buf size
transfer-encoding: chunked
location:
lws_cgi_kill
HEAD
content-length:
status:
content-encoding: gzip
JIKQR%
lws_cgi
%s %d %lu "%s
" "%s"
Failed to write log
(unknown)
(null)
access log
%d/%b/%Y:%H:%M:%S %z
01/Jan/1970:00:00:00 +0000
%s - - [%s] "%s %s %s"
OOM getting user agent
referrer
OOM getting referrer
%s: OOM trying to alloc %llud
%s: refcount going below zero
lwsac_unreference
lwsac_use
%s: html refcount zero on entry
%s: cannot open %s
%s: cannot stat %s
%s: cannot read %s (%d)
lwsac_cached_file
lwsac_use_cached_file_end
%s: OOT
%s: unknown schema %s
%s: unknown schema
%s: created child object size %d
%s: cleanup
true
false
"%s":
%lld
"schema":
"%s"
schema
lws_struct_json_serialize_create
lws_struct_default_lejp_cb
lws_struct_schema_only_lejp_cb
client wsi
%s: No vhost in the context
%s: unable to bind to role
client stash
lws_client_connect_via_info
http://
%s: malformed proxy '%s'
http_proxy needs to be ads:port
proxy auth too long
lws_set_proxy
queued client done
HS: URI missing
HS: :status missing
HS: Redirect code but no Location
HS: URI did not parse
HS: Redirect attempted SSL downgrade
no ads
Redirect failed
HS: Redirect failed
HS: disallowed by client filter
HS: disallowed at ESTABLISHED
c hs interp
client transition to raw
protocol %s not enabled on vhost
%s %s HTTP/1.1
Pragma: no-cache
Cache-Control: no-cache
Host: %s
Origin: %s
Origin: http://%s
connection: close
problems parsing header
read failed
proxy read err
proxy conn dead
bio_create failed
error sending h2 preface
lws_ssl_client_connect1 failed
proxy not h1
Peer hung up
Proxy connection %p (fd=%d) dead
ERROR reading from proxy socket
HTTP/1.0 200
HTTP/1.1 200
%s: ERROR proxy did not reply with h1
Failed to generate handshake for client
problems parsing header
cbail3
%s: transaction completed says -1
lws_http_client_read
lws_generate_client_handshake
lws_client_socket_service
proxy write failed
first service failed
client_connect2
ah was NULL at cc2
ipv6 lws_getaddrinfo46 failed
unknown address family
getaddrinfo failed
unable to lookup address
change_pollfd failed
unable to open socket
set socket opts failed
event loop accept failed
insert wsi failed
waiting for event loop watcher to close
connect failed
socket connect failed
unable to bind socket
POLLOUT set failed
%s: client connection forced to IPv4
CONNECT %s:%u HTTP/1.0
Host: %s:%u
User-agent: libwebsockets
Proxy-authorization: basic %s
%s: lws_getaddrinfo46 failed %d
uplevelling AF_INET to AF_INET6
Unknown address family
getaddrinfo failed: %d
Couldn't identify address
Unable to open socket
Failed to set wsi socket options
Connect failed errno=%d
%s: Too many redirects
lws_client_reset
lws_client_connect_2
"name":"%s",
"port":"%d",
"use_ssl":"%d",
"sts":"%d",
"rx":"%llu",
"tx":"%llu",
"h1_conn":"%lu",
"h1_trans":"%lu",
"h2_trans":"%lu",
"ws_upg":"%lu",
"rejected":"%lu",
"h2_upg":"%lu",
"h2_alpn":"%lu",
"h2_subs":"%lu"
"mounts":[
"mountpoint":"%s",
"origin":"%s%s",
"cache_max_age":"%d",
"cache_reuse":"%d",
"cache_revalidate":"%d",
"cache_intermediaries":"%d"
"default":"%s"
"ws-protocols":[
"%s":{
"status":"ok"
}
{ "version":"%s",
"uptime":"%ld",
"l%d":"%.2f",
/proc/self/statm
"statm": "%s",
"heap":%lld,
"contexts":[
{ "context_uptime":"%llu",
"cgi_spawned":"%d",
"pt_fd_max":"%d",
"ah_pool_max":"%d",
"deprecated":"%d",
"wsi_alive":"%d",
"pt":[
"fds_count":"%d",
"ah_pool_inuse":"%d",
"ah_wait_list":"%d"
}
, "vhosts":[
"listen_wsi":"%d",
"rx":"%llu",
"tx":"%llu",
"h1_conn":"%lu",
"h1_trans":"%lu",
"h2_trans":"%lu",
"ws_upg":"%lu",
"rejected":"%lu",
"h2_alpn":"%lu",
"h2_subs":"%lu",
"h2_upg":"%lu"
"cgi_alive":"%d"
https://
file://
cgi://
>http://
>https://
callback://
accept: %s
%s: lws_adopt_descriptor_vhost failed
listen
rops_handle_POLLIN_listen
alloc_file
-----
alloc_der
%s.upd
%s.old.%d
unable to rename %s to %s
unable to rename %s
vhost %s: cert expiry: %dd
Ignoring missing %s or %s
%s: vhost %s: cert unset
%s: on = %d
Unable to set accept POLLIN %d
lws_gate_accepts
lws_tls_cert_updated
SSL_ERROR_SSL
SSL_ERROR_UNKNOWN
SSL_ERROR_NONE
SSL_ERROR_ZERO_RETURN
SSL_ERROR_WANT_READ
SSL_ERROR_WANT_WRITE
SSL_ERROR_WANT_CONNECT
SSL_ERROR_WANT_ACCEPT
SSL_ERROR_WANT_X509_LOOKUP
SSL_ERROR_SYSCALL: EOF
SSL_ERROR_SYSCALL: %s
SSL_ERROR_SYSCALL
/CN=
libwebsockets-3.2.1/lib/tls/openssl/x509.c
%s: unable to parse PEM cert
%s: common name mismatch
%s: unable to verify cert relationship
lws_x509_verify
lws_x509_parse_from_pem
lws_x509_create
%s: want read
lws_ssl_capable_write
%s: unknown HMAC type %d
lws_genhmac_init
%s: EVP_PKEY_assign_RSA_KEY failed
mpi load failed
Failed to create RSA
RSA_set0_key failed
genrsakey
%s: RSA_public_encrypt failed
%s: RSA_private_encrypt failed
%s: RSA_public_decrypt failed
%s: RSA_private_decrypt failed
%s: fail
%s: RSA_sign failed
%s: set_rsa_padding failed
%s: EVP_DigestSignInit failed
%s: EVP_DigestSignUpdate failed
%s: EVP_DigestSignFinal failed
lws_genrsa_hash_sign
lws_genrsa_hash_sig_verify
lws_genrsa_private_decrypt
lws_genrsa_public_decrypt
lws_genrsa_private_encrypt
lws_genrsa_public_encrypt
rsa_pkey_wrap
%s: AES XTS requires double-length key
%s: AES XTS 192 invalid
%s: unsupported AES size %d bits
%s: cipher init failed (cipher %p)
%s: enc final failed
get tag ctrl failed
%s: dec final failed
%s: SET_IVLEN failed
%s: init failed (cipher %p)
%s: set AAD failed
%s: update failed
lws_genaes_crypt
lws_genaes_destroy
lws_genaes_create
cert crv
%s: malformed or curve name in list
lws_genec_confirm_curve_allowed_by_tls_id
%s: curve '%s' not supported
%s: unknown nid %d
%s: EC_KEY_generate_key failed
%s: EVP_PKEY_assign_EC_KEY failed
%s: EVP_PKEY_CTX_new failed
%s: EC_KEY_get0_public_key failed
%s: EC_POINT_get_affine_coordinates_GFp failed
%s: BN_bin2bn (x) fail
%s: BN_bin2bn (y) fail
%s: EC_KEY_set_public_key_affine_coordinates fail:
%s: BN_bin2bn (d) fail
%s: EC_KEY_set_private_key fail
%s: EVP_PKEY_set1_EC_KEY failed
%s: lws_genec_eckey_import fail
%s: ctx alg %d
%s: sig buff %d < %d
%s: ECDSA_do_sign fail
%s: bignum r fail %d %d
%s: bignum s fail %d %d
%s: sig buf too small %d vs %d
%s: BN_bin2bn (r) fail
%s: BN_bin2bn (s) fail
%s: ECDSA_SIG_set0 fail
%s: ECDSA_do_verify fail
%s: both sides must be set up
P-256
P-384
P-521
lws_genecdh_compute_shared_secret
lws_genecdsa_hash_sig_verify_jws
lws_genecdsa_hash_sign_jws
lws_genec_new_keypair
lws_genec_eckey_import
lws_genec_keypair_import
Using SSL mode
SSL ciphers: '%s'
Using non-SSL mode
%s: leaking ssl
unable to deal with SSL connection
%s: failed to insert into fds
%s: lws_change_pollfd failed
%s: client did not send a valid tls hello (default vhost %s)
lws_server_socket_service_ssl
prime256v1
problem getting cert '%s' %lu: %s
ssl problem getting key '%s' %lu: %s
ssl private key not set
%s: couldn't read cert file
%s: Problem loading cert
unable to convert memory privkey
unable to use memory privkey
Private SSL key doesn't match cert
SSL: Unknown curve name '%s'
SSL: Unable to create curve '%s'
SSL ECDH curve '%s'
Using ECDH certificate support
%s: pkey is NULL
Key type is not EC
%s: ECDH key is NULL
problem creating ssl method %lu: %s
problem creating ssl context %lu: %s
%s: SSL_CTX_load_verify_locations unhappy
SSL_new failed: %d (errno %d)
NULL rbio
%s: client cert CN '%s'
lws_tls_server_accept
lws_tls_server_vhost_backend_init
lws_tls_server_certs_load
client connect failed
%s: can't get wsi from ssl privdata
accepting self-signed certificate (verify_callback)
accepting non-trusted certificate
accepting not yet valid certificate (verify_callback)
accepting expired certificate (verify_callback)
SSL error: %s (preverify_ok=%d;err=%d;depth=%d)
%s: Unable to get hostname
SSL_new failed: %s
server's cert didn't look good, X509_V_ERR = %d: %s
client ctx tcr
/etc/ssl/certs
Unable to load SSL Client certs from %s (set by LWS_OPENSSL_CLIENT_CERTS) -- client ssl isn't going to work
Unable to load SSL Client certs file from %s -- client ssl isn't going to work
Unable to load SSL Client certs from ssl_ca_mem -- client ssl isn't going to work
%s: doing cert filepath %s
problem %d getting cert '%s'
Loaded client cert %s
%s: problem interpreting client cert
%s: doing private key filepath
use_PrivateKey_file '%s'
Loaded client cert private key %s
lws_tls_client_create_vhost_context
OpenSSL_client_verify_callback
lws_ssl_client_bio_create
reached concurrent stream limit
%s: can't find %p
PRI * HTTP/2.0
Bad sid
new server wsi failed (vh %p)
ENABLE_PUSH invalid arg
Inital Window beyond max
Frame size < initial
Settings Frame size above max
%s: %p: sending payload len %d but tx_cr only %d!
ack tells %d
reset stream
execssive padding
nonzero padding
More rx than content_length told
cant depend on own sid
%s: unhandled frame type %d
%s: count > length %d %d
depends on own sid
dyntable resize last in headers
hpack incomplete
protocol CLI_EST closed it
Banning service on CLOSED_REMOTE
Pseudoheader checks
Illegal transfer-encoding
trailers
Not enough rx content
client done
alien sid
Flow control exceeded max
Zero length window update
Even Stream ID
Peer ignored our frame size setting
ignoring straggling data
Data for nonexistent sid
invalid rx for state
Continuation hdrs State
DATA 0 sid
DATA: NULL swsi
conn closed
Priority has 0 sid
Priority has length other than 5
Server only
crazy sid on RST_STREAM
RST_STREAM can only be length 4
Settings has nonzero sid
Settings length error
Settings with ACK not allowed payload
Ping has nonzero sid
Ping payload can only be 8
unexpected CONTINUATION
END_HEADERS already seen
sid 0
extra HEADERS together
Another stream not allowed
%s: Failed to get ah
h2 sid close
window update frame not 4
close_swsi_and_return
_write returned %d from %ld
Client hdrs too long: incr context info.pt_serv_buf_size
_write returned %d from %d
lws_read_h2 bail
lws_h2_parse_frame_header
lws_h2_parser
lws_h2_frame_write
lws_remove_server_child_wsi
JIKQR
%s: no ah
%s: zero hdr_token_idx
%s: frag index %d too big
Duplicated pseudoheader
index out of range
Pseudoheader after normal hdrs
hdr tok ignored
(too big to show)
Asked for header table bigger than we told
dynamic table entries
hdr index 0 seen
%s: hd7 use fail
extended header index was 0
Huffman err
Huffman EOT seen
Evil URI
%s: frag app fail
Uppercase literal hpack hdr
Huffman padding excessive or wrong
Unknown pseudoheader
%s: unsized dyn table
Dropping header content before limit!
hpack dyn
%s: tok_insert fail
/index.html
gzip, deflate
lws_dynamic_token_insert
lws_frag_start
lws_hpack_interpret
'+(),;-.
012a45
6789
:B<`
=A@[CD
EFGH
IJKL
MNOP
QRST
UVWYXZ
]~^}_b
dfghio
lmnpqvrust
wxyz
#$$%%&&'''''''(
2345
789:;<=>
?@ABCDEFGH
none
h2 child recurse
binning wsistate 0x%x %d
h2 end stream 1
h2 end stream
h2 end stream file
returned close packet
h2 pollout handle
%s: removed %p from dll_buflist
%s: %p: skint (%d)
rops_handle_POLLIN_h2
lws_h2_bind_for_post_before_action
rops_callback_on_writable_h2
rops_destroy_role_h2
%s: unknown group '%s'
%s: unknown groupname '%s'
%s: unknown username %s
%s: cannot find name for gid %d
%s: setgid: %s failed
%s: effective group '%s'
%s: getpwuid: unable to find uid %d
%s: setuid: %s failed
%s: effective user '%s'
RETAINING CAP %d
lws_plat_drop_app_privileges
lws_plat_user_colon_group_to_ids
error seeking from cur %ld, offset %ld
%s: ending deprecated context
vh %s: became connected
lws_lookup
%s: OOM on alloc lws_lookup array for %d conn
Unable to open random device %s %d
ZERO RANDOM FD
lws_sul_plat_unix
lws_plat_init
%s: lws_service_fd_tsi returned %d
_lws_plat_service_forced_tsi
Failed to bind to device %s
%s: reached max fds
%s: fd %d not found
delete_from_fd
insert_wsi
Plugins:
Scandir on %s failed
%s
%s/%s
Error loading DSO: %s
init_%s
Failed to get init on %s: %s
Initializing %s failed %d
plugin
destroy_%s
Failed to get destroy on %s: %s
lws_plat_plugins_destroy
fragmented basic auth header not allowed
b64 auth too long
Basic
auth missing basic: %s
plain auth too long
basic auth format broken
can't open auth file: %s
basic auth lookup failed
using listen skt from vhost %s
VH %s: iface %s port %d DOESN'T EXIST
VH %s: iface %s port %d NOT USABLE
ERROR opening socket
reuseaddr failed
listen wsi
inserting wsi socket into fds failed
listen failed with error %d
Missing URI in HTTP request
multiple methods?
%s: vh %s, peer: %s, role %s, protocol %s, cb %d, ah %p
%s: (from %s) ignoring, ah parsing incomplete
Basic realm="lwsws"
no-store
%s, max-age=%u
must-revalidate, %s, max-age=%u
cache-control
Cache-Control
Failed to read link %s
%s/%s/index.html
symlink loop %s
%08llX%08lX
%s: failed adding not modified
index.html
keep-alive
no mount hit
%s%s%s/
Unable to find plugin '%s'
http action CALLBACK bind
%s: %s, checking access rights for mask 0x%x
%s: cgi failed
http_action HTTP
%s: assert: len %ld
%s: assert: NULL ah
%s: bad wsi role 0x%x
HTTP/1.1 101 Switching Protocols
Connection: Upgrade
Upgrade: h2c
NULL
Used up interpret padding
.html
.htm
text/javascript
.css
text/css
.png
image/png
.jpg
image/jpeg
.jpeg
.ico
image/x-icon
.gif
image/gif
.svg
image/svg+xml
.ttf
application/x-font-ttf
.otf
application/font-woff
.woff
.woff2
application/font-woff2
application/gzip
.txt
text/plain
.xml
application/xml
.json
application/json
private
public
lws_http_transaction_completed
lws_handshake_server
lws_http_to_fallback
lws_http_serve
lws_http_action
JIKQR%
spa params
stateful urldecode
multipart/form-data
boundary=
spa param len
%s: NULL spa
Name too long
content-disposition:
content-type:
filename
lws_spa_process
poll
%s: assert: flags %d
%s: no watcher
%s: tsi %d: not all closed
internal signal handler caught signal %d
%s: ignoring
uv_poll_init failed %d, sockfd=%p
libuv loop
Using foreign event loop...
calling deprecation callback
Waiting for libuv watcher to close
Scanning %s
Failed to get %s on %s: %s
Init %s failed %d
Destroying %s failed %d
libuv
elops_destroy_context1_uv
elops_io_uv
lws_libuv_stop
Unknown error
No opening '{'
Expected closing '}'
Expected '"'
String underrun
Illegal unescaped control char
Illegal escape format
Illegal hex number
Expected ':'
Illegal value start
Digit required after decimal point
Bad number format
Bad exponent format
Unknown token
Too many ']'
Mismatched ']'
Expected ']'
JSON nesting limit exceeded
Nesting tracking used up
Number too long
Comma or block end expected
Unknown
Parser callback errored (see earlier error)
rue alse ull
"\/bfnrt
Cannot open %s
%s(%u): parsing error %d: %s
adding rej %s=%s
Too many plugin dirs
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!HMAC_SHA1:!SHA1:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES128-SHA256:!AES128-GCM-SHA256:!AES128-SHA256:!DHE-RSA-AES256-SHA256:!AES256-GCM-SHA384:!AES256-SHA256
adding header %s=%s
Port required (eg, 443)
Failed to create vhost %s
mountpoint and origin required
+ extra-mimetypes %s -> %s
adding interpret %s -> %s
vh %s: LEJPVP_FLAG_FALLBACK_LISTEN_ACCEPT: %s
_lws_ddir_
/usr/share
unsupported protocol:// %s
%s/conf
%s/conf.d
Need at least one vhost
gzip://
vhosts[]
vhosts[].mounts[]
vhosts[].name
vhosts[].port
vhosts[].interface
vhosts[].unix-socket
vhosts[].unix-socket-perms
vhosts[].sts
vhosts[].host-ssl-key
vhosts[].host-ssl-cert
vhosts[].host-ssl-ca
vhosts[].access-log
vhosts[].mounts[].mountpoint
vhosts[].mounts[].origin
vhosts[].mounts[].protocol
vhosts[].mounts[].default
vhosts[].mounts[].auth-mask
vhosts[].mounts[].cgi-timeout
vhosts[].mounts[].cgi-env[].*
vhosts[].mounts[].cache-max-age
vhosts[].mounts[].cache-reuse
vhosts[].mounts[].cache-revalidate
vhosts[].mounts[].basic-auth
vhosts[].mounts[].cache-intermediaries
vhosts[].mounts[].extra-mimetypes.*
vhosts[].mounts[].interpret.*
vhosts[].ws-protocols[].*.*
vhosts[].ws-protocols[].*
vhosts[].ws-protocols[]
vhosts[].keepalive_timeout
vhosts[].enable-client-ssl
vhosts[].ciphers
vhosts[].ecdh-curve
vhosts[].noipv6
vhosts[].ipv6only
vhosts[].ssl-option-set
vhosts[].ssl-option-clear
vhosts[].mounts[].pmo[].*
vhosts[].headers[].*
vhosts[].headers[]
vhosts[].client-ssl-key
vhosts[].client-ssl-cert
vhosts[].client-ssl-ca
vhosts[].client-ssl-ciphers
vhosts[].onlyraw
vhosts[].client-cert-required
vhosts[].ignore-missing-cert
vhosts[].error-document-404
vhosts[].alpn
vhosts[].ssl-client-option-set
vhosts[].ssl-client-option-clear
vhosts[].tls13-ciphers
vhosts[].client-tls13-ciphers
vhosts[].strict-host-check
vhosts[].listen-accept-role
vhosts[].listen-accept-protocol
vhosts[].apply-listen-accept
vhosts[].fallback-listen-accept
vhosts[].allow-non-tls
vhosts[].redirect-http
vhosts[].allow-http-on-https
vhosts[].disable-no-protocol-ws-upgrades
global.uid
global.gid
global.username
global.groupname
global.count-threads
global.init-ssl
global.server-string
global.plugin-dir
global.ws-pingpong-secs
global.timeout-secs
global.reject-service-keywords[].*
global.reject-service-keywords[]
global.default-alpn
A128CBC-HS256
A192CBC-HS384
A256CBC-HS512
A128GCM
A192GCM
A256GCM
RSA1_5
RSA-OAEP
RSA-OAEP-256
ECDH-ES
ECDH-ES+A128KW
ECDH-ES+A192KW
ECDH-ES+A256KW
A128GCMKW
A192GCMKW
A256GCMKW
RS256
RS384
RS512
ES256
ES384
ES512
Dumping all the strings is a novel way for me to try to figure out what you built (just checking the datestamp...), but it looks wrong here
connect-src 'self';
https://libwebsockets.org/git/libwebsockets/tree/lib/roles/http/header.c#n270
connect-src 'self' ws: wss:;
Notice if you build lws, it puts its stuff in /usr/local by default.
It's built in the openwrt buildroot, I'm sure it's the latest. The date of the files for the libraries is set in the buildroot. It is cross compiled for MIPS hardware. I made the makefile use that commit from git.
The same problem seems to exist with the BSDs:
By default, FreeBSD does not route IPv4 traffic to AF_INET6 sockets. The default behavior intentionally violates RFC2553 for security reasons. Listen to two sockets if you want to accept both IPv4 and IPv6 traffic. IPv4 traffic may be routed with certain per-socket/per-node configuration, however, it is not recommended to do so. Consult ip6(4) for details.
OpenBSD also has a similar wording in its man page
For security reasons, OpenBSD does not route IPv4 traffic to an AF_INET6 socket, and does not support IPv4 mapped addresses, where IPv4 traffic is seen as if it comes from an IPv6 address like ::ffff:10.1.1.1. Where both IPv4 and IPv6 traffic need to be accepted, listen on two sockets.
This is referencing section 3.7 of RFC2553 (obsoleted by RFC3493) regarding IPv4 addresses being translated into ::FFFF:<IPv4-address>.
from - https://security.stackexchange.com/questions/92081/is-receiving-ipv4-connections-on-af-inet6-sockets-insecure
You'll be able to see where it gets the specific commit from git for LWS. First it builds the deps, then LWS. I cut out all the output for the deps.
make[2]: Leaving directory '/home/admin/openwrt-ag-client/package/libs/zlib'
time: package/libs/zlib/compile#4.88#0.43#6.00
make[2]: Entering directory '/home/admin/openwrt-ag-client/feeds/packages/libs/libwebsockets'
mkdir -p /home/admin/openwrt-ag-client/dl
SHELL= flock /home/admin/openwrt-ag-client/tmp/.libwebsockets-70bb1ef4.tar.xz.flock -c ' echo "Checking out files from the git repository..."; mkdir -p /home/admin/openwrt-ag-client/tmp/dl && cd /home/admin/openwrt-ag-client/tmp/dl && rm -rf libwebsockets-70bb1ef4 && [ \! -d libwebsockets-70bb1ef4 ] && git clone https://libwebsockets.org/repo/libwebsockets libwebsockets-70bb1ef4 && (cd libwebsockets-70bb1ef4 && git checkout 70bb1ef445749fe1940254898620553d3dede069 && git submodule update --init --recursive) && echo "Packing checkout..." && export TAR_TIMESTAMP=`cd libwebsockets-70bb1ef4 && git log -1 --format='\''@%ct'\''` && rm -rf libwebsockets-70bb1ef4/.git && tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name ${TAR_TIMESTAMP:+--mtime="$TAR_TIMESTAMP"} -c libwebsockets-70bb1ef4 | xz -zc -7e > /home/admin/openwrt-ag-client/tmp/dl/libwebsockets-70bb1ef4.tar.xz && mv /home/admin/openwrt-ag-client/tmp/dl/libwebsockets-70bb1ef4.tar.xz /home/admin/openwrt-ag-client/dl/ && rm -rf libwebsockets-70bb1ef4; '
Checking out files from the git repository...
Cloning into 'libwebsockets-70bb1ef4'...
remote: Enumerating objects: 32526, done.
remote: Counting objects: 100% (32526/32526), done.
remote: Compressing objects: 100% (8093/8093), done.
remote: Total 32526 (delta 25541), reused 30736 (delta 24182)
Receiving objects: 100% (32526/32526), 15.58 MiB | 6.08 MiB/s, done.
Resolving deltas: 100% (25541/25541), done.
Note: checking out '70bb1ef445749fe1940254898620553d3dede069'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 70bb1ef4... plugins: make required exports visible
Packing checkout...
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.prepared_fde4d0f0a4a2bf42bdf619f01611e0c3_6664517399ebbbc92a37c5bb081b5c53_check
. /home/admin/openwrt-ag-client/include/shell.sh; xzcat /home/admin/openwrt-ag-client/dl/libwebsockets-70bb1ef4.tar.xz | tar -C /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.. -xf -
[ ! -d ./src/ ] || cp -fpR ./src/. /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.prepared_fde4d0f0a4a2bf42bdf619f01611e0c3_6664517399ebbbc92a37c5bb081b5c53
rm -f /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.configured_*
rm -f /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/stamp/.libwebsockets.full_installed
mkdir -p /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4
(cd /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4; CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro " LDFLAGS="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro " cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_SYSTEM_PROCESSOR=mips -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_C_COMPILER="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc" -DCMAKE_C_COMPILER_ARG1="" -DCMAKE_CXX_COMPILER="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-g++" -DCMAKE_CXX_COMPILER_ARG1="" -DCMAKE_ASM_COMPILER="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc" -DCMAKE_ASM_COMPILER_ARG1="" -DCMAKE_EXE_LINKER_FLAGS:STRING="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro" -DCMAKE_MODULE_LINKER_FLAGS:STRING="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro -Wl,-Bsymbolic-functions" -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro -Wl,-Bsymbolic-functions" -DCMAKE_AR="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc-ar" -DCMAKE_NM="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc-nm" -DCMAKE_RANLIB="/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc-ranlib" -DCMAKE_FIND_ROOT_PATH="/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr;/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl" -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_STRIP=: -DCMAKE_INSTALL_PREFIX=/usr -DDL_LIBRARY=/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl -DCMAKE_PREFIX_PATH=/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl -DCMAKE_SKIP_RPATH=TRUE -DLWS_IPV6=ON -DLWS_WITHOUT_TESTAPPS=ON -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs -DLWS_OPENSSL_SUPPORT=ON -DLWS_WITH_SSL=ON -DLWS_WITH_LIBUV=ON -DLWS_WITH_PLUGINS=ON -DLWS_WITH_SERVER_STATUS=ON -DLWS_WITH_ACCESS_LOG=ON -DLWS_WITH_CGI=ON /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4 )
-- Compiled with LWS_WITH_DIR and LWS_WITH_DIR
-- The C compiler identification is GNU 8.3.0
-- Check for working C compiler: /home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc
-- Check for working C compiler: /home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/bin/mips-openwrt-linux-musl-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- CMAKE_TOOLCHAIN_FILE=''
-- Found Git: /home/admin/openwrt-ag-client/staging_dir/host/bin/git
Git commit hash: reboot-11651-g487e0631d0
-- Performing Test LWS_HAVE_inline
-- Performing Test LWS_HAVE_inline - Success
-- Performing Test LWS_HAVE___inline__
-- Performing Test LWS_HAVE___inline__ - Success
-- Performing Test LWS_HAVE___inline
-- Performing Test LWS_HAVE___inline - Success
-- Performing Test LWS_HAVE_MALLOC_TRIM
-- Performing Test LWS_HAVE_MALLOC_TRIM - Failed
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE
-- Performing Test LWS_HAVE_MALLOC_USABLE_SIZE - Success
-- Looking for fork
-- Looking for fork - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for memset
-- Looking for memset - found
-- Looking for realloc
-- Looking for realloc - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for vfork
-- Looking for vfork - found
-- Looking for execvpe
-- Looking for execvpe - found
-- Looking for getifaddrs
-- Looking for getifaddrs - found
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for _snprintf
-- Looking for _snprintf - not found
-- Looking for _vsnprintf
-- Looking for _vsnprintf - not found
-- Looking for getloadavg
-- Looking for getloadavg - found
-- Looking for atoll
-- Looking for atoll - found
-- Looking for _atoi64
-- Looking for _atoi64 - not found
-- Looking for _stat32i64
-- Looking for _stat32i64 - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for in6addr.h
-- Looking for in6addr.h - not found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for sys/prctl.h
-- Looking for sys/prctl.h - found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/sockio.h
-- Looking for sys/sockio.h - not found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for vfork.h
-- Looking for vfork.h - not found
-- Looking for sys/capability.h
-- Looking for sys/capability.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for cap_set_flag in cap
-- Looking for cap_set_flag in cap - found
-- Looking for uv-version.h
-- Looking for uv-version.h - not found
-- Looking for uv/version.h
-- Looking for uv/version.h - found
-- Looking for 4 include files stdlib.h, ..., float.h
-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Performing Test LWS_HAS_INTPTR_T
-- Performing Test LWS_HAS_INTPTR_T - Success
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP
-- Performing Test LWS_HAS_PTHREAD_SETNAME_NP - Success
-- Performing Test LWS_HAS_GETOPT_LONG
-- Performing Test LWS_HAS_GETOPT_LONG - Success
-- Performing Test LWS_HAVE_VISIBILITY
-- Performing Test LWS_HAVE_VISIBILITY - Success
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS
-- Performing Test LWS_GCC_HAS_IGNORED_QUALIFIERS - Success
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS
-- Performing Test LWS_GCC_HAS_TYPE_LIMITS - Success
Compiling with SSL support
-- Found OpenSSL: /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib/libcrypto.so (found version "1.1.1d")
OpenSSL include dir: /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include
OpenSSL libraries: /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib/libssl.so;/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib/libcrypto.so;ssl;crypto
-- Looking for openssl/ecdh.h
-- Looking for openssl/ecdh.h - found
libuv include dir: /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include
libuv libraries: /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib/libuv.so
-- Looking for SSL_CTX_set1_param
-- Looking for SSL_CTX_set1_param - found
-- Looking for SSL_set_info_callback
-- Looking for SSL_set_info_callback - found
-- Looking for X509_VERIFY_PARAM_set1_host
-- Looking for X509_VERIFY_PARAM_set1_host - found
-- Looking for RSA_set0_key
-- Looking for RSA_set0_key - found
-- Looking for X509_get_key_usage
-- Looking for X509_get_key_usage - found
-- Looking for EVP_PKEY_new_raw_private_key
-- Looking for EVP_PKEY_new_raw_private_key - found
-- Looking for SSL_CTX_get0_certificate
-- Looking for SSL_CTX_get0_certificate - found
-- Looking for SSL_get0_alpn_selected
-- Looking for SSL_get0_alpn_selected - found
-- Looking for SSL_set_alpn_protos
-- Looking for SSL_set_alpn_protos - found
-- Looking for EVP_aes_128_cfb8
-- Looking for EVP_aes_128_cfb8 - found
-- Looking for EVP_aes_128_cfb128
-- Looking for EVP_aes_128_cfb128 - found
-- Looking for EVP_aes_192_cfb8
-- Looking for EVP_aes_192_cfb8 - found
-- Looking for EVP_aes_192_cfb128
-- Looking for EVP_aes_192_cfb128 - found
-- Looking for EVP_aes_256_cfb8
-- Looking for EVP_aes_256_cfb8 - found
-- Looking for EVP_aes_256_cfb128
-- Looking for EVP_aes_256_cfb128 - found
-- Looking for EVP_aes_128_xts
-- Looking for EVP_aes_128_xts - found
-- Looking for RSA_verify_pss_mgf1
-- Looking for RSA_verify_pss_mgf1 - not found
-- Looking for HMAC_CTX_new
-- Looking for HMAC_CTX_new - found
-- Looking for SSL_CTX_set_ciphersuites
-- Looking for SSL_CTX_set_ciphersuites - found
-- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS
-- Performing Test LWS_HAVE_SSL_EXTRA_CHAIN_CERTS - Success
-- Performing Test LWS_HAVE_EVP_MD_CTX_free
-- Performing Test LWS_HAVE_EVP_MD_CTX_free - Success
-- Looking for ECDSA_SIG_set0
-- Looking for ECDSA_SIG_set0 - found
-- Looking for BN_bn2binpad
-- Looking for BN_bn2binpad - found
-- Looking for EVP_aes_128_wrap
-- Looking for EVP_aes_128_wrap - found
-- Looking for EC_POINT_get_affine_coordinates
-- Looking for EC_POINT_get_affine_coordinates - found
-- Looking for TLS_client_method
-- Looking for TLS_client_method - found
-- Looking for TLSv1_2_client_method
-- Looking for TLSv1_2_client_method - found
-- Performing Test LWS_HAVE_PIPE2
-- Performing Test LWS_HAVE_PIPE2 - Success
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT
-- Performing Test LWS_HAVE_TCP_USER_TIMEOUT - Success
Searching for OpenSSL executable and dlls
OpenSSL executable: /usr/bin/openssl
GENCERTS = 0
-- Looking for RPMTools... - rpmbuild NOT FOUND
---------------------------------------------------------------------
Settings: (For more help do cmake -LH <srcpath>)
---------------------------------------------------------------------
LWS_WITH_STATIC = ON
LWS_WITH_SHARED = ON
LWS_WITH_SSL = ON (SSL Support)
LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1
LWS_WITH_WOLFSSL = OFF (wolfSSL/CyaSSL replacement for OpenSSL)
LWS_WITH_MBEDTLS = OFF (mbedTLS replacement for OpenSSL)
LWS_WITHOUT_BUILTIN_SHA1 = OFF
LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF
LWS_WITHOUT_CLIENT = OFF
LWS_WITHOUT_SERVER = OFF
LWS_LINK_TESTAPPS_DYNAMIC = OFF
LWS_WITHOUT_TESTAPPS = ON
LWS_WITHOUT_TEST_SERVER = OFF
LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF
LWS_WITHOUT_TEST_PING = OFF
LWS_WITHOUT_TEST_CLIENT = OFF
LWS_WITHOUT_EXTENSIONS = ON
LWS_WITHOUT_DAEMONIZE = ON
LWS_WITH_LIBEV = OFF
LWS_WITH_LIBUV = 1
LWS_WITH_LIBEVENT = OFF
LWS_IPV6 = ON
LWS_UNIX_SOCK = OFF
LWS_WITH_HTTP2 = 1
LWS_SSL_SERVER_WITH_ECDH_CERT = OFF
LWS_MAX_SMP = 1
LWS_HAVE_PTHREAD_H = 1
LWS_WITH_CGI = ON
LWS_HAVE_OPENSSL_ECDH_H = 1
LWS_HAVE_SSL_CTX_set1_param = 1
LWS_HAVE_RSA_SET0_KEY = 1
LWS_WITH_HTTP_PROXY = OFF
LIBHUBBUB_LIBRARIES =
PLUGINS =
LWS_WITH_ACCESS_LOG = ON
LWS_WITH_SERVER_STATUS = ON
LWS_WITH_LEJP = ON
LWS_WITH_LEJP_CONF = ON
LWS_WITH_SMTP = OFF
LWS_WITH_GENERIC_SESSIONS = OFF
LWS_STATIC_PIC = OFF
LWS_WITH_RANGES = OFF
LWS_PLAT_OPTEE = OFF
LWS_PLAT_FREERTOS = OFF
LWS_WITH_ZIP_FOPS = OFF
LWS_AVOID_SIGPIPE_IGN = OFF
LWS_WITH_STATS = OFF
LWS_WITH_SOCKS5 = OFF
LWS_HAVE_SYS_CAPABILITY_H = 1
LWS_HAVE_LIBCAP = 1
LWS_WITH_PEER_LIMITS = OFF
LWS_HAVE_ATOLL = 1
LWS_HAVE__ATOI64 =
LWS_HAVE_STAT32I64 =
LWS_HAS_INTPTR_T = 1
LWS_WITH_EXPORT_LWSTARGETS = ON
LWS_WITH_ABSTRACT =
---------------------------------------------------------------------
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_ASM_COMPILER
CMAKE_ASM_COMPILER_ARG1
CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER_ARG1
CMAKE_CXX_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS
DL_LIBRARY
-- Build files have been written to: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.configured_68b329da9893e34099c7d8ad5cb9c940
rm -f /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.built
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.built_check
CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include/fortify -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include/fortify -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include " LDFLAGS="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro " make -j1 -C /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/. AR="mips-openwrt-linux-musl-gcc-ar" AS="mips-openwrt-linux-musl-gcc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mips-openwrt-linux-musl-ld NM="mips-openwrt-linux-musl-gcc-nm" CC="mips-openwrt-linux-musl-gcc" GCC="mips-openwrt-linux-musl-gcc" CXX="mips-openwrt-linux-musl-g++" RANLIB="mips-openwrt-linux-musl-gcc-ranlib" STRIP=mips-openwrt-linux-musl-strip OBJCOPY=mips-openwrt-linux-musl-objcopy OBJDUMP=mips-openwrt-linux-musl-objdump SIZE=mips-openwrt-linux-musl-size CROSS="mips-openwrt-linux-musl-" ARCH="mips" CMAKE_COMMAND='/home/admin/openwrt-ag-client/staging_dir/host/bin/cmake' CMAKE_DISABLE_cmake_check_build_system=1 ;
make[3]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[4]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
Scanning dependencies of target websockets
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[ 0%] Building C object CMakeFiles/websockets.dir/lib/core/alloc.c.o
[ 1%] Building C object CMakeFiles/websockets.dir/lib/core/buflist.c.o
[ 1%] Building C object CMakeFiles/websockets.dir/lib/core/context.c.o
[ 2%] Building C object CMakeFiles/websockets.dir/lib/core/lws_dll2.c.o
[ 3%] Building C object CMakeFiles/websockets.dir/lib/core/libwebsockets.c.o
[ 3%] Building C object CMakeFiles/websockets.dir/lib/core/logs.c.o
[ 4%] Building C object CMakeFiles/websockets.dir/lib/system/system.c.o
[ 4%] Building C object CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o
[ 5%] Building C object CMakeFiles/websockets.dir/lib/misc/lws-ring.c.o
[ 6%] Building C object CMakeFiles/websockets.dir/lib/core/vfs.c.o
[ 6%] Building C object CMakeFiles/websockets.dir/lib/core-net/dummy-callback.c.o
[ 7%] Building C object CMakeFiles/websockets.dir/lib/core-net/output.c.o
[ 7%] Building C object CMakeFiles/websockets.dir/lib/core-net/close.c.o
[ 8%] Building C object CMakeFiles/websockets.dir/lib/core-net/network.c.o
[ 9%] Building C object CMakeFiles/websockets.dir/lib/core-net/vhost.c.o
[ 9%] Building C object CMakeFiles/websockets.dir/lib/core-net/pollfd.c.o
[ 10%] Building C object CMakeFiles/websockets.dir/lib/core-net/service.c.o
[ 10%] Building C object CMakeFiles/websockets.dir/lib/core-net/sorted-usec-list.c.o
[ 11%] Building C object CMakeFiles/websockets.dir/lib/core-net/state.c.o
[ 12%] Building C object CMakeFiles/websockets.dir/lib/core-net/stats.c.o
[ 12%] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi.c.o
[ 13%] Building C object CMakeFiles/websockets.dir/lib/core-net/wsi-timeout.c.o
[ 14%] Building C object CMakeFiles/websockets.dir/lib/core-net/adopt.c.o
[ 14%] Building C object CMakeFiles/websockets.dir/lib/roles/pipe/ops-pipe.c.o
[ 15%] Building C object CMakeFiles/websockets.dir/lib/core-net/sequencer.c.o
[ 15%] Building C object CMakeFiles/websockets.dir/lib/misc/dir.c.o
[ 16%] Building C object CMakeFiles/websockets.dir/lib/roles/http/header.c.o
[ 17%] Building C object CMakeFiles/websockets.dir/lib/roles/http/parsers.c.o
[ 17%] Building C object CMakeFiles/websockets.dir/lib/roles/h1/ops-h1.c.o
[ 18%] Building C object CMakeFiles/websockets.dir/lib/roles/ws/ops-ws.c.o
[ 18%] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-ws.c.o
[ 19%] Building C object CMakeFiles/websockets.dir/lib/roles/ws/client-parser-ws.c.o
[ 20%] Building C object CMakeFiles/websockets.dir/lib/roles/ws/server-ws.c.o
[ 20%] Building C object CMakeFiles/websockets.dir/lib/roles/raw-skt/ops-raw-skt.c.o
[ 21%] Building C object CMakeFiles/websockets.dir/lib/roles/raw-file/ops-raw-file.c.o
[ 21%] Building C object CMakeFiles/websockets.dir/lib/roles/cgi/cgi-server.c.o
[ 22%] Building C object CMakeFiles/websockets.dir/lib/roles/cgi/ops-cgi.c.o
[ 23%] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/access-log.c.o
[ 23%] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/lwsac.c.o
[ 24%] Building C object CMakeFiles/websockets.dir/lib/misc/lwsac/cached-file.c.o
[ 25%] Building C object CMakeFiles/websockets.dir/lib/core-net/connect.c.o
[ 25%] Building C object CMakeFiles/websockets.dir/lib/core-net/client.c.o
[ 26%] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-http.c.o
[ 26%] Building C object CMakeFiles/websockets.dir/lib/roles/http/client/client-handshake.c.o
[ 27%] Building C object CMakeFiles/websockets.dir/lib/core-net/server.c.o
[ 28%] Building C object CMakeFiles/websockets.dir/lib/roles/listen/ops-listen.c.o
[ 28%] Building C object CMakeFiles/websockets.dir/lib/tls/tls.c.o
[ 29%] Building C object CMakeFiles/websockets.dir/lib/tls/tls-network.c.o
[ 29%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-tls.c.o
[ 30%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-x509.c.o
[ 31%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-ssl.c.o
[ 31%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/lws-genhash.c.o
[ 32%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/lws-genrsa.c.o
[ 32%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/lws-genaes.c.o
[ 33%] Building C object CMakeFiles/websockets.dir/lib/tls/lws-genec-common.c.o
[ 34%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/lws-genec.c.o
[ 34%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/lws-gencrypto.c.o
[ 35%] Building C object CMakeFiles/websockets.dir/lib/tls/tls-server.c.o
[ 35%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-server.c.o
[ 36%] Building C object CMakeFiles/websockets.dir/lib/tls/tls-client.c.o
[ 37%] Building C object CMakeFiles/websockets.dir/lib/tls/openssl/openssl-client.c.o
[ 37%] Building C object CMakeFiles/websockets.dir/lib/misc/sha-1.c.o
[ 38%] Building C object CMakeFiles/websockets.dir/lib/roles/h2/http2.c.o
[ 39%] Building C object CMakeFiles/websockets.dir/lib/roles/h2/hpack.c.o
[ 39%] Building C object CMakeFiles/websockets.dir/lib/roles/h2/ops-h2.c.o
[ 40%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-caps.c.o
[ 40%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-misc.c.o
[ 41%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-init.c.o
[ 42%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-file.c.o
[ 42%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-pipe.c.o
[ 43%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-service.c.o
[ 43%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-sockets.c.o
[ 44%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-fds.c.o
[ 45%] Building C object CMakeFiles/websockets.dir/lib/plat/unix/unix-plugins.c.o
[ 45%] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/server.c.o
[ 46%] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lws-spa.c.o
[ 46%] Building C object CMakeFiles/websockets.dir/lib/event-libs/poll/poll.c.o
[ 47%] Building C object CMakeFiles/websockets.dir/lib/event-libs/libuv/libuv.c.o
[ 48%] Building C object CMakeFiles/websockets.dir/lib/misc/lejp.c.o
[ 48%] Building C object CMakeFiles/websockets.dir/lib/roles/http/server/lejp-conf.c.o
[ 49%] Building C object CMakeFiles/websockets.dir/lib/tls/lws-gencrypto-common.c.o
[ 50%] Linking C static library lib/libwebsockets.a
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[ 50%] Built target websockets
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
Scanning dependencies of target websockets_shared
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[ 50%] Building C object CMakeFiles/websockets_shared.dir/lib/core/alloc.c.o
[ 51%] Building C object CMakeFiles/websockets_shared.dir/lib/core/buflist.c.o
[ 51%] Building C object CMakeFiles/websockets_shared.dir/lib/core/context.c.o
[ 52%] Building C object CMakeFiles/websockets_shared.dir/lib/core/lws_dll2.c.o
[ 53%] Building C object CMakeFiles/websockets_shared.dir/lib/core/libwebsockets.c.o
[ 53%] Building C object CMakeFiles/websockets_shared.dir/lib/core/logs.c.o
[ 54%] Building C object CMakeFiles/websockets_shared.dir/lib/system/system.c.o
[ 54%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/base64-decode.c.o
[ 55%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lws-ring.c.o
[ 56%] Building C object CMakeFiles/websockets_shared.dir/lib/core/vfs.c.o
[ 56%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/dummy-callback.c.o
[ 57%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/output.c.o
[ 57%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/close.c.o
[ 58%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/network.c.o
[ 59%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/vhost.c.o
[ 59%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/pollfd.c.o
[ 60%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/service.c.o
[ 60%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/sorted-usec-list.c.o
[ 61%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/state.c.o
[ 62%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/stats.c.o
[ 62%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/wsi.c.o
[ 63%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/wsi-timeout.c.o
[ 64%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/adopt.c.o
[ 64%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/pipe/ops-pipe.c.o
[ 65%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/sequencer.c.o
[ 65%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/dir.c.o
[ 66%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/header.c.o
[ 67%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/parsers.c.o
[ 67%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h1/ops-h1.c.o
[ 68%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/ops-ws.c.o
[ 68%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/client-ws.c.o
[ 69%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/client-parser-ws.c.o
[ 70%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/server-ws.c.o
[ 70%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/raw-skt/ops-raw-skt.c.o
[ 71%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/raw-file/ops-raw-file.c.o
[ 71%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/cgi/cgi-server.c.o
[ 72%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/cgi/ops-cgi.c.o
[ 73%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/access-log.c.o
[ 73%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lwsac/lwsac.c.o
[ 74%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lwsac/cached-file.c.o
[ 75%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/connect.c.o
[ 75%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/client.c.o
[ 76%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/client/client-http.c.o
[ 76%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/client/client-handshake.c.o
[ 77%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/server.c.o
[ 78%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/listen/ops-listen.c.o
[ 78%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls.c.o
[ 79%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-network.c.o
[ 79%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-tls.c.o
[ 80%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-x509.c.o
[ 81%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-ssl.c.o
[ 81%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genhash.c.o
[ 82%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genrsa.c.o
[ 82%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genaes.c.o
[ 83%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/lws-genec-common.c.o
[ 84%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genec.c.o
[ 84%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-gencrypto.c.o
[ 85%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-server.c.o
[ 85%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-server.c.o
[ 86%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-client.c.o
[ 87%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-client.c.o
[ 87%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/sha-1.c.o
[ 88%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/http2.c.o
[ 89%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/hpack.c.o
[ 89%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/ops-h2.c.o
[ 90%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-caps.c.o
[ 90%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-misc.c.o
[ 91%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-init.c.o
[ 92%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-file.c.o
[ 92%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-pipe.c.o
[ 93%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-service.c.o
[ 93%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-sockets.c.o
[ 94%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-fds.c.o
[ 95%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-plugins.c.o
[ 95%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/server.c.o
[ 96%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/lws-spa.c.o
[ 96%] Building C object CMakeFiles/websockets_shared.dir/lib/event-libs/poll/poll.c.o
[ 97%] Building C object CMakeFiles/websockets_shared.dir/lib/event-libs/libuv/libuv.c.o
[ 98%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lejp.c.o
[ 98%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/lejp-conf.c.o
[ 99%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/lws-gencrypto-common.c.o
[100%] Linking C shared library lib/libwebsockets.so
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[100%] Built target websockets_shared
make[4]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[3]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
CFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include/fortify -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include " CXXFLAGS="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/include -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include/fortify -I/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/include " LDFLAGS="-L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/usr/lib -L/home/admin/openwrt-ag-client/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib -znow -zrelro " make -C /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/. AR="mips-openwrt-linux-musl-gcc-ar" AS="mips-openwrt-linux-musl-gcc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -ffile-prefix-map=/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4=libwebsockets-70bb1ef4 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD=mips-openwrt-linux-musl-ld NM="mips-openwrt-linux-musl-gcc-nm" CC="mips-openwrt-linux-musl-gcc" GCC="mips-openwrt-linux-musl-gcc" CXX="mips-openwrt-linux-musl-g++" RANLIB="mips-openwrt-linux-musl-gcc-ranlib" STRIP=mips-openwrt-linux-musl-strip OBJCOPY=mips-openwrt-linux-musl-objcopy OBJDUMP=mips-openwrt-linux-musl-objdump SIZE=mips-openwrt-linux-musl-size CROSS="mips-openwrt-linux-musl-" ARCH="mips" CMAKE_COMMAND='/home/admin/openwrt-ag-client/staging_dir/host/bin/cmake' CMAKE_DISABLE_cmake_check_build_system=1 DESTDIR="/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install" install;
make[3]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[4]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[ 50%] Built target websockets
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
Scanning dependencies of target websockets_shared
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
make[5]: Entering directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[ 50%] Building C object CMakeFiles/websockets_shared.dir/lib/core/alloc.c.o
[ 51%] Building C object CMakeFiles/websockets_shared.dir/lib/core/buflist.c.o
[ 51%] Building C object CMakeFiles/websockets_shared.dir/lib/core/context.c.o
[ 52%] Building C object CMakeFiles/websockets_shared.dir/lib/core/lws_dll2.c.o
[ 53%] Building C object CMakeFiles/websockets_shared.dir/lib/core/libwebsockets.c.o
[ 53%] Building C object CMakeFiles/websockets_shared.dir/lib/core/logs.c.o
[ 54%] Building C object CMakeFiles/websockets_shared.dir/lib/system/system.c.o
[ 54%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/base64-decode.c.o
[ 55%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lws-ring.c.o
[ 56%] Building C object CMakeFiles/websockets_shared.dir/lib/core/vfs.c.o
[ 56%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/dummy-callback.c.o
[ 57%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/output.c.o
[ 57%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/close.c.o
[ 58%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/network.c.o
[ 59%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/vhost.c.o
[ 59%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/pollfd.c.o
[ 60%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/service.c.o
[ 60%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/sorted-usec-list.c.o
[ 61%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/state.c.o
[ 62%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/stats.c.o
[ 62%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/wsi.c.o
[ 63%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/wsi-timeout.c.o
[ 64%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/adopt.c.o
[ 64%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/pipe/ops-pipe.c.o
[ 65%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/sequencer.c.o
[ 65%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/dir.c.o
[ 66%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/header.c.o
[ 67%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/parsers.c.o
[ 67%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h1/ops-h1.c.o
[ 68%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/ops-ws.c.o
[ 68%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/client-ws.c.o
[ 69%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/client-parser-ws.c.o
[ 70%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/ws/server-ws.c.o
[ 70%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/raw-skt/ops-raw-skt.c.o
[ 71%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/raw-file/ops-raw-file.c.o
[ 71%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/cgi/cgi-server.c.o
[ 72%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/cgi/ops-cgi.c.o
[ 73%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/access-log.c.o
[ 73%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lwsac/lwsac.c.o
[ 74%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lwsac/cached-file.c.o
[ 75%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/connect.c.o
[ 75%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/client.c.o
[ 76%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/client/client-http.c.o
[ 76%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/client/client-handshake.c.o
[ 77%] Building C object CMakeFiles/websockets_shared.dir/lib/core-net/server.c.o
[ 78%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/listen/ops-listen.c.o
[ 78%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls.c.o
[ 79%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-network.c.o
[ 79%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-tls.c.o
[ 80%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-x509.c.o
[ 81%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-ssl.c.o
[ 81%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genhash.c.o
[ 82%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genrsa.c.o
[ 82%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genaes.c.o
[ 83%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/lws-genec-common.c.o
[ 84%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-genec.c.o
[ 84%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/lws-gencrypto.c.o
[ 85%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-server.c.o
[ 85%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-server.c.o
[ 86%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/tls-client.c.o
[ 87%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/openssl/openssl-client.c.o
[ 87%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/sha-1.c.o
[ 88%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/http2.c.o
[ 89%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/hpack.c.o
[ 89%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/h2/ops-h2.c.o
[ 90%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-caps.c.o
[ 90%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-misc.c.o
[ 91%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-init.c.o
[ 92%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-file.c.o
[ 92%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-pipe.c.o
[ 93%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-service.c.o
[ 93%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-sockets.c.o
[ 94%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-fds.c.o
[ 95%] Building C object CMakeFiles/websockets_shared.dir/lib/plat/unix/unix-plugins.c.o
[ 95%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/server.c.o
[ 96%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/lws-spa.c.o
[ 96%] Building C object CMakeFiles/websockets_shared.dir/lib/event-libs/poll/poll.c.o
[ 97%] Building C object CMakeFiles/websockets_shared.dir/lib/event-libs/libuv/libuv.c.o
[ 98%] Building C object CMakeFiles/websockets_shared.dir/lib/misc/lejp.c.o
[ 98%] Building C object CMakeFiles/websockets_shared.dir/lib/roles/http/server/lejp-conf.c.o
[ 99%] Building C object CMakeFiles/websockets_shared.dir/lib/tls/lws-gencrypto-common.c.o
[100%] Linking C shared library lib/libwebsockets.so
make[5]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
[100%] Built target websockets_shared
make[4]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
Install the project...
-- Install configuration: "Release"
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/pkgconfig/libwebsockets.pc
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/pkgconfig/libwebsockets_static.pc
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-http.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-system.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-sequencer.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-client.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-sha1-base64.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-jwk.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-lwsac.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-timeout-timer.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-service.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-tokenize.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-adopt.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-vfs.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-detailed-latency.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-freertos.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-purify.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-dll2.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-optee.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-cgi.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-struct.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-genrsa.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-protocols-plugins.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-lejp.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-plugin-generic-sessions.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-logs.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-dbus.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-dsh.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-writeable.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-fts.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-stats.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-network-helper.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-write.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-diskcache.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-esp32.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-genaes.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-test-sequencer.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-genhash.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-genec.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-ws-close.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-misc.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-state.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-spa.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/protocols
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/protocols/smtp.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/abstract.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/transports
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/transports/unit-test.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/transports/raw-skt.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/protocols.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/abstract/transports.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-ws-ext.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-threadpool.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-gencrypto.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-jwe.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-x509.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-callbacks.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-async-dns.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-jws.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-ring.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-retry.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-jose.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-ws-state.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets/lws-context-vhost.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.a
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/lws_config.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/lws-plugin-ssh.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so
-- Up-to-date: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/libwebsockets.h
-- Up-to-date: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/lws_config.h
-- Up-to-date: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/include/lws-plugin-ssh.h
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/deaddrop/index.html
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/deaddrop/deaddrop.js
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/deaddrop/deaddrop.css
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/deaddrop/drop.svg
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/server-status/server-status.html
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/server-status/server-status.js
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/server-status/server-status.css
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/server-status/lwsws-logo.png
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/generic-table/lwsgt.js
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/share/libwebsockets-test-server/generic-table/index.html
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/cmake/libwebsockets/LibwebsocketsConfig.cmake
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/cmake/libwebsockets/LibwebsocketsTargets.cmake
-- Installing: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/cmake/libwebsockets/LibwebsocketsTargets-release.cmake
make[3]: Leaving directory '/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4'
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.built
rm -rf /home/admin/openwrt-ag-client/tmp/stage-libwebsockets
mkdir -p /home/admin/openwrt-ag-client/tmp/stage-libwebsockets/host /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/packages /home/admin/openwrt-ag-client/staging_dir/host/packages
install -d -m0755 /home/admin/openwrt-ag-client/tmp/stage-libwebsockets
cp -fpR /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/* /home/admin/openwrt-ag-client/tmp/stage-libwebsockets/
find /home/admin/openwrt-ag-client/tmp/stage-libwebsockets -name '*.la' | xargs -r rm -f;
if [ -f /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/packages/libwebsockets.full.list ]; then /home/admin/openwrt-ag-client/scripts/clean-package.sh "/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/packages/libwebsockets.full.list" "/home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl"; fi
if [ -d /home/admin/openwrt-ag-client/tmp/stage-libwebsockets ]; then (cd /home/admin/openwrt-ag-client/tmp/stage-libwebsockets; find ./ > /home/admin/openwrt-ag-client/tmp/stage-libwebsockets.files); SHELL= flock /home/admin/openwrt-ag-client/tmp/.staging-dir.flock -c ' mv /home/admin/openwrt-ag-client/tmp/stage-libwebsockets.files /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/packages/libwebsockets.full.list && cp -fpR /home/admin/openwrt-ag-client/tmp/stage-libwebsockets/* /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/; '; fi
rm -rf /home/admin/openwrt-ag-client/tmp/stage-libwebsockets
touch /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/stamp/.libwebsockets.full_installed
mkdir -p /home/admin/openwrt-ag-client/bin/targets/ar71xx/generic/packages /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/CONTROL /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/pkginfo
install -d -m0755 /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/usr/lib
cp -fpR /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so* /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/usr/lib/
find /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
export CROSS="mips-openwrt-linux-musl-" NO_RENAME=1 ; NM="mips-openwrt-linux-musl-nm" STRIP="/home/admin/openwrt-ag-client/staging_dir/host/bin/sstrip" STRIP_KMOD="/home/admin/openwrt-ag-client/scripts/strip-kmod.sh" PATCHELF="/home/admin/openwrt-ag-client/staging_dir/host/bin/patchelf" /home/admin/openwrt-ag-client/scripts/rstrip.sh /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full
rstrip.sh: /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/usr/lib/libwebsockets.so.15: shared object
(cd /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo "[ -x "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo "[ -x "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm; )
install -d -m0755 /home/admin/openwrt-ag-client/bin/packages/mips_24kc/packages
/home/admin/openwrt-ag-client/scripts/ipkg-build -c -o 0 -g 0 /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full /home/admin/openwrt-ag-client/bin/packages/mips_24kc/packages
Packaged contents of /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full into /home/admin/openwrt-ag-client/bin/packages/mips_24kc/packages/libwebsockets-full_70bb1ef4-1_mips_24kc.ipk
rm -rf /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full.installed /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full
mkdir -p /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full
install -d -m0755 /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full/usr/lib
cp -fpR /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so* /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full/usr/lib/
touch /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full.installed
mkdir -p /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/root-ar71xx/stamp
SHELL= flock /home/admin/openwrt-ag-client/tmp/.root-copy.flock -c 'cp -fpR /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full/. /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/root-ar71xx/'
touch /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/root-ar71xx/stamp/.libwebsockets-full_installed
echo "libwebsockets-full" >> /home/admin/openwrt-ag-client/staging_dir/target-mips_24kc_musl/pkginfo/libwebsockets.full.install
make[2]: Leaving directory '/home/admin/openwrt-ag-client/feeds/packages/libs/libwebsockets'
time: package/feeds/packages/libwebsockets/full/compile#63.60#9.56#79.14
make[1]: Leaving directory '/home/admin/openwrt-ag-client'
Yes I'm not doubting you built what you think you built. But it was installed here
/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
Your strings are coming from
readelf -d /usr/lib/libwebsockets.so.15
are those actually the same file?
Yes I'm not doubting you built what you think you built. But it was installed here
/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
Your strings are coming from
readelf -d /usr/lib/libwebsockets.so.15
are those actually the same file?
/home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/
is the path where the packages are built and cross compiled for different hardware. usr/lib/libwebsockets.so.15
is where it is placed to be installed in the "package". Openwrt uses opkg which is a simple package manager.
Yes, they are the same file.
Right... but are they the same, eg, sha1sum?
Here
$ strings /usr/local/lib/libwebsockets.so.15 | grep connect-src
default-src 'none'; img-src 'self' data: ; script-src 'self'; font-src 'self'; style-src 'self'; connect-src 'self' ws: wss:; frame-ancestors 'none'; base-uri 'none';form-action 'self';
Your dump above shows something older
We are not going to normalize a checksum of a compiled program, but yes they are the same file.
The buildroot of openwrt builds all the packages for the entire distribution and provides an image you can flash to the hardware using the bootloader.
Also you can tell that it's a different build than the first on this issue from the strace output, it's different (especially the ssl keys) because the entire distro was rebuilt.
We are not going to normalize a checksum of a compiled program,
No it actually should be the same file... not if I build it and you build it, but if you build it for the packaging, and you install that package, that is exactly what should be installed from the package. Unless something strange about openwrt in that regard.
The reason I am saying it is because the tree you mention includes this from a few days ago
Your strings you dumped show the old string from that change, not the new one. This implies something is / was wrong somewhere.
I know that, I am just saying a checksum on a compiled file while talking about compiling source code is a bad idea.
Hmmm no, using a hash to verify that the same binary is in both the destination and the source places is a very good idea. Eg, rpm includes this (-V) for decades so you can find out which packaged files have been changed since install.
Hmmm no, using a hash to verify that the same binary is in both the destination and the source places is a very good idea. Eg, rpm includes this (-V) for decades so you can find out which packaged files have been changed since install.
The sums are different, you are correct, I'll figure out why.
Go talk to the guys who build compilers, they'll be like well people are changing compiler flags and expecting checksums to be the same at the best of times and they are compiling on different architectures expecting the same checksums at the worst of times!
Go talk to the guys who build compilers
Sure, but we're not talking about that... you built the lib to be packaged. Then, the binary you built should be exactly the one installed by the packaged produced by that build + package action. There is not any room for building it a second time producing different results at the installed copy. You built it, captured the build results in a package and installed the package. The binary you built for that and the installed binary must match then.
Go talk to the guys who build compilers
Sure, but we're not talking about that... you built the lib to be packaged. Then, the binary you built should be exactly the one installed by the packaged produced by that build + package action. There is not any room for building it a second time producing different results at the installed copy. You built it, captured the build results in a package and installed the package. The binary you built for that and the installed binary must match then.
This is not true, I am actually building the entire distro each iteration and all the packages are built with it then installed to an image (not via the package manager fyi).
Also, I can checksum the image and be sure of it.
Well, OK. It's the same thing though... if you didn't rebuild anything inbetweentimes, what you built and what is in the installed firmware MUST match... there's still no room in the flow for a second build that would be different. It's a different topic than general deterministic results between different builds.
Unfortunately I don't have any idea what went wrong except you can use the string as a canary to see if it's the new stuff or not.
admin@dev:~/openwrt-ag-client$ make -j3
make[1] world
make[2] package/cleanup
make[2] target/compile
make[3] -C target/linux compile
make[2] buildinfo
make[2] package/compile
make[3] diffconfig buildversion feedsversion
make[3] -C package/libs/libjson-c host-compile
make[3] -C package/libs/toolchain compile
make[3] -C package/libs/ncurses host-compile
make[3] -C package/system/fwtool host-compile
make[3] -C package/system/usign host-compile
make[3] -C package/system/openwrt-keyring compile
make[3] -C feeds/packages/libs/libcap compile
make[3] -C package/libs/mbedtls compile
make[3] -C feeds/packages/libs/libuv compile
make[3] -C package/libs/openssl compile
make[3] -C package/libs/gettext compile
make[3] -C package/libs/libiconv compile
make[3] -C package/devel/strace compile
make[3] -C feeds/packages/net/fping compile
make[3] -C feeds/packages/net/ntpclient compile
make[3] -C package/libs/uclibc++ compile
make[3] -C feeds/packages/utils/zoneinfo compile
make[3] -C package/firmware/wireless-regdb compile
make[3] -C package/kernel/gpio-button-hotplug compile
make[3] -C package/firmware/b43legacy-firmware compile
make[3] -C package/libs/libtool compile
make[3] -C package/libs/libpcap compile
make[3] -C package/network/services/dropbear compile
make[3] -C package/system/ca-certificates compile
make[3] -C package/network/utils/tcpdump compile
make[3] -C package/libs/libubox host-compile
make[3] -C package/libs/libnl-tiny compile
make[3] -C package/libs/libjson-c compile
make[3] -C package/utils/lua compile
make[3] -C package/firmware/linux-firmware compile
make[3] -C package/firmware/prism54-firmware compile
make[3] -C package/libs/zlib compile
make[3] -C package/system/fwtool compile
make[3] -C package/system/ucert host-compile
make[3] -C feeds/packages/libs/libwebsockets compile
make[3] -C package/devel/binutils compile
make[3] -C feeds/packages/libs/pcre compile
make[3] -C package/libs/wolfssl compile
make[3] -C package/network/utils/iw compile
make[3] -C package/libs/libevent2 compile
make[3] -C package/network/utils/curl compile
make[3] -C package/system/opkg host-compile
make[3] -C package/libs/libubox compile
make[3] -C package/kernel/linux compile
make[3] -C package/libs/ncurses compile
make[3] -C package/utils/jsonfilter compile
make[3] -C package/system/usign compile
make[3] -C package/collect-client compile
make[3] -C feeds/packages/net/wget compile
make[3] -C package/libs/ustream-ssl compile
make[3] -C package/network/utils/iptables compile
make[3] -C package/network/ipv6/odhcp6c compile
make[3] -C package/network/services/lldpd compile
make[3] -C package/system/mtd compile
make[3] -C package/system/urngd compile
make[3] -C package/utils/busybox compile
make[3] -C package/system/ubus compile
make[3] -C package/system/uci compile
make[3] -C package/utils/util-linux compile
make[3] -C feeds/packages/utils/procps-ng compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/libs/readline compile
make[3] -C package/libs/uclient compile
make[3] -C package/network/config/firewall compile
make[3] -C package/network/config/swconfig compile
make[3] -C package/network/services/dnsmasq compile
make[3] -C package/network/services/odhcpd compile
make[3] -C package/network/utils/iwinfo compile
make[3] -C package/network/config/netifd compile
make[3] -C package/system/ubox compile
make[3] -C package/kernel/mac80211 compile
make[3] -C package/network/utils/rssileds compile
make[3] -C package/system/urandom-seed compile
make[3] -C package/system/procd compile
make[3] -C package/system/fstools compile
make[3] -C package/base-files compile
make[3] -C package/boot/uboot-envtools compile
make[2] package/install
make[2] target/install
make[3] -C target/linux install
make[2] package/index
make[2] checksum
It is really strange that I install the OS image and the library is different.
That's like someone stealing your screwdrivers out of your toolbox! Nobody agrees with that!
Here we go.
admin@dev:~/openwrt-ag-client$ make -j3
time: target/linux/prereq#0.41#0.02#0.82
make[1] world
make[2] package/cleanup
make[2] target/compile
make[3] -C target/linux compile
make[2] buildinfo
make[2] package/compile
make[3] diffconfig buildversion feedsversion
make[3] -C package/libs/libjson-c host-compile
make[3] -C package/libs/toolchain compile
make[3] -C package/libs/ncurses host-compile
make[3] -C package/system/fwtool host-compile
make[3] -C package/system/usign host-compile
make[3] -C package/system/openwrt-keyring compile
make[3] -C feeds/packages/libs/libcap compile
make[3] -C feeds/packages/libs/libuv compile
make[3] -C package/libs/mbedtls compile
make[3] -C package/libs/openssl compile
make[3] -C package/libs/gettext compile
make[3] -C package/libs/libiconv compile
make[3] -C package/devel/strace compile
make[3] -C feeds/packages/net/fping compile
make[3] -C feeds/packages/net/ntpclient compile
make[3] -C package/libs/uclibc++ compile
make[3] -C feeds/packages/utils/zoneinfo compile
make[3] -C package/firmware/wireless-regdb compile
make[3] -C package/kernel/gpio-button-hotplug compile
make[3] -C package/firmware/b43legacy-firmware compile
make[3] -C package/libs/libtool compile
make[3] -C package/libs/libpcap compile
make[3] -C package/network/services/dropbear compile
make[3] -C package/system/ca-certificates compile
make[3] -C package/network/utils/tcpdump compile
make[3] -C package/libs/libubox host-compile
make[3] -C package/libs/libnl-tiny compile
make[3] -C package/libs/libjson-c compile
make[3] -C package/utils/lua compile
make[3] -C package/firmware/linux-firmware compile
make[3] -C package/firmware/prism54-firmware compile
make[3] -C package/libs/zlib compile
make[3] -C package/system/fwtool compile
make[3] -C package/system/ucert host-compile
make[3] -C feeds/packages/libs/pcre compile
make[3] -C package/libs/wolfssl compile
make[3] -C package/network/utils/iw compile
make[3] -C package/libs/libevent2 compile
make[3] -C package/network/utils/curl compile
make[3] -C package/system/opkg host-compile
make[3] -C package/libs/libubox compile
make[3] -C package/kernel/linux compile
make[3] -C package/libs/ncurses compile
make[3] -C package/utils/jsonfilter compile
make[3] -C package/system/usign compile
make[3] -C feeds/packages/libs/libwebsockets compile
make[3] -C package/devel/binutils compile
make[3] -C feeds/packages/utils/procps-ng compile
make[3] -C feeds/packages/net/wget compile
make[3] -C package/libs/readline compile
make[3] -C package/libs/ustream-ssl compile
make[3] -C package/network/utils/iptables compile
make[3] -C package/network/ipv6/odhcp6c compile
make[3] -C package/network/services/lldpd compile
make[3] -C package/system/mtd compile
make[3] -C package/system/urngd compile
make[3] -C package/utils/busybox compile
make[3] -C package/system/ubus compile
make[3] -C package/system/uci compile
make[3] -C package/utils/util-linux compile
make[3] -C package/collect-client compile
make[3] -C package/network/services/hostapd compile
make[3] -C package/libs/uclient compile
make[3] -C package/network/config/firewall compile
make[3] -C package/network/config/swconfig compile
make[3] -C package/network/services/dnsmasq compile
make[3] -C package/network/services/odhcpd compile
make[3] -C package/network/utils/iwinfo compile
make[3] -C package/network/config/netifd compile
make[3] -C package/system/ubox compile
make[3] -C package/kernel/mac80211 compile
make[3] -C package/network/utils/rssileds compile
make[3] -C package/system/urandom-seed compile
make[3] -C package/system/procd compile
make[3] -C package/system/fstools compile
make[3] -C package/boot/uboot-envtools compile
make[3] -C package/base-files compile
make[2] package/install
make[2] target/install
make[3] -C target/linux install
make[2] package/index
make[2] checksum
admin@dev:~/openwrt-ag-client$ md5sum bin/targets/ar71xx/generic/
config.buildinfo openwrt-ar71xx-generic-ubnt-nano-m-squashfs-factory.bin openwrt-ar71xx-generic-uImage-lzma.bin
feeds.buildinfo openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin openwrt-ar71xx-generic-vmlinux.bin
openwrt-ar71xx-generic.manifest openwrt-ar71xx-generic-ubnt-nano-m-xw-squashfs-factory.bin openwrt-ar71xx-generic-vmlinux.elf
openwrt-ar71xx-generic-root.squashfs openwrt-ar71xx-generic-ubnt-nano-m-xw-squashfs-sysupgrade.bin openwrt-ar71xx-generic-vmlinux.lzma
openwrt-ar71xx-generic-ubnt-air-gateway-pro-squashfs-factory.bin openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin openwrt-ar71xx-generic-vmlinux-lzma.elf
openwrt-ar71xx-generic-ubnt-air-gateway-pro-squashfs-sysupgrade.bin openwrt-ar71xx-generic-ubnt-unifiac-mesh-pro-squashfs-sysupgrade.bin packages/
openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-factory.bin openwrt-ar71xx-generic-ubnt-unifiac-mesh-squashfs-sysupgrade.bin sha256sums
openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin openwrt-ar71xx-generic-ubnt-unifiac-pro-squashfs-sysupgrade.bin version.buildinfo
admin@dev:~/openwrt-ag-client$ md5sum bin/targets/ar71xx/generic/openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin
99bcd420f09b8f1b61031a5683cbbd2c bin/targets/ar71xx/generic/openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin
root@OpenWrt:/tmp# md5sum openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin
99bcd420f09b8f1b61031a5683cbbd2c openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin
root@OpenWrt:/tmp# sysupgrade -n openwrt-ar71xx-generic-ubnt-air-gateway-squashfs-sysupgrade.bin
Image metadata not found
Commencing upgrade. Closing all shell sessions.
Connection to 192.168.1.1 closed by remote host.
Connection to 192.168.1.1 closed.
So we are certain it's the same OS image, now to check the md5sum of the lws library.
admin@dev:~/openwrt-ag-client$ md5sum /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
1237ac1ba35620f77b93dfef4657df43 /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
admin@dev:~/openwrt-ag-client$ strings /home/admin/openwrt-ag-client/build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15|grep connect-src
default-src 'none'; img-src 'self' data: ; script-src 'self'; font-src 'self'; style-src 'self'; connect-src 'self' ws: wss:; frame-ancestors 'none'; base-uri 'none';form-action 'self';
root@OpenWrt:~# md5sum /usr/lib/libwebsockets.so.15
7b9808a7d21f755ea4391eba01f1cf99 /usr/lib/libwebsockets.so.15
root@OpenWrt:~# strings /usr/lib/libwebsockets.so.15 |grep wss
default-src 'none'; img-src 'self' data: ; script-src 'self'; font-src 'self'; style-src 'self'; connect-src 'self' ws: wss:; frame-ancestors 'none'; base-uri 'none';form-action 'self';
lwsss
root@OpenWrt:~# strings /usr/lib/libwebsockets.so.15 |grep connect-src
default-src 'none'; img-src 'self' data: ; script-src 'self'; font-src 'self'; style-src 'self'; connect-src 'self' ws: wss:; frame-ancestors 'none'; base-uri 'none';form-action 'self';
So it looks like the lib has different md5sums on the host building the code and the host running the code. It's likely that the host building the code stores that file in a different location and we are using the wrong one.
The good thing, and probably step out of this normalized routine of openwrt shenanigans rather than documentation is that strings is showing that it's the newer code!
The strace is different now too.
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
sendto(7, "\2467\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47
sendto(7, "\275v\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47
poll([{fd=7, events=POLLIN}], 1, 2500) = 1 ([{fd=7, revents=POLLIN}])
recvfrom(7, "\2467\201\200\0\1\0\1\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 63
recvfrom(7, "\275v\201\200\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 47
close(7) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_IP) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0
fcntl64(7, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0
connect(7, {sa_family=AF_INET, sin_port=htons(8550), sin_addr=inet_addr("18.237.74.173")}, 16) = -1 EINPROGRESS (Operation in progress)
I am still getting the same problem though [2020/01/02 15:11:22:4240] E: CLIENT_CONNECTION_ERROR: closed before established
Well all the other mysteries are out of scope for me... lws doesn't have a way to cause trouble for the larger firmware build AFAIK. It just builds itself.
connect(7, {sa_family=AF_INET, sin_port=htons(8550), sin_addr=inet_addr("18.237.74.173")}, 16) = -1 EINPROGRESS (Operation in progress)
So this is solved compared to v3.2, right? It's AF_INET.
[2020/01/02 15:11:22:4240] E: CLIENT_CONNECTION_ERROR: closed before established
The interesting things will be either logging at the server side and / or lws logging... you can increase the lws verbosity by building with -DCMAKE_BUILD_TYPE=DEBUG and setting the logging bitmap in your app to show more (1039 and 1151 are useful verbosities).
Here was the "other mystery", the buildroot builds for many architectures at once:
admin@dev:~/openwrt-ag-client$ find ./ |grep libwebsockets.so.15
./staging_dir/target-mips_24kc_musl/usr/lib/libwebsockets.so.15
./staging_dir/target-mips_24kc_musl/root-ar71xx/usr/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-install/usr/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/.pkgdir/libwebsockets-full/usr/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/libwebsockets-full/libwebsockets-70bb1ef4/ipkg-mips_24kc/libwebsockets-full/usr/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/root-ar71xx/usr/lib/libwebsockets.so.15
./build_dir/target-mips_24kc_musl/root.orig-ar71xx/usr/lib/libwebsockets.so.15
admin@dev:~/openwrt-ag-client$ md5sum ./build_dir/target-mips_24kc_musl/root-ar71xx/usr/lib/libwebsockets.so.15
7b9808a7d21f755ea4391eba01f1cf99 ./build_dir/target-mips_24kc_musl/root-ar71xx/usr/lib/libwebsockets.so.15
admin@dev:~/openwrt-ag-client$ md5sum ./staging_dir/target-mips_24kc_musl/usr/lib/libwebsockets.so.15
1237ac1ba35620f77b93dfef4657df43 ./staging_dir/target-mips_24kc_musl/usr/lib/libwebsockets.so.15
Well all the other mysteries are out of scope for me... lws doesn't have a way to cause trouble for the larger firmware build AFAIK. It just builds itself.
connect(7, {sa_family=AF_INET, sin_port=htons(8550), sin_addr=inet_addr("18.237.74.173")}, 16) = -1 EINPROGRESS (Operation in progress)
So this is solved compared to v3.2, right? It's AF_INET.
[2020/01/02 15:11:22:4240] E: CLIENT_CONNECTION_ERROR: closed before established
The interesting things will be either logging at the server side and / or lws logging... you can increase the lws verbosity by building with -DCMAKE_BUILD_TYPE=DEBUG and setting the logging bitmap in your app to show more (1039 and 1151 are useful verbosities).
It seems that I am using the latest lws code.
What's strange is that if I run this code on x86 it works just fine, but when I try to run it on MIPS, LWS exhibits this behavior with connect()
I'll rebuild it with -DCMAKE_BUILD_TYPE=DEBUG and post the output.
I do not know what the "logging bitmap" in my app is. I am practically just using the LWS example client at this point.
I see, but if it doesn't reuse the build dir, it just means you have to take care to compare to and use the right build dir.
AFAICT the connect() is ok. It looks like the peer hangs up on it. Lws should be ok for big-endian, but all the CI is little-endian.
You can use, eg, lws_set_log_level(logs, NULL);
to set verbosity, where logs is 1031 by default, 1039 adds INFO and 1151 adds DEBUG and other parsing logging. Setting it just before creating the context should be good.
Also to note, on the server side there is no activity.
In other words, the server prints a message as soon as a client even attempts to make an UPGRADE request over http as well as when there is a socket connection. The client is not even attempting to connect.
If I curl https://domain.tld:PORT from the device, it works fine and as I said before the same code running on an x86 machine works great as a wss client.
I see, but if it doesn't reuse the build dir, it just means you have to take care to compare to and use the right build dir.
AFAICT the connect() is ok. It looks like the peer hangs up on it. Lws should be ok for big-endian, but all the CI is little-endian.
You can use, eg,
lws_set_log_level(logs, NULL);
to set verbosity, where logs is 1031 by default, 1039 adds INFO and 1151 adds DEBUG and other parsing logging. Setting it just before creating the context should be good.
I set it to LLL_DEBUG and the code is rebuilding.
LLL_DEBUG is one bit in a bitfield, you want 1151
LLL_DEBUG is one bit in a bitfield, you want 1151
Why not define the constants, writing a number in there is no good!
There are constants to OR together. But why should I sit here and do that in the comments?
There are constants to OR together. But why should I sit here and do that in the comments?
I know it's just as a dev using bitwise operations is so rare that I have to look it up every time.
I get that it's nice this way from your perspective because there's a compile flag for log levels above normal.
I just doubt many people would figure that out, that's all. Good thing we are documenting it here.
It's all over the minimal examples
int n = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE
/* for LLL_ verbosity above NOTICE to be built into lws,
* lws must have been configured and built with
* -DCMAKE_BUILD_TYPE=DEBUG instead of =RELEASE */
/* | LLL_INFO */ /* | LLL_PARSER */ /* | LLL_HEADER */
/* | LLL_EXT */ /* | LLL_CLIENT */ /* | LLL_LATENCY */
/* | LLL_DEBUG */;
Most people seem to manage to 'figure it out'.
It's all over the minimal examples
int n = 0, logs = LLL_USER | LLL_ERR | LLL_WARN | LLL_NOTICE /* for LLL_ verbosity above NOTICE to be built into lws, * lws must have been configured and built with * -DCMAKE_BUILD_TYPE=DEBUG instead of =RELEASE */ /* | LLL_INFO */ /* | LLL_PARSER */ /* | LLL_HEADER */ /* | LLL_EXT */ /* | LLL_CLIENT */ /* | LLL_LATENCY */ /* | LLL_DEBUG */;
Most people seem to manage to 'figure it out'.
Sure but, lws_set_log_level(LLL_DEBUG)
seems nicer, is understandable, and provides cleaner code. You are already defining the bit operator constants and the compiler flag being required for logging more than NOTICE would still be possible.
I mean, I gave it all to you when I taught you 1 and 0!
Sometimes you want different mixes of verbosity, eg, just USER and ERR, or the default plus EXT. And sometimes you want to provide a different emit function, hence the second arg.
I think having high standards is good, I look forward to you applying them to your own code.
Here's the output:
[2020/01/02 15:46:06:0258] I: Initial logging level 1151
[2020/01/02 15:46:06:0273] I: Libwebsockets version: 3.2.99 reboot-11651-g487e0631d0
[2020/01/02 15:46:06:0297] I: IPV6 compiled in and enabled
[2020/01/02 15:46:06:0312] I: LWS_DEF_HEADER_LEN : 4096
[2020/01/02 15:46:06:0328] I: LWS_MAX_SMP : 1
[2020/01/02 15:46:06:0343] I: sizeof (*info) : 416
[2020/01/02 15:46:06:0358] I: SYSTEM_RANDOM_FILEPATH: '/dev/urandom'
[2020/01/02 15:46:06:0374] I: HTTP2 support : available
[2020/01/02 15:46:06:0390] D: _realloc: size 6944: context
[2020/01/02 15:46:06:0409] I: context created
[2020/01/02 15:46:06:0422] I: Using event loop: poll
[2020/01/02 15:46:06:0438] I: Default ALPN advertisment: h2,http/1.1
[2020/01/02 15:46:06:0453] I: default timeout (secs): 20
[2020/01/02 15:46:06:0470] I: Threads: 1 each 5 fds
[2020/01/02 15:46:06:0485] I: mem: context: 6384 B (2288 ctx + (1 thr x 4096))
[2020/01/02 15:46:06:0510] I: mem: http hdr size: (4096 + 952), max count 5
[2020/01/02 15:46:06:0533] D: _realloc: size 40: fds table
[2020/01/02 15:46:06:0548] I: mem: pollfd map: 40 B
[2020/01/02 15:46:06:0564] D: _realloc: size 20: lws_lookup
[2020/01/02 15:46:06:0580] I: mem: platform fd map: 20 B
[2020/01/02 15:46:06:0598] D: _realloc: size 560: event pipe wsi
[2020/01/02 15:46:06:0612] D: lws_role_transition: 0x77c54c70: wsistate 0x200, ops pipe
[2020/01/02 15:46:06:0637] D: event pipe fd 5
[2020/01/02 15:46:06:0652] D: __insert_wsi_socket_into_fds: 0x77c54c70: tsi=0, sock=5, pos-in-fds=0
[2020/01/02 15:46:06:0677] I: Compiled with OpenSSL support
[2020/01/02 15:46:06:0692] I: Doing SSL library init
[2020/01/02 15:46:06:1012] I: canonical_hostname = OpenWrt
[2020/01/02 15:46:06:1025] D: _realloc: size 600: create vhost
[2020/01/02 15:46:06:1041] D: _realloc: size 56: vhost-specific plugin table
[2020/01/02 15:46:06:1078] D: _realloc: size 12: same vh list
[2020/01/02 15:46:06:1094] I: Creating Vhost 'default' (serving disabled), 1 protocols, IPv6 on
[2020/01/02 15:46:06:1148] D: _realloc: size 56: client ctx tcr
[2020/01/02 15:46:06:1162] I: lws_tls_client_create_vhost_context: vh default: created new client ctx 0
[2020/01/02 15:46:06:4108] I: created client ssl context for default
[2020/01/02 15:46:06:4123] I: mem: per-conn: 560 bytes + protocol rx buf
[2020/01/02 15:46:06:4149] I: lws_plat_drop_app_privileges: not changing group
[2020/01/02 15:46:06:4174] I: lws_plat_drop_app_privileges: not changing user
[2020/01/02 15:46:06:4198] I: lws_cancel_service
[2020/01/02 15:46:06:4213] I: lws_protocol_init
[2020/01/02 15:46:06:4228] D: _realloc: size 560: client wsi
[2020/01/02 15:46:06:4244] I: lws_vhost_bind_wsi: vh default: count_bound_wsi 1
[2020/01/02 15:46:06:4270] D: _realloc: size 176: client ws struct
[2020/01/02 15:46:06:4284] D: lws_role_transition: 0xbf66e0: wsistate 0x10000200, ops h1
[2020/01/02 15:46:06:4308] I: lws_client_connect_via_info: role binding to h1
[2020/01/02 15:46:06:4333] I: lws_client_connect_via_info: protocol binding to ws-basic
[2020/01/02 15:46:06:4355] D: lws_ensure_user_space: 0xbf66e0 protocol pss 0, user_space=0
[2020/01/02 15:46:06:4380] I: lws_client_connect_via_info: wsi 0xbf66e0: h1 ws-basic entry
[2020/01/02 15:46:06:4399] D: _realloc: size 139: client stash
[2020/01/02 15:46:06:4414] I: lws_header_table_attach: wsi 0xbf66e0: ah 0 (tsi 0, count = 0) in
[2020/01/02 15:46:06:4437] D: _realloc: size 952: ah struct
[2020/01/02 15:46:06:4453] D: _realloc: size 4096: ah data
[2020/01/02 15:46:06:4472] I: _lws_create_ah: created ah 0xbf6920 (size 4096): pool length 1
[2020/01/02 15:46:06:4495] I: lws_header_table_attach: did attach wsi 0xbf66e0: ah 0xbf6920: count 1 (on exit)
[2020/01/02 15:46:06:4512] D: __lws_set_timeout: 0xbf66e0: 10 secs, reason 25
[2020/01/02 15:46:06:4528] D: lws_http_client_connect_via_info2: 0xbf66e0 (stash 0xbcea50)
[2020/01/02 15:46:06:4553] D: lws_client_connect_2_dnsreq: new conn on no pipeline flag
[2020/01/02 15:46:06:4572] D: _realloc: size 30: strdup
[2020/01/02 15:46:06:4585] D: lwsi_set_state(0xbf66e0, 0x10000201)
[2020/01/02 15:46:06:4601] I: lws_client_connect_2_dnsreq: 0xbf66e0: lookup dev.sundialcommunications.com:8550
[2020/01/02 15:46:06:5204] D: lws_client_connect_3_connect: result 0xb877d0 result->ai_next 0
[2020/01/02 15:46:06:5227] I: lws_client_connect_3_connect: dev.sundialcommunications.com ipv4 18.237.74.173
[2020/01/02 15:46:06:5250] D: lws_client_connect_3_connect: 0xbf66e0: WAITING_CONNECT
[2020/01/02 15:46:06:5274] D: lwsi_set_state(0xbf66e0, 0x10000202)
[2020/01/02 15:46:06:5290] D: __insert_wsi_socket_into_fds: 0xbf66e0: tsi=0, sock=7, pos-in-fds=1
[2020/01/02 15:46:06:5307] D: _lws_change_pollfd: wsi 0xbf66e0: fd 7 events 1 -> 1
[2020/01/02 15:46:06:5326] D: __lws_set_timeout: 0xbf66e0: 20 secs, reason 2
[2020/01/02 15:46:06:5353] D: lws_client_connect_3_connect: connect says errno: 150
[2020/01/02 15:46:06:5379] D: _lws_change_pollfd: wsi 0xbf66e0: fd 7 events 1 -> 5
[2020/01/02 15:46:06:5403] D: lws_client_connect_via_info: wsi 0xbf66e0: cb 19 to h1 ws-basic
[2020/01/02 15:46:26:5427] D: _lws_state_transition: system: changed 1 'CONTEXT_CREATED' -> 2 'INITIALIZED'
[2020/01/02 15:46:26:5433] D: _lws_state_transition: system: changed 2 'INITIALIZED' -> 3 'IFACE_COLDPLUG'
[2020/01/02 15:46:26:5439] D: _lws_state_transition: system: changed 3 'IFACE_COLDPLUG' -> 4 'DHCP'
[2020/01/02 15:46:26:5444] D: _lws_state_transition: system: changed 4 'DHCP' -> 5 'TIME_VALID'
[2020/01/02 15:46:26:5450] D: _lws_state_transition: system: changed 5 'TIME_VALID' -> 6 'POLICY_VALID'
[2020/01/02 15:46:26:5455] D: _lws_state_transition: system: changed 6 'POLICY_VALID' -> 7 'REGISTERED'
[2020/01/02 15:46:26:5460] D: _lws_state_transition: system: changed 7 'REGISTERED' -> 8 'AUTH1'
[2020/01/02 15:46:26:5466] D: _lws_state_transition: system: changed 8 'AUTH1' -> 9 'AUTH2'
[2020/01/02 15:46:26:5503] D: _lws_state_transition: system: changed 9 'AUTH2' -> 10 'OPERATIONAL'
[2020/01/02 15:46:26:5528] I: lws_state_transition_steps: CONTEXT_CREATED -> OPERATIONAL
[2020/01/02 15:46:26:5552] I: wsi 0xbf66e0: TIMEDOUT WAITING on 2 (did hdr 0, ah 0xbf6920, wl 0)
[2020/01/02 15:46:26:5578] I: __lws_close_free_wsi: 0xbf66e0: caller: timeout
[2020/01/02 15:46:26:5604] E: CLIENT_CONNECTION_ERROR: closed before established
[2020/01/02 15:46:26:5626] D: __lws_close_free_wsi: real just_kill_connection: 0xbf66e0 (sockfd 7)
[2020/01/02 15:46:26:5652] D: lwsi_set_state(0xbf66e0, 0x10000020)
[2020/01/02 15:46:26:5666] D: __lws_close_free_wsi_final: wsi 0xbf66e0: fd 7
[2020/01/02 15:46:26:5695] I: rops_destroy_role_h1: ah det due to close
[2020/01/02 15:46:26:5713] I: __lws_header_table_detach: wsi 0xbf66e0: ah 0xbf6920 (tsi=0, count = 1)
[2020/01/02 15:46:26:5735] D: __lws_header_table_detach: wsi 0xbf66e0: ah held 20s, role/state 0x10000000 0x20,
[2020/01/02 15:46:26:5760] I: __lws_header_table_detach: nobody usable waiting
[2020/01/02 15:46:26:5778] I: _lws_destroy_ah: freed ah 0xbf6920 : pool length 0
[2020/01/02 15:46:26:5795] I: __lws_header_table_detach: wsi 0xbf66e0: ah 0xbf6920 (tsi=0, count = 0)
[2020/01/02 15:46:26:5817] I: lws_vhost_unbind_wsi: vh default: count_bound_wsi 0
[2020/01/02 15:46:26:5835] D: __lws_free_wsi: 0xbf66e0, remaining wsi 1, tsi fds count 1
pthread_cancel() returned 0
[2020/01/02 15:46:26:5869] I: lws_context_destroy: ctx 0xb3f010
[2020/01/02 15:46:26:5884] D: _lws_state_transition: system: changed 10 'OPERATIONAL' -> 11 'POLICY_INVALID'
[2020/01/02 15:46:26:5901] I: lws_destroy_event_pipe
[2020/01/02 15:46:26:5908] I: lws_vhost_destroy1
[2020/01/02 15:46:26:5923] I: lws_context_destroy2: ctx 0xb3f010
[2020/01/02 15:46:26:5938] I: __lws_vhost_destroy2: 0xb59900
[2020/01/02 15:46:26:6258] I: __lws_vhost_destroy2: Freeing vhost 0xb59900
[2020/01/02 15:46:26:6281] D: 0x77f2801c: post vh listl
[2020/01/02 15:46:26:6298] D: 0x77f2801c: post pdl
[2020/01/02 15:46:26:6320] D: 0x77f2801c: baggage
[2020/01/02 15:46:26:6336] D: 0x77f2801c: post dc2
[2020/01/02 15:46:26:6351] D: lws_context_destroy3
[2020/01/02 15:46:26:6367] I: lws_context_destroy3: ctx 0xb3f010 freed
lws client closed, restarting connection
I have a 20 second sleep after lws_client_connect_via_info()
and before the lws_service()
loop. Perhaps there's a timeout there, I'm rebuilding the code without that sleep now.
Yea wsi 0xbf66e0: TIMEDOUT WAITING on 2 (did hdr 0, ah 0xbf6920, wl 0)
Also to be fair, I put that sleep in when it was still trying to use AF_INET6 hoping that it just needed some time between those calls (last resort).
It is still doing the same thing without the sleep.
Here's the output:
[2020/01/02 15:54:23:9550] I: Initial logging level 1151
[2020/01/02 15:54:23:9562] I: Libwebsockets version: 3.2.99 reboot-11651-g487e0631d0
[2020/01/02 15:54:23:9586] I: IPV6 compiled in and enabled
[2020/01/02 15:54:23:9601] I: LWS_DEF_HEADER_LEN : 4096
[2020/01/02 15:54:23:9617] I: LWS_MAX_SMP : 1
[2020/01/02 15:54:23:9632] I: sizeof (*info) : 416
[2020/01/02 15:54:23:9649] I: SYSTEM_RANDOM_FILEPATH: '/dev/urandom'
[2020/01/02 15:54:23:9664] I: HTTP2 support : available
[2020/01/02 15:54:23:9682] D: _realloc: size 6944: context
[2020/01/02 15:54:23:9698] I: context created
[2020/01/02 15:54:23:9713] I: Using event loop: poll
[2020/01/02 15:54:23:9728] I: Default ALPN advertisment: h2,http/1.1
[2020/01/02 15:54:23:9743] I: default timeout (secs): 20
[2020/01/02 15:54:23:9761] I: Threads: 1 each 5 fds
[2020/01/02 15:54:23:9774] I: mem: context: 6384 B (2288 ctx + (1 thr x 4096))
[2020/01/02 15:54:23:9797] I: mem: http hdr size: (4096 + 952), max count 5
[2020/01/02 15:54:23:9823] D: _realloc: size 40: fds table
[2020/01/02 15:54:23:9838] I: mem: pollfd map: 40 B
[2020/01/02 15:54:23:9853] D: _realloc: size 20: lws_lookup
[2020/01/02 15:54:23:9869] I: mem: platform fd map: 20 B
[2020/01/02 15:54:23:9885] D: _realloc: size 560: event pipe wsi
[2020/01/02 15:54:23:9901] D: lws_role_transition: 0x77bb6c70: wsistate 0x200, ops pipe
[2020/01/02 15:54:23:9925] D: event pipe fd 5
[2020/01/02 15:54:23:9941] D: __insert_wsi_socket_into_fds: 0x77bb6c70: tsi=0, sock=5, pos-in-fds=0
[2020/01/02 15:54:23:9964] I: Compiled with OpenSSL support
[2020/01/02 15:54:23:9983] I: Doing SSL library init
[2020/01/02 15:54:24:0294] I: canonical_hostname = OpenWrt
[2020/01/02 15:54:24:0311] D: _realloc: size 600: create vhost
[2020/01/02 15:54:24:0326] D: _realloc: size 56: vhost-specific plugin table
[2020/01/02 15:54:24:0350] D: _realloc: size 12: same vh list
[2020/01/02 15:54:24:0366] I: Creating Vhost 'default' (serving disabled), 1 protocols, IPv6 on
[2020/01/02 15:54:24:0422] D: _realloc: size 56: client ctx tcr
[2020/01/02 15:54:24:0436] I: lws_tls_client_create_vhost_context: vh default: created new client ctx 0
[2020/01/02 15:54:24:3344] I: created client ssl context for default
[2020/01/02 15:54:24:3361] I: mem: per-conn: 560 bytes + protocol rx buf
[2020/01/02 15:54:24:3383] I: lws_plat_drop_app_privileges: not changing group
[2020/01/02 15:54:24:3408] I: lws_plat_drop_app_privileges: not changing user
[2020/01/02 15:54:24:3431] I: lws_cancel_service
[2020/01/02 15:54:24:3447] I: lws_protocol_init
[2020/01/02 15:54:24:3463] D: _realloc: size 560: client wsi
[2020/01/02 15:54:24:3478] I: lws_vhost_bind_wsi: vh default: count_bound_wsi 1
[2020/01/02 15:54:24:3504] D: _realloc: size 176: client ws struct
[2020/01/02 15:54:24:3518] D: lws_role_transition: 0xab26e0: wsistate 0x10000200, ops h1
[2020/01/02 15:54:24:3542] I: lws_client_connect_via_info: role binding to h1
[2020/01/02 15:54:24:3566] I: lws_client_connect_via_info: protocol binding to ws-basic
[2020/01/02 15:54:24:3589] D: lws_ensure_user_space: 0xab26e0 protocol pss 0, user_space=0
[2020/01/02 15:54:24:3617] I: lws_client_connect_via_info: wsi 0xab26e0: h1 ws-basic entry
[2020/01/02 15:54:24:3641] D: _realloc: size 139: client stash
[2020/01/02 15:54:24:3657] I: lws_header_table_attach: wsi 0xab26e0: ah 0 (tsi 0, count = 0) in
[2020/01/02 15:54:24:3682] D: _realloc: size 952: ah struct
[2020/01/02 15:54:24:3697] D: _realloc: size 4096: ah data
[2020/01/02 15:54:24:3716] I: _lws_create_ah: created ah 0xab2920 (size 4096): pool length 1
[2020/01/02 15:54:24:3743] I: lws_header_table_attach: did attach wsi 0xab26e0: ah 0xab2920: count 1 (on exit)
[2020/01/02 15:54:24:3768] D: __lws_set_timeout: 0xab26e0: 10 secs, reason 25
[2020/01/02 15:54:24:3784] D: lws_http_client_connect_via_info2: 0xab26e0 (stash 0xa8aa50)
[2020/01/02 15:54:24:3804] D: lws_client_connect_2_dnsreq: new conn on no pipeline flag
[2020/01/02 15:54:24:3826] D: _realloc: size 30: strdup
[2020/01/02 15:54:24:3841] D: lwsi_set_state(0xab26e0, 0x10000201)
[2020/01/02 15:54:24:3858] I: lws_client_connect_2_dnsreq: 0xab26e0: lookup dev.sundialcommunications.com:8550
[2020/01/02 15:54:24:3904] D: lws_client_connect_3_connect: result 0xa437d0 result->ai_next 0
[2020/01/02 15:54:24:3926] I: lws_client_connect_3_connect: dev.sundialcommunications.com ipv4 18.237.74.173
[2020/01/02 15:54:24:3951] D: lws_client_connect_3_connect: 0xab26e0: WAITING_CONNECT
[2020/01/02 15:54:24:3975] D: lwsi_set_state(0xab26e0, 0x10000202)
[2020/01/02 15:54:24:3990] D: __insert_wsi_socket_into_fds: 0xab26e0: tsi=0, sock=7, pos-in-fds=1
[2020/01/02 15:54:24:4010] D: _lws_change_pollfd: wsi 0xab26e0: fd 7 events 1 -> 1
[2020/01/02 15:54:24:4027] D: __lws_set_timeout: 0xab26e0: 20 secs, reason 2
[2020/01/02 15:54:24:4054] D: lws_client_connect_3_connect: connect says errno: 150
[2020/01/02 15:54:24:4078] D: _lws_change_pollfd: wsi 0xab26e0: fd 7 events 1 -> 5
[2020/01/02 15:54:24:4096] D: lws_client_connect_via_info: wsi 0xab26e0: cb 19 to h1 ws-basic
[2020/01/02 15:54:24:4125] D: _lws_state_transition: system: changed 1 'CONTEXT_CREATED' -> 2 'INITIALIZED'
[2020/01/02 15:54:24:4148] D: _lws_state_transition: system: changed 2 'INITIALIZED' -> 3 'IFACE_COLDPLUG'
[2020/01/02 15:54:24:4172] D: _lws_state_transition: system: changed 3 'IFACE_COLDPLUG' -> 4 'DHCP'
[2020/01/02 15:54:24:4196] D: _lws_state_transition: system: changed 4 'DHCP' -> 5 'TIME_VALID'
[2020/01/02 15:54:24:4215] D: _lws_state_transition: system: changed 5 'TIME_VALID' -> 6 'POLICY_VALID'
[2020/01/02 15:54:24:4232] D: _lws_state_transition: system: changed 6 'POLICY_VALID' -> 7 'REGISTERED'
[2020/01/02 15:54:24:4256] D: _lws_state_transition: system: changed 7 'REGISTERED' -> 8 'AUTH1'
[2020/01/02 15:54:24:4273] D: _lws_state_transition: system: changed 8 'AUTH1' -> 9 'AUTH2'
[2020/01/02 15:54:24:4299] D: _lws_state_transition: system: changed 9 'AUTH2' -> 10 'OPERATIONAL'
[2020/01/02 15:54:24:4322] I: lws_state_transition_steps: CONTEXT_CREATED -> OPERATIONAL
[2020/01/02 15:54:24:4339] I: wsi 0xab26e0: TIMEDOUT WAITING on 2 (did hdr 0, ah 0xab2920, wl 0)
[2020/01/02 15:54:24:4363] I: __lws_close_free_wsi: 0xab26e0: caller: timeout
[2020/01/02 15:54:24:4382] E: CLIENT_CONNECTION_ERROR: closed before established
[2020/01/02 15:54:24:4399] D: __lws_close_free_wsi: real just_kill_connection: 0xab26e0 (sockfd 7)
[2020/01/02 15:54:24:4424] D: lwsi_set_state(0xab26e0, 0x10000020)
[2020/01/02 15:54:24:4438] D: __lws_close_free_wsi_final: wsi 0xab26e0: fd 7
[2020/01/02 15:54:24:4457] I: rops_destroy_role_h1: ah det due to close
[2020/01/02 15:54:24:4471] I: __lws_header_table_detach: wsi 0xab26e0: ah 0xab2920 (tsi=0, count = 1)
[2020/01/02 15:54:24:4487] I: __lws_header_table_detach: nobody usable waiting
[2020/01/02 15:54:24:4512] I: _lws_destroy_ah: freed ah 0xab2920 : pool length 0
[2020/01/02 15:54:24:4529] I: __lws_header_table_detach: wsi 0xab26e0: ah 0xab2920 (tsi=0, count = 0)
[2020/01/02 15:54:24:4548] I: lws_vhost_unbind_wsi: vh default: count_bound_wsi 0
[2020/01/02 15:54:24:4564] D: __lws_free_wsi: 0xab26e0, remaining wsi 1, tsi fds count 1
pthread_cancel() returned 0
[2020/01/02 15:54:24:4596] I: lws_context_destroy: ctx 0x9fb010
[2020/01/02 15:54:24:4610] D: _lws_state_transition: system: changed 10 'OPERATIONAL' -> 11 'POLICY_INVALID'
[2020/01/02 15:54:24:4634] I: lws_destroy_event_pipe
[2020/01/02 15:54:24:4652] I: lws_vhost_destroy1
[2020/01/02 15:54:24:4665] I: lws_context_destroy2: ctx 0x9fb010
[2020/01/02 15:54:24:4680] I: __lws_vhost_destroy2: 0xa15900
[2020/01/02 15:54:24:5011] I: __lws_vhost_destroy2: Freeing vhost 0xa15900
[2020/01/02 15:54:24:5033] D: 0x77e8a01c: post vh listl
[2020/01/02 15:54:24:5049] D: 0x77e8a01c: post pdl
[2020/01/02 15:54:24:5064] D: 0x77e8a01c: baggage
[2020/01/02 15:54:24:5080] D: 0x77e8a01c: post dc2
[2020/01/02 15:54:24:5095] D: lws_context_destroy3
[2020/01/02 15:54:24:5112] I: lws_context_destroy3: ctx 0x9fb010 freed
lws client closed, restarting connection
So what could be the problem, the same code runs fine on x86 and connects to wss.
So:
[2020/01/02 15:54:24:4054] D: lws_client_connect_3_connect: connect says errno: 150
errno.h doesn't have an entry for decimal 150!
lws_client_connect_3_connect: connect says errno: 150
Seems connect() is sending an unusual errno... lws looks for
if (errno_copy != LWS_EALREADY &&
errno_copy != LWS_EINPROGRESS &&
errno_copy != LWS_EWOULDBLOCK
#ifdef _WIN32
&& errno_copy != WSAEINVAL
#endif
) {
These are 114/115/11 on Linux and work on android, osx, bsd, linux, windows... you'll need to see what happens if you add 150 to the mix on your platform.
This is 150 on Linux
EINPROGRESS
The socket is nonblocking and the connection cannot be
completed immediately. (UNIX domain sockets failed with
EAGAIN instead.) It is possible to select(2) or poll(2) for
completion by selecting the socket for writing. After
select(2) indicates writability, use getsockopt(2) to read the
SO_ERROR option at level SOL_SOCKET to determine whether
connect() completed successfully (SO_ERROR is zero) or
unsuccessfully (SO_ERROR is one of the usual error codes
listed here, explaining the reason for the failure).
And it looks like LWS doesn't do that.
Oh then you need to hack the definition of LWS_EINPROGRESS to be 150 on your platform. It should already be set to EINPROGRESS, but your platform seems to have that as something else.
https://libwebsockets.org/git/libwebsockets/tree/lib/plat/unix/private-lib-plat-unix.h#n135
Can you link me to the LWS code that does this then:
It is possible to select(2) or poll(2) for
completion by selecting the socket for writing. After
select(2) indicates writability, use getsockopt(2) to read the
SO_ERROR option at level SOL_SOCKET to determine whether
connect() completed successfully (SO_ERROR is zero) or
unsuccessfully (SO_ERROR is one of the usual error codes
listed here, explaining the reason for the failure).
And it looks like LWS doesn't do that.
At the link above, it says...
... I guess that is what applies for your platform
Can you link me to the LWS code that does this then:
I dunno why this feels like it's a competition but can I remind you I am sitting here trying to help you for free when I don't use openwrt myself...
Otherwise there's no point, obviously.
If the code isn't polling after it gets EINPROGRESS errno from connect()
then it is never going to work.
Here's an strace, I bolded the important parts.
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[RT_68 RT_70 RT_71 RT_73 RT_74 RT_75 RT_77 RT_79 RT_81 RT_83 RT_84 RT_86 RT_87 RT_88 RT_89 RT_90 RT_91 RT_93 RT_94 RT_95], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=NULL}, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=NULL}, 16) = 0 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=4*1024}) = 0 open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 4 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 pipe2([5, 6], O_NONBLOCK) = 0 getpid() = 1792 clock_gettime(CLOCK_BOOTTIME, {tv_sec=806, tv_nsec=921239425}) = 0 getpid() = 1792 getpid() = 1792 clock_gettime(CLOCK_BOOTTIME, {tv_sec=806, tv_nsec=930113942}) = 0 getpid() = 1792 getpid() = 1792 clock_gettime(CLOCK_BOOTTIME, {tv_sec=806, tv_nsec=934245716}) = 0 getpid() = 1792 getpid() = 1792 clock_gettime(CLOCK_BOOTTIME, {tv_sec=806, tv_nsec=937542694}) = 0 getpid() = 1792 getuid() = 0 geteuid() = 0 getgid() = 0 getegid() = 0 open("/etc/ssl/cert.pem", O_RDONLY|O_LARGEFILE) = 7 read(7, "-----BEGIN CERTIFICATE-----\nMIIH"..., 1024) = 1024 read(7, "xFwYIRKQ26ZIMApcQrAZQIDAQABo4ICy"..., 1024) = 1024 read(7, "gIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPN"..., 1024) = 1024 read(7, "AiIwDQYJKoZIhvcNAQEBBQADggIPADCC"..., 1024) = 1024 read(7, "8B1\nRXxlDPiyN8+sD8+Nb/kZ94/sHvJw"..., 1024) = 1024 read(7, "eQWN0YWxpcyBBdXRoZW50aWNhdGlvbiB"..., 1024) = 1024 read(7, "msGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4l"..., 1024) = 1024 read(7, "AGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYW"..., 1024) = 1024 read(7, "sxOBi0cQ+azcgOno4uG+GMmIPLHzHxRE"..., 1024) = 1024 read(7, "d6M06uJFdhrJNTxFq7YpFzUf1GO7RgBs"..., 1024) = 1024 read(7, "HQ4EFgQUBx/S55zawm6i\nQLSwelAQUHT"..., 1024) = 1024 read(7, "8rNrS\ns8PhaJyJ+HoAVt70VZVs+7pk3W"..., 1024) = 1024 read(7, "k4gmVBtWVyuEklut89pMF\nu+1z6S3RdT"..., 1024) = 1024 read(7, "W+uZPpY5Yse42O+tYHNbwKMeQ==\n----"..., 1024) = 1024 read(7, "E6V/Uq2V8viTO96LXFvKWlJbYK8U90vv"..., 1024) = 1024 read(7, "j\nmUyl+17vIWR6IF9sZIUVyzfpYgwLKh"..., 1024) = 1024 read(7, "H+fO6AgonB8Xx1sfT\n4PsJYGw=\n-----"..., 1024) = 1024 read(7, "BBAAiA2IABNKrijdPo1MN/sGKe0uoe0Z"..., 1024) = 1024 read(7, "nezG8HDt0L\ncp2AMBYHlT8oDv3FdU9T1"..., 1024) = 1024 read(7, "DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO"..., 1024) = 1024 read(7, "wBl\nAGwAbwBuAGEAIAAwADgAMAAxADcw"..., 1024) = 1024 read(7, "LMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJ"..., 1024) = 1024 read(7, "N CERTIFICATE-----\nMIIFWTCCA0GgA"..., 1024) = 1024 read(7, "71bbRuMGjeyNYmsHVee7QHIJihdjK4TW"..., 1024) = 1024 read(7, "AMMF0J1eXBhc3Mg\nQ2xhc3MgMyBSb290"..., 1024) = 1024 read(7, "jANBgkqhkiG9w0BAQsFAAOCAgEAACAj\n"..., 1024) = 1024 read(7, "YXRpc2xhdmEx\nEzARBgNVBAoTCkRpc2l"..., 1024) = 1024 read(7, "bYVybqjGom32+nNjf7xueQgcnYqf\nGop"..., 1024) = 1024 read(7, "wggIKAoICAQDXXWvNED8fBVnVBU03\nsQ"..., 1024) = 1024 read(7, "96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Q"..., 1024) = 1024 read(7, "9NT0RPIENlcnRpZmljYXRpb24gQXV0\na"..., 1024) = 1024 read(7, "IFICATE-----\n-----BEGIN CERTIFIC"..., 1024) = 1024 read(7, "NBgkqhkiG9w0BAQwFADCB\nhTELMAkGA1"..., 1024) = 1024 read(7, "qR84onAZFdr+CGCe01a60y1Dma/RMhnE"..., 1024) = 1024 read(7, "DCCApCgAwIBAgIJAP7c4wEPyUj/MA0GC"..., 1024) = 1024 read(7, "zRgzB7mFnc\nfca5DClMoTOi62c6ZYTTl"..., 1024) = 1024 read(7, "+PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK"..., 1024) = 1024 read(7, "0AMRgwj\nY/M50n92Uaf0yKHxDHYiI0ZS"..., 1024) = 1024 read(7, "\nQgEBBAQDAgEGMDcGA1UdHwQwMC4wLKA"..., 1024) = 1024 madvise(0x84b000, 520192, MADV_DONTNEED) = 0 read(7, "ptJ11/91sts1rH\nUV+rpDKmYYe2bg+G0"..., 1024) = 1024 read(7, "EF1dGhvcml0eTEkMCIG\nA1UEAxMbQ2Vy"..., 1024) = 1024 read(7, "53/twIDAQABo0IwQDAPBgNVHRMBAf8EB"..., 1024) = 1024 read(7, "pcm1hLmNvbS9hZGRyZXNzKTESMBAGA1U"..., 1024) = 1024 read(7, "\nWk0ZN5K3xMGtr/R5JJqyAQuxr1yW84A"..., 1024) = 1024 read(7, "MjNbMMeJL0eYD6MD\nxvbxrN8y8NmBGuS"..., 1024) = 1024 read(7, "WCwEiwqJH5YZ92IFCokcdmtet4\nYgNW8"..., 1024) = 1024 read(7, "bCBSb290MB4XDTA2MTIxNTA4MDAwMFoX"..., 1024) = 1024 read(7, "B+TX3EJIrduPuoc\nA06dGiBh+4E37F78"..., 1024) = 1024 read(7, "0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCU"..., 1024) = 1024 read(7, "COvXwEz75ivJn9gpfSegpn\nljgJ9hBOl"..., 1024) = 1024 read(7, "a1CInXCGNjOCd1HjPqbqjdn5lPdE2BiY"..., 1024) = 1024 read(7, "cz8faXbauX+5v3gTt23ADq1cEmv8uXr\n"..., 1024) = 1024 read(7, "TNXeWHmb0moc\nQqvF1afPaA+W5OFhmHZ"..., 1024) = 1024 read(7, "UAA4IBDwAwggEKAoIBAQCtDhXO5EOAXL"..., 1024) = 1024 read(7, "zEVMBMGA1UEChMMRGlnaUNlcnQgSW5jM"..., 1024) = 1024 read(7, "5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7"..., 1024) = 1024 read(7, "----BEGIN CERTIFICATE-----\nMIIDr"..., 1024) = 1024 read(7, "TnmCmrEbXjcKChzUyImZOMkXDiqw8cvp"..., 1024) = 1024 read(7, "XOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\n"..., 1024) = 1024 read(7, "LfyHS8L6+c/MzXRq8NOrexpu80JX28Mz"..., 1024) = 1024 read(7, "nHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnr"..., 1024) = 1024 read(7, "EwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQ"..., 1024) = 1024 read(7, "mbnJeFwMDF/k5hQpVgs2\nSV1EY+CtnJY"..., 1024) = 1024 read(7, "0OFoXDTIz\nMDMwMzEyMDk0OFowgbIxCz"..., 1024) = 1024 read(7, "DVR0OBBYEFC7j27JJ0JxUeVz6\nJyr+zE"..., 1024) = 1024 read(7, "EgZGUgQ2Vy\ndGlmaWNhY2lvIChOSUYgU"..., 1024) = 1024 read(7, "IimAy4E5S2S+zw0JDnJwIDAQAB\no4HjM"..., 1024) = 1024 read(7, "DEy\nMTcyMzU5NTlaMHUxCzAJBgNVBAYT"..., 1024) = 1024 read(7, "Ddr5rMzcijJs1eg9gIW\niAYLtqZLICjU"..., 1024) = 1024 read(7, "PKQP5L6RQstRIzgUyVYr9smRMDuSYB3X"..., 1024) = 1024 read(7, "RydXN0LCBJbmMuMTkw\nNwYDVQQLEzB3d"..., 1024) = 1024 read(7, "ua2J7p8eRDjeIRRDq/r72DQnNSi6q7py"..., 1024) = 1024 read(7, "KlH\nBz7MIKNCMEAwDgYDVR0PAQH/BAQD"..., 1024) = 1024 read(7, "s1/T\nRU4cctZOMvJyig/3gxnQaoCAAEU"..., 1024) = 1024 read(7, "A1MTMxNVoXDTQwMTIzMTE1NTk1OVowYj"..., 1024) = 1024 read(7, "CAQDRSVfg\np8xoWLoBDysZzY2wYUWsEe"..., 1024) = 1024 read(7, "ENBMIIBIjANBgkqhkiG9w0BAQEFAAOCA"..., 1024) = 1024 read(7, "EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg"..., 1024) = 1024 read(7, "8Fj\nUjPtp8nSOQJw+uCxQmYpqptR7TBU"..., 1024) = 1024 read(7, "gpxgceeHHNgIwOlavmnRs9vuD4DPTCF+"..., 1024) = 1024 read(7, "F/BqxqjsHQ9gUdfeZC\nhuOl1UcCAwEAA"..., 1024) = 1024 read(7, "N+yFFXoZCPzVx5zw8qkuEKmS5j1YPakW"..., 1024) = 1024 read(7, "Pnbiucon8l+f725ZDQbYKxek0nxru18U"..., 1024) = 1024 read(7, "\nse4YuU6W3Nx2/zu+z18DwPw76L5GG//"..., 1024) = 1024 read(7, "8RW04eWe3fiPpm8m\n1wk8OhwRDqZsN/e"..., 1024) = 1024 read(7, "IN CERTIFICATE-----\nMIICHjCCAaSg"..., 1024) = 1024 read(7, "xMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRk"..., 1024) = 1024 read(7, "----BEGIN CERTIFICATE-----\nMIIDu"..., 1024) = 1024 read(7, "EbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0"..., 1024) = 1024 read(7, "RPvm2L7DWzgVGkWqQPabumDk3F2xmmFg"..., 1024) = 1024 read(7, "E3nOUTvOniX9PeGMIyBJQbUJmL025eSh"..., 1024) = 1024 read(7, "qW/hpvvf\ncDDpw+5CRu3CkwWJ+n1jez/"..., 1024) = 1024 read(7, "BDaGFtYmVyc2lnbiBSb290IC0gMjAwOD"..., 1024) = 1024 read(7, "VzcykxEjAQBgNVBAUTCUE4Mjc0MzI4Nz"..., 1024) = 1024 read(7, "IIEADCCAuigAwIBAgIBADANBgkqhkiG9"..., 1024) = 1024 read(7, "ZIhvcNAQEFBQAD\nggEBADJL87LKPpH8E"..., 1024) = 1024 read(7, "dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZ"..., 1024) = 1024 read(7, "v\nb3RDQSAyMDE1MB4XDTE1MDcwNzEwMz"..., 1024) = 1024 read(7, "Dk1MloXDTMxMTIwMTEzNDk1MlowgZUxC"..., 1024) = 1024 read(7, "ZJwzNzvoc7\ndIsXRSZMFpGD/md9zU1jZ"..., 1024) = 1024 read(7, "5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDP"..., 1024) = 1024 read(7, "DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6"..., 1024) = 1024 read(7, "VHRMBAf8ECDAGAQH/AgED\nMA4GA1UdDw"..., 1024) = 1024 read(7, "IB0ttov0DiNewNwIRt18jA8+o+u3dpjq"..., 1024) = 1024 read(7, "JUagEiuTDkHzsxHpFKVK7q4+63SM1N95"..., 1024) = 1024 read(7, "dBeo0XKIanoBScy0RnnGF7HamB4HWfp1"..., 1024) = 1024 read(7, "Xjtw+hG\n4iZZRHUe2XWJUc0QhJ1hYMtd"..., 1024) = 1024 read(7, "xkA2T26pEUWbMfXYD62qoKjgZl3YNa4p"..., 1024) = 1024 read(7, "q4/i6jC8UDfv\n8Ue1fXwsBOxonbRJRBD"..., 1024) = 1024 read(7, "UD8r6ddIB\nQFqNeb+Lz0vPqhbBleStTI"..., 1024) = 1024 read(7, "TrdZoQ0iy2+tzJOeRf1SktoA+\nnaM8TH"..., 1024) = 1024 read(7, "AiS8sIm7vI+AIpHb4g\nDEa/a4ebsypmQ"..., 1024) = 1024 read(7, "Qc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKq"..., 1024) = 1024 read(7, "qH5GoP7ghu5sJf0dgYzQ0mg/wu1\n+rUC"..., 1024) = 1024 read(7, "DAxOZXRM\nb2NrIEtmdC4xNzA1BgNVBAs"..., 1024) = 1024 read(7, "8ZvYzsRjdT9ZR7E=\n-----END CERTIF"..., 1024) = 1024 read(7, "ydGlmaWNhdGVBdXRob3Jp\ndHkuY3JsMA"..., 1024) = 1024 read(7, "OVTJoZIyEVRd7jyBxR\nVVuuk+g3/ytr6"..., 1024) = 1024 read(7, "A1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i"..., 1024) = 1024 read(7, "8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU"..., 1024) = 1024 read(7, "--\n-----BEGIN CERTIFICATE-----\nM"..., 1024) = 1024 read(7, "G+WAABMIH7MIHUBggrBgEFBQcCAjCBxx"..., 1024) = 1024 read(7, "Q2+Q==\n-----END CERTIFICATE-----"..., 1024) = 1024 read(7, "y7IlXnLc6KO\nTk0k+17kBL5yG6YnLUla"..., 1024) = 1024 read(7, "\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl"..., 1024) = 1024 read(7, "hGK8SEwzJQTU7tD2\nA8QZRtGUazBuBgN"..., 1024) = 1024 read(7, "ELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEF"..., 1024) = 1024 read(7, "B/wQEAwIB\nBjAdBgNVHQ4EFgQU7edvdl"..., 1024) = 1024 read(7, "AYTAkJNMRkwFwYDVQQKExBRdW9WYWRpc"..., 1024) = 1024 read(7, "QgQ0EgMyBDZXJ0\naWZpY2F0ZSBQb2xpY"..., 1024) = 1024 read(7, "8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK\n4"..., 1024) = 1024 read(7, "AVuNVejH38DMdyM0SXV89pgR6y3e7UEu"..., 1024) = 1024 read(7, "BAgIILCmcWxbtBZUwCgYIKoZIzj0EAwI"..., 1024) = 1024 read(7, "QIDAVUZXhhczEQMA4GA1UEBwwHSG91c3"..., 1024) = 1024 read(7, "kiFCbLsjtzdFVHB3mBOagwE0TlBIqulh"..., 1024) = 1024 read(7, "gIIdebfy8FoW6gwCgYIKoZIzj0EAwIwf"..., 1024) = 1024 read(7, "DgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK"..., 1024) = 1024 read(7, "6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRW"..., 1024) = 1024 read(7, "JKoZIhvcNAQEL\nBQAwUTELMAkGA1UEBh"..., 1024) = 1024 read(7, "RVOul4+vJhaAlIDf7js4MNIThPIGy\nd0"..., 1024) = 1024 read(7, "EB\nAKChOBZmLqdWHyGcBvod7bkixTgm2"..., 1024) = 1024 read(7, "01k/unK8RCSc43Oz969XL0Imnal0ugBS"..., 1024) = 1024 read(7, "lY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSq"..., 1024) = 1024 read(7, "ICATE-----\n-----BEGIN CERTIFICAT"..., 1024) = 1024 read(7, "vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7"..., 1024) = 1024 read(7, "7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T\n"..., 1024) = 1024 read(7, "P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jD"..., 1024) = 1024 read(7, "uU6TJJB79VWZxXSzFYGgEt9nC\nUiY4iK"..., 1024) = 1024 read(7, "HowNDXLldRqANb/9Zjr7dn3LDWyvfjFv"..., 1024) = 1024 read(7, "gpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/d"..., 1024) = 1024 read(7, "wWVxJK\ngnjIFNkXgiYtXSAfea7+1HAWF"..., 1024) = 1024 read(7, "KL+tjzk7FqX\nxz8ecAgwoNzFs21v0IJy"..., 1024) = 1024 read(7, "Yox+wrZ13+b8KKaa8MFSu1BYBQw\n0aoR"..., 1024) = 1024 read(7, "cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj1"..., 1024) = 1024 read(7, "MsIEluYy4xMjAwBgNVBAMTKVN0YXJmaW"..., 1024) = 1024 read(7, "TlZFkSIHc40zI+OIF1lnP6aI+xy84fxe"..., 1024) = 1024 read(7, "7FrjSXZm86B0UVGMpZwh94CDklDhbZsc"..., 1024) = 1024 read(7, "oWACjR8cGp4QjK7u9lit/VcyLwVcfDmJ"..., 1024) = 1024 read(7, "/wySTVltpkuzFwbs4AOPsF6m43Md8AYO"..., 1024) = 1024 read(7, "mD9ui5aLlV8gREpzn5/ASLHvGiTSf5YX"..., 1024) = 1024 read(7, "9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3X"..., 1024) = 1024 read(7, "GVsZVNlYyBHbG9iYWxSb290IENsYXNzI"..., 1024) = 1024 read(7, "pBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnB"..., 1024) = 1024 read(7, "uUg/vBa3wW30\n6gmv7PO15wWeph6KU1H"..., 1024) = 1024 read(7, "l8JoSNkvoBHToP4mQ4t4y86Ij5iySr\nL"..., 1024) = 1024 read(7, "TU5\nNTlaMFExCzAJBgNVBAYTAlRXMRIw"..., 1024) = 1024 read(7, "bDorMjupWkEmQqSpqsn\nLhpNgb+E1HAe"..., 1024) = 1024 read(7, "GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoI"..., 1024) = 1024 read(7, "BSb290IENlcnRpZmlj\nYXRpb24gQXV0a"..., 1024) = 1024 read(7, "VnKgMAAAQUA5vwIhP/lSg209yewDL7MT"..., 1024) = 1024 read(7, "bmVyYTEfMB0GA1UEAwwWVGVsaWFTb25l"..., 1024) = 1024 read(7, "0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q"..., 1024) = 1024 read(7, "\nIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1"..., 1024) = 1024 read(7, "JcLmA4GLEFPjx1Wi\ntJ/X5g==\n-----E"..., 1024) = 1024 read(7, "ABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/\nD"..., 1024) = 1024 read(7, "VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0"..., 1024) = 1024 read(7, "rWyOrsGS2h60COX\ndKcs8AjYeVrXWoSK"..., 1024) = 1024 read(7, "CASIwDQYJKoZIhvcNAQEBBQAD\nggEPAD"..., 1024) = 1024 read(7, "zARBgNVBAgTCk5ldyBKZXJzZXkxFDASB"..., 1024) = 1024 read(7, "aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAs"..., 1024) = 1024 read(7, "VS7qXMYoCAQlObgOK6nyTJccBz8NUvXt"..., 1024) = 1024 read(7, "uMR8wHQYDVQQLExZW\nZXJpU2lnbiBUcn"..., 1024) = 1024 read(7, "OzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVg"..., 1024) = 1024 read(7, "tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\nB"..., 1024) = 1024 read(7, "QQLEzEoYykgMjAwOCBWZXJp\nU2lnbiwg"..., 1024) = 1024 read(7, "nZlcmlzaWduLmNvbS92c2xvZ28uZ2lmM"..., 1024) = 1024 read(7, "\nbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXN"..., 1024) = 1024 read(7, "FADCB\ngjELMAkGA1UEBhMCVVMxHjAcBg"..., 1024) = 1024 read(7, "wDQYJKoZIhvcNAQEFBQAD\nggEBAJEVOQ"..., 1024) = 1024 read(7, "AoEwF73XVv4EOLQunpL+943AAAaWyjj0"..., 1024) = 1024 read(7, "ywEhajfqhFAH\nSyZbCUNsIZ5qyNUD9WB"..., 1024) = 1024 read(7, "xrsStZf0X4OFunHB2WyBEXYKCrC/\ngpf"..., 1024) = 1024 read(7, "UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbm"..., 1024) = 1024 read(7, "FICATE-----\nMIICiDCCAg2gAwIBAgIQ"..., 1024) = 1024 read(7, "GA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd"..., 1024) = 1024 read(7, "ggEBABpA\n2JVlrAmSicY59BDlqQ5mU11"..., 1024) = 381 read(7, "", 1024) = 0 close(7) = 0 getuid() = 0 geteuid() = 0 getgid() = 0 getegid() = 0 uname({sysname="Linux", nodename="OpenWrt", ...}) = 0 write(6, "\0", 1) = 1 open("/etc/hosts", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7 fcntl64(7, F_SETFD, FD_CLOEXEC) = 0 read(7, "127.0.0.1 localhost\n\n::1 loc"..., 1024) = 110 read(7, "", 1024) = 0 close(7) = 0 open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7 fcntl64(7, F_SETFD, FD_CLOEXEC) = 0 read(7, "search lan\nnameserver 127.0.0.1\n", 248) = 32 read(7, "", 248) = 0 close(7) = 0 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7 bind(7, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 sendto(7, "\305\247\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47 sendto(7, "\333D\1\0\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 47, MSG_NOSIGNAL, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 47 poll([{fd=7, events=POLLIN}], 1, 2500) = 1 ([{fd=7, revents=POLLIN}]) recvfrom(7, "\305\247\201\200\0\1\0\1\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 63 recvfrom(7, "\333D\201\200\0\1\0\0\0\0\0\0\3dev\25sundialcommunic"..., 512, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 47 close(7) = 0 socket(AF_INET6, SOCK_STREAM, IPPROTO_IP) = 7 fcntl64(7, F_SETFD, FD_CLOEXEC) = 0 setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0 fcntl64(7, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 0 __connect(7, {sa_family=AF_INET6, sin6_port=htons(8550), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:18.237.74.173", &sin6_addr), sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation in progress) mmap2(NULL, 143360, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x77b83000 mprotect(0x77b85000, 135168, PROT_READ|PROT_WRITE) = 0 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0 clone(child_stack=0x77ba5d48, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|0x400000, parent_tid=[1799], tls=0x77bacdec, child_tidptr=0x77f6fff8) = 1799 rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0 nanosleep({tv_sec=20, tv_nsec=0}, 0x7fb99c20) = 0 munmap(0x77f6c000, 4) = 0 open("/etc/TZ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC) = 8 fstat64(8, {st_mode=S_IFREG|0644, st_size=4, ...}) = 0 mmap2(NULL, 4, PROT_READ, MAP_SHARED, 8, 0) = 0x77f6c000 close(8) = 0 writev(2, [{iov_base="[2020/01/01 20:35:16:7749] E: ", iov_len=30}, {iov_base="CLIENT_CONNECTION_ERROR: closed "..., iov_len=51}], 2) = 81__ writev(2, [{iov_base="", iov_len=0}, {iov_base=NULL, iov_len=0}], 2) = 0 close(7) = 0 poll([{fd=5, events=POLLIN}], 1, 1004) = 1 ([{fd=5, revents=POLLIN}]) read(5, "\0", 100) = 1 tkill(1799, SIGRT_1) = 0 futex(0x77ba5dd8, FUTEX_WAKE_PRIVATE, 1) = 1 close(5) = 0 close(6) = 0 close(4)
As you can see, LWS initializes fine and reads all of the ssl certs as it should but when it comes to connecting it is trying to use ::ffff:18.237.74.173 as AF_INET6 and the domain name it's resolving does not even have an IPv6 aaaa record.
I realize I can look up the address with gethostbyname or gethostbyname2 for AF_INET or AF_INET6 only but I was hoping that the lws implementation would properly resolve the name to a working address in a class that exists on this host.
Here's the initialization code I am using:
LWS is version 3.2.1 Distribution is Openwrt Trunk (latest as of today)
Here is some more system information.