• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openwisp / openwisp-radius
97%

Build:
DEFAULT BRANCH: master
Repo Added 09 Aug 2018 07:08PM UTC
Files 88
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 1.0
  • 1.1
  • 1.2
  • Issues/550-failure-on-importing-utf-16-files
  • MaxQuotaReached-override-configured-replies
  • Selenium-tests-for-Dependabot-PRs-537
  • allow-empty-octets
  • api-change
  • authorize-mac-session-check
  • backport-fixes-1.2
  • backport/708-to-1.2-1776952407
  • backport/710-to-1.2-1777147642
  • bump-version
  • changelog-bot-change-bang
  • chore/port-changelog-1.1.2
  • chore/port-changelog-1.2.1
  • chores/add-ci-failure-bot-caller
  • chores/improve-ci-failure-bot
  • ci/changelog_bot
  • claude/bug-fix-convert-called-station-id
  • cleanup_stale_radacct_hours
  • dependabot/github_actions/actions/cache-5
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/checkout-6
  • dependabot/github_actions/actions/setup-python-6
  • dependabot/github_actions/pypa/gh-action-pypi-publish-1.12.3
  • dependabot/github_actions/pypa/gh-action-pypi-publish-1.12.4
  • dependabot/github_actions/pypa/gh-action-pypi-publish-1.14.0
  • dependabot/pip/cssselect-approx-eq-1.3.0
  • dependabot/pip/cssselect-approx-eq-1.4.0
  • dependabot/pip/dj-rest-auth-gte-6.0-and-lt-7.1
  • dependabot/pip/dj-rest-auth-gte-6.0-and-lt-7.2
  • dependabot/pip/dj-rest-auth-gte-6.0-and-lt-7.3
  • dependabot/pip/django-cors-headers-gte-4.9.0
  • dependabot/pip/django-ipware-gte-5.0-and-lt-7.1
  • dependabot/pip/django-redis-approx-eq-6.0.0
  • dependabot/pip/djangosaml2-1.10.1
  • dependabot/pip/djangosaml2-1.11.1
  • dependabot/pip/djangosaml2-1.12.0
  • dependabot/pip/freezegun-approx-eq-1.5.2
  • dependabot/pip/freezegun-approx-eq-1.5.4
  • dependabot/pip/freezegun-approx-eq-1.5.5
  • dependabot/pip/jsonfield-gte-3.1-and-lt-3.3
  • dependabot/pip/lxml-approx-eq-5.3.1
  • dependabot/pip/lxml-approx-eq-5.4.0
  • dependabot/pip/lxml-approx-eq-6.0.0
  • dependabot/pip/lxml-approx-eq-6.0.1
  • dependabot/pip/lxml-approx-eq-6.0.2
  • dependabot/pip/lxml-approx-eq-6.1.0
  • dependabot/pip/pydyf-gte-0.10-and-lt-0.12
  • dependabot/pip/weasyprint-gte-59-and-lt-66
  • dependabot/pip/weasyprint-gte-65-and-lt-67
  • dependabot/pip/weasyprint-gte-65-and-lt-68
  • dependabot/pip/weasyprint-gte-65-and-lt-69
  • django-allauth-65.12.0
  • docs/websocket-api
  • drop-python-3.9
  • feat/batch-creation-async
  • feature/backport-workflow
  • filter-registered-users
  • fix
  • fix-accounting-on
  • fix-admin
  • fix-allowed-hosts-cidr
  • fix-authorize-view
  • fix-ci-djangosaml2
  • fix-duplicate-urls
  • fix-monitoring-integration
  • fix-perform_change_of_authorization
  • fix-social-account
  • fix/467-postauthview-validation
  • fix/crash-radiusgroup-inlines-creation
  • format-by-prettier
  • improve-db
  • issues/510-fix-sms-message-translation
  • issues/551
  • issues/581-django-5
  • issues/600-replace-jsonfield-clean
  • issues/609-batch-user-org-field-readonly
  • issues/611-fix-timezone-handling-tests
  • issues/615-simultaneous-use
  • issues/617-handle-stale-sessions-accounting-on
  • issues/624-sanitize-called-station-id-mac-address
  • issues/634-counters-return-multiple-values
  • issues/643-coa
  • issues/661-use-theme-color-variables
  • issues/662-radius_sessions_issue
  • issues/676-api-radius-user-group
  • issues/677-coverage-increase-with-parallel
  • issues/677-issue-increase-test-coverage
  • issues/692-different-identity-verification
  • issues/706-user-expiration
  • issues/722-jsonfield-migration
  • master
  • qa
  • qa-formatting
  • radius-batch-base-url
  • refactor-monthly_subscription
  • release-1.1.1
  • release/1.1.2
  • release/1.2.0
  • release/1.2.1
  • release/1.2.2
  • remove-old-django-freeradius
  • replicate-version-branch
  • switch-to-prettier
  • tidy-up
  • weasyprint

27 May 2026 11:04PM UTC coverage: 97.42%. Remained the same
26543937000

push

github

web-flow
[chores:fix] Prevented dangling relations from breaking radius migrations

Historical databases can contain dangling relations in RegisteredUser
and OrganizationUser rows. The RegisteredUser UUID and multitenant
migration helpers assumed these foreign keys were always valid and
could fail during upgrades when copying or backfilling data.

This bug was observed as a foreign key violation while inserting rows
into openwisp_radius_registereduser during the 0045/0046 migration
chain because a copied RegisteredUser.user_id no longer existed in
openwisp_users_user. The same class of issue could also affect
OrganizationUser-based backfills when a membership pointed to a missing
user or organization.

This change filters invalid RegisteredUser and OrganizationUser rows
before reusing their foreign keys in migration helpers, preserving the
existing behavior for valid data while safely skipping broken legacy
references. Focused regression tests were added to cover dangling
RegisteredUser.user_id, dangling OrganizationUser.user_id and dangling
OrganizationUser.organization_id cases.

4342 of 4457 relevant lines covered (97.42%)

10.71 hits per line

Relevant lines Covered
Build:
Build:
4457 RELEVANT LINES 4342 COVERED LINES
10.71 HITS PER LINE
Source Files on master
  • Tree
  • List 88
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
26543937000 master [chores:fix] Prevented dangling relations from breaking radius migrations Historical databases can contain dangling relations in RegisteredUser and OrganizationUser rows. The RegisteredUser UUID and multitenant migration helpers assumed these for... push 27 May 2026 11:11PM UTC web-flow github
97.42
26538907927 claude/bug-fix-convert-called-station-id Merge 0dbddb739 into 46bda72e5 Pull #728 27 May 2026 09:28PM UTC web-flow github
97.58
26530361018 master [fix] Triggered changelog bot for backward incompatible changes (#725) Update the changelog bot trigger so PR titles marked with [change!] run the reusable changelog workflow. push 27 May 2026 06:36PM UTC web-flow github
97.42
26516034326 filter-registered-users Merge b5afc3804 into da0b76d61 Pull #726 27 May 2026 02:09PM UTC web-flow github
97.42
26480114623 changelog-bot-change-bang Merge 64a2e19f8 into da0b76d61 Pull #725 26 May 2026 11:15PM UTC web-flow github
97.42
26479979396 master [change!] Aligned user expiration handling with openwisp-users #706 The user account expiration logic has moved to openwisp-users. The management command and related logic was removed from this module. Closes #706 push 26 May 2026 11:06PM UTC web-flow github
97.42
26478145854 issues/706-user-expiration Merge 65ca5f94e into 850c40a47 Pull #719 26 May 2026 10:19PM UTC web-flow github
97.42
26469330155 issues/706-user-expiration Merge 6c938f7ea into 850c40a47 Pull #719 26 May 2026 07:19PM UTC web-flow github
97.42
26286098314 issues/706-user-expiration Merge 1ede772ec into 850c40a47 Pull #719 22 May 2026 12:01PM UTC web-flow github pending completion  
26201590620 master [feature] Made RegisteredUser model support multi-tenancy #692 Registered users can now join multiple organizations independently, using different identity verification methods and verification status for each organization. Previously, a user cou... push 21 May 2026 02:30AM UTC web-flow github
97.38
See All Builds (1625)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc