Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    Connection issues when configuring LDAP on Linux container

    Scheduled Pinned Locked Moved Support
    36 Posts 3 Posters 95 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kichikawa_2913 @rhessinger
      last edited by

      @rhessinger disabled LDAPS per your instruction, all users testing were able to log in and navigate around without issues.

      Re-enabled LDAPS using the same steps, but setting them instead of removing them, users also did not see any issues.

      1 Reply Last reply Reply Quote 0
      • rhessingerR Offline
        rhessinger inedo-engineer
        last edited by

        Hi @kichikawa_2913,

        Did those users still experience the long initial login? Or did that go away?

        Thanks,
        Rich

        Products Engineer, Inedo

        K 2 Replies Last reply Reply Quote 0
        • K Offline
          kichikawa_2913 @rhessinger
          last edited by

          @rhessinger The long initial login only happened once, they have not had it since. I even had another user who never logged in attempt with LDAPS enabled again, he received the 403 message on initial attempt but was able to get in on second attempt. Neither one of his attempts were slow.

          atrippA 1 Reply Last reply Reply Quote 0
          • atrippA Offline
            atripp inedo-engineer @kichikawa_2913
            last edited by

            @kichikawa_2913 we've reviewed this a bit more as a team, and believe that there are a few things to consider here.

            At first, it's clear you have a large, "older" Active Directory. There is a tremendous amount of customization one can do to Active Directory, and do enough of them over the years, and you end up with a "older" directory that has layer of layer of compatibility shims. You should see the crazy hacks they had to implement to get MSA accounts working...

            It's important to note here is the fact that Microsoft Active Directory and .NET (Core) do not play nicely together. It took Microsoft over 10 years to get .NET Framework to work with Active Directory, and it's still really quirky. We've worked-around as many of the bugs as we can.

            Microsoft is still trying to get .NET Core on Linux to work properly with Active Directory, but it's got a very long way to go as you're seeing. There are so many strange behaviors we've already had to work-around (like methods sometimes returning strings, sometimes returning byte arrays) -- and these behaviors will just come with new versions of their library.

            For all we know, the crazy "2 or so minutes" to do a login query could be a parsing error in their library? Or something timing out in their network code, but not logging an error? We saw all that in .NET Framework. In any case, we can only guess because their library provides no diagnostic information for us to use.

            At this point, you should open a support ticket to Microsoft. This is the only way we can see how to identify why you have a "2 minute or so" delay to run a basic login query.

            The code we have is really, really simple. It follows all of Microsoft's guidelines, and it'd be super-simple for you to reproduce the exact problems for them to show them. They have some advanced monitoring tools that can detect exactly what crazy stuff is happening between the query and Active Directory.

            We can't do this, because we don't have access to your directory. It's unique to your setup and
            configuration, somehow.

            Alternatively, just use Windows instead. It will be significantly cheaper in the long-run (I suspect we've already burned through a lifetime's worth of licensing fees diagnosing this problem). Microsoft is still years away from even having the support infrastructure to help their customers with Linux problems, so any time there's a slight problem on Microsoft's end (SQL Server, .NET Core) , it will be "DIY" -- which really means, spend a lot of your time fixing quirks on their software.

            K 1 Reply Last reply Reply Quote 0
            • K Offline
              kichikawa_2913 @atripp
              last edited by

              @atripp I'm okay with the problem shifting over to Microsoft, I was just happy to help with anything that can be resolved on your end. Ultimately, we want to use SAML, but because that's only available to use with an actual Enterprise license I needed another way to get a feel on how administering permissions felt with ProGet.

              I appreciate the time put into this and I'm glad I could help resolve some issues. @rhessinger has been super responsive and great to work with, thank you!

              1 Reply Last reply Reply Quote 0
              • K Offline
                kichikawa_2913 @rhessinger
                last edited by

                @rhessinger do you have an ETA on an actual release for the LDAP fixes?

                1 Reply Last reply Reply Quote 0
                • rhessingerR Offline
                  rhessinger inedo-engineer
                  last edited by

                  Hi @kichikawa_2913,

                  I just released this extension to production now. Please let me know if you don't see an official release.

                  Thanks,
                  Rich

                  Products Engineer, Inedo

                  K 1 Reply Last reply Reply Quote 1
                  • K Offline
                    kichikawa_2913 @rhessinger
                    last edited by

                    @rhessinger Looks like version 1.10.7 is the new version correct?

                    1 Reply Last reply Reply Quote 0
                    • rhessingerR Offline
                      rhessinger inedo-engineer
                      last edited by

                      Hi @kichikawa_2913,

                      I'm sorry for not including that in my previous comment. You are correct 1.10.7 is the new version of the InedoCore extension that includes these fixes for LDAP and LDAPS on Docker.

                      Thanks,
                      Rich

                      Products Engineer, Inedo

                      K 1 Reply Last reply Reply Quote 1
                      • K Offline
                        kichikawa_2913 @rhessinger
                        last edited by

                        @rhessinger we upgraded to the most recent version of ProGet using the Docker image by following these steps:

                        1. Pull new image.
                        2. Stop current container.
                        3. Create new container using new image with a new name.
                        4. Make sure CA certs are present in the container and made sure OS identifies them.
                        5. Load ProGet web UI.
                        6. Attempt to log in, getting incorrect credentials error.
                        7. Attempt to log in with an admin user we manually created in the Built-In directory, same error.

                        To resolve this; I had to bring back the old container, log in using AD, switch to Built-In directory for auth, stop old container, start new version container, log in with admin account under Built-In directory, go to Administration, update the InedoCore extension to most recent, and enable LDAP directory.

                        Doesn't seem like ProGet reaches out for most recent extensions or the default installed version of the InedoCore extension should be 1.10.7. We shouldn't have this issue going forward, but I can see this being an issue later if an extension resolves issues that provide a major functionality.

                        Another solution I guess that could work would be to manually download all extensions, put them in a directory on the host, and mount a volume that maps to the default extensions directory. I didn't try this out though.

                        1 Reply Last reply Reply Quote 0
                        • rhessingerR Offline
                          rhessinger inedo-engineer
                          last edited by

                          Hi @kichikawa_2913,

                          Sorry, this is actually expected. When we release our products, they include the extensions that were released at the time of the product release. In this case, I released this version of InedoCore after we did the product release.

                          If you look at our documentation for upgrading your docker image, the command includes --volumes-from=proget-old. This will auto migrate the previous volumes created from the previous version of ProGet and that will keep the updated extension (as long as the previous extensions is newer than the included extension version).

                          Also, in Administration -> Advanced Settings, you can change Extensions.ExtensionsPath to a mapped path and that will also do the same thing (if the version in this directory is newer than the included) and give you easier access to the extension files.

                          Thanks,
                          Rich

                          Products Engineer, Inedo

                          1 Reply Last reply Reply Quote 1

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • 1
                          • 2
                          • 1 / 2
                          • First post
                            Last post
                          Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation