зеркало из https://github.com/mozilla/pjs.git
Bug 609421 - Combine auth.js and resource.js. r=rnewman
This commit is contained in:
Родитель
c8db464dbc
Коммит
ae612b75dd
|
@ -1,101 +0,0 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Weave.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Mozilla.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Dan Mills <thunder@mozilla.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
const EXPORTED_SYMBOLS = ['Auth', 'BrokenBasicAuthenticator',
|
||||
'BasicAuthenticator', 'NoOpAuthenticator'];
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
const Cr = Components.results;
|
||||
const Cu = Components.utils;
|
||||
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
||||
Utils.lazy(this, 'Auth', AuthMgr);
|
||||
|
||||
// XXX: the authenticator api will probably need to be changed to support
|
||||
// other methods (digest, oauth, etc)
|
||||
|
||||
function NoOpAuthenticator() {}
|
||||
NoOpAuthenticator.prototype = {
|
||||
onRequest: function NoOpAuth_onRequest(headers) {
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
// Warning: This will drop the high unicode bytes from passwords.
|
||||
// Use BasicAuthenticator to send non-ASCII passwords UTF8-encoded.
|
||||
function BrokenBasicAuthenticator(identity) {
|
||||
this._id = identity;
|
||||
}
|
||||
BrokenBasicAuthenticator.prototype = {
|
||||
onRequest: function BasicAuth_onRequest(headers) {
|
||||
headers['Authorization'] = 'Basic ' +
|
||||
btoa(this._id.username + ':' + this._id.password);
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
function BasicAuthenticator(identity) {
|
||||
this._id = identity;
|
||||
}
|
||||
BasicAuthenticator.prototype = {
|
||||
onRequest: function onRequest(headers) {
|
||||
headers['Authorization'] = 'Basic ' +
|
||||
btoa(this._id.username + ':' + this._id.passwordUTF8);
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
function AuthMgr() {
|
||||
this._authenticators = {};
|
||||
this.defaultAuthenticator = new NoOpAuthenticator();
|
||||
}
|
||||
AuthMgr.prototype = {
|
||||
defaultAuthenticator: null,
|
||||
|
||||
registerAuthenticator: function AuthMgr_register(match, authenticator) {
|
||||
this._authenticators[match] = authenticator;
|
||||
},
|
||||
|
||||
lookupAuthenticator: function AuthMgr_lookup(uri) {
|
||||
for (let match in this._authenticators) {
|
||||
if (uri.match(match))
|
||||
return this._authenticators[match];
|
||||
}
|
||||
return this.defaultAuthenticator;
|
||||
}
|
||||
};
|
|
@ -41,7 +41,6 @@ const Cr = Components.results;
|
|||
const Cu = Components.utils;
|
||||
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
Cu.import("resource://services-sync/constants.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
|
|
@ -40,8 +40,6 @@ const EXPORTED_SYMBOLS = ['Weave'];
|
|||
let Weave = {};
|
||||
Components.utils.import("resource://services-sync/constants.js", Weave);
|
||||
let lazies = {
|
||||
"auth.js": ['Auth', 'BrokenBasicAuthenticator',
|
||||
'BasicAuthenticator', 'NoOpAuthenticator'],
|
||||
"record.js": ["CollectionKeys", "BulkKeyBundle", "SyncKeyBundle"],
|
||||
"engines.js": ['Engines', 'Engine', 'SyncEngine', 'Store'],
|
||||
"engines/bookmarks.js": ['BookmarksEngine', 'BookmarksSharingManager'],
|
||||
|
@ -54,7 +52,8 @@ let lazies = {
|
|||
"identity.js": ["Identity", "ID"],
|
||||
"jpakeclient.js": ["JPAKEClient"],
|
||||
"notifications.js": ["Notifications", "Notification", "NotificationButton"],
|
||||
"resource.js": ["Resource"],
|
||||
"resource.js": ["Resource", "AsyncResource", "Auth",
|
||||
"BasicAuthenticator", "NoOpAuthenticator"],
|
||||
"service.js": ["Service"],
|
||||
"status.js": ["Status"],
|
||||
"util.js": ['Utils', 'Svc', 'Str']
|
||||
|
|
|
@ -36,14 +36,15 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
const EXPORTED_SYMBOLS = ["Resource", "AsyncResource"];
|
||||
const EXPORTED_SYMBOLS = ["Resource", "AsyncResource",
|
||||
"Auth", "BrokenBasicAuthenticator",
|
||||
"BasicAuthenticator", "NoOpAuthenticator"];
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
const Cr = Components.results;
|
||||
const Cu = Components.utils;
|
||||
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/constants.js");
|
||||
Cu.import("resource://services-sync/ext/Observers.js");
|
||||
Cu.import("resource://services-sync/ext/Preferences.js");
|
||||
|
@ -51,6 +52,63 @@ Cu.import("resource://services-sync/ext/Sync.js");
|
|||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
||||
Utils.lazy(this, 'Auth', AuthMgr);
|
||||
|
||||
// XXX: the authenticator api will probably need to be changed to support
|
||||
// other methods (digest, oauth, etc)
|
||||
|
||||
function NoOpAuthenticator() {}
|
||||
NoOpAuthenticator.prototype = {
|
||||
onRequest: function NoOpAuth_onRequest(headers) {
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
// Warning: This will drop the high unicode bytes from passwords.
|
||||
// Use BasicAuthenticator to send non-ASCII passwords UTF8-encoded.
|
||||
function BrokenBasicAuthenticator(identity) {
|
||||
this._id = identity;
|
||||
}
|
||||
BrokenBasicAuthenticator.prototype = {
|
||||
onRequest: function BasicAuth_onRequest(headers) {
|
||||
headers['Authorization'] = 'Basic ' +
|
||||
btoa(this._id.username + ':' + this._id.password);
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
function BasicAuthenticator(identity) {
|
||||
this._id = identity;
|
||||
}
|
||||
BasicAuthenticator.prototype = {
|
||||
onRequest: function onRequest(headers) {
|
||||
headers['Authorization'] = 'Basic ' +
|
||||
btoa(this._id.username + ':' + this._id.passwordUTF8);
|
||||
return headers;
|
||||
}
|
||||
};
|
||||
|
||||
function AuthMgr() {
|
||||
this._authenticators = {};
|
||||
this.defaultAuthenticator = new NoOpAuthenticator();
|
||||
}
|
||||
AuthMgr.prototype = {
|
||||
defaultAuthenticator: null,
|
||||
|
||||
registerAuthenticator: function AuthMgr_register(match, authenticator) {
|
||||
this._authenticators[match] = authenticator;
|
||||
},
|
||||
|
||||
lookupAuthenticator: function AuthMgr_lookup(uri) {
|
||||
for (let match in this._authenticators) {
|
||||
if (uri.match(match))
|
||||
return this._authenticators[match];
|
||||
}
|
||||
return this.defaultAuthenticator;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* AsyncResource represents a remote network resource, identified by a URI.
|
||||
* Create an instance like so:
|
||||
|
|
|
@ -55,7 +55,6 @@ const CLUSTER_BACKOFF = 5 * 60 * 1000; // 5 minutes
|
|||
const PBKDF2_KEY_BYTES = 16;
|
||||
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/record.js");
|
||||
Cu.import("resource://services-sync/constants.js");
|
||||
Cu.import("resource://services-sync/engines.js");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
Cu.import("resource://services-sync/record.js");
|
||||
Cu.import("resource://services-sync/engines/bookmarks.js");
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
Cu.import("resource://services-sync/jpakeclient.js");
|
||||
Cu.import("resource://services-sync/constants.js");
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
||||
const JPAKE_LENGTH_SECRET = 8;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
const modules = [
|
||||
"auth.js",
|
||||
"constants.js",
|
||||
"engines/bookmarks.js",
|
||||
"engines/clients.js",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Cu.import("resource://services-sync/constants.js");
|
||||
Cu.import("resource://services-sync/record.js");
|
||||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/record.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/ext/Observers.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/ext/Observers.js");
|
||||
Cu.import("resource://services-sync/identity.js");
|
||||
Cu.import("resource://services-sync/log4moz.js");
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
Cu.import("resource://services-sync/auth.js");
|
||||
Cu.import("resource://services-sync/resource.js");
|
||||
Cu.import("resource://services-sync/util.js");
|
||||
Cu.import("resource://services-sync/service.js");
|
||||
|
|
Загрузка…
Ссылка в новой задаче