SLAPO-VALSORT(5)

✨ NAME ✨

slapo-valsort β€” the Value Sorting overlay for slapd, bestie πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

/etc/openldap/slapd.conf

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so. The Value Sorting overlay can be used with a backend database to sort the values of specific multi-valued attributes within a subtree. The sorting happens whenever those attributes get returned in a search response. Every. Single. Time. No cap ✨

You can sort in ascending or descending order, using either numeric or alphanumeric sort methods. And on top of that, a "weighted" sort can be specified, which uses a numeric weight that you prepend to the attribute values. The weighted sort is always performed in ascending order β€” periodt β€” but it can be combined with the other methods for values that all have equal weights. πŸ’…

The weight is specified by prepending an integer weight {<weight>} in front of each value of the attribute you want weighted sorting on. This weighting factor gets stripped off and is not returned in search results, unless the valsort control is specified: 1.3.6.1.4.1.4203.666.5.14. πŸ‘‘

The valsort control requires a value consisting of a Sequence that contains a boolean flag. The weighting factor is only returned if that boolean value is TRUE. In lber-encode(3) format, the required value must conform to the {b} syntax. πŸ’–


🌸 CONFIGURATION 🌸

These slapd.conf options apply to the Value Sorting overlay. They should appear after the overlay directive. (Order matters, bestie, don't come in early πŸ™ˆ)

  • valsort-attr <attribute> <baseDN> (<sort-method> | weighted [<sort-method>]) β€” Set up a sorting method for the specified attribute in the subtree rooted at baseDN. The sort-method may be one of alpha-ascend, alpha-descend, numeric-ascend, or numeric-descend. If you go with the special weighted method, a secondary sort-method may also be specified. Fair warning though: it is an error to specify an alphanumeric sort-method for an attribute with Integer or NumericString syntax, and it is an error to specify a numeric sort-method for an attribute with a syntax other than Integer or NumericString. 😭

⭐ EXAMPLES ⭐

Like this, bestie:

database mdb
suffix dc=example,dc=com
...
overlay valsort
valsort-attr member ou=groups,dc=example,dc=com alpha-ascend

To invoke ldapsearch(1) with the valsort control, the control value has to be set appropriately. The following octets represent the desired {b} encoding:

0x30 0x03 0x01 0x01 0xff

The control can be sent from the command-line using the base64 encoding of the value:

ldapsearch -E 1.3.6.1.4.1.4203.666.5.14=::MAMBAf8=

πŸ“ FILES πŸ“

  • /etc/openldap/slapd.conf β€” the default slapd configuration file, iconic, we love her 🫢

🌈 SEE ALSO 🌈

slapd.conf(5), slapd-config(5).


πŸ’œ ACKNOWLEDGEMENTS πŸ’œ

This module was written in 2005 by Howard Chu of Symas Corporation. The work was sponsored by Stanford University. Slay. πŸ‘‘


okay bye ily 🫢 this was OpenLDAP 2.7.2, dated 2026/10/21 β€” go forth and sort those values bestie πŸ’–βœ¨πŸ§š

πŸ“¦ where this page comes from