Rev448, Better file download priority method, Some potential programming error fix, Renamed utils to helper, Moved pack and unpackaddress to helper package, Test new privatekey creation, Test site file download order, Spy test helper to log called parameters, Remove unnecessary fat arrows
This commit is contained in:
parent
a891b544d3
commit
4b403da056
24 changed files with 221 additions and 226 deletions
|
@ -1,52 +0,0 @@
|
|||
# Re-add sslwrap to Python 2.7.9
|
||||
# https://github.com/gevent/gevent/issues/477
|
||||
|
||||
import inspect
|
||||
__ssl__ = __import__('ssl')
|
||||
|
||||
try:
|
||||
_ssl = __ssl__._ssl
|
||||
except AttributeError:
|
||||
_ssl = __ssl__._ssl2
|
||||
|
||||
|
||||
OldSSLSocket = __ssl__.SSLSocket
|
||||
|
||||
|
||||
class NewSSLSocket(OldSSLSocket):
|
||||
|
||||
"""Fix SSLSocket constructor."""
|
||||
|
||||
def __init__(
|
||||
self, sock, keyfile=None, certfile=None, server_side=False, cert_reqs=0,
|
||||
ssl_version=2, ca_certs=None, do_handshake_on_connect=True,
|
||||
suppress_ragged_eofs=True, ciphers=None,
|
||||
server_hostname=None, _context=None
|
||||
):
|
||||
OldSSLSocket.__init__(
|
||||
self, sock, keyfile=None, certfile=None, server_side=False, cert_reqs=0,
|
||||
ssl_version=2, ca_certs=None, do_handshake_on_connect=True,
|
||||
suppress_ragged_eofs=True, ciphers=None
|
||||
)
|
||||
|
||||
|
||||
def new_sslwrap(
|
||||
sock, server_side=False, keyfile=None, certfile=None,
|
||||
cert_reqs=__ssl__.CERT_NONE, ssl_version=__ssl__.PROTOCOL_SSLv23,
|
||||
ca_certs=None, ciphers=None
|
||||
):
|
||||
context = __ssl__.SSLContext(ssl_version)
|
||||
context.verify_mode = cert_reqs or __ssl__.CERT_NONE
|
||||
if ca_certs:
|
||||
context.load_verify_locations(ca_certs)
|
||||
if certfile:
|
||||
context.load_cert_chain(certfile, keyfile)
|
||||
if ciphers:
|
||||
context.set_ciphers(ciphers)
|
||||
|
||||
caller_self = inspect.currentframe().f_back.f_locals['self']
|
||||
return context._wrap_socket(sock, server_side=server_side, ssl_sock=caller_self)
|
||||
|
||||
if not hasattr(_ssl, 'sslwrap'):
|
||||
_ssl.sslwrap = new_sslwrap
|
||||
__ssl__.SSLSocket = NewSSLSocket
|
|
@ -1,13 +1,12 @@
|
|||
import urllib2
|
||||
import logging
|
||||
|
||||
import GeventSslPatch
|
||||
from Config import config
|
||||
|
||||
|
||||
def get(url):
|
||||
def get(url, accept="application/json"):
|
||||
logging.debug("Get %s" % url)
|
||||
req = urllib2.Request(url)
|
||||
req.add_header('User-Agent', "ZeroNet %s (https://github.com/HelloZeroNet/ZeroNet)" % config.version)
|
||||
req.add_header('Accept', 'application/json')
|
||||
req.add_header('Accept', accept)
|
||||
return urllib2.urlopen(req)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import os
|
||||
import socket
|
||||
import struct
|
||||
|
||||
|
||||
def atomicWrite(dest, content, mode="w"):
|
||||
|
@ -13,3 +15,11 @@ def shellquote(*args):
|
|||
return '"%s"' % args[0].replace('"', "")
|
||||
else:
|
||||
return tuple(['"%s"' % arg.replace('"', "") for arg in args])
|
||||
|
||||
# ip, port to packed 6byte format
|
||||
def packAddress(ip, port):
|
||||
return socket.inet_aton(ip) + struct.pack("H", port)
|
||||
|
||||
# From 6byte format to ip, port
|
||||
def unpackAddress(packed):
|
||||
return socket.inet_ntoa(packed[0:4]), struct.unpack_from("H", packed, 4)[0]
|
Loading…
Add table
Add a link
Reference in a new issue