Commit Graph

414 Commits

Author SHA1 Message Date
Kit Cambridge
d4dafb9ea8 Bug 1345665 - Implement the "aes128gcm" push decryption scheme. r=mt
MozReview-Commit-ID: 3touVfeSDwE

--HG--
extra : rebase_source : cb02c827fb657440c4ff05b7212a3015baff33be
extra : source : 117a38e95fd52cdba968e0f169ebb3a63e69e118
2017-05-11 22:03:26 -07:00
Kit Cambridge
3a3c236cd9 Bug 1345665 - Refactor push decryption into separate decoder classes. r=mt
This patch moves the decryption methods into a base `Decoder` class,
and an intermediate `OldSchemeDecoder` with subclasses for aesgcm and
aesgcm128. The base class provides a `decrypt` method that computes the
ECDH shared secret, derives the key and nonce, decrypts each record,
and removes padding. Subclasses implement `deriveKeyAndNonce`,
`unpadChunk`, `chunkSize`, and `padSize`.

MozReview-Commit-ID: IuGPaofWKNq

--HG--
extra : rebase_source : daaf414127a11525ce7d61c15b96e7f3493611de
2017-05-10 10:44:51 -07:00
Florian Queze
f935ddc4b3 Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
37f2343b9a Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Sebastian Hengst
9e0ecf32c5 Backed out changeset e1f191aad863 (bug 1356569) 2017-04-14 23:39:17 +02:00
Sebastian Hengst
738d097aae Backed out changeset 55f3df15eaa6 (bug 1356569) 2017-04-14 23:39:17 +02:00
Florian Queze
3c564a2b02 Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
93a734a3ce Bug 1356569 - Remove appendElement's last parameter when it is false, r=jaws. 2017-04-14 21:51:39 +02:00
Florian Queze
95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Andrew McCreight
096d42a94b Bug 1355619 - Don't load PushComponents.js in content processes at startup. r=kitcambridge
This avoids creating a compartment in every content process that does
not use the push service.

MozReview-Commit-ID: HQxrVp9DxFd

--HG--
extra : rebase_source : 4920c118c3385b73edc61980d5582f6ba0e29221
2017-04-11 14:27:25 -07:00
Marco Bonardo
eb7475a826 Bug 977177 - Move favicons to a separate store. r=adw
This patch moves favicons blobs to a separate database names favicons.sqlite.
The dabatase is then ATTACHED to the main Places connection, so that its tables
can be used as if they were all part of the same database.
The favicons.database contains 3 tables:
  1. moz_pages_w_icons
     This is the way to join with moz_places, through page_url_hash and page_url.
     We are not using the place id to avoid possible mismatches between places.sqlite
     and favicons.sqlite. This way the database is "portable" and reusable even
     if places.sqlite changes.
  2. moz_icons
     Contains icons payloads, each payload can either be an SVG or a PNG. These
     are the only stored formats, any other format is rescaled and converted to
     PNG. ICO files are split into single frames and stored as multiple PNGs.
     SVG are distinguishable through width == UINT16_MAX
     In future the table will also contain mask-icon color for SVG and average
     color for PNGs.
     The fixed_icon_url_hash is "fixed" to allow quickly fetch root icons, that
     means icons like "domain/favicon.ico" that can also be reused for any page
     under that domain.
  3. moz_icons_to_pages
     This is the relation table between icons and pages.
     Each page can have multiple icons, each icon can be used by multiple pages.
     There is a FOREIGN_KEY constraint between this (child) table and icons
     or pages (parents), so that it's not possible to insert non-existing ids
     in this table, and if an entry is removed from a parent table, the relation
     will be automatically removed from here.
     Note though that removing from the relation table won't remove from the
     parent tables.
Since the relations are now many-many, it's no more possible to simply join
places with the icons table and obtain a single icon, thus it's suggested that
consumers go through the "page-icon" protocol.
The migration process from the old favicons table is async and interruptible,
it will be restarted along with the favicons service until the temp preference
places.favicons.convertPayloads is set to true.


MozReview-Commit-ID: CUCoL9smRyt

--HG--
extra : rebase_source : 4d25966596dcdf63c9c872425c5bf147406d25ac
2016-11-14 16:22:46 +01:00
Michael Layzell
3e2ea2116b Bug 1352772 - Send permissions to the content process before dispatching push events, r=catalinb
MozReview-Commit-ID: DVLjumi9iBJ
2017-04-10 16:03:03 -04:00
Kit Cambridge
be7ad3ff16 Bug 1345001 - Remove expiring Push telemetry probes. r=liuche
We haven't found these probes useful for understanding the value of
Push, and many can be better determined from server metrics.

MozReview-Commit-ID: GM9K59OAbMT

--HG--
extra : rebase_source : b4478fe2aad5ce01ba5955406300973b3e0fb699
2017-03-06 19:06:32 -08:00
Catalin Badea
0464363d1f Bug 1300112 - Avoid duplicate push notifications by sending push messages to only one content process. r=kitcambridge 2017-03-09 11:12:49 +00:00
Joel Maher
f297f17181 Bug 1339232 - annotate more dom/* moz.build files with BUG_COMPONENT. r=overholt
MozReview-Commit-ID: 2HbPxGkrVfv
2017-03-01 08:20:25 -05:00
Edouard Oger
44146ebe96 Bug 1339681 - PushServiceAndroidGCM: Send strings instead of json in event callbacks. r=Grisha
MozReview-Commit-ID: 29BEjnh1TpT

--HG--
extra : rebase_source : 91c36139fdb614b30900aeb36456981fe2961162
2017-02-15 18:47:30 +01:00
Bill McCloskey
46be3abeb0 Bug 1337577 - Ensure that console listeners never touch web content, including in tests (r=mccr8)
MozReview-Commit-ID: 7UVaNUyj5yq
2017-02-13 17:03:01 -08:00
Kit Cambridge
d06d0c7897 Bug 1337348 - Ensure array buffers and Base64-encoded strings can be passed as app server keys. r=baku
MozReview-Commit-ID: HgpSjhCKGgI

--HG--
extra : rebase_source : b93c6f6833fee7d1f7075dc006d0062c2df9190f
2017-02-07 13:56:01 -08:00
Jim Chen
9ad1c54661 Bug 1333590 - 3. Change remaining Messaging calls to EventDispatcher calls; r=sebastian
Convert calls in several places where we still use Messaging.* instead
of EventDispatcher.
2017-02-01 17:35:44 -05:00
Florian Quèze
bdc1ffa608 Bug 1334831 - script-generated patch to use .remove() instead of .parentNode.removeChild, r=jaws. 2017-01-30 08:10:22 +01:00
Mark Banner
16e6d381ac Bug 503613 - Remove old 'tail =' lines from xpcshell.ini files; r=gps
MozReview-Commit-ID: 62Hp5ISxowJ

--HG--
extra : rebase_source : daa8efb3409031fea553f4fd0c9d0746e38dc308
extra : histedit_source : b4c23aacf678ba0d0ac9c09191a7c494ead11a08
2017-01-18 10:30:39 +00:00
Florian Quèze
a03918c148 Bug 1330147 - automatic removal of the third boolean parameter in removeObserver calls, r=jaws. 2017-01-11 22:27:42 +01:00
Florian Quèze
fc6379e827 Bug 1329182 - remove trailing newURI null parameters in the rest of the tree, r=jaws. 2017-01-09 20:27:26 +01:00
Olli Pettay
0364dbc792 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8
--HG--
extra : rebase_source : 3ae1207308de120b7299b13ecaa95dd1612b3459
2017-01-03 21:47:55 +02:00
Masatoshi Kimura
415e3e6e03 Bug 1321252 - Stop setting "network.http.spdy.enforce-tls-profile" in tests. r=nwgh
MozReview-Commit-ID: 6qbgQxG32Kj

--HG--
extra : rebase_source : 7059b80aabaeff03bfb2608dd757c4401fdda0e7
2016-11-30 19:33:46 +09:00
Nicholas Hurley
ad0fdc81aa Bug 1310855 - Remove hasNode xpcshell.ini variable r=mcmanus
MozReview-Commit-ID: Hx2e1JYfUfy

--HG--
extra : rebase_source : 70ffa6b9e38e357d797ef34a547d921e7a609410
2016-10-18 10:54:33 -07:00
Ehsan Akhgari
130dc996d0 Bug 1312101 - Part 1: Remove permission assertions through the message manager; r=baku
Since AddProcessChecker is going away, there's no point in these
permission checks any more.
2016-11-16 14:51:04 -05:00
Carsten "Tomcat" Book
c2fda627e6 Backed out changeset 829e818cd4c3 (bug 1263304) 2016-11-11 10:47:37 +01:00
Catalin Badea
514563efd9 Bug 1263304 - Enable debugging statements in test_has_permissions.html r=me a=testonly 2016-11-11 00:07:15 +02:00
Sebastian Hengst
49b78ed119 Bug 1310297 - Remove test annotations using b2g, mulet or gonk: dom/push. r=RyanVM
MozReview-Commit-ID: Ku8mviLoJsT

--HG--
extra : rebase_source : f41790067ffa92449592a1d77beb024205ac002b
2016-11-05 11:29:17 +01:00
Kit Cambridge
2592d2afc8 Bug 1313063 - Only stop observing dom.push.userAgentID if we've finished the handshake. r=dragana
MozReview-Commit-ID: 8yjJfbXHLD5

--HG--
extra : rebase_source : a1f5e58d7489e70291598fb130e27a007d4dfd78
2016-10-27 08:55:50 -07:00
Kit Cambridge
3546f5ed59 Bug 1311739 - Silence serverURL pref warnings in push tests. r=dragana
MozReview-Commit-ID: 9Peorbb5pFS

--HG--
extra : rebase_source : b1050f209f8edbbf5aefd5cac91a94ee56de1620
2016-10-20 08:43:11 -07:00
Kit Cambridge
d1bf3d09e9 Bug 1311739 - PushDB.update should reject instead of returning undefined for invalid records. r=dragana
MozReview-Commit-ID: HCLOSz4FHWO

--HG--
extra : rebase_source : 57b4e19d3b391e9b0ad96b95d36aee4e3ebcc5a5
2016-10-20 08:45:44 -07:00
Kit Cambridge
ee288ff7bb Bug 1311739 - Fail push tests with an informative error if the H/2 server port is missing. r=dragana
MozReview-Commit-ID: 97rOKjbDlTu

--HG--
extra : rebase_source : 62c385b7317a3d9d3a7ad807eca6667ae25a255b
2016-10-20 09:25:36 -07:00
Kit Cambridge
bfc6259dcd Bug 1307577 - Switch to createCodebasePrincipal in PushRecord. r=mt
`createCodebasePrincipalFromOrigin` mangles the origin after extracting
the suffix. The proper long-term fix is to serialize and store the
original principal, instead of reconstructing a new codebase principal
from the scope and origin suffix.

MozReview-Commit-ID: bS2lRx3n7j

--HG--
extra : rebase_source : b62001f997718455b2b6c7cb3074ee79fa68ec25
2016-10-20 10:29:58 -07:00
Jon Coppeard
556585c65f Bug 1297558 - Remove explicit calls to Expose*ToActiveJS r=mccr8 2016-10-18 17:58:19 +01:00
Kit Cambridge
e1271e1b81 Bug 1308590 - Link to references in the Push encryption error strings. r=flod
MozReview-Commit-ID: 9NPmNHoytrc

--HG--
extra : rebase_source : 1d0b8b075d178aab98941190b7177a66442d12ee
2016-10-07 11:48:58 -07:00
Ryan VanderMeulen
38574eeac5 Merge m-c to inbound. a=merge 2016-10-07 09:44:29 -04:00
Yoshi Huang
2a51f65d99 Bug 1237152 - rename clear-origin-data to clear-origin-attributes-data, r=smaug
find \( -name '*.cpp' -o -name '*.h' -o -name '*.js' -o -name '*.jsm' -o -name '*.idl' -o -name '*.html' \) \
-a -type f -exec sed -i 's/clear-origin-data/clear-origin-attributes-data/g' {} \;
2016-10-07 17:45:10 +08:00
Kit Cambridge
a69ba96059 Bug 1301469 - Add localized decryption errors for invalid headers and padding. r=mt
Web Crypto returns an unhelpful "operation failed for an
operation-specific reason" error if the actual decryption fails, but
we can report more useful errors for missing and invalid header
values.

MozReview-Commit-ID: JRdGHBUodmb

--HG--
extra : rebase_source : 8f1b047b6f01c89a852aefbb1349a608f1178ab8
2016-10-05 08:57:52 -07:00
Kit Cambridge
fb5b58f401 Bug 1301469 - Handle exceptions thrown by PushCrypto.decodeMsg as decryption errors. r=mt
Previously, errors thrown by `decodeMsg` and `getCryptoParams` would
bubble up to the catch handler in `receivedPushMessage`, causing us to
report "ACK_NOT_DELIVERED" instead of "ACK_DECRYPTION_ERROR" in the ack
sent to the server.

MozReview-Commit-ID: FZFzYdebQGy

--HG--
extra : rebase_source : b21f15cc9ac12ff11496d4f63ee531c021bd7a29
2016-10-05 08:56:55 -07:00
Sebastian Hengst
ca9181b9de Bug 1306397 - Remove B2G event 'network-active-changed' and consumers from non-B2G/Gonk files: dom/push. r=kitcambridge
MozReview-Commit-ID: 2MbQ54EgOjh

--HG--
extra : rebase_source : f116c1563e6ec290a9be798af49363989b87311d
2016-09-29 19:53:44 +02:00
Gabriele Svelto
fe73634c76 Bug 1296579 - Remove the SimplePush API r=kitcambridge,baku 2016-09-01 20:17:03 +02:00
Ben Kelly
77f99cddcd Bug 1262702 Avoid racing with initial shutdown in test_service_worker_lifetime.html. r=kitcambridge 2016-08-30 10:04:27 -07:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Edouard Oger
83666a61d8 Bug 1287643 - FxA Push registration and handling of device disconnection message. r=kitcambridge,nalexander
MozReview-Commit-ID: 8IH3kBivp26

--HG--
extra : rebase_source : b3e2d2587f111c9d2c8d0eab887027caf92fe859
2016-07-20 10:47:04 -07:00
Ben Kelly
b98f2c8525 Bug 1290116 P7 Fixed activation races in push service worker tests. r=kitcambridge 2016-08-18 07:12:09 -07:00
Andrea Marchesini
a672d6383b Bug 1288903 - PushManager should create arrayBuffers and keys using the target window - part 2, r=kcambridge 2016-08-18 08:07:17 +02:00