Skip to content

Commit 4fb7f36

Browse files
committed
enable no-shadow lint warnings
remove all shadow variables
1 parent 5a0d1a9 commit 4fb7f36

36 files changed

+232
-226
lines changed

.eslintrc

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
"one-var": [2, "never"],
99
"no-trailing-spaces": [2, { "skipBlankLines": false }],
1010
"keyword-spacing": [2, {"overrides": {
11-
}}]
11+
}}],
12+
"no-delete-var": 2,
13+
"no-label-var": 2,
14+
"no-shadow": 2,
1215
}
1316
}

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ node_js:
33
# - "0.6" # no longer supported by async
44
# - "0.8" # no longer supported by iconv
55
- "0.10"
6-
- "4.3"
7-
- "5.6"
6+
- "4"
7+
- "5"
88

99
services:
1010
- redis-server

configfile.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,6 @@ cfreader.ensure_enoent_timer = function () {
193193
cfreader._enoent_timer = setInterval(function () {
194194
var files = Object.keys(cfreader._enoent_files);
195195
for (var i=0; i<files.length; i++) {
196-
var file = files[i];
197196
/* BLOCK SCOPE */
198197
(function (file) {
199198
fs.stat(file, function (err) {
@@ -206,7 +205,7 @@ cfreader.ensure_enoent_timer = function () {
206205
file, {persistent: false},
207206
cfreader.on_watch_event(file, args.type, args.options, args.cb));
208207
});
209-
})(file); // END BLOCK SCOPE
208+
})(files[i]); // END BLOCK SCOPE
210209
}
211210
}, 60 * 1000);
212211
};

connection.js

+19-17
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ var plugins = require('./plugins');
1919
var constants = require('./constants');
2020
var rfc1869 = require('./rfc1869');
2121
var Address = require('./address').Address;
22-
var uuid = require('./utils').uuid;
22+
var utils = require('./utils');
2323
var outbound = require('./outbound');
2424
var date_to_str = require('./utils').date_to_str;
2525
var indexOfLF = require('./utils').indexOfLF;
@@ -49,14 +49,14 @@ var nextTick = setImmediate || process.nextTick;
4949
// copy logger methods into Connection:
5050
for (var key in logger) {
5151
if (!/^log\w/.test(key)) continue;
52-
Connection.prototype[key] = (function (key) {
52+
Connection.prototype[key] = (function (level) {
5353
return function () {
5454
// pass the connection instance to logger
5555
var args = [ this ];
5656
for (var i=0, l=arguments.length; i<l; i++) {
5757
args.push(arguments[i]);
5858
}
59-
logger[key].apply(logger, args);
59+
logger[level].apply(logger, args);
6060
};
6161
})(key);
6262
}
@@ -175,7 +175,7 @@ function Connection(client, server) {
175175
this.prev_state = null;
176176
this.loop_code = null;
177177
this.loop_msg = null;
178-
this.uuid = uuid();
178+
this.uuid = utils.uuid();
179179
this.notes = {};
180180
this.transaction = null;
181181
this.tran_count = 0;
@@ -466,13 +466,15 @@ Connection.prototype.respond = function(code, msg, func) {
466466
}
467467
if (!(Array.isArray(msg))) {
468468
// msg not an array, make it so:
469-
messages = msg.toString().split(/\n/).filter(function (msg) {
470-
return /\S/.test(msg);
469+
messages = msg.toString().split(/\n/).filter(function (msg2) {
470+
return /\S/.test(msg2);
471471
});
472472
}
473473
else {
474474
// copy
475-
messages = msg.slice().filter(function (msg) { return /\S/.test(msg);});
475+
messages = msg.slice().filter(function (msg2) {
476+
return /\S/.test(msg2);
477+
});
476478
}
477479

478480
if (code >= 400) {
@@ -1643,7 +1645,7 @@ Connection.prototype.store_queue_result = function (retval, msg) {
16431645
}
16441646
};
16451647

1646-
Connection.prototype.queue_outbound_respond = function(retval, msg) {
1648+
Connection.prototype.queue_outbound_respond = function (retval, msg) {
16471649
var self = this;
16481650
if (!msg) msg = this.queue_msg(retval, msg);
16491651
this.store_queue_result(retval, msg);
@@ -1680,25 +1682,25 @@ Connection.prototype.queue_outbound_respond = function(retval, msg) {
16801682
});
16811683
break;
16821684
default:
1683-
outbound.send_email(this.transaction, function(retval, msg) {
1684-
if (!msg) msg = self.queue_msg(retval, msg);
1685-
switch (retval) {
1685+
outbound.send_email(this.transaction, function(retval2, msg2) {
1686+
if (!msg2) msg2 = self.queue_msg(retval2, msg2);
1687+
switch (retval2) {
16861688
case constants.ok:
1687-
if (!msg) msg = self.queue_msg(retval, msg);
1688-
plugins.run_hooks('queue_ok', self, msg);
1689+
if (!msg2) msg2 = self.queue_msg(retval2, msg2);
1690+
plugins.run_hooks('queue_ok', self, msg2);
16891691
break;
16901692
case constants.deny:
1691-
if (!msg) msg = self.queue_msg(retval, msg);
1692-
self.respond(550, msg, function() {
1693+
if (!msg2) msg2 = self.queue_msg(retval2, msg2);
1694+
self.respond(550, msg2, function() {
16931695
self.msg_count.reject++;
16941696
self.reset_transaction(function () {
16951697
self.resume();
16961698
});
16971699
});
16981700
break;
16991701
default:
1700-
self.logerror("Unrecognised response from outbound layer: " + retval + " : " + msg);
1701-
self.respond(550, msg || "Internal Server Error", function() {
1702+
self.logerror("Unrecognised response from outbound layer: " + retval2 + " : " + msg2);
1703+
self.respond(550, msg2 || "Internal Server Error", function() {
17021704
self.msg_count.reject++;
17031705
self.reset_transaction(function () {
17041706
self.resume();

dkim.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -329,8 +329,8 @@ DKIMObject.prototype.end = function () {
329329
self.debug(self.identity + ': got DNS record: ' + record);
330330
var rec = record.replace(/\r?\n/g, '').replace(/\s+/g,'');
331331
var split = rec.split(';');
332-
for (var i=0; i<split.length; i++) {
333-
var split2 = split[i].split('=');
332+
for (var j=0; j<split.length; j++) {
333+
var split2 = split[j].split('=');
334334
if (split2[0]) self.dns_fields[split2[0]] = split2[1];
335335
}
336336

@@ -358,8 +358,8 @@ DKIMObject.prototype.end = function () {
358358
}
359359
if (self.dns_fields.h) {
360360
var hashes = self.dns_fields.h.split(':');
361-
for (var h=0; h<hashes.length; h++) {
362-
var hash = hashes[h].trim();
361+
for (var k=0; k<hashes.length; k++) {
362+
var hash = hashes[k].trim();
363363
if (self.fields.a.indexOf(hash) === -1) {
364364
return self.result('inappropriate hash algorithm', 'invalid');
365365
}

fsync_writestream.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ if (version > 0 || subversion >= 10) {
3939
self.emit('error', er);
4040
}
4141
else {
42-
fs.close(fd || self.fd, function(er) {
43-
if (er) {
44-
self.emit('error', er);
42+
fs.close(fd || self.fd, function(err) {
43+
if (err) {
44+
self.emit('error', err);
4545
}
4646
else {
4747
self.emit('close');

logger.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ logger.levels = {
2424
EMERG: 0,
2525
};
2626

27-
for (var level in logger.levels) {
28-
logger['LOG' + level] = logger.levels[level];
27+
for (var le in logger.levels) {
28+
logger['LOG' + le] = logger.levels[le];
2929
}
3030

3131
logger.loglevel = logger.LOGWARN;

mailheader.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ Header.prototype.parse = function (lines) {
4646
}
4747

4848
// Now add decoded versions
49-
Object.keys(this.headers).forEach(function (key) {
50-
self.headers[key].forEach(function (val) {
51-
self._add_header_decode(key, val, "push");
49+
Object.keys(this.headers).forEach(function (key2) {
50+
self.headers[key2].forEach(function (val2) {
51+
self._add_header_decode(key2, val2, 'push');
5252
})
5353
})
5454
};

outbound.js

+30-27
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ var fs = require('fs');
44
var path = require('path');
55
var dns = require('dns');
66
var net = require('net');
7-
var util = require("util");
8-
var events = require("events");
7+
var util = require('util');
8+
var events = require('events');
99
var os = require('os');
10+
1011
var utils = require('./utils');
1112
var sock = require('./line_socket');
1213
var logger = require('./logger');
@@ -28,7 +29,7 @@ var core_consts = require('constants');
2829
var WRITE_EXCL = core_consts.O_CREAT | core_consts.O_TRUNC | core_consts.O_WRONLY | core_consts.O_EXCL;
2930

3031
var MAX_UNIQ = 10000;
31-
var host = require('os').hostname().replace(/\\/, '\\057').replace(/:/, '\\072');
32+
var my_hostname = require('os').hostname().replace(/\\/, '\\057').replace(/:/, '\\072');
3233
var fn_re = /^(\d+)_(\d+)_/; // I like how this looks like a person
3334

3435
// TODO: For testability, this should be accessible
@@ -340,7 +341,7 @@ function _next_uniq () {
340341

341342
function _fname () {
342343
var time = new Date().getTime();
343-
return time + '_0_' + process.pid + "_" + _next_uniq() + '.' + host;
344+
return time + '_0_' + process.pid + "_" + _next_uniq() + '.' + my_hostname;
344345
}
345346

346347
exports.send_email = function () {
@@ -640,13 +641,13 @@ exports.TODOItem = TODOItem;
640641

641642
var dummy_func = function () {};
642643

643-
function HMailItem (filename, path, notes) {
644+
function HMailItem (filename, filePath, notes) {
644645
events.EventEmitter.call(this);
645646
var matches = filename.match(fn_re);
646647
if (!matches) {
647648
throw new Error("Bad filename: " + filename);
648649
}
649-
this.path = path;
650+
this.path = filePath;
650651
this.filename = filename;
651652
this.next_process = matches[1];
652653
this.num_failures = matches[2];
@@ -666,22 +667,22 @@ exports.HMailItem = HMailItem;
666667
// populate log functions - so we can use hooks
667668
for (var key in logger) {
668669
if (key.match(/^log\w/)) {
669-
exports[key] = (function (key) {
670+
exports[key] = (function (key2) {
670671
return function () {
671672
var args = ["[outbound] "];
672673
for (var i=0, l=arguments.length; i<l; i++) {
673674
args.push(arguments[i]);
674675
}
675-
logger[key].apply(logger, args);
676+
logger[key2].apply(logger, args);
676677
};
677678
})(key);
678-
HMailItem.prototype[key] = (function (key) {
679+
HMailItem.prototype[key] = (function (key2) {
679680
return function () {
680681
var args = [ this ];
681682
for (var i=0, l=arguments.length; i<l; i++) {
682683
args.push(arguments[i]);
683684
}
684-
logger[key].apply(logger, args);
685+
logger[key2].apply(logger, args);
685686
};
686687
})(key);
687688
}
@@ -879,13 +880,13 @@ exports.lookup_mx = function lookup_mx (domain, cb) {
879880
// wrap_mx() to return same thing as resolveMx() does.
880881
wrap_mx = function (a) { return {priority:0,exchange:a}; };
881882
// IS: IPv6 compatible
882-
dns.resolve(domain, function(err, addresses) {
883-
if (process_dns(err, addresses)) {
883+
dns.resolve(domain, function(err2, addresses2) {
884+
if (process_dns(err2, addresses2)) {
884885
return;
885886
}
886-
err = new Error("Found nowhere to deliver to");
887-
err.code = 'NOMX';
888-
cb(err);
887+
err2 = new Error("Found nowhere to deliver to");
888+
err2.code = 'NOMX';
889+
cb(err2);
889890
});
890891
});
891892
};
@@ -987,8 +988,8 @@ HMailItem.prototype.try_deliver = function () {
987988

988989
this.loginfo("Looking up " + family + " records for: " + host);
989990

990-
// now we have a host, we have to lookup the addresses for that host
991-
// and try each one in order they appear
991+
// we have a host, look up the addresses for the host
992+
// and try each in order they appear
992993
// IS: IPv6 compatible
993994
dns.resolve(host, family, function (err, addresses) {
994995
if (err) {
@@ -1050,7 +1051,9 @@ HMailItem.prototype.try_deliver_host_on_socket = function (mx, host, port, socke
10501051
var self = this;
10511052
var processing_mail = true;
10521053

1053-
this.loginfo("Attempting to deliver to: " + host + ":" + port + (mx.using_lmtp ? " using LMTP" : "") + " (" + delivery_queue.length() + ") (" + temp_fail_queue.length() + ")");
1054+
this.loginfo("Attempting to deliver to: " + host + ":" + port +
1055+
(mx.using_lmtp ? " using LMTP" : "") + " (" + delivery_queue.length() +
1056+
") (" + temp_fail_queue.length() + ")");
10541057

10551058
socket.on('error', function (err) {
10561059
if (processing_mail) {
@@ -1192,8 +1195,8 @@ HMailItem.prototype.try_deliver_host_on_socket = function (mx, host, port, socke
11921195

11931196
if (!mx.auth_type || (mx.auth_type && smtp_properties.auth.indexOf(mx.auth_type.toUpperCase()) === -1)) {
11941197
// No compatible authentication types offered by the server
1195-
self.logwarn('AUTH configured for domain ' + self.todo.domain + ' but host ' + host +
1196-
'did not offer any compatible types' +
1198+
self.logwarn('AUTH configured for domain ' + self.todo.domain + ' but host ' +
1199+
host + 'did not offer any compatible types' +
11971200
((mx.auth_type) ? ' (requested: ' + mx.auth_type + ')' : '') +
11981201
' (offered: ' + smtp_properties.auth.join(',') + ')');
11991202
// Proceed without authentication
@@ -1404,9 +1407,9 @@ HMailItem.prototype.try_deliver_host_on_socket = function (mx, host, port, socke
14041407
process_ehlo_data();
14051408
break;
14061409
case 'starttls':
1407-
var key = config.get('tls_key.pem', 'binary');
1408-
var cert = config.get('tls_cert.pem', 'binary');
1409-
var tls_options = (key && cert) ? { key: key, cert: cert } : {};
1410+
var tkey = config.get('tls_key.pem', 'binary');
1411+
var tcert = config.get('tls_cert.pem', 'binary');
1412+
var tls_options = (tkey && tcert) ? { key: tkey, cert: tcert } : {};
14101413
var config_options = ['ciphers','requestCert','rejectUnauthorized'];
14111414

14121415
for (var i = 0; i < config_options.length; i++) {
@@ -1779,12 +1782,12 @@ HMailItem.prototype.bounce_respond = function (retval, msg) {
17791782

17801783
var from = new Address ('<>');
17811784
var recip = new Address (this.todo.mail_from.user, this.todo.mail_from.host);
1782-
this.populate_bounce_message(from, recip, err, function (err, data_lines) {
1783-
if (err) {
1784-
return self.double_bounce("Error populating bounce message: " + err);
1785+
this.populate_bounce_message(from, recip, err, function (err2, data_lines) {
1786+
if (err2) {
1787+
return self.double_bounce("Error populating bounce message: " + err2);
17851788
}
17861789

1787-
exports.send_email(from, recip, data_lines.join(''), function (code, msg) {
1790+
exports.send_email(from, recip, data_lines.join(''), function (code, msg2) {
17881791
if (code === constants.deny) {
17891792
// failed to even queue the mail
17901793
return self.double_bounce("Unable to queue the bounce message. Not sending bounce!");

plugins.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,13 @@ for (var key in logger) {
244244
if (!/^log\w/.test(key)) continue;
245245
// console.log('adding Plugin.' + key + ' method');
246246
/* jshint loopfunc: true */
247-
Plugin.prototype[key] = (function (key) {
247+
Plugin.prototype[key] = (function (lev) {
248248
return function () {
249249
var args = [this];
250250
for (var i=0, l=arguments.length; i<l; i++) {
251251
args.push(arguments[i]);
252252
}
253-
logger[key].apply(logger, args);
253+
logger[lev].apply(logger, args);
254254
};
255255
})(key);
256256
}

0 commit comments

Comments
 (0)