Skip to content

Commit

Permalink
Merge branch 'master' into alternative/add-http_user-to-Host
Browse files Browse the repository at this point in the history
  • Loading branch information
brice-gros authored Oct 22, 2024
2 parents 91effe2 + 3cf472a commit 4d1a3c4
Show file tree
Hide file tree
Showing 62 changed files with 1,729 additions and 644 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: nsupdate.info
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: "https://www.bountysource.com/teams/nsupdate-info"
custom: # custom url
106 changes: 106 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# badge: https://github.com/nsupdate-info/nsupdate.info/workflows/CI/badge.svg?branch=master

name: CI

on:
push:
branches: [ master ]
paths:
- '**.py'
- '**.yml'
- '**.cfg'
- '**.ini'
- 'requirements.d/*'
- '!docs/**'
pull_request:
branches: [ master ]
paths:
- '**.py'
- '**.yml'
- '**.cfg'
- '**.ini'
- 'requirements.d/*'
- '!docs/**'

jobs:
lint:

runs-on: ubuntu-24.04
timeout-minutes: 10

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Lint with flake8
run: |
pip install flake8 flake8-pyproject
flake8 src scripts conftest.py
tox:

needs: lint
strategy:
fail-fast: true
matrix:
include:
- os: ubuntu-22.04
python-version: '3.8'
toxenv: py38
- os: ubuntu-22.04
python-version: '3.9'
toxenv: py39
- os: ubuntu-22.04
python-version: '3.10'
toxenv: py310
- os: ubuntu-24.04
python-version: '3.11'
toxenv: py311
- os: ubuntu-24.04
python-version: '3.12'
toxenv: py312

env:
TOXENV: ${{ matrix.toxenv }}
DJANGO_SETTINGS_MODULE: nsupdate.settings.dev

runs-on: ${{ matrix.os }}
timeout-minutes: 40

steps:
- uses: actions/checkout@v4
with:
# just fetching 1 commit is not enough for setuptools-scm, so we fetch all
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.d/dev.txt') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Install and configure bind
run: |
bash scripts/ci/install-bind.sh
- name: Install Python tools and tox
run: |
python -m pip install --upgrade pip setuptools wheel tox
- name: run tox env
run: |
tox --skip-missing-interpreters
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
OS: ${{ runner.os }}
python: ${{ matrix.python-version }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: OS, python
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ local_settings.py
.coverage
.idea/
.cache/
.tox/
*.sqlite
*.egg-info
dist/
14 changes: 14 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[MAIN]
# In error mode, messages with a category besides ERROR or FATAL are
# suppressed, and no reports are done by default. Error mode is compatible with
# disabling specific errors.
errors-only=yes

# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=pylint_django

django-settings-module=nsupdate.settings.dev

[MASTER]
init-hook='import sys; sys.path.append(".")'
20 changes: 20 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# .readthedocs.yaml - Read the Docs configuration file.
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details.

version: 2

build:
os: ubuntu-22.04
tools:
python: "3.11"
jobs:
post_checkout:
- git fetch --unshallow

python:
install:
- method: pip
path: .

sphinx:
configuration: docs/conf.py
42 changes: 0 additions & 42 deletions .travis.yml

This file was deleted.

35 changes: 30 additions & 5 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,51 @@ Release 0.13.0 (not released yet)

New Features:

- update generated inadyn.conf for IPv6 support, #528
- add a link to the user in host view of django admin, #440
- add BAD_HOSTS setting to lock out nasty clients from the update api
without causing database accesses.
- enable blacklisting of email addresses (now with regex support)
- django-admin faults: show/reset api auth faults counter
- add api_auth_faults column to django admin's Hosts view

Fixes:

- fixed misc. crashes
- fixed connectivity test when editing domains, #479 #523
- strip prefix-length / netmask if present, fixes #470
- rewrite socket error handling, #522
- fix Domain.generate_ns_secret() storing bytes object into Domain.nameserver_update_secret
- try longer timeout for dns resolver / updates

Other changes:

- drop support for python 3.4, fixes #406 - you need either 2.7 or 3.5+.
- require django >= 1.11.0, run travis-ci tests on django 2.2
- django compatibility improvements
- require Python >= 3.8, <= 3.11.
- require Django 4.2.x (LTS version).
- translation updates (removed incomplete ones, added complete ones)
- improve logging
- setuptools-scm managing the version and manifest
- src/ based project layout
- Add A Well-Known URL for Changing Passwords
- Add rel="noopener" to target="_blank" links
- add a well-known URL for changing passwords
- add rel="noopener" to target="_blank" links
- add Referrer-Policy, X-XSS-Protection and X-Content-Type-Option HTTP headers, #281
- set HTTPONLY to CSRF cookies
- update fontawesome, bootstrap and jquery, #444
- add missing migration files
- update update_secret database field length for salted hash
- add hint if there are no social logins enabled
- update to DropboxOAuth2V2
- docs:

- include note about IPv4 interface ID
- add docs/project.rst (development commands)
- integrate new logo, thanks to @mirzazulfan, #78
- add docs on how to disable user registration, #438
- always use django-admin (not django-admin.py) in docs, update URLs
- tests:

- use GitHub actions instead of travis CI.
- add testing in docker.


Release 0.12.0 (2018-11-18)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
This project is licensed under the the 3-clause BSD license (also known as
"Revised BSD License", "New BSD License", or "Modified BSD License"):

Copyright (c) 2013-2020, The nsupdate.info Development Team (see AUTHORS file)
Copyright (c) 2013-2024, The nsupdate.info Development Team (see AUTHORS file)
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
5 changes: 3 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
# setuptools_scm - it includes all git-committed files.
# but we want to include some non-committed files/dirs needed in
# the sdist and exclude some committed files/dirs not needed in the sdist:
exclude .gitattributes .gitignore .travis.yml
exclude .gitattributes .gitignore
exclude manage.py requirements.txt
prune .tx
prune .github
prune logo
prune scripts/travis
prune scripts/ci
15 changes: 8 additions & 7 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,28 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
name = "pypi"

[packages]
dnspython = "*"
netaddr = "*"
django = "~=4.2.16"
django-bootstrap-form = "*"
django-referrer-policy = "*"
django-registration-redux = "*"
django-extensions = "*"
social-auth-app-django = "*"
requests = "*"
setuptools-scm = "*"

[dev-packages]
django-debug-toolbar = "*"
pytest = ">=3.6"
pytest-django = "*"
pytest-pep8 = "*"
Django = "~=2.2.0"
Sphinx = "*"
nsupdate = {editable = true,path = "."}
sphinx = "*"
pylint = "*"
pylint-django = "*"

[requires]
python_version = "3.6"
python_version = "3.8"
Loading

0 comments on commit 4d1a3c4

Please sign in to comment.