Skip to content

Commit 7944b5f

Browse files
committed
Merge pull request #197 from buddycloud/develop
merging develop into master
2 parents 0cf8215 + eec165b commit 7944b5f

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

src/account.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function registerAccount(req, res) {
5353
}
5454

5555
if (username.indexOf("@") == -1) {
56-
domain = config.xmppDomain || req.headers['x-forwarded-host'];
56+
domain = config.xmppDomain || api.normalizeForwardedHost(req);
5757
username = [username, '@', domain].join('');
5858
}
5959

src/util/api.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,4 +277,8 @@ exports.generateNodeFeedFromEntries = function(channel, node, from, entries) {
277277
feed.cnode(entry.clone());
278278
});
279279
return feed;
280+
};
281+
282+
exports.normalizeForwardedHost = function(req) {
283+
return req.headers['x-forwarded-host'];
280284
}

src/util/dns.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
var dns = require('dns');
1818
var net = require('net');
1919
var config = require('./config');
20+
var api = require('./api');
2021

2122
var API_SRV_PREFIX = '_buddycloud-api._tcp.';
2223
var MEDIA_PROXY_ENDPOINT = '/' + config.mediaProxyPrefix;
@@ -119,7 +120,7 @@ exports.discoverAPI = function(req, callback) {
119120
var remoteDomain = channel.split('@')[1];
120121

121122
if (remoteDomain == config.xmppDomain
122-
|| remoteDomain == req.headers['x-forwarded-host']) {
123+
|| remoteDomain == api.normalizeForwardedHost(req)) {
123124

124125
if (!config.homeMediaRoot) {
125126
return callback();

src/util/session.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ function createSession(req, res, next) {
156156
}
157157
}
158158
});
159+
160+
client.on('offline', function(error) {
161+
logger.error('Session went offline.');
162+
sessionCache.remove(req.credentials);
163+
for (var i = 0; i < session._waitingReqs.length; i++) {
164+
var wr = session._waitingReqs[i];
165+
wr['res'].send(503);
166+
}
167+
});
159168
}
160169

161170
function xmppConnectionOptions(req) {
@@ -168,13 +177,13 @@ function xmppConnectionOptions(req) {
168177
};
169178
} else {
170179
var domain = config.xmppAnonymousDomain || config.xmppDomain
171-
|| 'anon.' + req.headers['x-forwarded-host'];
180+
|| 'anon.' + api.normalizeForwardedHost(req);
172181
var host = config.xmppAnonymousHost || config.xmppHost;
173182
var port = config.xmppAnonymousPort ||config.xmppPort;
174183
return {
175184
jid: '@' + domain,
176185
host: host,
177-
port: port,
186+
port: port
178187
//preferredSaslMechanism: 'ANONYMOUS'
179188
};
180189
}

0 commit comments

Comments
 (0)