Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial support for IDM IDM Trust #7679

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

justin-stephenson
Copy link
Contributor

@justin-stephenson justin-stephenson commented Nov 1, 2024

This PR adds support for IDM subdomains, enabling IDM IDM Trust functionality in SSSD. These are building blocks in SSSD to incorporate the IDM IDM Trust feature. Note however that on the freeIPA side development is still ongoing, this means the entire IDM IDM Trust feature (freeIPA + SSSD) is not yet available, and full integration cannot be tested yet. Current testing is being done using COPR packages.

src/providers/ipa/ipa_common.c Dismissed Show dismissed Hide dismissed
src/providers/ipa/ipa_subdomains_id.c Dismissed Show dismissed Hide dismissed
@justin-stephenson justin-stephenson force-pushed the idm_idm_trust_pr branch 8 times, most recently from 85a4fb8 to 1807596 Compare November 5, 2024 21:19
@justin-stephenson justin-stephenson changed the title Draft - Initial support for IDM IDM Trust Initial support for IDM IDM Trust Nov 6, 2024
@justin-stephenson justin-stephenson marked this pull request as ready for review November 6, 2024 16:09
Copy link
Contributor

@thalman thalman left a comment

Choose a reason for hiding this comment

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

Looks good. Nitpicking - You have broken indentation in many places. Maybe some of them are intentional. Please check it.

src/providers/ipa/ipa_subdomains.h Show resolved Hide resolved
@justin-stephenson
Copy link
Contributor Author

Looks good. Nitpicking - You have broken indentation in many places. Maybe some of them are intentional. Please check it.

Thank you Tomas. Would you mind commenting in-line on a couple indentation areas that need to be fixed? I didn't go through every line but I scanned the PR again and couldn't find indentation issues.

@thalman
Copy link
Contributor

thalman commented Dec 17, 2024

Looks good. Nitpicking - You have broken indentation in many places. Maybe some of them are intentional. Please check it.

Thank you Tomas. Would you mind commenting in-line on a couple indentation areas that need to be fixed? I didn't go through every line but I scanned the PR again and couldn't find indentation issues.

Sure, will do...

Copy link
Contributor

@thalman thalman left a comment

Choose a reason for hiding this comment

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

I believe that in some cases you broke the indentation on purpose for better readability. Feel free to resolve those conversations.

src/providers/ad/ad_common.c Outdated Show resolved Hide resolved
src/providers/ad/ad_common.h Outdated Show resolved Hide resolved
src/providers/ad/ad_common.h Outdated Show resolved Hide resolved
src/providers/ad/ad_subdomains.c Outdated Show resolved Hide resolved
src/providers/ad/ad_subdomains.c Outdated Show resolved Hide resolved
src/providers/ipa/ipa_subdomains_server.c Outdated Show resolved Hide resolved
src/providers/ipa/ipa_subdomains_server.c Outdated Show resolved Hide resolved
src/providers/ipa/ipa_subdomains_server.c Outdated Show resolved Hide resolved
src/providers/ipa/ipa_subdomains_server.c Outdated Show resolved Hide resolved
src/providers/ipa/ipa_subdomains_server.c Show resolved Hide resolved
@justin-stephenson
Copy link
Contributor Author

I believe that in some cases you broke the indentation on purpose for better readability. Feel free to resolve those conversations.

Thank you for pointing out the indentation issues, I had missed several. They should be fixed now, I resolved each conversation for simplicity but feel free to check back to see if I missed anything.

@justin-stephenson
Copy link
Contributor Author

Hi @thalman @danlavu @sumit-bose Gentle reminder ping about reviewing this PR.

Copy link
Contributor

@thalman thalman left a comment

Choose a reason for hiding this comment

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

LGTM, please fix that one indentation.

Copy link
Contributor

@thalman thalman left a comment

Choose a reason for hiding this comment

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

ACK

@danlavu
Copy link

danlavu commented Jan 17, 2025

I'm removing myself as a reviewer; I don't know enough C to provide feedback.

@danlavu danlavu removed their assignment Jan 17, 2025
@danlavu danlavu removed their request for review January 17, 2025 02:54
@alexey-tikhonov alexey-tikhonov added the no-backport This should go to target branch only. label Jan 20, 2025
@alexey-tikhonov
Copy link
Member

'no-backport' or 'sssd-2-9'?

@justin-stephenson justin-stephenson added branch: sssd-2-9 branch: sssd-2-10 and removed no-backport This should go to target branch only. labels Jan 20, 2025
@justin-stephenson
Copy link
Contributor Author

'no-backport' or 'sssd-2-9'?

I added the backport labels. I'm not 100% sure about this but as I understand it we need to backport this IDM subdomain code to allow older clients to resolve trusted IDM users (but IDM servers will need to be on a more recent version to contain the newer trust attributes for IDM IDM Trust)

@alexey-tikhonov
Copy link
Member

Ok, but definitely not sssd-2-10

@abbra
Copy link
Contributor

abbra commented Jan 20, 2025

If it would be backported to 2.9, it needs to be present in 2.10 as well. Any reason why it shouldn't?

@alexey-tikhonov
Copy link
Member

alexey-tikhonov commented Jan 20, 2025

If it would be backported to 2.9, it needs to be present in 2.10 as well. Any reason why it shouldn't?

sssd-2-10 is in maintenance mode, bugfixes only (last upstream release - 2.10.2 - planned upcoming weeks).
F42/RHEL10.1 will be sssd-2-11 based.

@justin-stephenson
Copy link
Contributor Author

@sumit-bose Have you noticed any issues when testing this code?

Similar to AD server/service discovery initialization,
Allows callers to provide a service, and not just use "IPA"
IPA subdomain functions often include ad in the name, these functions
will now handle IPA and AD subdomains, not only AD.
After b3d7a4f we no longer use
the 'upn' variable. During certain codepaths to ipa_s2n_save_objects()
SYSDB_UPN is expected to be missing, so no need to check for it.
This gets executed when a one-way or two-way trust ipa
is added. Rename this to avoid confusion.
SSSD goes offline in IPA trusted user look due to the IPA user private group:

    [ipa_get_ad_acct_ad_part_done] (0x0020): [RID#7] Cannot find a SID.

In IPA-IPA trust, user private groups do not contain a SID. Lookup the
equivalent user object of the same name in IPA and use this SID instead.
Don't fail when processing the IPA user private group retrieved
from the IPA server in a trusted user lookup. It is expected
this object will have no SID.
@justin-stephenson
Copy link
Contributor Author

justin-stephenson commented Feb 6, 2025

Rebased, no changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants