From owner-svn-src-user@freebsd.org Mon Apr 22 18:43:44 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6CA6C15A187A for ; Mon, 22 Apr 2019 18:43:44 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 105F97149A; Mon, 22 Apr 2019 18:43:44 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DEF971903F; Mon, 22 Apr 2019 18:43:43 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3MIhhEH079754; Mon, 22 Apr 2019 18:43:43 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3MIhhh6079753; Mon, 22 Apr 2019 18:43:43 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904221843.x3MIhhh6079753@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Mon, 22 Apr 2019 18:43:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346577 - user/ngie/fix-up-cxxstd X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/fix-up-cxxstd X-SVN-Commit-Revision: 346577 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 105F97149A X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.957,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Apr 2019 18:43:44 -0000 Author: ngie Date: Mon Apr 22 18:43:43 2019 New Revision: 346577 URL: https://svnweb.freebsd.org/changeset/base/346577 Log: Prune branch, merged as r346574 and r346576 Deleted: user/ngie/fix-up-cxxstd/ From owner-svn-src-user@freebsd.org Tue Apr 23 22:37:50 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 908B315849E9 for ; Tue, 23 Apr 2019 22:37:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36D568E492; Tue, 23 Apr 2019 22:37:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 112423128; Tue, 23 Apr 2019 22:37:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3NMbnvC071375; Tue, 23 Apr 2019 22:37:49 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3NMbn9a071373; Tue, 23 Apr 2019 22:37:49 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904232237.x3NMbn9a071373@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Tue, 23 Apr 2019 22:37:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346610 - user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Commit-Revision: 346610 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 36D568E492 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.969,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Apr 2019 22:37:50 -0000 Author: ngie Date: Tue Apr 23 22:37:49 2019 New Revision: 346610 URL: https://svnweb.freebsd.org/changeset/base/346610 Log: KATParser: don't leak `self.fp` As noted by the python 3 interpreter, self.fp is leaked every time KATParser is called (it raises a `ResourceWarning`). Refactor KATParser in order to not leak `self.fp`: * Don't allocate `self.fp` in `__init__()`. Doing so requires adding `self.fp.close()`, and as noted before, makes for very fragile code when the interpreter is tearing down objects (it can result in crashes in some interpreter versions if triggered with the right conditions). Limit `self.fp` allocation/use to context suites ("the with statement") instead, as this is more likely to not cause non-deterministic weirdness issues with the interpreter. * Rename `__iter__` to `__next__` as it was providing `__next__` support and return the KATParser object instead with `__iter__`, as `__iter__` is meant to return an iterator and `__next__` is meant to help iterate over an iterator. Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:34:32 2019 (r346609) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:37:49 2019 (r346610) @@ -316,11 +316,23 @@ class MismatchError(Exception): class KATParser: def __init__(self, fname, fields): - self.fp = open(fname) self.fields = set(fields) self._pending = None + self.fname = fname + self.fp = None + def __enter__(self): + self.fp = open(self.fname) + return self + + def __exit__(self, exc_type, exc_value, exc_tb): + if self.fp is not None: + self.fp.close() + def __iter__(self): + return self + + def __next__(self): while True: didread = False if self._pending is not None: @@ -331,14 +343,15 @@ class KATParser: didread = True if didread and not i: - return + raise StopIteration - if (i and i[0] == '#') or not i.strip(): - continue - if i[0] == '[': - yield i[1:].split(']', 1)[0], self.fielditer() - else: - raise ValueError('unknown line: %r' % repr(i)) + if not i.startswith('#') and i.strip(): + break + + if i[0] == '[': + yield i[1:].split(']', 1)[0], self.fielditer() + else: + raise ValueError('unknown line: %r' % repr(i)) def eatblanks(self): while True: Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Tue Apr 23 22:34:32 2019 (r346609) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Tue Apr 23 22:37:49 2019 (r346610) @@ -94,8 +94,12 @@ def GenTestCase(cname): else: raise RuntimeError('unknown mode: %r' % repr(mode)) - for bogusmode, lines in cryptodev.KATParser(fname, - [ 'Count', 'Key', 'IV', 'CT', 'AAD', 'Tag', 'PT', ]): + columns = [ 'Count', 'Key', 'IV', 'CT', 'AAD', 'Tag', 'PT', ] + with cryptodev.KATParser(fname, columns) as parser: + self.runGCMWithParser(parser, mode) + + def runGCMWithParser(self, parser, mode): + for _, lines in next(parser): for data in lines: curcnt = int(data['Count']) cipherkey = binascii.unhexlify(data['Key']) @@ -155,9 +159,13 @@ def GenTestCase(cname): repr(data)) def runCBC(self, fname): + columns = [ 'COUNT', 'KEY', 'IV', 'PLAINTEXT', 'CIPHERTEXT', ] + with cryptodev.KATParser(fname, columns) as parser: + self.runCBCWithParser(parser) + + def runCBCWithParser(self, parser): curfun = None - for mode, lines in cryptodev.KATParser(fname, - [ 'COUNT', 'KEY', 'IV', 'PLAINTEXT', 'CIPHERTEXT', ]): + for mode, lines in next(parser): if mode == 'ENCRYPT': swapptct = False curfun = Crypto.encrypt @@ -182,10 +190,14 @@ def GenTestCase(cname): self.assertEqual(r, ct) def runXTS(self, fname, meth): + columns = [ 'COUNT', 'DataUnitLen', 'Key', 'DataUnitSeqNumber', 'PT', + 'CT'] + with cryptodev.KATParser(fname, columns) as parser: + self.runXTSWithParser(parser, meth) + + def runXTSWithParser(self, parser, meth): curfun = None - for mode, lines in cryptodev.KATParser(fname, - [ 'COUNT', 'DataUnitLen', 'Key', 'DataUnitSeqNumber', 'PT', - 'CT' ]): + for mode, lines in next(parser): if mode == 'ENCRYPT': swapptct = False curfun = Crypto.encrypt @@ -228,9 +240,13 @@ def GenTestCase(cname): self.runTDES(i) def runTDES(self, fname): + columns = [ 'COUNT', 'KEYs', 'IV', 'PLAINTEXT', 'CIPHERTEXT', ] + with cryptodev.KATParser(fname, columns) as parser: + self.runTDESWithParser(parser) + + def runTDESWithParser(self, parser): curfun = None - for mode, lines in cryptodev.KATParser(fname, - [ 'COUNT', 'KEYs', 'IV', 'PLAINTEXT', 'CIPHERTEXT', ]): + for mode, lines in next(parser): if mode == 'ENCRYPT': swapptct = False curfun = Crypto.encrypt @@ -271,8 +287,12 @@ def GenTestCase(cname): self.runSHA1HMAC(i) def runSHA1HMAC(self, fname): - for hashlength, lines in cryptodev.KATParser(fname, - [ 'Count', 'Klen', 'Tlen', 'Key', 'Msg', 'Mac' ]): + columns = [ 'Count', 'Klen', 'Tlen', 'Key', 'Msg', 'Mac' ] + with cryptodev.KATParser(fname, columns) as parser: + self.runSHA1HMACWithParser(parser) + + def runSHA1HMACWithParser(self, parser): + for hashlength, lines in next(parser): # E.g., hashlength will be "L=20" (bytes) hashlen = int(hashlength.split("=")[1]) From owner-svn-src-user@freebsd.org Tue Apr 23 22:40:40 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1EA6A1584B1C for ; Tue, 23 Apr 2019 22:40:40 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B336F8E676; Tue, 23 Apr 2019 22:40:39 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8FAA73137; Tue, 23 Apr 2019 22:40:39 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3NMedlT071576; Tue, 23 Apr 2019 22:40:39 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3NMedLe071575; Tue, 23 Apr 2019 22:40:39 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904232240.x3NMedLe071575@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Tue, 23 Apr 2019 22:40:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346611 - user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Commit-Revision: 346611 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B336F8E676 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.969,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Apr 2019 22:40:40 -0000 Author: ngie Date: Tue Apr 23 22:40:39 2019 New Revision: 346611 URL: https://svnweb.freebsd.org/changeset/base/346611 Log: Chase more needed `.{de,en}code()` -> `binascii.(un)?hexlify` changes Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:37:49 2019 (r346610) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:40:39 2019 (r346611) @@ -401,7 +401,7 @@ class KATParser: yield values def _spdechex(s): - return ''.join(s.split()).decode('hex') + return binascii.hexlify(''.join(s.split())) if __name__ == '__main__': if True: @@ -433,15 +433,15 @@ if __name__ == '__main__': c = Crypto(CRYPTO_AES_ICM, key) enc = c.encrypt(pt, iv) - print('enc:', enc.encode('hex')) - print(' ct:', ct.encode('hex')) + print('enc:', binascii.unhexlify(enc)) + print(' ct:', binascii.unhexlify(ct)) assert ct == enc dec = c.decrypt(ct, iv) - print('dec:', dec.encode('hex')) - print(' pt:', pt.encode('hex')) + print('dec:', binascii.unhexlify(dec)) + print(' pt:', binascii.unhexlify(pt)) assert pt == dec elif False: @@ -454,15 +454,15 @@ if __name__ == '__main__': c = Crypto(CRYPTO_AES_ICM, key) enc = c.encrypt(pt, iv) - print('enc:', enc.encode('hex')) - print(' ct:', ct.encode('hex')) + print('enc:', binascii.hexlify(enc)) + print(' ct:', binascii.hexlify(ct)) assert ct == enc dec = c.decrypt(ct, iv) - print('dec:', dec.encode('hex')) - print(' pt:', pt.encode('hex')) + print('dec:', binascii.hexlify(dec)) + print(' pt:', binascii.hexlify(pt)) assert pt == dec elif False: @@ -474,15 +474,15 @@ if __name__ == '__main__': enc = c.encrypt(pt, iv) - print('enc:', enc.encode('hex')) - print(' ct:', ct.encode('hex')) + print('enc:', binascii.hexlify(enc)) + print(' ct:', binascii.hexlify(ct)) assert ct == enc dec = c.decrypt(ct, iv) - print('dec:', dec.encode('hex')) - print(' pt:', pt.encode('hex')) + print('dec:', binascii.hexlify(dec)) + print(' pt:', binascii.hexlify(pt)) assert pt == dec elif False: @@ -500,26 +500,26 @@ if __name__ == '__main__': enc, enctag = c.encrypt(pt, iv, aad=aad) - print('enc:', enc.encode('hex')) - print(' ct:', ct.encode('hex')) + print('enc:', binascii.hexlify(enc)) + print(' ct:', binascii.hexlify(ct)) assert enc == ct - print('etg:', enctag.encode('hex')) - print('tag:', tag.encode('hex')) + print('etg:', binascii.hexlify(enctag)) + print('tag:', binascii.hexlify(tag)) assert enctag == tag # Make sure we get EBADMSG #enctag = enctag[:-1] + 'a' dec, dectag = c.decrypt(ct, iv, aad=aad, tag=enctag) - print('dec:', dec.encode('hex')) - print(' pt:', pt.encode('hex')) + print('dec:', binascii.hexlify(dec)) + print(' pt:', binascii.hexlify(pt)) assert dec == pt - print('dtg:', dectag.encode('hex')) - print('tag:', tag.encode('hex')) + print('dtg:', binascii.hexlify(dectag)) + print('tag:', binascii.hexlify(tag)) assert dectag == tag elif False: @@ -536,27 +536,27 @@ if __name__ == '__main__': enc, enctag = c.encrypt(pt, iv, aad=aad) - print('enc:', enc.encode('hex')) - print(' ct:', ct.encode('hex')) + print('enc:', binascii.hexlify(enc)) + print(' ct:', binascii.hexlify(ct)) assert enc == ct - print('etg:', enctag.encode('hex')) - print('tag:', tag.encode('hex')) + print('etg:', binascii.hexlify(enctag)) + print('tag:', binascii.hexlify(tag)) assert enctag == tag elif False: for i in xrange(100000): - c = Crypto(CRYPTO_AES_XTS, '1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382'.decode('hex')) - data = '52a42bca4e9425a25bbc8c8bf6129dec'.decode('hex') - ct = '517e602becd066b65fa4f4f56ddfe240'.decode('hex') + c = Crypto(CRYPTO_AES_XTS, binascii.unhexlify('1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382')) + data = binascii.unhexlify('52a42bca4e9425a25bbc8c8bf6129dec') + ct = binascii.unhexlify('517e602becd066b65fa4f4f56ddfe240') iv = _pack('QQ', 71, 0) enc = c.encrypt(data, iv) assert enc == ct elif True: - c = Crypto(CRYPTO_AES_XTS, '1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382'.decode('hex')) - data = '52a42bca4e9425a25bbc8c8bf6129dec'.decode('hex') - ct = '517e602becd066b65fa4f4f56ddfe240'.decode('hex') + c = Crypto(CRYPTO_AES_XTS, binascii.unhexlify('1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382')) + data = binascii.unhexlify('52a42bca4e9425a25bbc8c8bf6129dec') + ct = binascii.unhexlify('517e602becd066b65fa4f4f56ddfe240') iv = _pack('QQ', 71, 0) enc = c.encrypt(data, iv) @@ -568,7 +568,7 @@ if __name__ == '__main__': #c.perftest(COP_ENCRYPT, 192*1024, reps=30000) else: - key = '1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382'.decode('hex') + key = binascii.unhexlify('1bbfeadf539daedcae33ced497343f3ca1f2474ad932b903997d44707db41382') print('XTS %d testing:' % (len(key) * 8)) c = Crypto(CRYPTO_AES_XTS, key) for i in [ 8192, 192*1024]: From owner-svn-src-user@freebsd.org Tue Apr 23 22:43:25 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D8BA1584D2B for ; Tue, 23 Apr 2019 22:43:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D85668E9FC; Tue, 23 Apr 2019 22:43:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B172832E2; Tue, 23 Apr 2019 22:43:24 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3NMhO90076716; Tue, 23 Apr 2019 22:43:24 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3NMhOHB076715; Tue, 23 Apr 2019 22:43:24 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904232243.x3NMhOHB076715@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Tue, 23 Apr 2019 22:43:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346612 - user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Commit-Revision: 346612 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D85668E9FC X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.99 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.991,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Apr 2019 22:43:25 -0000 Author: ngie Date: Tue Apr 23 22:43:24 2019 New Revision: 346612 URL: https://svnweb.freebsd.org/changeset/base/346612 Log: Ugh. Deal with encoding/decoding UTF-8 strings to bytes as needed I couldn't tell if the type was str in all cases, so conditionally convert it to a bytes object with py3 as needed. Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:40:39 2019 (r346611) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:43:24 2019 (r346612) @@ -199,6 +199,13 @@ class Crypto: pass self._ses = None + @staticmethod + def _to_bytes(val): + if sys.version_info[0] >= 3: + if isinstance(val, str): + return val.encode("ascii") + return val + def _doop(self, op, src, iv): cop = CryptOp() cop.ses = self._ses @@ -210,7 +217,7 @@ class Crypto: if self._maclen is not None: m = array.array('B', [0] * self._maclen) cop.mac = m.buffer_info()[0] - ivbuf = array.array('B', iv) + ivbuf = array.array('B', self._to_bytes(iv)) cop.iv = ivbuf.buffer_info()[0] #print('cop:', cop) @@ -229,10 +236,12 @@ class Crypto: caead.flags = CRD_F_IV_EXPLICIT caead.flags = 0 caead.len = len(src) - s = array.array('B', src.encode("ascii")) + src = self._to_bytes(src) + s = array.array("B", src) caead.src = caead.dst = s.buffer_info()[0] caead.aadlen = len(aad) - saad = array.array('B', aad.encode("ascii")) + aad = self._to_bytes(aad) + saad = array.array('B', aad) caead.aad = saad.buffer_info()[0] if self._maclen is None: @@ -243,7 +252,8 @@ class Crypto: else: assert len(tag) == self._maclen, \ '%d != %d' % (len(tag), self._maclen) - tag = array.array('B', tag.encode("ascii")) + tag = self._to_bytes(tag) + tag = array.array('B', tag) caead.tag = tag.buffer_info()[0] @@ -251,7 +261,7 @@ class Crypto: caead.ivlen = len(iv) caead.iv = ivbuf.buffer_info()[0] - ioctl(_cryptodev, CIOCCRYPTAEAD, str(caead)) + ioctl(_cryptodev, CIOCCRYPTAEAD, self._to_bytes(str(caead))) s = s.tostring() @@ -260,7 +270,7 @@ class Crypto: def perftest(self, op, size, timeo=3): inp = array.array('B', (random.randint(0, 255) for x in xrange(size))) - out = array.array('B', inp.encode("ascii")) + out = array.array('B', self._to_bytes(inp)) # prep ioctl cop = CryptOp() @@ -268,7 +278,7 @@ class Crypto: cop.op = op cop.flags = 0 cop.len = len(inp) - s = array.array('B', inp.encode("ascii")) + s = array.array('B', self._to_bytes(inp)) cop.src = s.buffer_info()[0] cop.dst = out.buffer_info()[0] if self._maclen is not None: @@ -287,7 +297,7 @@ class Crypto: start = time.time() reps = 0 while not exit[0]: - ioctl(_cryptodev, CIOCCRYPT, str(cop)) + ioctl(_cryptodev, CIOCCRYPT, self._to_bytes(str(cop))) reps += 1 end = time.time() From owner-svn-src-user@freebsd.org Tue Apr 23 22:43:49 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3FD401584D40 for ; Tue, 23 Apr 2019 22:43:49 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D5B3A8EAE1; Tue, 23 Apr 2019 22:43:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6E01932E3; Tue, 23 Apr 2019 22:43:48 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3NMhm3g076780; Tue, 23 Apr 2019 22:43:48 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3NMhmUQ076779; Tue, 23 Apr 2019 22:43:48 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904232243.x3NMhmUQ076779@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Tue, 23 Apr 2019 22:43:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346613 - user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Commit-Revision: 346613 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D5B3A8EAE1 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.99 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.99)[-0.990,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Apr 2019 22:43:49 -0000 Author: ngie Date: Tue Apr 23 22:43:47 2019 New Revision: 346613 URL: https://svnweb.freebsd.org/changeset/base/346613 Log: Don't forget sys import! Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:43:24 2019 (r346612) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py Tue Apr 23 22:43:47 2019 (r346613) @@ -38,6 +38,7 @@ import os import random import signal from struct import pack as _pack +import sys import time import dpkt From owner-svn-src-user@freebsd.org Wed Apr 24 04:44:12 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 087CE158C05B for ; Wed, 24 Apr 2019 04:44:12 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 977EC723EE; Wed, 24 Apr 2019 04:44:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6D10C730C; Wed, 24 Apr 2019 04:44:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3O4iBDl066934; Wed, 24 Apr 2019 04:44:11 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3O4hs4u066890; Wed, 24 Apr 2019 04:43:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904240443.x3O4hs4u066890@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Wed, 24 Apr 2019 04:43:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346621 - in user/ngie/bug-237403: contrib/sqlite3 contrib/sqlite3/tea contrib/wpa contrib/wpa/hostapd contrib/wpa/hs20/client contrib/wpa/src/ap contrib/wpa/src/common contrib/wpa/src/... X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in user/ngie/bug-237403: contrib/sqlite3 contrib/sqlite3/tea contrib/wpa contrib/wpa/hostapd contrib/wpa/hs20/client contrib/wpa/src/ap contrib/wpa/src/common contrib/wpa/src/crypto contrib/wpa/src/dr... X-SVN-Commit-Revision: 346621 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 977EC723EE X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.964,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Apr 2019 04:44:12 -0000 Author: ngie Date: Wed Apr 24 04:43:53 2019 New Revision: 346621 URL: https://svnweb.freebsd.org/changeset/base/346621 Log: MFhead@r346620 Added: user/ngie/bug-237403/contrib/wpa/hostapd/README-MULTI-AP - copied unchanged from r346620, head/contrib/wpa/hostapd/README-MULTI-AP user/ngie/bug-237403/contrib/wpa/src/common/ocv.c - copied unchanged from r346620, head/contrib/wpa/src/common/ocv.c user/ngie/bug-237403/contrib/wpa/src/common/ocv.h - copied unchanged from r346620, head/contrib/wpa/src/common/ocv.h user/ngie/bug-237403/contrib/wpa/src/crypto/sha512.c - copied unchanged from r346620, head/contrib/wpa/src/crypto/sha512.c user/ngie/bug-237403/contrib/wpa/src/utils/const_time.h - copied unchanged from r346620, head/contrib/wpa/src/utils/const_time.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/README-DPP - copied unchanged from r346620, head/contrib/wpa/wpa_supplicant/README-DPP user/ngie/bug-237403/lib/libbe/tests/ - copied from r346620, head/lib/libbe/tests/ user/ngie/bug-237403/lib/libc/powerpc64/string/ - copied from r346620, head/lib/libc/powerpc64/string/ Deleted: user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_old.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_old.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers_wps.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wpas-test.py Modified: user/ngie/bug-237403/contrib/sqlite3/configure user/ngie/bug-237403/contrib/sqlite3/configure.ac user/ngie/bug-237403/contrib/sqlite3/sqlite3.c user/ngie/bug-237403/contrib/sqlite3/sqlite3.h user/ngie/bug-237403/contrib/sqlite3/tea/configure user/ngie/bug-237403/contrib/sqlite3/tea/configure.ac user/ngie/bug-237403/contrib/wpa/CONTRIBUTIONS user/ngie/bug-237403/contrib/wpa/COPYING user/ngie/bug-237403/contrib/wpa/README user/ngie/bug-237403/contrib/wpa/hostapd/ChangeLog user/ngie/bug-237403/contrib/wpa/hostapd/README user/ngie/bug-237403/contrib/wpa/hostapd/config_file.c user/ngie/bug-237403/contrib/wpa/hostapd/ctrl_iface.c user/ngie/bug-237403/contrib/wpa/hostapd/defconfig user/ngie/bug-237403/contrib/wpa/hostapd/hostapd.conf user/ngie/bug-237403/contrib/wpa/hostapd/hostapd.wpa_psk user/ngie/bug-237403/contrib/wpa/hostapd/hostapd_cli.c user/ngie/bug-237403/contrib/wpa/hostapd/main.c user/ngie/bug-237403/contrib/wpa/hostapd/wps-ap-nfc.py user/ngie/bug-237403/contrib/wpa/hs20/client/Makefile user/ngie/bug-237403/contrib/wpa/hs20/client/est.c user/ngie/bug-237403/contrib/wpa/hs20/client/osu_client.c user/ngie/bug-237403/contrib/wpa/src/ap/acs.c user/ngie/bug-237403/contrib/wpa/src/ap/ap_config.c user/ngie/bug-237403/contrib/wpa/src/ap/ap_config.h user/ngie/bug-237403/contrib/wpa/src/ap/ap_drv_ops.h user/ngie/bug-237403/contrib/wpa/src/ap/authsrv.c user/ngie/bug-237403/contrib/wpa/src/ap/beacon.c user/ngie/bug-237403/contrib/wpa/src/ap/ctrl_iface_ap.c user/ngie/bug-237403/contrib/wpa/src/ap/dfs.c user/ngie/bug-237403/contrib/wpa/src/ap/dhcp_snoop.c user/ngie/bug-237403/contrib/wpa/src/ap/dpp_hostapd.c user/ngie/bug-237403/contrib/wpa/src/ap/dpp_hostapd.h user/ngie/bug-237403/contrib/wpa/src/ap/drv_callbacks.c user/ngie/bug-237403/contrib/wpa/src/ap/eap_user_db.c user/ngie/bug-237403/contrib/wpa/src/ap/fils_hlp.c user/ngie/bug-237403/contrib/wpa/src/ap/hostapd.c user/ngie/bug-237403/contrib/wpa/src/ap/hostapd.h user/ngie/bug-237403/contrib/wpa/src/ap/hs20.c user/ngie/bug-237403/contrib/wpa/src/ap/hw_features.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11.h user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11_auth.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11_he.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11_shared.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_11_vht.c user/ngie/bug-237403/contrib/wpa/src/ap/ieee802_1x.c user/ngie/bug-237403/contrib/wpa/src/ap/neighbor_db.c user/ngie/bug-237403/contrib/wpa/src/ap/neighbor_db.h user/ngie/bug-237403/contrib/wpa/src/ap/rrm.c user/ngie/bug-237403/contrib/wpa/src/ap/sta_info.c user/ngie/bug-237403/contrib/wpa/src/ap/sta_info.h user/ngie/bug-237403/contrib/wpa/src/ap/vlan_full.c user/ngie/bug-237403/contrib/wpa/src/ap/vlan_init.c user/ngie/bug-237403/contrib/wpa/src/ap/wnm_ap.c user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth.c user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth.h user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth_ft.c user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth_glue.c user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth_i.h user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth_ie.c user/ngie/bug-237403/contrib/wpa/src/ap/wpa_auth_ie.h user/ngie/bug-237403/contrib/wpa/src/ap/wps_hostapd.c user/ngie/bug-237403/contrib/wpa/src/common/common_module_tests.c user/ngie/bug-237403/contrib/wpa/src/common/defs.h user/ngie/bug-237403/contrib/wpa/src/common/dpp.c user/ngie/bug-237403/contrib/wpa/src/common/dpp.h user/ngie/bug-237403/contrib/wpa/src/common/hw_features_common.c user/ngie/bug-237403/contrib/wpa/src/common/hw_features_common.h user/ngie/bug-237403/contrib/wpa/src/common/ieee802_11_common.c user/ngie/bug-237403/contrib/wpa/src/common/ieee802_11_common.h user/ngie/bug-237403/contrib/wpa/src/common/ieee802_11_defs.h user/ngie/bug-237403/contrib/wpa/src/common/qca-vendor.h user/ngie/bug-237403/contrib/wpa/src/common/sae.c user/ngie/bug-237403/contrib/wpa/src/common/sae.h user/ngie/bug-237403/contrib/wpa/src/common/version.h user/ngie/bug-237403/contrib/wpa/src/common/wpa_common.c user/ngie/bug-237403/contrib/wpa/src/common/wpa_common.h user/ngie/bug-237403/contrib/wpa/src/common/wpa_ctrl.c user/ngie/bug-237403/contrib/wpa/src/crypto/aes-internal-enc.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto.h user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_gnutls.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_internal-modexp.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_internal.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_libtomcrypt.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_linux.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_nettle.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_openssl.c user/ngie/bug-237403/contrib/wpa/src/crypto/crypto_wolfssl.c user/ngie/bug-237403/contrib/wpa/src/crypto/dh_groups.c user/ngie/bug-237403/contrib/wpa/src/crypto/md4-internal.c user/ngie/bug-237403/contrib/wpa/src/crypto/random.c user/ngie/bug-237403/contrib/wpa/src/crypto/sha1-tlsprf.c user/ngie/bug-237403/contrib/wpa/src/crypto/sha512-internal.c user/ngie/bug-237403/contrib/wpa/src/crypto/tls.h user/ngie/bug-237403/contrib/wpa/src/crypto/tls_gnutls.c user/ngie/bug-237403/contrib/wpa/src/crypto/tls_internal.c user/ngie/bug-237403/contrib/wpa/src/crypto/tls_none.c user/ngie/bug-237403/contrib/wpa/src/crypto/tls_openssl.c user/ngie/bug-237403/contrib/wpa/src/crypto/tls_wolfssl.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver.h user/ngie/bug-237403/contrib/wpa/src/drivers/driver_bsd.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_common.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_macsec_linux.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_nl80211.h user/ngie/bug-237403/contrib/wpa/src/drivers/driver_nl80211_capa.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_nl80211_event.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_nl80211_scan.c user/ngie/bug-237403/contrib/wpa/src/drivers/driver_openbsd.c user/ngie/bug-237403/contrib/wpa/src/eap_common/eap_eke_common.c user/ngie/bug-237403/contrib/wpa/src/eap_common/eap_pwd_common.c user/ngie/bug-237403/contrib/wpa/src/eap_common/eap_pwd_common.h user/ngie/bug-237403/contrib/wpa/src/eap_common/eap_sake_common.c user/ngie/bug-237403/contrib/wpa/src/eap_common/eap_sake_common.h user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_config.h user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_fast.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_mschapv2.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_peap.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_pwd.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_sake.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_tls.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_tls_common.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_tls_common.h user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_ttls.c user/ngie/bug-237403/contrib/wpa/src/eap_peer/eap_wsc.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap.h user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_i.h user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_aka.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_gpsk.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_mschapv2.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_pax.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_peap.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_pwd.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_sake.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_sim.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_tls.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_tls_common.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_server_ttls.c user/ngie/bug-237403/contrib/wpa/src/eap_server/eap_tls_common.h user/ngie/bug-237403/contrib/wpa/src/eapol_supp/eapol_supp_sm.c user/ngie/bug-237403/contrib/wpa/src/fst/fst.h user/ngie/bug-237403/contrib/wpa/src/p2p/p2p.c user/ngie/bug-237403/contrib/wpa/src/p2p/p2p.h user/ngie/bug-237403/contrib/wpa/src/p2p/p2p_build.c user/ngie/bug-237403/contrib/wpa/src/p2p/p2p_group.c user/ngie/bug-237403/contrib/wpa/src/p2p/p2p_i.h user/ngie/bug-237403/contrib/wpa/src/p2p/p2p_invitation.c user/ngie/bug-237403/contrib/wpa/src/p2p/p2p_utils.c user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_cp.c user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_cp.h user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_kay.c user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_kay.h user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_kay_i.h user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_key.c user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_key.h user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_secy_ops.c user/ngie/bug-237403/contrib/wpa/src/pae/ieee802_1x_secy_ops.h user/ngie/bug-237403/contrib/wpa/src/radius/radius_client.c user/ngie/bug-237403/contrib/wpa/src/radius/radius_server.c user/ngie/bug-237403/contrib/wpa/src/radius/radius_server.h user/ngie/bug-237403/contrib/wpa/src/rsn_supp/pmksa_cache.c user/ngie/bug-237403/contrib/wpa/src/rsn_supp/tdls.c user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa.c user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa.h user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa_ft.c user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa_i.h user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa_ie.c user/ngie/bug-237403/contrib/wpa/src/rsn_supp/wpa_ie.h user/ngie/bug-237403/contrib/wpa/src/tls/asn1.c user/ngie/bug-237403/contrib/wpa/src/tls/bignum.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_client.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_client.h user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_client_read.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_client_write.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_server.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_server.h user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_server_i.h user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_server_read.c user/ngie/bug-237403/contrib/wpa/src/tls/tlsv1_server_write.c user/ngie/bug-237403/contrib/wpa/src/tls/x509v3.c user/ngie/bug-237403/contrib/wpa/src/utils/base64.c user/ngie/bug-237403/contrib/wpa/src/utils/browser.c user/ngie/bug-237403/contrib/wpa/src/utils/common.c user/ngie/bug-237403/contrib/wpa/src/utils/common.h user/ngie/bug-237403/contrib/wpa/src/utils/eloop.c user/ngie/bug-237403/contrib/wpa/src/utils/http_curl.c user/ngie/bug-237403/contrib/wpa/src/utils/json.c user/ngie/bug-237403/contrib/wpa/src/utils/list.h user/ngie/bug-237403/contrib/wpa/src/utils/os_internal.c user/ngie/bug-237403/contrib/wpa/src/utils/os_none.c user/ngie/bug-237403/contrib/wpa/src/utils/os_unix.c user/ngie/bug-237403/contrib/wpa/src/utils/utils_module_tests.c user/ngie/bug-237403/contrib/wpa/src/utils/wpa_debug.c user/ngie/bug-237403/contrib/wpa/src/wps/wps.c user/ngie/bug-237403/contrib/wpa/src/wps/wps.h user/ngie/bug-237403/contrib/wpa/src/wps/wps_attr_build.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_attr_parse.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_attr_parse.h user/ngie/bug-237403/contrib/wpa/src/wps/wps_common.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_defs.h user/ngie/bug-237403/contrib/wpa/src/wps/wps_dev_attr.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_dev_attr.h user/ngie/bug-237403/contrib/wpa/src/wps/wps_enrollee.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_er.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_i.h user/ngie/bug-237403/contrib/wpa/src/wps/wps_registrar.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_upnp.c user/ngie/bug-237403/contrib/wpa/src/wps/wps_validate.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/Android.mk user/ngie/bug-237403/contrib/wpa/wpa_supplicant/ChangeLog user/ngie/bug-237403/contrib/wpa/wpa_supplicant/README user/ngie/bug-237403/contrib/wpa/wpa_supplicant/README-P2P user/ngie/bug-237403/contrib/wpa/wpa_supplicant/android.config user/ngie/bug-237403/contrib/wpa/wpa_supplicant/ap.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/bss.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/bss.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/config.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/config.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/config_file.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/config_ssid.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/ctrl_iface.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/Makefile user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus-wpa_supplicant.conf user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_common.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_wps.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/defconfig user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dpp_supplicant.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/dpp_supplicant.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/driver_i.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/eapol_test.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/eapol_test.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/events.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/dbus-listen-preq.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/dpp-qrcode.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p-nfc.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_connect.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_disconnect.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_find.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_flush.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_group_add.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_invite.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_listen.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/p2p/p2p_stop_find.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wpas-dbus-new-getall.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wpas-dbus-new-signals.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wpas-dbus-new-wps.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wpas-dbus-new.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/examples/wps-nfc.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/gas_query.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/gas_query.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/hs20_supplicant.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/hs20_supplicant.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/ibss_rsn.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/interworking.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/main.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/mbo.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/mesh.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/mesh_mpm.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/mesh_rsn.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/notify.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/notify.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/op_classes.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/p2p_supplicant.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/p2p_supplicant.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/rrm.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/scan.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/sme.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/sme.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/systemd/wpa_supplicant.service.in user/ngie/bug-237403/contrib/wpa/wpa_supplicant/utils/log2pcap.py user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wmm_ac.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wnm_sta.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpa_cli.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpa_supplicant.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpa_supplicant.conf user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpa_supplicant_i.h user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpas_glue.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wpas_kay.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wps_supplicant.c user/ngie/bug-237403/contrib/wpa/wpa_supplicant/wps_supplicant.h user/ngie/bug-237403/etc/mtree/BSD.tests.dist user/ngie/bug-237403/lib/libbe/Makefile user/ngie/bug-237403/lib/libbe/be.c user/ngie/bug-237403/lib/libbe/be.h user/ngie/bug-237403/lib/libbe/be_impl.h user/ngie/bug-237403/lib/libbe/libbe.3 user/ngie/bug-237403/lib/libc++/Makefile user/ngie/bug-237403/lib/libc++experimental/Makefile user/ngie/bug-237403/lib/libc++fs/Makefile user/ngie/bug-237403/lib/libc/stdlib/rand.3 user/ngie/bug-237403/lib/libc/stdlib/random.3 user/ngie/bug-237403/lib/libc/tests/sys/sendfile_test.c user/ngie/bug-237403/lib/libcam/tests/libcam_test.c user/ngie/bug-237403/lib/libclang_rt/Makefile user/ngie/bug-237403/lib/libcxxrt/Makefile user/ngie/bug-237403/lib/libgcc_eh/Makefile.inc user/ngie/bug-237403/lib/libkvm/tests/kvm_close_test.c user/ngie/bug-237403/lib/libkvm/tests/kvm_geterr_test.c user/ngie/bug-237403/lib/libkvm/tests/kvm_open2_test.c user/ngie/bug-237403/lib/libkvm/tests/kvm_open_test.c user/ngie/bug-237403/lib/libkvm/tests/kvm_test_common.c user/ngie/bug-237403/lib/libkvm/tests/kvm_test_common.h user/ngie/bug-237403/lib/libsbuf/tests/sbuf_core_test.c user/ngie/bug-237403/lib/libsbuf/tests/sbuf_stdio_test.c user/ngie/bug-237403/lib/libsbuf/tests/sbuf_string_test.c user/ngie/bug-237403/lib/libsbuf/tests/sbuf_test_common.h user/ngie/bug-237403/lib/libsecureboot/h/libsecureboot.h user/ngie/bug-237403/lib/libsecureboot/vectx.c user/ngie/bug-237403/lib/libsecureboot/veopen.c user/ngie/bug-237403/lib/libsecureboot/verify_file.c user/ngie/bug-237403/lib/libvgl/bitmap.c user/ngie/bug-237403/lib/libvgl/main.c user/ngie/bug-237403/lib/libvgl/mouse.c user/ngie/bug-237403/lib/libvgl/simple.c user/ngie/bug-237403/lib/libvgl/vgl.h user/ngie/bug-237403/lib/ofed/libibnetdisc/Makefile user/ngie/bug-237403/sbin/camcontrol/camcontrol.8 user/ngie/bug-237403/sbin/camcontrol/camcontrol.c user/ngie/bug-237403/sbin/ipfw/ipfw.8 user/ngie/bug-237403/share/examples/tests/tests/tap/cp_test.sh user/ngie/bug-237403/share/man/man4/cfiscsi.4 user/ngie/bug-237403/share/man/man4/psm.4 user/ngie/bug-237403/share/man/man5/cd9660.5 user/ngie/bug-237403/share/man/man9/Makefile user/ngie/bug-237403/share/man/man9/ifnet.9 user/ngie/bug-237403/share/mk/bsd.sys.mk user/ngie/bug-237403/share/mk/googletest.test.inc.mk user/ngie/bug-237403/share/zoneinfo/tests/backward_test.sh user/ngie/bug-237403/share/zoneinfo/tests/zoneinfo_common.sh user/ngie/bug-237403/stand/efi/include/efi.h user/ngie/bug-237403/stand/efi/include/efizfs.h user/ngie/bug-237403/stand/efi/libefi/efizfs.c user/ngie/bug-237403/stand/efi/loader/main.c user/ngie/bug-237403/sys/amd64/linux32/syscalls.master user/ngie/bug-237403/sys/arm/broadcom/bcm2835/bcm2835_intr.c user/ngie/bug-237403/sys/arm/broadcom/bcm2835/bcm2836.c user/ngie/bug-237403/sys/cam/scsi/scsi_all.c user/ngie/bug-237403/sys/cam/scsi/scsi_all.h user/ngie/bug-237403/sys/cam/scsi/scsi_da.c user/ngie/bug-237403/sys/compat/linuxkpi/common/include/linux/io.h user/ngie/bug-237403/sys/compat/linuxkpi/common/src/linux_compat.c user/ngie/bug-237403/sys/conf/NOTES user/ngie/bug-237403/sys/conf/dtb.build.mk user/ngie/bug-237403/sys/conf/kern.post.mk user/ngie/bug-237403/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c user/ngie/bug-237403/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_stub_funcs.c user/ngie/bug-237403/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_stub_funcs.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ah.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5210/ar5210.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5211/ar5211.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5211/ar5211_recv.c user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5212/ar5212.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5416/ar5416.h user/ngie/bug-237403/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c user/ngie/bug-237403/sys/dev/ath/if_ath_rx.c user/ngie/bug-237403/sys/dev/ath/if_ath_rx_edma.c user/ngie/bug-237403/sys/dev/ath/if_athvar.h user/ngie/bug-237403/sys/dev/atkbdc/psm.c user/ngie/bug-237403/sys/dev/cxgbe/common/t4_msg.h user/ngie/bug-237403/sys/dev/cxgbe/t4_main.c user/ngie/bug-237403/sys/dev/cxgbe/tom/t4_tom.c user/ngie/bug-237403/sys/dev/cxgbe/tom/t4_tom.h user/ngie/bug-237403/sys/dev/mlx5/mlx5_en/mlx5_en_main.c user/ngie/bug-237403/sys/fs/nfs/nfs_commonsubs.c user/ngie/bug-237403/sys/geom/nop/g_nop.c user/ngie/bug-237403/sys/i386/linux/syscalls.master user/ngie/bug-237403/sys/modules/Makefile user/ngie/bug-237403/sys/net/if.c user/ngie/bug-237403/sys/net/if_tun.c user/ngie/bug-237403/sys/net/if_var.h user/ngie/bug-237403/sys/netinet/ip_reass.c user/ngie/bug-237403/sys/netinet/netdump/netdump_client.c user/ngie/bug-237403/sys/netinet/udp_usrreq.c user/ngie/bug-237403/sys/netinet6/frag6.c user/ngie/bug-237403/sys/netinet6/in6_ifattach.c user/ngie/bug-237403/sys/netinet6/ip6_id.c user/ngie/bug-237403/sys/powerpc/aim/trap_subr32.S user/ngie/bug-237403/sys/powerpc/pseries/mmu_phyp.c user/ngie/bug-237403/sys/powerpc/pseries/phyp-hvcall.S user/ngie/bug-237403/sys/powerpc/pseries/phyp_llan.c user/ngie/bug-237403/sys/sys/buf_ring.h user/ngie/bug-237403/sys/vm/vm_map.c user/ngie/bug-237403/tests/sys/geom/class/mirror/component_selection.sh user/ngie/bug-237403/tests/sys/kern/coredump_phnum_test.sh user/ngie/bug-237403/tests/sys/opencrypto/cryptodev.py user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py user/ngie/bug-237403/usr.bin/ar/write.c user/ngie/bug-237403/usr.bin/calendar/calendars/calendar.freebsd user/ngie/bug-237403/usr.bin/dtc/Makefile user/ngie/bug-237403/usr.bin/dtc/fdt.cc user/ngie/bug-237403/usr.bin/du/tests/du_test.sh user/ngie/bug-237403/usr.bin/getconf/tests/arch_type.c user/ngie/bug-237403/usr.bin/procstat/tests/procstat_test.sh user/ngie/bug-237403/usr.bin/procstat/tests/while1.c user/ngie/bug-237403/usr.sbin/bhyve/uart_emul.c user/ngie/bug-237403/usr.sbin/sysrc/sysrc.8 user/ngie/bug-237403/usr.sbin/wpa/Makefile.crypto Directory Properties: user/ngie/bug-237403/ (props changed) user/ngie/bug-237403/contrib/sqlite3/ (props changed) user/ngie/bug-237403/contrib/wpa/ (props changed) Modified: user/ngie/bug-237403/contrib/sqlite3/configure ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/configure Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/configure Wed Apr 24 04:43:53 2019 (r346621) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.27.1. +# Generated by GNU Autoconf 2.69 for sqlite 3.27.2. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.27.1' -PACKAGE_STRING='sqlite 3.27.1' +PACKAGE_VERSION='3.27.2' +PACKAGE_STRING='sqlite 3.27.2' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1341,7 +1341,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.27.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.27.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1412,7 +1412,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.27.1:";; + short | recursive ) echo "Configuration of sqlite 3.27.2:";; esac cat <<\_ACEOF @@ -1537,7 +1537,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.27.1 +sqlite configure 3.27.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1952,7 +1952,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.27.1, which was +It was created by sqlite $as_me 3.27.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2818,7 +2818,7 @@ fi # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.27.1' + VERSION='3.27.2' cat >>confdefs.h <<_ACEOF @@ -14438,7 +14438,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.27.1, which was +This file was extended by sqlite $as_me 3.27.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14495,7 +14495,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.27.1 +sqlite config.status 3.27.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Modified: user/ngie/bug-237403/contrib/sqlite3/configure.ac ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/configure.ac Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/configure.ac Wed Apr 24 04:43:53 2019 (r346621) @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.27.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.27.2, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) AC_CONFIG_AUX_DIR([.]) Modified: user/ngie/bug-237403/contrib/sqlite3/sqlite3.c ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/sqlite3.c Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/sqlite3.c Wed Apr 24 04:43:53 2019 (r346621) @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.27.1. By combining all the individual C code files into this +** version 3.27.2. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -1162,9 +1162,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.27.1" -#define SQLITE_VERSION_NUMBER 3027001 -#define SQLITE_SOURCE_ID "2019-02-08 13:17:39 0eca3dd3d38b31c92b49ca2d311128b74584714d9e7de895b1a6286ef959a1dd" +#define SQLITE_VERSION "3.27.2" +#define SQLITE_VERSION_NUMBER 3027002 +#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -3408,7 +3408,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers ** are not counted. ** -** This the [sqlite3_total_changes(D)] interface only reports the number +** The [sqlite3_total_changes(D)] interface only reports the number ** of rows that changed due to SQL statement run against database ** connection D. Any changes by other database connections are ignored. ** To detect changes against a database file from other database @@ -14937,57 +14937,56 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Sequence 120 /* synopsis: r[P2]=cursor[P1].ctr++ */ #define OP_NewRowid 121 /* synopsis: r[P2]=rowid */ #define OP_Insert 122 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 123 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 124 -#define OP_ResetCount 125 -#define OP_SorterCompare 126 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ -#define OP_SorterData 127 /* synopsis: r[P2]=data */ -#define OP_RowData 128 /* synopsis: r[P2]=data */ -#define OP_Rowid 129 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 130 -#define OP_SeekEnd 131 -#define OP_SorterInsert 132 /* synopsis: key=r[P2] */ -#define OP_IdxInsert 133 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 134 /* synopsis: key=r[P2@P3] */ -#define OP_DeferredSeek 135 /* synopsis: Move P3 to P1.rowid if needed */ -#define OP_IdxRowid 136 /* synopsis: r[P2]=rowid */ -#define OP_Destroy 137 -#define OP_Clear 138 -#define OP_ResetSorter 139 -#define OP_CreateBtree 140 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ +#define OP_Delete 123 +#define OP_ResetCount 124 +#define OP_SorterCompare 125 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_SorterData 126 /* synopsis: r[P2]=data */ +#define OP_RowData 127 /* synopsis: r[P2]=data */ +#define OP_Rowid 128 /* synopsis: r[P2]=rowid */ +#define OP_NullRow 129 +#define OP_SeekEnd 130 +#define OP_SorterInsert 131 /* synopsis: key=r[P2] */ +#define OP_IdxInsert 132 /* synopsis: key=r[P2] */ +#define OP_IdxDelete 133 /* synopsis: key=r[P2@P3] */ +#define OP_DeferredSeek 134 /* synopsis: Move P3 to P1.rowid if needed */ +#define OP_IdxRowid 135 /* synopsis: r[P2]=rowid */ +#define OP_Destroy 136 +#define OP_Clear 137 +#define OP_ResetSorter 138 +#define OP_CreateBtree 139 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ +#define OP_SqlExec 140 #define OP_Real 141 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_SqlExec 142 -#define OP_ParseSchema 143 -#define OP_LoadAnalysis 144 -#define OP_DropTable 145 -#define OP_DropIndex 146 -#define OP_DropTrigger 147 -#define OP_IntegrityCk 148 -#define OP_RowSetAdd 149 /* synopsis: rowset(P1)=r[P2] */ -#define OP_Param 150 -#define OP_FkCounter 151 /* synopsis: fkctr[P1]+=P2 */ -#define OP_MemMax 152 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_OffsetLimit 153 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ -#define OP_AggInverse 154 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */ -#define OP_AggStep 155 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep1 156 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggValue 157 /* synopsis: r[P3]=value N=P2 */ -#define OP_AggFinal 158 /* synopsis: accum=r[P1] N=P2 */ -#define OP_Expire 159 -#define OP_TableLock 160 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 161 -#define OP_VCreate 162 -#define OP_VDestroy 163 -#define OP_VOpen 164 -#define OP_VColumn 165 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VRename 166 -#define OP_Pagecount 167 -#define OP_MaxPgcnt 168 -#define OP_Trace 169 -#define OP_CursorHint 170 -#define OP_Noop 171 -#define OP_Explain 172 -#define OP_Abortable 173 +#define OP_ParseSchema 142 +#define OP_LoadAnalysis 143 +#define OP_DropTable 144 +#define OP_DropIndex 145 +#define OP_DropTrigger 146 +#define OP_IntegrityCk 147 +#define OP_RowSetAdd 148 /* synopsis: rowset(P1)=r[P2] */ +#define OP_Param 149 +#define OP_FkCounter 150 /* synopsis: fkctr[P1]+=P2 */ +#define OP_MemMax 151 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_OffsetLimit 152 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ +#define OP_AggInverse 153 /* synopsis: accum=r[P3] inverse(r[P2@P5]) */ +#define OP_AggStep 154 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggStep1 155 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggValue 156 /* synopsis: r[P3]=value N=P2 */ +#define OP_AggFinal 157 /* synopsis: accum=r[P1] N=P2 */ +#define OP_Expire 158 +#define OP_TableLock 159 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 160 +#define OP_VCreate 161 +#define OP_VDestroy 162 +#define OP_VOpen 163 +#define OP_VColumn 164 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VRename 165 +#define OP_Pagecount 166 +#define OP_MaxPgcnt 167 +#define OP_Trace 168 +#define OP_CursorHint 169 +#define OP_Noop 170 +#define OP_Explain 171 +#define OP_Abortable 172 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c @@ -15016,12 +15015,12 @@ typedef struct VdbeOpList VdbeOpList; /* 104 */ 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ /* 112 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ /* 120 */ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 128 */ 0x00, 0x10, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,\ -/* 136 */ 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ -/* 144 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00,\ -/* 152 */ 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\ -/* 168 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,} +/* 128 */ 0x10, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x10,\ +/* 136 */ 0x10, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00,\ +/* 144 */ 0x00, 0x00, 0x00, 0x00, 0x06, 0x10, 0x00, 0x04,\ +/* 152 */ 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,\ +/* 168 */ 0x00, 0x00, 0x00, 0x00, 0x00,} /* The sqlite3P2Values() routine is able to run faster if it knows ** the value of the largest JUMP opcode. The smaller the maximum @@ -19174,7 +19173,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameColumn(Parse*, S SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *, int *); SQLITE_PRIVATE void sqlite3NestedParse(Parse*, const char*, ...); SQLITE_PRIVATE void sqlite3ExpirePreparedStatements(sqlite3*, int); -SQLITE_PRIVATE void sqlite3CodeRhsOfIN(Parse*, Expr*, int, int); +SQLITE_PRIVATE void sqlite3CodeRhsOfIN(Parse*, Expr*, int); SQLITE_PRIVATE int sqlite3CodeSubselect(Parse*, Expr*); SQLITE_PRIVATE void sqlite3SelectPrep(Parse*, Select*, NameContext*); SQLITE_PRIVATE void sqlite3SelectWrongNumTermsError(Parse *pParse, Select *p); @@ -32139,57 +32138,56 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 120 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), /* 121 */ "NewRowid" OpHelp("r[P2]=rowid"), /* 122 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 123 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 124 */ "Delete" OpHelp(""), - /* 125 */ "ResetCount" OpHelp(""), - /* 126 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), - /* 127 */ "SorterData" OpHelp("r[P2]=data"), - /* 128 */ "RowData" OpHelp("r[P2]=data"), - /* 129 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 130 */ "NullRow" OpHelp(""), - /* 131 */ "SeekEnd" OpHelp(""), - /* 132 */ "SorterInsert" OpHelp("key=r[P2]"), - /* 133 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 134 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 135 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), - /* 136 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 137 */ "Destroy" OpHelp(""), - /* 138 */ "Clear" OpHelp(""), - /* 139 */ "ResetSorter" OpHelp(""), - /* 140 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), + /* 123 */ "Delete" OpHelp(""), + /* 124 */ "ResetCount" OpHelp(""), + /* 125 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 126 */ "SorterData" OpHelp("r[P2]=data"), + /* 127 */ "RowData" OpHelp("r[P2]=data"), + /* 128 */ "Rowid" OpHelp("r[P2]=rowid"), + /* 129 */ "NullRow" OpHelp(""), + /* 130 */ "SeekEnd" OpHelp(""), + /* 131 */ "SorterInsert" OpHelp("key=r[P2]"), + /* 132 */ "IdxInsert" OpHelp("key=r[P2]"), + /* 133 */ "IdxDelete" OpHelp("key=r[P2@P3]"), + /* 134 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), + /* 135 */ "IdxRowid" OpHelp("r[P2]=rowid"), + /* 136 */ "Destroy" OpHelp(""), + /* 137 */ "Clear" OpHelp(""), + /* 138 */ "ResetSorter" OpHelp(""), + /* 139 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), + /* 140 */ "SqlExec" OpHelp(""), /* 141 */ "Real" OpHelp("r[P2]=P4"), - /* 142 */ "SqlExec" OpHelp(""), - /* 143 */ "ParseSchema" OpHelp(""), - /* 144 */ "LoadAnalysis" OpHelp(""), - /* 145 */ "DropTable" OpHelp(""), - /* 146 */ "DropIndex" OpHelp(""), - /* 147 */ "DropTrigger" OpHelp(""), - /* 148 */ "IntegrityCk" OpHelp(""), - /* 149 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 150 */ "Param" OpHelp(""), - /* 151 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 152 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 153 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), - /* 154 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"), - /* 155 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 156 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 157 */ "AggValue" OpHelp("r[P3]=value N=P2"), - /* 158 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 159 */ "Expire" OpHelp(""), - /* 160 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 161 */ "VBegin" OpHelp(""), - /* 162 */ "VCreate" OpHelp(""), - /* 163 */ "VDestroy" OpHelp(""), - /* 164 */ "VOpen" OpHelp(""), - /* 165 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 166 */ "VRename" OpHelp(""), - /* 167 */ "Pagecount" OpHelp(""), - /* 168 */ "MaxPgcnt" OpHelp(""), - /* 169 */ "Trace" OpHelp(""), - /* 170 */ "CursorHint" OpHelp(""), - /* 171 */ "Noop" OpHelp(""), - /* 172 */ "Explain" OpHelp(""), - /* 173 */ "Abortable" OpHelp(""), + /* 142 */ "ParseSchema" OpHelp(""), + /* 143 */ "LoadAnalysis" OpHelp(""), + /* 144 */ "DropTable" OpHelp(""), + /* 145 */ "DropIndex" OpHelp(""), + /* 146 */ "DropTrigger" OpHelp(""), + /* 147 */ "IntegrityCk" OpHelp(""), + /* 148 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), + /* 149 */ "Param" OpHelp(""), + /* 150 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 151 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 152 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), + /* 153 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])"), + /* 154 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 155 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 156 */ "AggValue" OpHelp("r[P3]=value N=P2"), + /* 157 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 158 */ "Expire" OpHelp(""), + /* 159 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 160 */ "VBegin" OpHelp(""), + /* 161 */ "VCreate" OpHelp(""), + /* 162 */ "VDestroy" OpHelp(""), + /* 163 */ "VOpen" OpHelp(""), + /* 164 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 165 */ "VRename" OpHelp(""), + /* 166 */ "Pagecount" OpHelp(""), + /* 167 */ "MaxPgcnt" OpHelp(""), + /* 168 */ "Trace" OpHelp(""), + /* 169 */ "CursorHint" OpHelp(""), + /* 170 */ "Noop" OpHelp(""), + /* 171 */ "Explain" OpHelp(""), + /* 172 */ "Abortable" OpHelp(""), }; return azName[i]; } @@ -87935,14 +87933,7 @@ case OP_NewRowid: { /* out2 */ ** This instruction only works on tables. The equivalent instruction ** for indices is OP_IdxInsert. */ -/* Opcode: InsertInt P1 P2 P3 P4 P5 -** Synopsis: intkey=P3 data=r[P2] -** -** This works exactly like OP_Insert except that the key is the -** integer value P3, not the value of the integer stored in register P3. -*/ -case OP_Insert: -case OP_InsertInt: { +case OP_Insert: { Mem *pData; /* MEM cell holding data for the record to be inserted */ Mem *pKey; /* MEM cell holding key for the record */ VdbeCursor *pC; /* Cursor to table into which insert is written */ @@ -87963,16 +87954,11 @@ case OP_InsertInt: { REGISTER_TRACE(pOp->p2, pData); sqlite3VdbeIncrWriteCounter(p, pC); - if( pOp->opcode==OP_Insert ){ - pKey = &aMem[pOp->p3]; - assert( pKey->flags & MEM_Int ); - assert( memIsValid(pKey) ); - REGISTER_TRACE(pOp->p3, pKey); - x.nKey = pKey->u.i; - }else{ - assert( pOp->opcode==OP_InsertInt ); - x.nKey = pOp->p3; - } + pKey = &aMem[pOp->p3]; + assert( pKey->flags & MEM_Int ); + assert( memIsValid(pKey) ); + REGISTER_TRACE(pOp->p3, pKey); + x.nKey = pKey->u.i; if( pOp->p4type==P4_TABLE && HAS_UPDATE_HOOK(db) ){ assert( pC->iDb>=0 ); @@ -96131,7 +96117,39 @@ SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy( return 0; } +#ifndef SQLITE_OMIT_WINDOWFUNC /* +** Walker callback for resolveRemoveWindows(). +*/ +static int resolveRemoveWindowsCb(Walker *pWalker, Expr *pExpr){ + if( ExprHasProperty(pExpr, EP_WinFunc) ){ + Window **pp; + for(pp=&pWalker->u.pSelect->pWin; *pp; pp=&(*pp)->pNextWin){ + if( *pp==pExpr->y.pWin ){ + *pp = (*pp)->pNextWin; + break; + } + } + } + return WRC_Continue; +} + +/* +** Remove any Window objects owned by the expression pExpr from the +** Select.pWin list of Select object pSelect. +*/ +static void resolveRemoveWindows(Select *pSelect, Expr *pExpr){ + Walker sWalker; + memset(&sWalker, 0, sizeof(Walker)); + sWalker.xExprCallback = resolveRemoveWindowsCb; + sWalker.u.pSelect = pSelect; + sqlite3WalkExpr(&sWalker, pExpr); +} +#else +# define resolveRemoveWindows(x,y) +#endif + +/* ** pOrderBy is an ORDER BY or GROUP BY clause in SELECT statement pSelect. ** The Name context of the SELECT statement is pNC. zType is either ** "ORDER" or "GROUP" depending on which type of clause pOrderBy is. @@ -96197,19 +96215,10 @@ static int resolveOrderGroupBy( } for(j=0; jpEList->nExpr; j++){ if( sqlite3ExprCompare(0, pE, pSelect->pEList->a[j].pExpr, -1)==0 ){ -#ifndef SQLITE_OMIT_WINDOWFUNC - if( ExprHasProperty(pE, EP_WinFunc) ){ - /* Since this window function is being changed into a reference - ** to the same window function the result set, remove the instance - ** of this window function from the Select.pWin list. */ - Window **pp; - for(pp=&pSelect->pWin; *pp; pp=&(*pp)->pNextWin){ - if( *pp==pE->y.pWin ){ - *pp = (*pp)->pNextWin; - } - } - } -#endif + /* Since this expresion is being changed into a reference + ** to an identical expression in the result set, remove all Window + ** objects belonging to the expression from the Select.pWin list. */ + resolveRemoveWindows(pSelect, pE); pItem->u.x.iOrderByCol = j+1; } } @@ -99181,14 +99190,11 @@ SQLITE_PRIVATE int sqlite3FindInIndex( eType = IN_INDEX_EPH; if( inFlags & IN_INDEX_LOOP ){ pParse->nQueryLoop = 0; - if( pX->pLeft->iColumn<0 && !ExprHasProperty(pX, EP_xIsSelect) ){ - eType = IN_INDEX_ROWID; - } }else if( prRhsHasNull ){ *prRhsHasNull = rMayHaveNull = ++pParse->nMem; } assert( pX->op==TK_IN ); - sqlite3CodeRhsOfIN(pParse, pX, iTab, eType==IN_INDEX_ROWID); + sqlite3CodeRhsOfIN(pParse, pX, iTab); if( rMayHaveNull ){ sqlite3SetHasNullFlag(v, iTab, rMayHaveNull); } @@ -99289,12 +99295,6 @@ SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse *pPars ** however the cursor number returned might not be the same, as it might ** have been duplicated using OP_OpenDup. ** -** If parameter isRowid is non-zero, then LHS of the IN operator is guaranteed -** to be a non-null integer. In this case, the ephemeral table can be an -** table B-Tree that keyed by only integers. The more general cases uses -** an index B-Tree which can have arbitrary keys, but is slower to both -** read and write. -** ** If the LHS expression ("x" in the examples) is a column value, or ** the SELECT statement returns a column value, then the affinity of that ** column is used to build the index keys. If both 'x' and the @@ -99306,8 +99306,7 @@ SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse *pPars SQLITE_PRIVATE void sqlite3CodeRhsOfIN( Parse *pParse, /* Parsing context */ Expr *pExpr, /* The IN operator */ - int iTab, /* Use this cursor number */ - int isRowid /* If true, LHS is a rowid */ + int iTab /* Use this cursor number */ ){ int addrOnce = 0; /* Address of the OP_Once instruction at top */ int addr; /* Address of OP_OpenEphemeral instruction */ @@ -99360,14 +99359,12 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN( /* Check to see if this is a vector IN operator */ pLeft = pExpr->pLeft; nVal = sqlite3ExprVectorSize(pLeft); - assert( !isRowid || nVal==1 ); /* Construct the ephemeral table that will contain the content of ** RHS of the IN operator. */ pExpr->iTable = iTab; - addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, - pExpr->iTable, (isRowid?0:nVal)); + addr = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pExpr->iTable, nVal); #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS if( ExprHasProperty(pExpr, EP_xIsSelect) ){ VdbeComment((v, "Result of SELECT %u", pExpr->x.pSelect->selId)); @@ -99375,7 +99372,7 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN( VdbeComment((v, "RHS of IN operator")); } #endif - pKeyInfo = isRowid ? 0 : sqlite3KeyInfoAlloc(pParse->db, nVal, 1); + pKeyInfo = sqlite3KeyInfoAlloc(pParse->db, nVal, 1); if( ExprHasProperty(pExpr, EP_xIsSelect) ){ /* Case 1: expr IN (SELECT ...) @@ -99389,7 +99386,6 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN( ExplainQueryPlan((pParse, 1, "%sLIST SUBQUERY %d", addrOnce?"":"CORRELATED ", pSelect->selId )); - assert( !isRowid ); /* If the LHS and RHS of the IN operator do not match, that ** error will have been caught long before we reach this point. */ if( ALWAYS(pEList->nExpr==nVal) ){ @@ -99442,10 +99438,8 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN( /* Loop through each expression in . */ r1 = sqlite3GetTempReg(pParse); r2 = sqlite3GetTempReg(pParse); - if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC); for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ Expr *pE2 = pItem->pExpr; - int iValToIns; /* If the expression is not constant then we will need to ** disable the test that was generated above that makes sure @@ -99458,20 +99452,9 @@ SQLITE_PRIVATE void sqlite3CodeRhsOfIN( } /* Evaluate the expression and insert it into the temp table */ - if( isRowid && sqlite3ExprIsInteger(pE2, &iValToIns) ){ - sqlite3VdbeAddOp3(v, OP_InsertInt, iTab, r2, iValToIns); - }else{ - r3 = sqlite3ExprCodeTarget(pParse, pE2, r1); - if( isRowid ){ - sqlite3VdbeAddOp2(v, OP_MustBeInt, r3, - sqlite3VdbeCurrentAddr(v)+2); - VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_Insert, iTab, r2, r3); - }else{ - sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); - sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iTab, r2, r3, 1); - } - } + r3 = sqlite3ExprCodeTarget(pParse, pE2, r1); + sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iTab, r2, r3, 1); } sqlite3ReleaseTempReg(pParse, r1); sqlite3ReleaseTempReg(pParse, r2); @@ -118107,10 +118090,13 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( pik_flags |= (update_flags & OPFLAG_SAVEPOSITION); #ifdef SQLITE_ENABLE_PREUPDATE_HOOK if( update_flags==0 ){ - sqlite3VdbeAddOp4(v, OP_InsertInt, - iIdxCur+i, aRegIdx[i], 0, (char*)pTab, P4_TABLE + int r = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp2(v, OP_Integer, 0, r); + sqlite3VdbeAddOp4(v, OP_Insert, + iIdxCur+i, aRegIdx[i], r, (char*)pTab, P4_TABLE ); sqlite3VdbeChangeP5(v, OPFLAG_ISNOOP); + sqlite3ReleaseTempReg(pParse, r); } #endif } @@ -136427,7 +136413,6 @@ static int codeEqualityTerm( if( pLoop->aLTerm[i]->pExpr==pX ){ int iOut = iReg + i - iEq; if( eType==IN_INDEX_ROWID ){ - testcase( nEq>1 ); /* Happens with a UNIQUE index on ROWID */ pIn->addrInTop = sqlite3VdbeAddOp2(v, OP_Rowid, iTab, iOut); }else{ int iCol = aiMap ? aiMap[iMap++] : 0; @@ -137189,6 +137174,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeAddOp3(v, OP_SeekRowid, iCur, addrNxt, iRowidReg); VdbeCoverage(v); pLevel->op = OP_Noop; + if( (pTerm->prereqAll & pLevel->notReady)==0 ){ + pTerm->wtFlags |= TERM_CODED; + } }else if( (pLoop->wsFlags & WHERE_IPK)!=0 && (pLoop->wsFlags & WHERE_COLUMN_RANGE)!=0 ){ @@ -217076,7 +217064,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2019-02-08 13:17:39 0eca3dd3d38b31c92b49ca2d311128b74584714d9e7de895b1a6286ef959a1dd", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7", -1, SQLITE_TRANSIENT); } /* @@ -221840,9 +221828,9 @@ SQLITE_API int sqlite3_stmt_init( #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ /************** End of stmt.c ************************************************/ -#if __LINE__!=221843 +#if __LINE__!=221831 #undef SQLITE_SOURCE_ID -#define SQLITE_SOURCE_ID "2019-02-08 13:17:39 0eca3dd3d38b31c92b49ca2d311128b74584714d9e7de895b1a6286ef959alt2" +#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0alt2" #endif /* Return the source-id for this library */ SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } Modified: user/ngie/bug-237403/contrib/sqlite3/sqlite3.h ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/sqlite3.h Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/sqlite3.h Wed Apr 24 04:43:53 2019 (r346621) @@ -123,9 +123,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.27.1" -#define SQLITE_VERSION_NUMBER 3027001 -#define SQLITE_SOURCE_ID "2019-02-08 13:17:39 0eca3dd3d38b31c92b49ca2d311128b74584714d9e7de895b1a6286ef959a1dd" +#define SQLITE_VERSION "3.27.2" +#define SQLITE_VERSION_NUMBER 3027002 +#define SQLITE_SOURCE_ID "2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -2369,7 +2369,7 @@ SQLITE_API int sqlite3_changes(sqlite3*); ** not. ^Changes to a view that are intercepted by INSTEAD OF triggers ** are not counted. ** -** This the [sqlite3_total_changes(D)] interface only reports the number +** The [sqlite3_total_changes(D)] interface only reports the number ** of rows that changed due to SQL statement run against database ** connection D. Any changes by other database connections are ignored. ** To detect changes against a database file from other database Modified: user/ngie/bug-237403/contrib/sqlite3/tea/configure ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/tea/configure Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/tea/configure Wed Apr 24 04:43:53 2019 (r346621) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.27.1. +# Generated by GNU Autoconf 2.69 for sqlite 3.27.2. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.27.1' -PACKAGE_STRING='sqlite 3.27.1' +PACKAGE_VERSION='3.27.2' +PACKAGE_STRING='sqlite 3.27.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1303,7 +1303,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.27.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.27.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1365,7 +1365,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.27.1:";; + short | recursive ) echo "Configuration of sqlite 3.27.2:";; esac cat <<\_ACEOF @@ -1467,7 +1467,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.27.1 +sqlite configure 3.27.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1878,7 +1878,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.27.1, which was +It was created by sqlite $as_me 3.27.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -9373,7 +9373,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.27.1, which was +This file was extended by sqlite $as_me 3.27.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9426,7 +9426,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.27.1 +sqlite config.status 3.27.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Modified: user/ngie/bug-237403/contrib/sqlite3/tea/configure.ac ============================================================================== --- user/ngie/bug-237403/contrib/sqlite3/tea/configure.ac Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/sqlite3/tea/configure.ac Wed Apr 24 04:43:53 2019 (r346621) @@ -19,7 +19,7 @@ dnl to configure the system for the local environment. # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- -AC_INIT([sqlite], [3.27.1]) +AC_INIT([sqlite], [3.27.2]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. Modified: user/ngie/bug-237403/contrib/wpa/CONTRIBUTIONS ============================================================================== --- user/ngie/bug-237403/contrib/wpa/CONTRIBUTIONS Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/wpa/CONTRIBUTIONS Wed Apr 24 04:43:53 2019 (r346621) @@ -140,7 +140,7 @@ The license terms used for hostap.git files Modified BSD license (no advertisement clause): -Copyright (c) 2002-2018, Jouni Malinen and contributors +Copyright (c) 2002-2019, Jouni Malinen and contributors All Rights Reserved. Redistribution and use in source and binary forms, with or without Modified: user/ngie/bug-237403/contrib/wpa/COPYING ============================================================================== --- user/ngie/bug-237403/contrib/wpa/COPYING Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/wpa/COPYING Wed Apr 24 04:43:53 2019 (r346621) @@ -1,7 +1,7 @@ wpa_supplicant and hostapd -------------------------- -Copyright (c) 2002-2018, Jouni Malinen and contributors +Copyright (c) 2002-2019, Jouni Malinen and contributors All Rights Reserved. Modified: user/ngie/bug-237403/contrib/wpa/README ============================================================================== --- user/ngie/bug-237403/contrib/wpa/README Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/wpa/README Wed Apr 24 04:43:53 2019 (r346621) @@ -1,7 +1,7 @@ wpa_supplicant and hostapd -------------------------- -Copyright (c) 2002-2018, Jouni Malinen and contributors +Copyright (c) 2002-2019, Jouni Malinen and contributors All Rights Reserved. These programs are licensed under the BSD license (the one with Modified: user/ngie/bug-237403/contrib/wpa/hostapd/ChangeLog ============================================================================== --- user/ngie/bug-237403/contrib/wpa/hostapd/ChangeLog Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/wpa/hostapd/ChangeLog Wed Apr 24 04:43:53 2019 (r346621) @@ -1,5 +1,60 @@ ChangeLog for hostapd +2019-04-21 - v2.8 + * SAE changes + - added support for SAE Password Identifier + - changed default configuration to enable only group 19 + (i.e., disable groups 20, 21, 25, 26 from default configuration) and + disable all unsuitable groups completely based on REVmd changes + - improved anti-clogging token mechanism and SAE authentication + frame processing during heavy CPU load; this mitigates some issues + with potential DoS attacks trying to flood an AP with large number + of SAE messages + - added Finite Cyclic Group field in status code 77 responses + - reject use of unsuitable groups based on new implementation guidance + in REVmd (allow only FFC groups with prime >= 3072 bits and ECC + groups with prime >= 256) + - minimize timing and memory use differences in PWE derivation + [https://w1.fi/security/2019-1/] (CVE-2019-9494) + - fixed confirm message validation in error cases + [https://w1.fi/security/2019-3/] (CVE-2019-9496) + * EAP-pwd changes + - minimize timing and memory use differences in PWE derivation + [https://w1.fi/security/2019-2/] (CVE-2019-9495) + - verify peer scalar/element + [https://w1.fi/security/2019-4/] (CVE-2019-9497 and CVE-2019-9498) + - fix message reassembly issue with unexpected fragment + [https://w1.fi/security/2019-5/] + - enforce rand,mask generation rules more strictly + - fix a memory leak in PWE derivation + - disallow ECC groups with a prime under 256 bits (groups 25, 26, and + 27) + * Hotspot 2.0 changes + - added support for release number 3 + - reject release 2 or newer association without PMF + * added support for RSN operating channel validation + (CONFIG_OCV=y and configuration parameter ocv=1) + * added Multi-AP protocol support + * added FTM responder configuration + * fixed build with LibreSSL + * added FT/RRB workaround for short Ethernet frame padding + * fixed KEK2 derivation for FILS+FT + * added RSSI-based association rejection from OCE + * extended beacon reporting functionality + * VLAN changes + - allow local VLAN management with remote RADIUS authentication + - add WPA/WPA2 passphrase/PSK -based VLAN assignment + * OpenSSL: allow systemwide policies to be overridden + * extended PEAP to derive EMSK to enable use with ERP/FILS + * extended WPS to allow SAE configuration to be added automatically + for PSK (wps_cred_add_sae=1) + * fixed FT and SA Query Action frame with AP-MLME-in-driver cases + * OWE: allow Diffie-Hellman Parameter element to be included with DPP + in preparation for DPP protocol extension + * RADIUS server: started to accept ERP keyName-NAI as user identity + automatically without matching EAP database entry + * fixed PTK rekeying with FILS and FT + 2018-12-02 - v2.7 * fixed WPA packet number reuse with replayed messages and key reinstallation Modified: user/ngie/bug-237403/contrib/wpa/hostapd/README ============================================================================== --- user/ngie/bug-237403/contrib/wpa/hostapd/README Wed Apr 24 04:40:24 2019 (r346620) +++ user/ngie/bug-237403/contrib/wpa/hostapd/README Wed Apr 24 04:43:53 2019 (r346621) @@ -2,7 +2,7 @@ hostapd - user space IEEE 802.11 AP and IEEE 802.1X/WP Authenticator and RADIUS authentication server ================================================================ -Copyright (c) 2002-2018, Jouni Malinen and contributors +Copyright (c) 2002-2019, Jouni Malinen and contributors All Rights Reserved. This program is licensed under the BSD license (the one with Copied: user/ngie/bug-237403/contrib/wpa/hostapd/README-MULTI-AP (from r346620, head/contrib/wpa/hostapd/README-MULTI-AP) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/bug-237403/contrib/wpa/hostapd/README-MULTI-AP Wed Apr 24 04:43:53 2019 (r346621, copy of r346620, head/contrib/wpa/hostapd/README-MULTI-AP) @@ -0,0 +1,160 @@ +hostapd, wpa_supplicant and the Multi-AP Specification +====================================================== + +This document describes how hostapd and wpa_supplicant can be configured to +support the Multi-AP Specification. + +Introduction to Multi-AP +------------------------ + +The Wi-Fi Alliance Multi-AP Specification is the technical specification for +Wi-Fi CERTIFIED EasyMesh(TM) [1], the Wi-Fi AllianceĀ® certification program for +Multi-AP. It defines control protocols between Wi-FiĀ® access points (APs) to +join them into a network with centralized control and operation. It is targeted +only at routers (repeaters, gateways, ...), not at clients. Clients are not +involved at all in the protocols. + +Most of the Multi-AP specification falls outside of the scope of +hostapd/wpa_supplicant. hostapd/wpa_supplicant is only involved for the items +summarized below. The rest of the protocol must be implemented by a separate +daemon, e.g., prplMesh [2]. That daemon also needs to communicate with hostapd, +e.g., to get a list of associated clients, but this can be done using the normal +hostapd interfaces. + +hostapd/wpa_supplicant needs to be configured specifically to support: +- the WPS onboarding process; +- configuring backhaul links. + +The text below refers to "Multi-AP Specification v1.0" [3]. + + +Fronthaul and backhaul links +---------------------------- + +In a Multi-AP network, the central controller can configure the BSSs on the +devices that are joined into the network. These are called fronthaul BSSs. +From the point of view of hostapd, there is nothing special about these +fronthaul BSSs. + +In addition to fronthaul BSSs, the controller can also configure backhaul +links. A backhaul link is a link between two access point devices, giving +internet access to access point devices that don't have a wired link. The +Multi-AP specification doesn't dictate this, but typically the backhaul link +will be bridged into a LAN together with (one of) the fronthaul BSS(s) and the +wired Ethernet ports. + +A backhaul link must be treated specially by hostapd and wpa_supplicant. One +side of the backhaul link is configured through the Multi-AP protocol as the +"backhaul STA", i.e., the client side of the link. A backhaul STA is like any +station and is handled appropriately by wpa_supplicant, but two additional +features are required. It must send an additional information element in each +(Re)Association Request frame ([3], section 5.2, paragraph 4). In addition, it +must use 4-address mode for all frames sent over this link ([3], section 14). +Therefore, wpa_supplicant must be configured explicitly as the backhaul STA +role, by setting 'multi_ap_backhaul_sta=1' in the network configuration block +or when configuring the network profile through the control interface. When +'multi_ap_backhaul_sta=1', wpa_supplicant includes the Multi-AP IE in +(Re)Association Request frame and verifies that it is included in the +(Re)Association Response frame. If it is not, association fails. If it is, +wpa_supplicant sets 4-address mode for this interface through a driver +callback. + +The AP side of the backhaul link is called a "backhaul BSS". Such a BSS must +be handled specially by hostapd, because it must add an additional information +element in each (Re)Association Response frame, but only to stations that have +identified themselves as backhaul stations ([3], section 5.2, paragraph 5-6). +This is important because it is possible to use the same BSS and SSID for +fronthaul and backhaul at the same time. The additional information element must +only be used for frames sent to a backhaul STA, not to a normal STA. Also, +frames sent to a backhaul STA must use 4-address mode, while frames sent to a +normal STA (fronthaul, when it's a fronthaul and backhaul BSS) must use +3-address mode. + +A BSS is configured in Multi-AP mode in hostapd by setting the 'multi_ap' +configuration option to 1 (backhaul BSS), 2 (fronthaul BSS), or 3 +(simultaneous backhaul and fronthaul BSS). If this option is set, hostapd +parses the Multi-AP information element in the Association Request frame. If the +station is a backhaul STA and the BSS is configured as a backhaul BSS, +hostapd sets up 4-address mode. Since there may be multiple stations connected +simultaneously, and each of them has a different RA (receiver address), a VLAN +is created for each backhaul STA and it is automatically added to a bridge. +This is the same behavior as for WDS, and the relevant option ('bridge' or +'wds_bridge') applies here as well. + +If 'multi_ap' is 1 (backhaul BSS only), any station that tries to associate +without the Multi-AP information element will be denied. + +If 'multi_ap' is 2 (fronthaul BSS only), any station that tries to associate +with the Multi-AP information element will be denied. That is also the only +difference with 'multi_ap' set to 0: in the latter case, the Multi-AP +information element is simply ignored. + +In summary, this is the end-to-end behavior for a backhaul BSS (i.e., +multi_ap_backhaul_sta=1 in wpa_supplicant on STA, and multi_ap=1 or 3 in +hostapd on AP). Note that point 1 means that hostapd must not be configured +with WPS support on the backhaul BSS (multi_ap=1). hostapd does not check for +that. + +1. Backhaul BSS beacons do not advertise WPS support (other than that, nothing + Multi-AP specific). +2. STA sends Authentication frame (nothing Multi-AP specific). +3. AP sends Authentication frame (nothing Multi-AP specific). +4. STA sends Association Request frame with Multi-AP IE. +5. AP sends Association Response frame with Multi-AP IE. +6. STA and AP both use 4-address mode for Data frames. + + +WPS support +----------- + +WPS requires more special handling. WPS must only be advertised on fronthaul +BSSs, not on backhaul BSSs, so WPS should not be enabled on a backhaul-only +BSS in hostapd.conf. The WPS configuration purely works on the fronthaul BSS. +When a WPS M1 message has an additional subelement that indicates a request for +a Multi-AP backhaul link, hostapd must not respond with the normal fronthaul +BSS credentials; instead, it should respond with the (potentially different) +backhaul BSS credentials. + +To support this, hostapd has the 'multi_ap_backhaul_ssid', +'multi_ap_backhaul_wpa_psk' and 'multi_ap_backhaul_wpa_passphrase' options. +When these are set on an BSS with WPS, they are used instead of the normal +credentials when hostapd receives a WPS M1 message with the Multi-AP IE. Only +WPA2-Personal is supported in the Multi-AP specification, so there is no need +to specify authentication or encryption options. For the backhaul credentials, +per-device PSK is not supported. + +If the BSS is a simultaneous backhaul and fronthaul BSS, there is no need to +specify the backhaul credentials, since the backhaul and fronthaul credentials +are identical. + +To enable the Multi-AP backhaul STA feature when it performs WPS, a new +parameter has been introduced to the WPS_PBC control interface call. When this +"multi_ap=1" option is set, it adds the Multi-AP backhaul subelement to the +Association Request frame and the M1 message. It then configures the new network +profile with 'multi_ap_backhaul_sta=1'. Note that this means that if the AP does +not follow the Multi-AP specification, wpa_supplicant will fail to associate. + +In summary, this is the end-to-end behavior for WPS of a backhaul link (i.e., +multi_ap=1 option is given in the wps_pbc call on the STA side, and multi_ap=2 +and multi_ap_backhaul_ssid and either multi_ap_backhaul_wpa_psk or +multi_ap_backhaul_wpa_passphrase are set to the credentials of a backhaul BSS +in hostapd on Registrar AP). + +1. Fronthaul BSS Beacon frames advertise WPS support (nothing Multi-AP + specific). +2. Enrollee sends Authentication frame (nothing Multi-AP specific). +3. AP sends Authentication frame (nothing Multi-AP specific). +4. Enrollee sends Association Request frame with Multi-AP IE. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Wed Apr 24 04:45:01 2019 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6A295158C07C for ; Wed, 24 Apr 2019 04:45:01 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 113A6724CB; Wed, 24 Apr 2019 04:45:01 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 00872730D; Wed, 24 Apr 2019 04:45:01 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3O4j0O8067019; Wed, 24 Apr 2019 04:45:00 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3O4j0om067018; Wed, 24 Apr 2019 04:45:00 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904240445.x3O4j0om067018@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Wed, 24 Apr 2019 04:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r346622 - user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Group: user X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: user/ngie/bug-237403/tests/sys/opencrypto X-SVN-Commit-Revision: 346622 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 113A6724CB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.961,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Apr 2019 04:45:01 -0000 Author: ngie Date: Wed Apr 24 04:45:00 2019 New Revision: 346622 URL: https://svnweb.freebsd.org/changeset/base/346622 Log: except EnvironmentError, e -> except EnvironmentError as e for py3 compat Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Modified: user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py ============================================================================== --- user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Wed Apr 24 04:43:53 2019 (r346621) +++ user/ngie/bug-237403/tests/sys/opencrypto/cryptotest.py Wed Apr 24 04:45:00 2019 (r346622) @@ -266,7 +266,7 @@ def GenTestCase(cname): mackey=key, maclen=16) r, tag = Crypto.encrypt(c, payload, nonce, aad) - except EnvironmentError, e: + except EnvironmentError as e: if e.errno != errno.EOPNOTSUPP: raise continue @@ -308,7 +308,7 @@ def GenTestCase(cname): key=key, mac=cryptodev.CRYPTO_AES_CCM_CBC_MAC, mackey=key, maclen=16) - except EnvironmentError, e: + except EnvironmentError as e: if e.errno != errno.EOPNOTSUPP: raise continue @@ -412,7 +412,7 @@ def GenTestCase(cname): try: c = Crypto(mac=alg, crid=crid, maclen=hashlen) - except EnvironmentError, e: + except EnvironmentError as e: # Can't test hashes the driver does not support. if e.errno != errno.EOPNOTSUPP: raise