summaryrefslogtreecommitdiffstats
path: root/server/lib/tftp.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/tftp.js')
-rw-r--r--server/lib/tftp.js35
1 files changed, 29 insertions, 6 deletions
diff --git a/server/lib/tftp.js b/server/lib/tftp.js
index 8d45cf0..104f984 100644
--- a/server/lib/tftp.js
+++ b/server/lib/tftp.js
@@ -1,14 +1,21 @@
'use strict'
-// This tftp server uses BAS port +1
-var tftpPort = process.env.PORT
-tftpPort++
+/* global __appdir */
+var path = require('path')
+var config = require(path.join(__appdir, 'config', 'config')).tftp
+
+var envPort = process.env.PORT
+envPort++
+
+var port = normalizePort(config.port || envPort || '69')
+var host = config.host
+var root = config.root
var tftp = require('tftp')
var server = tftp.createServer({
- host: '192.52.3.91',
- port: tftpPort,
- root: './tftp',
+ host: host,
+ port: port,
+ root: root,
denyPut: true
})
@@ -25,3 +32,19 @@ server.on('request', function (req) {
})
server.listen()
+
+function normalizePort (val) {
+ var port = parseInt(val, 10)
+
+ if (isNaN(port)) {
+ // named pipe
+ return val
+ }
+
+ if (port >= 0) {
+ // port number
+ return port
+ }
+
+ return false
+}