So, now I managed to crash the listing server. This is the server output:
nodejs server.js
loading file: header.html...
loading file: footer.html...
loading file: announce.html...
loading file: list.html...
Listening on port 8080
{"aiv":"30","name":"My testing server","dns":"erwin.webstep.net","port":"12345","email":"test@test.example","rev":"4359","ver":"Simutrans Nightly 110.0.1 (r4399) built 19/12/1999","pak":"pak.test 100.0 r4355","pakurl":"http://pak.url.test","infurl":"http://info.url.test","comments":"Test comments... 123","lang":"en","start":"1,1911","time":"5,2013","size":"1024,512","players":"0,1,1;1,0,1;2,1,0;3,0,0;4,1,1;5,0,0;6,0,0;7,0,0;8,0,0;9,0,0;10,0,0;11,0,0;12,0,0;13,0,0;14,0,0;15,0,0;","active":"6","locked":"4","clients":"3","towns":"34","citizens":"123222","factories":"345","convoys":"97","stops":"537","__proto__":{}}
/home/vladki/simlist/lib/Listing.js:151
if (valid_fields.hasOwnProperty(key) && from_body.hasOwnProperty(key)) {
^
TypeError: from_body.hasOwnProperty is not a function
at Listing.exports.Listing.update_from_body (/home/vladki/simlist/lib/Listing.js:151:59)
at /home/vladki/simlist/server.js:94:29
at ListingProvider.findById (/home/vladki/simlist/lib/MemoryListingProvider.js:18:43)
at /home/vladki/simlist/server.js:92:29
at /home/vladki/simlist/lib/Listing.js:234:41
at QueryReqWrap.asyncCallback [as callback] (dns.js:63:16)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:212:10)
Submitting with IP address instead of DNS name dos not crash the server. The error output is mostly the same as what you get on the web page:
Listening on port 8080
{"aiv":"30","name":"My testing server","dns":"89.176.72.210","port":"12345","email":"test@test.example","rev":"4359","ver":"Simutrans Nightly 110.0.1 (r4399) built 19/12/1999","pak":"pak.test 100.0 r4355","pakurl":"http://pak.url.test","infurl":"http://info.url.test","comments":"Test comments... 123","lang":"en","start":"1,1911","time":"5,2013","size":"1024,512","players":"0,1,1;1,0,1;2,1,0;3,0,0;4,1,1;5,0,0;6,0,0;7,0,0;8,0,0;9,0,0;10,0,0;11,0,0;12,0,0;13,0,0;14,0,0;15,0,0;","active":"6","locked":"4","clients":"3","towns":"34","citizens":"123222","factories":"345","convoys":"97","stops":"537","__proto__":{}}
TypeError: from_body.hasOwnProperty is not a function
at Listing.exports.Listing.update_from_body (/home/vladki/simlist/lib/Listing.js:151:59)
at /home/vladki/simlist/server.js:94:29
at ListingProvider.findById (/home/vladki/simlist/lib/MemoryListingProvider.js:18:43)
at /home/vladki/simlist/server.js:92:29
at Object.exports.validate_dns (/home/vladki/simlist/lib/Listing.js:204:20)
at /home/vladki/simlist/server.js:86:13
at callbacks (/home/vladki/simlist/node_modules/express/lib/router/index.js:164:37)
at param (/home/vladki/simlist/node_modules/express/lib/router/index.js:138:11)
at pass (/home/vladki/simlist/node_modules/express/lib/router/index.js:145:5)
at Router._dispatch (/home/vladki/simlist/node_modules/express/lib/router/index.js:173:5)