Commit Graph

119 Commits

Author SHA1 Message Date
J.C. Jones
830023da24 Bug 1539578 - Add telemetry for DH use in WebCrypto API r=keeler
Our WebCrypto implementation supports using DH as an algorithm in generateKey,
which is not one of the recognized algorithms in the published specification [0].

We should seek to remove it from Firefox, but before we do, it'd be good to
gather some telemetry on whether it's used at all, even in its' non-standard
form.

[0] https://www.w3.org/TR/WebCryptoAPI/#algorithm-overview

Differential Revision: https://phabricator.services.mozilla.com/D25291
2019-03-29 15:55:54 +00:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Jon Coppeard
8b66b9cdf7 Bug 1500759 - Root parameter dictionaries in AesTask::Init() r=keeler a=abillings 2018-11-07 11:12:49 +00:00
Edouard Oger
7810ab3495 Bug 1500292 p1 - Remove 0-length key checks in ImportSymmetricKeyTask and DerivePbkdfBitsTask. r=jcj
Differential Revision: https://phabricator.services.mozilla.com/D9285
2018-10-23 15:43:44 +00:00
Andi-Bogdan Postelnicu
c3cf0e185a Bug 1453795 - DOM/Crypto - Initialize member fields in classes/ structures. r=mt 2018-07-11 10:37:57 +03:00
Andrea Marchesini
2df74c91f0 Bug 1455256 - Port more components to WorkerRef - part 3 - WebCrypto, r=asuth 2018-06-18 16:37:21 -04:00
Sebastian Hengst
d91e9954eb Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
6095241db8 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andrea Marchesini
ddb4518ad1 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
David Keeler
f592ab3550 bug 1421084 - part 3/4 - remove nsNSSShutDownObject::shutdown and virtualDestroyNSSReference r=mt,ttaubert
MozReview-Commit-ID: ErL7ZjAGVVC
2018-01-24 14:29:08 -08:00
David Keeler
96fbe77852 bug 1421084 - part 2/4 - remove nsNSSShutDownObject::isAlreadyShutDown() r=mt,ttaubert
MozReview-Commit-ID: DlS16pHE0Ik
2018-01-23 12:22:56 -08:00
David Keeler
ef94d8cd22 bug 1421084 - part 1/4 - remove now-unnecessary nsNSSShutDownPreventionLock r=mt,ttaubert
As of bug 1417680, the NSS shutdown tracking infrastructure is unnecessary (and
does nothing anyway). This series of changesets removes the remaining pieces in
a way that is hopefully easy to confirm is correct.

MozReview-Commit-ID: 8Y5wpsyNlGc
2018-01-23 10:37:47 -08:00
Andrea Marchesini
98ac9eb616 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini
5e357eed9f Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini
30cbccd56d Bug 1432963 - Fixing workers headers - part 13 - WorkerHolder without workers namespace, r=smaug 2018-01-31 08:23:44 +01:00
Tim Taubert
134de6dc14 Bug 1413841 - Check for integer overflow in AesTask::DoCrypto() r=keeler
Summary:
After calling mResult.SetLength(mData.Length() + 16) we should check that the
integer addition didn't overflow. It seems at the moment impossible to create
ArrayBuffers of size >= 0x0xfffffff0, however adding a check here doesn't hurt.

mResult.Length() is passed to the PK11 API functions as a maxOut parameter and
/should/ be checked by the softoken crypto algorithm implementations. AES-ECB
and AES-GCM seem to do that correctly.

Reviewers: keeler

Reviewed By: keeler

Subscribers: mcote, ttaubert, jcj, keeler

Bug #: 1413841

Differential Revision: https://phabricator.services.mozilla.com/D188
2017-11-28 10:00:47 +01:00
Andrea Marchesini
de5ddecee3 Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
87a82ac67c Bug 1128959 - Implement the WHATWG Streams spec - part 1 - WebIDL Bindings, r=bz 2017-08-10 18:04:54 -07:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Bill McCloskey
284c3f3132 Bug 1365097 - Convert NS_GetCurrentThread uses in dom (except for dom/media) (r=smaug)
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.

MozReview-Commit-ID: 5FgvpKadUA2
2017-06-12 20:20:08 -07:00
Bill McCloskey
c402a046c2 Bug 1363560 - Name more runnables (r=mccr8)
MozReview-Commit-ID: 3hxZDA4JlTV
2017-05-09 21:53:25 -07:00
Cykesiopka
583ff7267d Bug 1329238 - Make public CryptoKey.h methods return UniqueX NSS types instead of raw pointers. r=ttaubert
The std::unique_ptr based UniqueX types provide better safety over managing raw
pointers.

MozReview-Commit-ID: EwwOfs6RHqy
2017-01-25 00:27:39 +08:00
Cykesiopka
a821fea28d Bug 1311379 - Stop using Scoped.h NSS types in WebCryptoTask.(cpp|h). r=rbarnes,ttaubert
Scoped.h is deprecated.

MozReview-Commit-ID: CAcnrB9v3dH
2016-11-18 00:49:25 +08:00
Cykesiopka
93dcea2866 Bug 1296316 - Convert nsNSSShutDownObject::CalledFromType to an enum class. r=mgoodwin
enum classes are in general safer than plain enums, and as such should be
preferred.

MozReview-Commit-ID: 1FK89SNhdk4
2016-08-20 23:00:19 +08:00
Ben Kelly
bee31710b3 Bug 1293690 P2 Set explicit status levels to fail at when calling WorkerHolder::HoldWorker. r=baku 2016-08-18 07:11:04 -07:00
Phil Ringnalda
6ef267a68f Backed out 10 changesets (bug 1290116, bug 1293690) for build bustage
CLOSED TREE

Backed out changeset bbc14d107fca (bug 1290116)
Backed out changeset a81b6ce5c25f (bug 1290116)
Backed out changeset e0b9c25b6125 (bug 1290116)
Backed out changeset 8e9a9ba04ce5 (bug 1290116)
Backed out changeset 2d5ad5e9ed20 (bug 1290116)
Backed out changeset eb7da0dbfc72 (bug 1290116)
Backed out changeset 6a4e8c92faae (bug 1290116)
Backed out changeset 0342d98afa10 (bug 1293690)
Backed out changeset d84b0768f0ce (bug 1293690)
Backed out changeset f9f62ade9508 (bug 1293690)
2016-08-17 21:16:43 -07:00
Ben Kelly
72fb8c6934 Bug 1293690 P2 Set explicit status levels to fail at when calling WorkerHolder::HoldWorker. r=baku 2016-08-17 20:01:35 -07:00
Ben Kelly
adb5d6eca4 Bug 1281874 P1 Hold the worker alive while performing web crypto async work. r=khuey 2016-07-01 06:49:45 -07:00
Cykesiopka
e6204da51e Bug 1271495 - Replace uses of ScopedPK11Context with UniquePK11Context. r=keeler,mcmanus
ScopedPK11Context is based on Scoped.h, which is deprecated in favour of the
standardised UniquePtr.

MozReview-Commit-ID: HE8UY1hOuph
2016-05-13 05:53:57 -07:00
David Keeler
d7fea763a5 bug 1271350 - work around PK11_CreatePBEV2AlgorithmID generating a random salt when it shouldn't r=ttaubert
MozReview-Commit-ID: KHjiwPg2SBb
2016-05-12 11:12:57 -07:00
Tim Taubert
ee8b704c29 Bug 842818 - Inline CloneData() and clean up ImportKeyTask::SetKeyData() r=rbarnes 2016-03-17 11:02:11 +01:00
Tim Taubert
890f551ac8 Bug 842818 - Allow calling WebCryptoTask::DispatchWithPromise() from workers r=keeler 2016-01-20 23:19:42 +01:00
Tim Taubert
d85cf0bbf8 Bug 1250930 - Use correct global when creating a key in GenerateAsymmetricKeyTask r=bz 2016-03-08 11:15:58 +01:00
Tim Taubert
9cb0fdb4a6 Bug 1250930 - Use correct global when creating a key in GenerateSymmetricKeyTask r=bz 2016-03-08 11:15:29 +01:00
Tim Taubert
7f124f6afe Bug 1250930 - Use SubtleCrypto's global when creating keys for an ImportKeyTask r=bz 2016-03-08 11:14:37 +01:00
Martin Thomson
a268b18047 Bug 1241757 - Permit export of JWK with empty key_ops field, r=rbarnes 2016-01-22 18:07:39 +11:00
Tim Taubert
8e64806fd7 Bug 1191936 - Implement SPKI/PKCS#8/JWK import/export for RSA-PSS r=rbarnes 2015-10-14 13:38:05 +02:00
Tim Taubert
def1b8f25c Bug 1191936 - Implement RSA-PSS signing and verification r=rbarnes,smaug 2015-10-13 20:22:43 +02:00
Tim Taubert
d35e460cb4 Bug 1191936 - Implement RSA-PSS key generation r=rbarnes 2015-10-13 18:48:18 +02:00
Tim Taubert
ebd8b50f47 Bug 1200341 - Implement HKDF for WebCrypto r=rbarnes,smaug 2016-01-26 14:57:52 +01:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Tim Taubert
17710ca8cf Bug 1213203 - AsymmetricSignVerifyTask::DoCrypto() creates unused SGNContext r=mt 2015-10-09 10:56:55 +02:00
Tim Taubert
2e010e857c Bug 1001691 - Make GenerateAsymmetricKeyTask::mKeyPair a UniquePtr so that we can explicitly release it on the main thread r=mt 2015-09-21 14:52:40 +02:00
Tim Taubert
9cf7b7b76d Bug 1001691 - Use thread pool for WebCrypto operations r=bz 2015-09-11 23:41:58 +02:00
Tim Taubert
0d7c37bf0f Bug 1204155 - Check if we're OOM when calling SECKEY_CopyPrivateKey() and SECKEY_CopyPublicKey() r=mt 2015-09-14 11:53:02 +02:00
Tim Taubert
f9dc5e989c Bug 1204155 - Account for OOM in CryptoKey::SetSymKey() r=mt 2015-09-14 11:19:16 +02:00
Martin Thomson
8d33023a51 Bug 1172785 - RTCCertificate implementation, r=rbarnes 2015-07-06 10:40:04 -07:00
Tim Taubert
6f5a605095 Bug 1169890 - Check return values for CryptoBuffer.Assign() calls r=rbarnes 2015-05-30 08:28:45 +02:00
Birunthan Mohanathas
9ab5ae052a Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElements calls. r=froydnj 2015-05-28 11:07:43 -07:00
Birunthan Mohanathas
47a7fe34c1 Bug 968520 - Use FallibleTArray::TruncateLength instead of SetLength where possible. r=froydnj
This preemptively fixes the upcoming -Wunused-result warnings due to unchecked
SetLength calls.
2015-05-28 11:07:43 -07:00