You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

nodetunes

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nodetunes - npm Package Compare versions

Comparing version

to
0.0.12

gulpfile.js

2

index.js
"use strict";
module.exports = require(__dirname + '/lib/start.js');
module.exports = require(__dirname + '/lib/server');

@@ -14,3 +14,3 @@ "use strict";

};
}

@@ -17,0 +17,0 @@ AudioProcessor.prototype.process = function(audio, sequenceNumber) {

@@ -5,3 +5,3 @@

var dgram = require('dgram');
var tools = require('./rtsphelper');
var tools = require('./helper');
var crypto = require('crypto');

@@ -53,4 +53,4 @@

this.timingServer.close();
}
};
module.exports = RtpServer;

@@ -5,3 +5,3 @@ "use strict";

var Parser = require('httplike');
var tools = require('./rtsphelper');
var tools = require('./helper');
var RtpServer = require('./rtp');

@@ -30,3 +30,3 @@ var Stream = require('stream');

};
}

@@ -42,5 +42,6 @@

var parser = new Parser(socket);
parser.on('message', function(m) {
parser.on('message', function(req, res) {
var response = new tools.MessageBuilder(socket);
this.methodMapping[m.method](response, m.headers, m.content);
this.methodMapping[req.method](response, req.headers, req.content);
}.bind(this));

@@ -47,0 +48,0 @@

"use strict";
var tools = require('./rtsphelper');
var tools = require('./helper');
var ip = require('ip');

@@ -11,4 +11,2 @@ var dgram = require('dgram');

var rtspServer = rtspServer;
var nonce = '';

@@ -18,3 +16,3 @@

response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.addHeader('Public', 'ANNOUNCE, SETUP, RECORD, PAUSE, FLUSH, TEARDOWN, OPTIONS, GET_PARAMETER, SET_PARAMETER, POST, GET');

@@ -40,7 +38,7 @@

response.send();
} else if (rtspServer.options.password && !headers['Authorization']) {
} else if (rtspServer.options.password && !headers.Authorization) {
var md5sum = crypto.createHash('md5');
md5sum.update = randomstring.generate();
response.setStatus(401, headers['CSeq']);
response.setStatus(401, headers.CSeq);
nonce = md5sum.digest('hex').toString('hex');

@@ -51,5 +49,5 @@

} else if (rtspServer.options.password && headers['Authorization']) {
} else if (rtspServer.options.password && headers.Authorization) {
var auth = headers['Authorization'];
var auth = headers.Authorization;

@@ -63,4 +61,4 @@ var params = auth.split(/, /g);

var expectedResponse = tools.generateRfc2617Response('iTunes', 'roap', rtspServer.options.password, nonce, map['uri'], 'ANNOUNCE');
var receivedResponse = map['response'];
var expectedResponse = tools.generateRfc2617Response('iTunes', 'roap', rtspServer.options.password, nonce, map.uri, 'ANNOUNCE');
var receivedResponse = map.response;

@@ -99,3 +97,3 @@ if (expectedResponse == receivedResponse) {

response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.send();

@@ -111,3 +109,3 @@ };

return Math.floor(Math.random() * (max - min + 1)) + min;
}
};

@@ -120,3 +118,3 @@ rtspServer.ports = [ getRandomPort(), getRandomPort(), getRandomPort() ];

response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.addHeader('Transport', 'RTP/AVP/UDP;unicast;mode=record;server_port=' + rtspServer.ports[0] + ';control_port=' + rtspServer.ports[1] + ';timing_port=' + rtspServer.ports[2]);

@@ -131,3 +129,3 @@ response.addHeader('Session', '1');

var record = function(response, headers) {
response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
if (!headers['RTP-Info']) {

@@ -149,3 +147,3 @@ // it seems like iOS airplay does something else

var flush = function(response, headers) {
response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.addHeader('RTP-Info', 'rtptime=1147914212');

@@ -157,3 +155,3 @@ response.send();

rtspServer.rtp.stop();
response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.send();

@@ -182,9 +180,9 @@ };

rtspServer.metadata['volume'] = parseFloat(data[1]);
rtspServer.external.emit('volumeChange', parseInt(rtspServer.metadata['volume']));
rtspServer.metadata.volume = parseFloat(data[1]);
rtspServer.external.emit('volumeChange', parseInt(rtspServer.metadata.volume));
} else if (data[0] == 'progress') {
rtspServer.metadata['progress'] = data[1];
rtspServer.external.emit('progressChange', rtspServer.metadata['progress']);
rtspServer.metadata.progress = data[1];
rtspServer.external.emit('progressChange', rtspServer.metadata.progress);

@@ -196,3 +194,3 @@ }

}
response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.send();

@@ -202,5 +200,5 @@ };

var getParameter = function(response, headers, content) {
response.setOK(headers['CSeq']);
response.setOK(headers.CSeq);
response.send();
}
};

@@ -207,0 +205,0 @@ return {

{
"name": "nodetunes",
"version": "0.0.11",
"version": "0.0.12",
"author": "Stephen Wan <stephen@stephenwan.net>",

@@ -27,3 +27,3 @@ "description": "AirTunes v2 Music Server",

"randomstring": "*",
"httplike": "0.0.4",
"httplike": "0.0.7",
"random-mac": "0.0.4",

@@ -33,5 +33,10 @@ "metricstream": "0.0.0"

"devDependencies": {
"speaker": "*"
"speaker": "*",
"gulp": "~3.6.2",
"gulp-mocha": "~0.4.1",
"gulp-jshint": "~1.5.5",
"mocha": "~1.18.2",
"jshint-stylish": "~0.2.0"
},
"license": "MIT"
}

@@ -16,2 +16,6 @@ NodeTunes

##### 0.0.12
- EXPERIMENTAL - added testing infrastructure, refactoring.
- Moved to httplike v0.0.7 (trim on method support, solves )
##### 0.0.11

@@ -18,0 +22,0 @@ - Fixed 'undefined' bug in RTSP replies