summaryrefslogtreecommitdiff
path: root/src/echo_server.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/echo_server.lua')
-rw-r--r--src/echo_server.lua78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/echo_server.lua b/src/echo_server.lua
deleted file mode 100644
index 6770421..0000000
--- a/src/echo_server.lua
+++ /dev/null
@@ -1,78 +0,0 @@
---
--- anylike
---
--- anylike is an IKEv2 Implementation written in Lua and C. It's main
--- design goal is to provide anytun and uanytun or any other SATP
--- implementation with a key exchange mechanism but it should also be
--- possible to use anylike as key exchange daemon for IPSec security
--- associations. The use of Lua guarantees that anylike is easily
--- portable to many platforms including very small ones like wireless
--- routers.
---
---
--- Copyright (C) 2007-2008 Markus Grueneis <gimpf@anylike.org>
--- Christian Pointner <equinox@anylike.org>
---
--- This file is part of anylike.
---
--- anylike is free software: you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation, either version 3 of the License, or
--- any later version.
---
--- anylike is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with anylike. If not, see <http://www.gnu.org/licenses/>.
---
-
-socket = require("socket")
-
-echo_server = {}
-
-echo_server.init = function(host, port)
- local ip, err = socket.dns.toip(host)
- if(ip == nil) then
- log.printf(log.ERROR, "can't resolve %s: %s", host, err)
- return nil
- end
-
- local udp, err = socket.udp()
- if(udp == nil) then
- log.printf(log.ERROR, "can't create udp socket")
- return nil
- end
-
- local ret, err = udp:setsockname(ip, port)
- if(ret == nil) then
- log.printf(log.ERROR, "setsockname(%s,%s) failed: %s", ip, port, err)
- return nil
- end
-
- log.printf(log.NOTICE, "echo server listening on %s:%s", ip, port);
-
- return udp
-end
-
-echo_server.handle = function(udp)
- local dgrm, from_ip, from_port = udp:receivefrom()
- if(dgrm == nil) then
- log.printf(log.ERROR, "receivefrom(%s,%s) failed: %s", ip, port, from_ip)
- return -1
- end
-
- local ret, err = udp:sendto(dgrm, from_ip, from_port)
- if(ret == nil) then
- log.printf(log.ERROR, "sendto(%s,%s) failed: %s", ip, port, err)
- return -1
- end
-
- if(string.gsub(dgrm, "^(%w+)%s*%c$", "%1") == "quit") then
- return 2
- end
-
- return 0
-end