X-Git-Url: http://gitweb.pimeys.fr/?p=NK2015_Client_Python_Alpha.git;a=blobdiff_plain;f=client.py;h=407f55fb202bfc6f76e59d83ab9279998b07fcc1;hp=65a62a140d7e557b50291664dc5e8592526985db;hb=e3fbf4f5db5f9700e4e0354774d740e14c33163e;hpb=d2219464a16bf75a9fb0c60c1934cf5eddcf1909 diff --git a/client.py b/client.py index 65a62a1..407f55f 100755 --- a/client.py +++ b/client.py @@ -19,12 +19,13 @@ from pprint import pprint sys.path.append(client_config.rsa_path) import monRSA -def connect(sock,where="ici"): - port=client_config.port - ip={"ici":"localhost","vent":"vent.crans.org","eva":"eva.crans.org"}[where] +def connect(sock,where="cerebro",port=None): + if port==None: + port=client_config.port + ip={"ici":"localhost","vent":"vent.crans.org","eva":"eva.crans.org","cerebro":"cerebro.crans.org"}[where] sock.connect((ip,port)) - return ssl.wrap_socket(sock,ca_certs=client_config.ca_certfile, - cert_reqs=ssl.CERT_OPTIONAL,ciphers="AES256-SHA") + return ssl.wrap_socket(sock,ca_certs=client_config.ca_certfile) +# cert_reqs=ssl.CERT_NONE,ciphers="AES256-SHA") def checkidentity(a): c=a.getpeercert() @@ -44,7 +45,7 @@ def checkidentity(a): def hello(socket,version): socket.send('hello "%s"'%(version)) - return json.loads(a.read()) + return lit(a) def login(socket,user,mdp="",typ="bdd"): if user in ["20-100","moibdd"]: @@ -53,27 +54,25 @@ def login(socket,user,mdp="",typ="bdd"): a.write('login ["vincent","mdp","special"]') else: a.write('login ["%s","%s","%s"]'%(user,mdp,typ)) - return json.loads(a.read()) + return lit(a) def search(socket,term): a.write("search %s"%(term)) return json.loads(a.read()) -def lit(socket,noprint=False): +def lit(socket): try: t=a.read() - if noprint: - return json.loads(t) + obj=json.loads(t) + if obj["retcode"]==0: + return obj['msg'] else: - obj=json.loads(t) - if type(obj)==unicode: - print obj - else: - pprint(obj) + print obj["errmsg"] + return obj["msg"] except ssl.SSLError: - print "Rien à lire" + return "Rien à lire" except ValueError: - print "Serveur mort ?" + return "Serveur mort ?" def challenge(a): _,pub=monRSA.litcles(None,client_config.server_rsa_pub_key) @@ -92,10 +91,12 @@ def challenge(a): print "Imposteur !" if __name__=="__main__": + where=raw_input("quel serveur ?") + #port=int(raw_input("port ? ")) a=socket.socket() - a=connect(a) - a.settimeout(0.5) - checkidentity(a) + a=connect(a,where) + a.settimeout(2) + #checkidentity(a) print hello(a,"Python Client alpha") print login(a,"20-100","mdp") print "Socket créée dans la variable \"a\""