Merge branch 'master' of github.com:Bandie/ding

This commit is contained in:
Bandie 2018-04-04 16:44:39 +02:00
commit 36dd610965
Signed by: Bandie
GPG Key ID: C1E133BC65A822DD
2 changed files with 26 additions and 12 deletions

11
ding
View File

@ -7,7 +7,11 @@ import sys, ssl, socket, os
import configparser
global exitcode
host = None
port = 0
cafile = None
certfile = None
keyfile = None
exitcode = 1
def readConfig():
@ -22,7 +26,6 @@ def readConfig():
cfg.read(CONFIG)
global host, port, cafile, certfile, keyfile
host = cfg.get("Client", "host")
port = int(cfg.get("Client", "port"))
@ -38,7 +41,7 @@ def send(conn, cmd):
conn.connect((host, port))
buf = conn.recv(1024)
if(buf == b"OK 1337\n"):
if(buf == b"OK 1337\n"):
conn.sendall(cmd)
buf = conn.recv(1024)
if(buf == b"OK CMD"):
@ -61,7 +64,7 @@ def send(conn, cmd):
print("The server seems to be crazy. Nothing sent.", file=sys.stderr)
conn.close()
quit(exitcode)
def main():

27
dingd
View File

@ -6,6 +6,20 @@
import ssl, socket, subprocess, time, os, sys
import configparser
CONFIG = None
host = None
port = 0
cafile = None
certfile = None
keyfile = None
pw_on = None
password = None
pwtimeout = 30
tmppw_on = None
context = None
bindsocket = None
def getTimestamp():
t = "[" + time.strftime("%Y-%m-%d %H:%M:%S") + "]"
@ -13,14 +27,13 @@ def getTimestamp():
def execFromConfig(option, pw=False):
cfg = configparser.SafeConfigParser()
cfg.read(CONFIG)
cfg.read(CONFIG)
if(pw):
if(option == password):
return 4
else:
return 5
else:
@ -39,13 +52,11 @@ def execFromConfig(option, pw=False):
print(getTimestamp(), "No execution set:", option)
return 1
def main():
while True:
newsocket, fromaddr = bindsocket.accept()
try:
connstream = context.wrap_socket(newsocket, server_side=True)
connstream = context.wrap_socket(newsocket, server_side=True)
print(getTimestamp(), "Incoming connection:", fromaddr[0])
connstream.send(b"OK 1337\n")
@ -155,10 +166,10 @@ def init():
print("Error: Can't bind for port number ", port, ". Permission denied.", sep="")
quit(1)
print("Running dingd on ", host, ":", port,
print("Running dingd on ", host, ":", port,
"\nConfig: ", CONFIG,
"\nCAFile: ", cafile,
"\nCertfile: ", certfile,
"\nCAFile: ", cafile,
"\nCertfile: ", certfile,
"\nKeyfile: ", keyfile,
"\nPassword lock: ", pw_on,
"\nPassword timeout: ", pwtimeout,