mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
c56b9b8795
This will allow us to introduce new database features that are
backward compatible from the point of view of older versions of Samba,
but which will be damaged by modifying the database with such a
version.
For example, if linked attributes are stored in sorted order in 4.7,
and this change, without any values in current_supportedFeatures is
itself included in 4.6, then our sortedLinks are backward compatible
to that release.
That is with 4.6 (including this patch) which doesn't care about
ordering -- but a downgraded 4.7 database used by 4.6 will be broken
when later used with 4.7. If we add a 'sortedLinks' feature flag in
compatibleFeatures, we can detect that.
This will allow us to determine if the database still contains
unsorted links, as that information allows us to make the code
handling links much more efficient.
We won't add the actual flag until all the code is in place.
Andrew wrote the actual code and Douglas wrote the tests, and they
cross-reviewed.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Piar-programmed-with: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
selftest: check for database features flags
(cherry picked from commit
|
||
---|---|---|
.. | ||
ad-schema | ||
display-specifiers | ||
tests | ||
aggregate_schema.ldif | ||
cn=samba.ldif | ||
DB_CONFIG | ||
dns_update_list | ||
fedora-ds-init.ldif | ||
fedorads-dna.ldif | ||
fedorads-index.ldif | ||
fedorads-linked-attributes.ldif | ||
fedorads-pam.ldif | ||
fedorads-partitions.ldif | ||
fedorads-refint-add.ldif | ||
fedorads-refint-delete.ldif | ||
fedorads-samba.ldif | ||
fedorads-sasl.ldif | ||
fedorads.inf | ||
idmap_init.ldif | ||
krb5.conf | ||
memberof.conf | ||
mmr_serverids.conf | ||
mmr_syncrepl.conf | ||
modules.conf | ||
named.conf | ||
named.conf.dlz | ||
named.conf.update | ||
named.txt | ||
olc_mmr.conf | ||
olc_seed.ldif | ||
olc_serverid.conf | ||
olc_syncrepl_seed.conf | ||
olc_syncrepl.conf | ||
prefixMap.txt | ||
provision_basedn_modify.ldif | ||
provision_basedn_options.ldif | ||
provision_basedn_references.ldif | ||
provision_basedn.ldif | ||
provision_computers_add.ldif | ||
provision_computers_modify.ldif | ||
provision_configuration_basedn.ldif | ||
provision_configuration_modify.ldif | ||
provision_configuration_references.ldif | ||
provision_configuration.ldif | ||
provision_dns_accounts_add.ldif | ||
provision_dns_add_samba.ldif | ||
provision_dnszones_add.ldif | ||
provision_dnszones_modify.ldif | ||
provision_dnszones_partitions.ldif | ||
provision_group_policy.ldif | ||
provision_init.ldif | ||
provision_partitions.ldif | ||
provision_privilege.ldif | ||
provision_rootdse_add.ldif | ||
provision_rootdse_modify.ldif | ||
provision_schema_basedn_modify.ldif | ||
provision_schema_basedn.ldif | ||
provision_self_join_config.ldif | ||
provision_self_join_modify_config.ldif | ||
provision_self_join_modify.ldif | ||
provision_self_join.ldif | ||
provision_users_add.ldif | ||
provision_users_modify.ldif | ||
provision_users.ldif | ||
provision_well_known_sec_princ.ldif | ||
provision.ldif | ||
provision.reg | ||
provision.zone | ||
refint.conf | ||
schema_samba4.ldif | ||
schema-map-fedora-ds-1.0 | ||
schema-map-openldap-2.3 | ||
secrets_dns.ldif | ||
secrets_init.ldif | ||
secrets_sasl_ldap.ldif | ||
secrets_simple_ldap.ldif | ||
secrets.ldif | ||
share.ldif | ||
slapd.conf | ||
spn_update_list | ||
wscript_build | ||
ypServ30.ldif |