diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-12-15 19:01:27 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-12-15 19:01:27 -0300 |
commit | 1f05044181ceb6c497b88602d8876236374bd176 (patch) | |
tree | 517fa17299ccf3721c784c909acca8a4e9b0c929 /game/defs.rpy | |
parent | fb6e726de1892f8d3f0237e01549db3a2950b5a2 (diff) | |
download | client-1f05044181ceb6c497b88602d8876236374bd176.tar.gz client-1f05044181ceb6c497b88602d8876236374bd176.tar.bz2 client-1f05044181ceb6c497b88602d8876236374bd176.tar.xz client-1f05044181ceb6c497b88602d8876236374bd176.zip |
Websocket path building
Diffstat (limited to 'game/defs.rpy')
-rw-r--r-- | game/defs.rpy | 116 |
1 files changed, 19 insertions, 97 deletions
diff --git a/game/defs.rpy b/game/defs.rpy index 6cb1b67..1c41462 100644 --- a/game/defs.rpy +++ b/game/defs.rpy @@ -220,7 +220,7 @@ init -3 python: # File Managment Functions def get_path(path): - if renpy.android: + if True or renpy.android: #print "Android detected" path=path.replace("/", "_") #return renpy.loader.get_path(path) @@ -229,7 +229,7 @@ init -3 python: return renpy.loader.get_path(path) def get_path_if_exists(path): - if renpy.android: + if True or renpy.android: print "Android detected, not checking" path=path.replace("/", "_") #return renpy.loader.get_path(path) @@ -258,6 +258,7 @@ init -3 python: if (int(persistent.version) < ver): # Check if the server have SSL support + """ try: stdout("Downloading certificate from server") x=requests.get("http://"+HOST+'/certificate.pem') @@ -274,6 +275,7 @@ init -3 python: except: stdout("SSL: DISABLED") persistent.ssl_enabled=False + """ # Download quests.json f=open(get_path("quests.json"), "w") @@ -344,6 +346,8 @@ init -1 python: import ssl print("Using system-wide SSL implementation...") + # wsock already imported + print("======================= %s %s %s" % (config.name, config.version, persistent.release_name)) print "[STDBY] Loading Basic functions......." @@ -433,104 +437,22 @@ init -1 python: return Player["code"] def send_packet_now(packet, args="", legacy=False): - global tr_load, tr_val - try: - sock80 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - if not renpy.android: - sock80.settimeout(10) - else: - stdout("RAW Socket Ready") - - # TODO: Request server if it is running with SSL or not - # If SSL is enabled (server configuration) - if persistent.ssl_enabled: - if not SSL_IS_BROKEN: - # Create the contest - context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) - - # Protect the most possible, if appliable. - context.options |= ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 - - # FIXME We should check it - if persistent.ssl_enabled != "IGNORE": - context.check_hostname = True - context.verify_mode = ssl.CERT_OPTIONAL - else: - stdout("[SECURITY] SSL VERIFICATION DISABLED.") - context.check_hostname = False - context.verify_mode = ssl.CERT_NONE - #context.load_default_certs() # <- A .crt file - context.load_verify_locations(get_path("cert/certificate.pem")) - stdout("SSL Context Ready") - - sock = context.wrap_socket(sock80, server_hostname=HOST) - else: - CIPHERS_OVERRIDE = ":".join( - [ - "ECDHE+AESGCM", - #"ECDHE+CHACHA20", - #"DHE+AESGCM", - #"DHE+CHACHA20", - "ECDH+AESGCM", - #"DH+AESGCM", - "ECDH+AES", - #"DH+AES", - "RSA+AESGCM", - "RSA+AES", - #"!aNULL", - #"!eNULL", - #"!MD5", - #"!DSS", - ] - ) - if persistent.ssl_enabled != "IGNORE": - sock = ssl.wrap_socket(sock80, ca_certs=get_path("cert/certificate.pem"), ssl_version=2, cert_reqs=ssl.CERT_OPTIONAL, ciphers=CIPHERS_OVERRIDE) - else: - stdout("[SECURITY] SSL VERIFICATION DISABLED.") - sock = ssl.wrap_socket(sock80, ca_certs=get_path("cert/certificate.pem"), ssl_version=2, cert_reqs=ssl.CERT_NONE, ciphers=CIPHERS_OVERRIDE) - stdout("Android SSL Wrapper Ready") - - else: - sock=sock80 - - if not renpy.android: - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - else: - stdout("Socket Ready") + global tr_load, tr_val, tr_busy + global ws - sock.connect((HOST, PORT)) - - if renpy.android: - stdout("Socket Ready") - stdout("Connected: (%s, %d), Socket %s" % (HOST, PORT, sock.getsockname())) - renpy.pause(1.0) - - #m=get_token() + ";" + packet - m=get_token() + ";" + packet + ";" + args - - stdout("Sending: %s" % m) - sock.sendall(m) - - # Receive data from the server - received = sock.recv(2048) - stdout("received: %s" % received) + # TODO: if tr_busy already true, wait until it is made false + tr_busy=True + tr_load=False + tr_val="" - # Close the socket - sock.shutdown(socket.SHUT_RDWR) - sock.close() + stdout("Sending: %s" % packet) + try: + ws.send(get_token() + ";" + packet + ";" + args) except: - received=FAILUREMSG - - if persistent.fatality is not None: - raise - - # Legacy support (for ping) - if legacy: - return received - - tr_load=True - tr_val=str(received) - return + return False + # TODO: Wait for onmsg + # TODO: ping packets + return True def send_packet(packet, args=""): global tr_load, tr_val |