Collecting the cookies information in a loop

This commit is contained in:
Minko Gechev 2013-06-01 15:59:19 +03:00
parent d7bfb91ca3
commit 4407b398a4

View file

@ -22,28 +22,23 @@ function parseXauth( buf )
0: 'Internet', 0: 'Internet',
1: 'DECnet', 1: 'DECnet',
2: 'Chaos', 2: 'Chaos',
5: 'ServerInterpreted', 5: 'ServerInterpreted',
6: 'InternetV6' 6: 'InternetV6'
}; };
var cookieFields = [
'address',
'display',
'authName',
'authData'
];
cookie.type = buf.unpack('n')[0]; cookie.type = buf.unpack('n')[0];
offset += 2; offset += 2;
// TODO: rewrite following using loop (16bits length + string data) for (var i = 0; i < 4; i += 1) {
var addressLen = buf.unpack('n', offset)[0]; var length = buf.unpack('n', offset)[0];
offset += 2; offset += 2;
cookie.address = buf.unpackString(addressLen, offset); cookie[cookieFields[i]] = buf.unpackString(length, offset);
offset += addressLen; offset += length;
var displayNumLen = buf.unpack('n', offset)[0]; }
offset += 2;
cookie.display = buf.unpackString(displayNumLen, offset);
offset += displayNumLen;
var authNameLen = buf.unpack('n', offset)[0];
offset += 2;
cookie.authName = buf.unpackString(authNameLen, offset);
offset += authNameLen;
var authDataLen = buf.unpack('n', offset)[0];
offset += 2;
cookie.authData = buf.unpackString(authDataLen, offset);
offset += authDataLen;
auth.push(cookie); auth.push(cookie);
} }
return auth; return auth;
@ -92,4 +87,4 @@ module.exports = function( display, host, cb )
// throw 'No auth cookie matching display=' + display + ' and host=' + host; // throw 'No auth cookie matching display=' + display + ' and host=' + host;
cb( '', '' ); cb( '', '' );
}); });
} };