Skip to content

Comments

fix: allow reusing revoked client names#1185

Merged
angristan merged 2 commits intoangristan:masterfrom
joelpramos:fix-652
Dec 11, 2025
Merged

fix: allow reusing revoked client names#1185
angristan merged 2 commits intoangristan:masterfrom
joelpramos:fix-652

Conversation

@joelpramos
Copy link
Contributor

@joelpramos joelpramos commented Nov 25, 2023

Close #680, close #652, close #1024, close #746

Only check for valid (non-revoked) certificates when validating
client name uniqueness. This allows creating a new client with
the same name as a previously revoked one.

Fixes angristan#652
Co-authored-by: joelpramos <joelpramos@gmail.com>
@angristan angristan changed the title fixing issue #652 fix: allow reusing revoked client names Dec 11, 2025
Copy link
Owner

@angristan angristan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks :)

@angristan angristan merged commit 3c9580b into angristan:master Dec 11, 2025
35 of 36 checks passed
angristan added a commit that referenced this pull request Dec 11, 2025
## Summary

- Add end-to-end tests for certificate revocation functionality
- Test that a revoked client certificate cannot connect to the VPN
- Test that a new certificate can be created with the same name as a
revoked one (validating the fix from #1185)
- Test that the new certificate can successfully connect

## Test Flow

1. **Initial connectivity tests** - existing tests pass
2. **Certificate revocation test**:
   - Create a new client `revoketest`
   - Connect with the certificate (verifies it works)
   - Disconnect the client
   - Revoke the certificate via the install script
- Try to reconnect with revoked cert (verifies connection is rejected)
3. **Reuse revoked name test**:
   - Create a new certificate with the same name `revoketest`
   - Verify both revoked and valid entries exist in `index.txt`
   - Connect with the new certificate (verifies it works)

## Changes

| File | Changes |
|------|---------|
| `test/server-entrypoint.sh` | Start OpenVPN in background, add
revocation test orchestration |
| `test/client-entrypoint.sh` | Add revocation test phases with signal
file coordination |
| `docker-compose.yml` | Remove read-only restriction on shared volume
for client |
| `Makefile` | Increase timeout from 60 to 180 iterations |
| `.github/workflows/docker-test.yml` | Increase timeouts, fix shared
volume |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

2 participants