Skip to content

Vault.open over a caller's extended-operation connection - #94

Merged
jcombs-pointblue merged 3 commits into
masterfrom
vault-open-connection
Oct 26, 2026
Merged

jcombs-pointblue merged 3 commits into
masterfrom
vault-open-connection

Conversation

@jcombs-pointblue

Copy link
Copy Markdown
Contributor

Adds Vault.open(DirContext ldap, LDAPConnection ops): a vault over an engine (extended-operation) connection the caller has already connected and bound.

  • Whatever the caller set on ops applies to every engine request, for example RFC 4370 proxied authorization as the connection's default controls, so a service account's connection acts for one person.
  • The vault closes ops; ldap stays the caller's, as with the existing open.
  • A connection that is not connected, or a missing one, is refused.

Why: Directory Console 0.3.18 gives single sign-on sessions Identity Manager this way. Today it sets the control through Vault's private ops field; with this it can pass its own connection instead.

Found on a lab tree (eDirectory 9.2.8, IDM 4.8.7): the engine honours the proxied-authorization control on its extended operations, and keeps the last identity it was given on a connection, so such a connection must belong to one person. The Javadoc says so.

Tests: VaultOpenTest (closes the engine connection, not the caller's; refuses an unconnected one). The full suite passes.

🤖 Generated with Claude Code

jcombs-pointblue and others added 3 commits October 26, 2026 08:55
Vault.open(DirContext, LDAPConnection) takes an engine connection the
caller has already connected and bound; whatever the caller set on it, such
as RFC 4370 proxied authorization as default controls, applies to every
engine request. Directory Console needs it for Identity Manager under single
sign-on, where it now reaches Vault's private field instead. The vault
closes that connection; the directory connection stays the caller's.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
@jcombs-pointblue
jcombs-pointblue merged commit b098407 into master Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant