summaryrefslogtreecommitdiff
path: root/game/defs.rpy
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-12-15 19:01:27 -0300
committerJesusaves <cpntb1@ymail.com>2020-12-15 19:01:27 -0300
commit1f05044181ceb6c497b88602d8876236374bd176 (patch)
tree517fa17299ccf3721c784c909acca8a4e9b0c929 /game/defs.rpy
parentfb6e726de1892f8d3f0237e01549db3a2950b5a2 (diff)
downloadclient-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.rpy116
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