Bug Fixes

This commit is contained in:
canewsin 2022-01-07 02:29:04 +05:30
parent 36adb63f61
commit c594e63512
15 changed files with 86 additions and 16 deletions

@ -1 +1 @@
Subproject commit 9cadd0c69f5af06739cc34cc79dc650053a9b4bd
Subproject commit a55d1b02488de996c32e515d3ecaf701dd515d46

View file

@ -82,7 +82,7 @@ class ContentDb(Db):
return schema
def initSite(self, site):
self.getSites()[site.address] = site
self.sites[site.address] = site
def needSite(self, site):
if site.address not in self.site_ids:
@ -97,7 +97,7 @@ class ContentDb(Db):
if site_id:
self.execute("DELETE FROM site WHERE site_id = :site_id", {"site_id": site_id})
del self.site_ids[site.address]
del self.getSites()[site.address]
del self.sites[site.address]
def setContent(self, site, inner_path, content, size=0):
self.insertOrUpdate("content", {

View file

@ -290,7 +290,7 @@ class Site(object):
if not SiteManager.site_manager.sites:
SiteManager.site_manager.sites = {}
if not SiteManager.site_manager.sites.get(self.address):
SiteManager.site_manager.getSites()[self.address] = self
SiteManager.site_manager.sites[self.address] = self
SiteManager.site_manager.load(False)
SiteManager.site_manager.saveDelayed()

View file

@ -73,7 +73,7 @@ class SiteManager(object):
except Exception as err:
self.log.debug("Error loading site %s: %s" % (address, err))
continue
self.getSites()[address] = site
self.sites[address] = site
self.log.debug("Loaded site %s in %.3fs" % (address, time.time() - s))
added += 1
elif startup:
@ -88,7 +88,7 @@ class SiteManager(object):
if cleanup:
for address in list(self.sites.keys()):
if address not in address_found:
del(self.getSites()[address])
del(self.sites[address])
self.log.debug("Removed site: %s" % address)
# Remove orpan sites from contentdb
@ -106,7 +106,7 @@ class SiteManager(object):
if address in content_db.site_ids:
del content_db.site_ids[address]
if address in content_db.sites:
del content_db.getSites()[address]
del content_db.sites[address]
self.loaded = True
for address, settings in sites_need:
@ -203,7 +203,7 @@ class SiteManager(object):
self.log.debug("Added new site: %s" % address)
config.loadTrackersFile()
site = Site(address, settings=settings)
self.getSites()[address] = site
self.sites[address] = site
if not site.settings["serving"]: # Maybe it was deleted before
site.settings["serving"] = True
site.saveSettings()
@ -226,7 +226,7 @@ class SiteManager(object):
def delete(self, address):
self.sites_changed = int(time.time())
self.log.debug("Deleted site: %s" % address)
del(self.getSites()[address])
del(self.sites[address])
# Delete from sites.json
self.save()

View file

@ -219,7 +219,7 @@ def site(request):
site = Site("1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT") # Create new Site object to load content.json files
if not SiteManager.site_manager.sites:
SiteManager.site_manager.sites = {}
SiteManager.site_manager.getSites()["1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT"] = site
SiteManager.site_manager.sites["1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT"] = site
site.settings["serving"] = True
return site

BIN
src/Test/testdata/chart.db-shm vendored Normal file

Binary file not shown.

BIN
src/Test/testdata/chart.db-wal vendored Normal file

Binary file not shown.

BIN
src/Test/testdata/content.db-shm vendored Normal file

Binary file not shown.

BIN
src/Test/testdata/content.db-wal vendored Normal file

Binary file not shown.

1
src/Test/testdata/filters.json vendored Normal file
View file

@ -0,0 +1 @@
{}

58
src/Test/testdata/openssl.cnf vendored Normal file
View file

@ -0,0 +1,58 @@
[ req ]
default_bits = 2048
default_keyfile = server-key.pem
distinguished_name = subject
req_extensions = req_ext
x509_extensions = x509_ext
string_mask = utf8only
# The Subject DN can be formed using X501 or RFC 4514 (see RFC 4519 for a description).
# Its sort of a mashup. For example, RFC 4514 does not provide emailAddress.
[ subject ]
countryName = US
stateOrProvinceName = NY
localityName = New York
organizationName = Example, LLC
# Use a friendly name here because its presented to the user. The server's DNS
# names are placed in Subject Alternate Names. Plus, DNS names here is deprecated
# by both IETF and CA/Browser Forums. If you place a DNS name here, then you
# must include the DNS name in the SAN too (otherwise, Chrome and others that
# strictly follow the CA/Browser Baseline Requirements will fail).
commonName = Example Company
emailAddress = test@example.com
# Section x509_ext is used when generating a self-signed certificate. I.e., openssl req -x509 ...
[ x509_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
subjectAltName = @alternate_names
# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# extendedKeyUsage = serverAuth, clientAuth
# Section req_ext is used when generating a certificate signing request. I.e., openssl req ...
[ req_ext ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
subjectAltName = @alternate_names
# RFC 5280, Section 4.2.1.12 makes EKU optional
# CA/Browser Baseline Requirements, Appendix (B)(3)(G) makes me confused
# extendedKeyUsage = serverAuth, clientAuth
[ alternate_names ]
DNS.1 = nazwa.pl
DNS.2 = www.nazwa.pl

1
src/Test/testdata/sites.json vendored Normal file
View file

@ -0,0 +1 @@
{}

1
src/Test/testdata/trackers.json vendored Normal file
View file

@ -0,0 +1 @@
{}

9
src/Test/testdata/users.json vendored Normal file
View file

@ -0,0 +1,9 @@
{
"15E5rhcAUD69WbiYsYARh4YHJ4sLm2JEyc": {
"certs": {},
"master_seed": "024bceac1105483d66585d8a60eaf20aa8c3254b0f266e0d626ddb6114e2949a",
"sites": {}
}
}

View file

@ -61,13 +61,13 @@ class User(object):
s = time.time()
address_id = self.getAddressAuthIndex(address) # Convert site address to int
auth_privatekey = CryptBitcoin.hdPrivatekey(self.master_seed, address_id)
self.getSites()[address] = {
self.sites[address] = {
"auth_address": CryptBitcoin.privatekeyToAddress(auth_privatekey),
"auth_privatekey": auth_privatekey
}
self.saveDelayed()
self.log.debug("Added new site: %s in %.3fs" % (address, time.time() - s))
return self.getSites()[address]
return self.sites[address]
# Get user site data
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
@ -76,11 +76,11 @@ class User(object):
if not create:
return {"auth_address": None, "auth_privatekey": None} # Dont create user yet
self.generateAuthAddress(address)
return self.getSites()[address]
return self.sites[address]
def deleteSiteData(self, address):
if address in self.sites:
del(self.getSites()[address])
del(self.sites[address])
self.saveDelayed()
self.log.debug("Deleted site: %s" % address)
@ -101,9 +101,9 @@ class User(object):
raise Exception("Random error: site exist!")
# Save to sites
self.getSiteData(site_address)
self.getSites()[site_address]["privatekey"] = site_privatekey
self.sites[site_address]["privatekey"] = site_privatekey
self.save()
return site_address, bip32_index, self.getSites()[site_address]
return site_address, bip32_index, self.sites[site_address]
# Get BIP32 address from site address
# Return: BIP32 auth address