Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: dotlambda/python-ldap
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: python-ldap/python-ldap
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 24 files changed
  • 7 contributors

Commits on Oct 21, 2025

  1. fix(extop.dds): fix unset RefreshRequest.requestValue

    >>> from ldap.extop.dds import RefreshRequest
    >>> req = RefreshRequest(RefreshRequest.requestName, 'uid=temp,dc=freeiam,dc=org', 86400)
    >>> repr(req)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3/dist-packages/ldap/extop/__init__.py", line 31, in __repr__
        return f'{self.__class__.__name__}({self.requestName},{self.requestValue})'
                                                               ^^^^^^^^^^^^^^^^^
    AttributeError: 'RefreshRequest' object has no attribute 'requestValue'. Did you mean: 'requestName'?
    spaceone authored and droideck committed Oct 21, 2025
    Configuration menu
    Copy the full SHA
    414ae1d View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2025

  1. fix(extop.dds): make passing of requestName optional again

    requestName is already set at class member. It seems there is code out
    there which is not giving it as value but passing None.
    in that case, fallback to the class member.
    
    Fixes: 414ae1d
    spaceone authored and droideck committed Oct 29, 2025
    Configuration menu
    Copy the full SHA
    0506a0f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2f0135c View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2025

  1. Add OpenLDAPSyncreplCookie

    mistotebe committed Dec 1, 2025
    Configuration menu
    Copy the full SHA
    aca9cb5 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2026

  1. Prepare a new release

    cherry-pick bf666e9
    droideck committed Apr 23, 2026
    Configuration menu
    Copy the full SHA
    8861398 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2026

  1. fix(ldap.schema): Explicitly close url file to avoid ResourceWarning …

    …in Python 3.14
    iwanb authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    7ab1fa9 View commit details
    Browse the repository at this point in the history
  2. fix(ldif): explicitly close sockets after fetching URLs

    fixes resource warnings in Python 3.14
    spaceone authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    142a9ca View commit details
    Browse the repository at this point in the history
  3. ci(github): update github actions

    > Ubuntu with Python pypy3.10
    > Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-python@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
    spaceone authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    de9119d View commit details
    Browse the repository at this point in the history
  4. test: Switch to using slapd + -T<tool> for tool use

    Using a locally compiled OpenLDAP impossible without this as libtool
    wrappers eat argv[0] of the symlinked binaries.
    
    Using a locally compiled OpenLDAP still often needs changes to the
    configuration, this should be a reasonably easy step forward.
    mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    54be2ee View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0dcaa43 View commit details
    Browse the repository at this point in the history
  6. feat(ldapobject): allow passing uri=None in SimpleLDAPObject

    and `ReconnectLDAPObject` to be consistent with `initialize()`.
    
    Fixes: 7af3125
    Issue: python-ldap#465
    spaceone authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    7df168b View commit details
    Browse the repository at this point in the history
  7. test: Test valid and invalid attrlist parameters

    Add tests test_valid_attrlist_parameter_types and
    test_invalid_attrlist_parameter_types which test the behaviour
    when passing different Python types.
    
    All iterables which return only strings should pass, everything else should
    raise a TypeError.
    jkoeniger authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    4364ede View commit details
    Browse the repository at this point in the history
  8. fix(LDAPObject): Prevent memory errors in attrs_from_List

    Function `PySequence_Length` can return -1 on iterables like `dict`.
    The following PyMem_NEW still succeeds due `PyMem_NEW(char *, -1 + 1)`
    being equivalent to `char** PyMem_Malloc(1)`, which then can result in a
    segmentation fault later on.
    
    Solution: Use `seq` and `PySequence_Size` to determine the size of
    the sequence. This way any iterable which contains only strings can be used.
    
    Co-authored-by: Christian Heimes <christian@python.org>
    2 people authored and mistotebe committed May 7, 2026
    Configuration menu
    Copy the full SHA
    f3f792e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e643924 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6e471e3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    bd877c9 View commit details
    Browse the repository at this point in the history
Loading