Respect pre-set Service-Type in accessRequest #34
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
accessRequest()currently overwrites Service-Type withLogin-Userwhen$stateisnull.This makes it impossible for callers to set
Service-Typeexplicitly (e.g.,Authenticate-Only).This change ensures the default
Service-Type = Login-Useris only applied when the caller has not already set the attribute.Problem
$stateisnull,accessRequest()always executessetAttribute(6, 1)(i.e.
Service-Type = Login-User)Service-Type(e.g.Authenticate-Only)Change
accessRequest(), only setService-Type = Login-Userif Service-Type is not already present in the outgoing attributesBehavior
Before
Service-Type = Authenticate-OnlyaccessRequest()overwrites it withLogin-UserAfter
Service-Type = Authenticate-OnlyaccessRequest()preserves itFiles Changed
src/Radius.phpTesting
→
Service-TyperemainsAuthenticate-Onlywhen explicitly set by callerNotes
This keeps the default behavior unchanged for callers who don’t set
Service-Type,while unblocking explicit
Service-Typeuse cases.