prefer to use functions from common

pull/1/head
ansuz 8 years ago
parent a338b23f40
commit 299a53ded7

@ -7,6 +7,18 @@ define([
var plainChunkLength = 128 * 1024;
var cypherChunkLength = 131088;
var encodePrefix = function (p) {
return [
65280, // 255 << 8
255,
].map(function (n, i) {
return (p & n) >> ((1 - i) * 8);
});
};
var decodePrefix = function (A) {
return (A[0] << 8) | A[1];
};
var slice = function (A) {
return Array.prototype.slice.call(A);
};
@ -64,6 +76,7 @@ define([
var nonce = createNonce();
var i = 0;
decodePrefix([]); // TODO
var takeChunk = function () {
var start = i * cypherChunkLength;
var end = start + cypherChunkLength;
@ -126,6 +139,8 @@ define([
var encrypt = function (u8, metadata, key) {
var nonce = createNonce();
encodePrefix(); // TODO
// encode metadata
var metaBuffer = Array.prototype.slice
.call(Nacl.util.decodeUTF8(JSON.stringify(metadata)));

@ -24,16 +24,6 @@ define([
Cryptpad.addLoadingScreen();
var fetch = function (src, cb) {
var xhr = new XMLHttpRequest();
xhr.open("GET", src, true);
xhr.responseType = "arraybuffer";
xhr.onload = function () {
return void cb(void 0, new Uint8Array(xhr.response));
};
xhr.send(null);
};
var myFile;
var myDataType;
@ -78,6 +68,7 @@ define([
var uri = ['', 'blob', id.slice(0,2), id].join('/');
console.log("encrypted blob is now available as %s", uri);
// TODO use cryptpad-common utilities
window.location.hash = [
'',
2,
@ -88,6 +79,7 @@ define([
$form.hide();
// check if the uploaded file can be decrypted
var newU8 = FileCrypto.joinChunks(chunks);
FileCrypto.decrypt(newU8, key, function (e, res) {
if (e) { return console.error(e); }
@ -97,7 +89,7 @@ define([
var defaultName = Cryptpad.getDefaultName(Cryptpad.parsePadUrl(window.location.href));
APP.updateTitle(title || defaultName);
Cryptpad.alert("successfully uploaded: " + title);
});
});
});
@ -212,7 +204,7 @@ define([
if (!uploadMode) {
var src = Cryptpad.getBlobPathFromHex(hexFileName);
return fetch(src, function (e, u8) {
return Cryptpad.fetch(src, function (e, u8) {
// now decrypt the u8
if (e) { return window.alert('error'); }
var cryptKey = secret.keys && secret.keys.fileKeyStr;

Loading…
Cancel
Save