I don't remember why it was set to 077 initially, but now I see it
causes problems. Exactly, py-i2phosts-builer called from master creates
hosts.txt file with 600 permissions, so file is not readable by nginx
for example. New umask fixes this problem.
This prevents situation when user registered 2nd level domain and then
tries to register a subdomain. In such case i2p router doesn't know yet
this 2nd level domain and cannot access it. Using b32 address avoids
such situation.
This fixes compatibility with django 1.8.
RemovedInDjango110Warning: Session verification will become mandatory in
Django 1.10. Please add
'django.contrib.auth.middleware.SessionAuthenticationMiddleware' to your
MIDDLEWARE_CLASSES setting when you are ready to opt-in after reading
the upgrade considerations in the 1.8 release notes.
django.core.exceptions.ImproperlyConfigured: Creating a ModelForm
without either the 'fields' attribute or the 'exclude' attribute is
prohibited; form i2phostAdminForm needs updating.
Multiple split by '=' character may cause wrong hash addition because
trailing '==' were stripped from base64 hash. These trailing '==' are
used in ECDSA keys, see http://zzz.i2p/topics/1763
When there is verification error and "reason" is present, no reply was
returned to client causing django exception:
ValueError: The view pyi2phosts.postkey.views.subdomain didn't return an
HttpResponse object.
Many hosts are not resolved with first lookup b32->b64, but if we query
2nd time, host can be resolved. Because of this, some registered hosts
may be never seen while they actually up!
Master log file first opened as root, than daemonization with privilege
drop happens and master then unable to log to this logfile because of
insufficient permissions. So chown logfile to "runas" user to avoid this
situation.