Merge pull request #1015 from marcelklehr/fix/multiSession-foreach

Fix async.forEach in MultiSession code
pull/1018/head
John McLear 2012-09-19 10:07:20 -07:00
commit cd3e65e043
1 changed files with 17 additions and 18 deletions

View File

@ -123,29 +123,28 @@ exports.checkAccess = function (padID, sessionCookie, token, password, callback)
} }
var sessionIDs = sessionCookie.split(','); var sessionIDs = sessionCookie.split(',');
if (sessionIDs){ async.forEach(sessionIDs, function(sessionID, callback) {
async.forEach(sessionIDs, function(sessionID, cb){ sessionManager.getSessionInfo(sessionID, function(err, sessionInfo) {
sessionManager.getSessionInfo(sessionID, function(err, sessionInfo) { //skip session if it doesn't exist
//skip session if it doesn't exist if(err && err.message == "sessionID does not exist") return;
if(err && err.message == "sessionID does not exist") return;
if(ERR(err, callback)) return; if(ERR(err, callback)) return;
var now = Math.floor(new Date().getTime()/1000); var now = Math.floor(new Date().getTime()/1000);
//is it for this group? //is it for this group?
if(sessionInfo.groupID != groupID) return; if(sessionInfo.groupID != groupID) return;
//is validUntil still ok? //is validUntil still ok?
if(sessionInfo.validUntil <= now) return; if(sessionInfo.validUntil <= now) return;
// There is a valid session // There is a valid session
validSession = true; validSession = true;
sessionAuthor = sessionInfo.authorID; sessionAuthor = sessionInfo.authorID;
cb(); // finish the current value and go to next
}); callback();
}, callback) });
} }, callback);
}, },
//get author for token //get author for token
function(callback) function(callback)