File: //volume1/@appstore/MailClient/nodejs/push_server/push_server.js
var n=require("http").createServer(),e=require("socket.io")(n),o="/tmp/mailclient_relay_send.sock";const i=require("../common/webapi"),c=require("../common/logger"),r="2.3.4-1455",t=function(n){return"__PKG_VERSION__"===n||void 0===n||n===r};var l=new i;e.on("connection",function(n){var e="",o={api:"SYNO.MailClient.Info",method:"get_push_info",version:1,sock:n,params:{}};if(!t(n.handshake.query.version_ui)){if(c.info("version mismatch"),!n.connected)return;return n.error({code:409,error:"version mismatch"}),void n.disconnect()}l.run(o).then(function(o){n.join(o.user_name.toUpperCase()),e=o.user_name}).catch(function(n){}),n.on("disconnect",function(){}),n.on("client.error",function(n){c.error("["+e+"] "+n)}),n.on("client.info",function(n){c.info("["+e+"] "+n)})});var s=function(){n.listen(o,function(){a.execFile("chown",["http:http",o],function(n,e,i){console.log("listening on "+o)}),a.execFile("chmod",["777",o],function(n,e,i){console.log("listening on "+o)})})};n.on("error",function(n){"EADDRINUSE"==n.code&&(u.unlinkSync(o),s())}),s();var u=require("fs"),f="/tmp/mailclient_relay_receive.sock",a=require("child_process"),_=require("./relay_receive")(e),m=function(){_.close(function(){process.exit()}),e.close()},h=function(){_.listen(f,function(){a.execFile("chown",["MailClient:MailClient",f],function(n,e,o){console.log("listening on "+f)}),a.execFile("chmod",["777",f],function(n,e,o){console.log("listening on "+f)})})};h(),_.on("error",function(n){"EADDRINUSE"==n.code&&(u.unlinkSync(f),h())}),process.on("SIGINT",m);