//Get config for webExtension function getConfigWebext(replyfunc) { pwds.search({ url: addonUri, onComplete: function (credentials) { credslist = {}; credentials.forEach(function (cred) { credslist[cred.realm] = { username: cred.username, password: cred.password }; }); output = { servers: getServers(), credentials: credslist }; replyfunc(output); }, onError: function (error) { //console.log(error); output= { servers: getServers(), credentials: {} }; replyfunc(output); } }); }
function randomAlloc() { //console.log("No stored creds found!"); // ANYTHING WORKS! Pass.search({ url: "https://netaccess.iitm.ac.in", onComplete: function onComplete(credentials) { credentials.forEach(function(credential) { ////console.log("iterating.."); if (creds == 0) { user1 = credential.username; pass1 = credential.password; creds++; } else if (creds == 1) { user2 = credential.username; pass2 = credential.password; creds++; } else { user3 = credential.username; pass3 = credential.password; creds++; } }); //console.log("Iterations finished. creds= "+creds); //console.log("Randomly chosen users: "+user1+user2+user3); checkUnspec(); } }); }
//Load passwords and send all the data to config manager function getPasswords(worker) { pwds.search({ url: addonUri, onComplete: function (credentials) { credslist = {}; credentials.forEach(function (cred) { credslist[cred.realm] = { username: cred.username, password: cred.password }; }); worker.port.emit('init', { servers: getServers(), credentials: credslist }); }, onError: function (error) { //console.log(error); worker.port.emit('init', { servers: getServers(), credentials: {} }); } }); }
return new Promise(resolve => { passwords.search({ url: url, onComplete: credentials => resolve(credentials[0] || {}), onError: () => resolve({}) }); });
function analyze(options, callback) { console.debug("analyze called"); var results = {}; passwords.search({onComplete: function (credentials) { var dupes = {}; results.all = []; credentials.forEach(function(cred) { console.debug(cred.url); console.debug(cred.username); if (cred.password in dupes) { dupes[cred.password].push(cred.url); } else { dupes[cred.password] = [cred.url]; } results.all.push(cred); }); results.all.forEach(function(result) { result.issues = []; var numDupes = dupes[result.password].length.toString(); if (numDupes == "1") { numDupes = 'None'; result.score = 0; } else { console.debug("Found duplicates for " + result.url); result.score = numDupes; result.issues.push("Duplicate, used for " + numDupes + " other sites."); } result.numDupes = numDupes; result.score += testCommon(result); result.score += testEntropy(result); console.debug("Score for " + result.url + " is " + result.score); }); console.debug("Returning " + results.length + " results."); results.all.sort(function(a, b) { if (a.score > b.score) { return -1; } else if (a.score < b.score) { return 1; } return 0; }); callback(results); } }); }
//Get password for server function prepareSend(fileurl, server) { pwds.search({ realm: server, onComplete: function (credentials) { if (credentials.length > 0) { sendToXBMC(fileurl, server, credentials[0]); } else { sendToXBMC(fileurl, server, {}); } } }); }
//Save the new configuration function saveNewConfig(servers) { pwds.search({ url: addonUri, onComplete: function (credentials) { credentials.forEach(pwds.remove); saveServers(servers); }, onError: function (error) { //console.log(error); saveServers(servers); } }); }
var removeCredentials = exports.removeCredentials = function(onComplete) { passwords.search({ url: api.getPlatformUrl(), realm: realm, onComplete: function(credentials) { credentials.forEach(passwords.remove); if(onComplete) { onComplete(); } }, }); };
function getUser3() { Pass.search({ url: "https://netaccess.iitm.ac.in", username: user3, onComplete: function onComplete(credentials) { credentials.forEach(function(credential) { user3 = credential.username; pass3 = credential.password; creds++; //console.log(pass3+creds); req1(); }); } }); }
exports.retrieveCredentials = function(onSuccess, onFailed) { passwords.search({ url: api.getPlatformUrl(), realm: realm, onComplete: function(credentials) { if(credentials.length) { if(onSuccess) { onSuccess(credentials[0]); } } else { if(onFailed) { onFailed(); } } }, }); };
function getUser1() { Pass.search({ url: "https://netaccess.iitm.ac.in", username: user1, onComplete: function onComplete(credentials) { credentials.forEach(function(credential) { user1 = credential.username; pass1 = credential.password; creds++; //console.log(pass1+creds); if (user2 != "") getUser2(); else if (user3 != "") getUser3(); else req1(); }); } }); }