debian/0000755000000000000000000000000013434767025007201 5ustar debian/autodeps.py0000755000000000000000000001151012201731264011363 0ustar #!/usr/bin/python # Update dependencies based on info.py # Copyright (C) 2010 Jelmer Vernooij # Licensed under the GNU GPL, version 2 or later. import ConfigParser import optparse import os import sys parser = optparse.OptionParser("deps ") parser.add_option("--minimum-library-version", help="Print argument for --minimum-library-version", action="store_true") parser.add_option("--update-control", help="Update debian/control", action="store_true") (opts, args) = parser.parse_args() if len(args) != 1: if os.path.exists("source4") or os.path.exists("pyldb.c"): tree = os.getcwd() else: parser.print_usage() sys.exit(1) else: tree = args[0] def update_relation(line, pkg, kind, version): """Update a relation in a control field. :param line: Depends-like dependency list :param pkg: Package name :param kind: Version requirement kind ("==", ">=", "<<", etc) :param version: Required version """ found = False for pr in line: for e in pr: if e["name"] == pkg and e["version"] and e["version"][0] == kind: e["version"] = (kind, version) found = True if not found: line.append([{"version": (kind, version), "name": pkg, "arch": None}]) class LibraryEquivalents(object): """Lookup table for equivalent library versions.""" def __init__(self, path): self.config = ConfigParser.ConfigParser() self.config.readfp(open(path)) def find_equivalent(self, package, version): """Find an equivalent version for a specified package version. :param package: Package name :param version: Package version as int-tuple. :return: Equivalent version as int-tuple. :raise KeyError: Raised if there was no equivalent version found """ try: version = self.config.get(package, ".".join(str(x) for x in version)) return tuple([int(x) for x in version.split(".")]) except (ConfigParser.NoSectionError, ConfigParser.NoOptionError): raise KeyError def find_oldest_compatible(self, package, version): try: return self.find_equivalent(package, version) except KeyError: return version def find_version(path): """Find a version in a waf file. :param path: waf script to read :return: Version as int-tuple. """ v = open(path, 'r') try: for l in v.readlines(): if l.startswith("VERSION = '"): return tuple([int(x) for x in l.strip()[len("VERSION = '"):-1].split(".")]) raise KeyError finally: v.close() def update_control(): """Update the debian control file. """ from debian.deb822 import Deb822, PkgRelation f = open('debian/control', 'r') iter = Deb822.iter_paragraphs(f) source = iter.next() def update_deps(control, field, package, min_version): bdi = PkgRelation.parse_relations(control[field]) update_relation(bdi, package, ">=", "%d.%d.%d~" % min_version) control[field] = PkgRelation.str(bdi) tdb_version = find_version(os.path.join(tree, "lib/tdb/wscript")) talloc_version = find_version(os.path.join(tree, "lib/talloc/wscript")) tevent_version = find_version(os.path.join(tree, "lib/tevent/wscript")) eq_config = LibraryEquivalents('debian/library-equivalents') min_tdb_version = eq_config.find_oldest_compatible("tdb", tdb_version) min_talloc_version = eq_config.find_oldest_compatible("talloc", talloc_version) min_tevent_version = eq_config.find_oldest_compatible("tevent", tevent_version) update_deps(source, "Build-Depends", "libtdb-dev", min_tdb_version) update_deps(source, "Build-Depends", "python-tdb", min_tdb_version) update_deps(source, "Build-Depends", "libtalloc-dev", min_talloc_version) update_deps(source, "Build-Depends", "python-talloc-dev", min_talloc_version) update_deps(source, "Build-Depends", "libtevent-dev", min_tevent_version) o = open("debian/control", "w+") source.dump(o) for binary in iter: o.write("\n") binary.dump(o) o.close() def forced_minimum_library_versions(): libraries = [ ("tdb", "lib/tdb/wscript"), ("talloc", "lib/talloc/wscript"), ("tevent", "lib/tevent/wscript")] eq_config = LibraryEquivalents('debian/library-equivalents') for (name, path) in libraries: version = find_version(os.path.join(tree, path)) try: min_version = eq_config.find_equivalent(name, version) except KeyError: continue yield "%s:%s" % (name, ".".join([str(x) for x in min_version])) if opts.minimum_library_version: print ",".join(forced_minimum_library_versions()) elif opts.update_control: update_control() else: parser.print_usage() sys.exit(1) debian/libldb1.symbols0000644000000000000000000002665112700772610012125 0ustar libldb.so.1 #PACKAGE# #MINVER# LDB_0.9.10@LDB_0.9.10 0.9.21 LDB_0.9.12@LDB_0.9.12 0.9.21 LDB_0.9.15@LDB_0.9.15 0.9.21 LDB_0.9.16@LDB_0.9.16 0.9.21 LDB_0.9.17@LDB_0.9.17 0.9.21 LDB_0.9.18@LDB_0.9.18 0.9.21 LDB_0.9.19@LDB_0.9.19 0.9.21 LDB_0.9.20@LDB_0.9.20 0.9.21 LDB_0.9.22@LDB_0.9.22 0.9.22 LDB_0.9.23@LDB_0.9.23 0.9.23 LDB_0.9.24@LDB_0.9.24 0.9.24 LDB_1.0.0@LDB_1.0.0 1.0.2~ LDB_1.0.1@LDB_1.0.1 1.0.1~ LDB_1.0.2@LDB_1.0.2 1.0.2~ LDB_1.1.0@LDB_1.1.0 1.1.0 LDB_1.1.1@LDB_1.1.1 1.1.1~ LDB_1.1.2@LDB_1.1.2 1.1.2~ LDB_1.1.3@LDB_1.1.3 1.1.3 LDB_1.1.4@LDB_1.1.4 1.1.4 LDB_1.1.5@LDB_1.1.5 1.1.5 LDB_1.1.6@LDB_1.1.6 1.1.6 LDB_1.1.7@LDB_1.1.7 1.1.12 LDB_1.1.8@LDB_1.1.8 1.1.12 LDB_1.1.9@LDB_1.1.9 1.1.12 LDB_1.1.10@LDB_1.1.10 1.1.12 LDB_1.1.11@LDB_1.1.11 1.1.12 LDB_1.1.12@LDB_1.1.12 1.1.12 LDB_1.1.13@LDB_1.1.13 1.1.13 LDB_1.1.14@LDB_1.1.14 1:1.1.15 LDB_1.1.15@LDB_1.1.15 1:1.1.15 LDB_1.1.16@LDB_1.1.16 1:1.1.16 LDB_1.1.17@LDB_1.1.17 1:1.1.17 LDB_1.1.18@LDB_1.1.18 1:1.1.18 LDB_1.1.19@LDB_1.1.19 1:1.1.19 LDB_1.1.20@LDB_1.1.20 1:1.1.20 LDB_1.1.21@LDB_1.1.21 1:1.1.21 LDB_1.1.22@LDB_1.1.22 1:1.1.22 LDB_1.1.23@LDB_1.1.23 1:1.1.23 LDB_1.1.24@LDB_1.1.24 1:1.1.24 ldb_check_critical_controls@LDB_0.9.22 0.9.22 ldb_controls_except_specified@LDB_0.9.22 0.9.22 ldb_control_to_string@LDB_1.0.2 1.0.2~git20110403 ldb_add@LDB_0.9.10 0.9.21 ldb_any_comparison@LDB_0.9.10 0.9.21 ldb_asprintf_errstring@LDB_0.9.10 0.9.21 ldb_attr_casefold@LDB_0.9.10 0.9.21 ldb_attr_dn@LDB_0.9.10 0.9.21 ldb_attr_in_list@LDB_0.9.10 0.9.21 ldb_attr_list_copy@LDB_0.9.10 0.9.21 ldb_attr_list_copy_add@LDB_0.9.10 0.9.21 ldb_base64_decode@LDB_0.9.10 0.9.21 ldb_base64_encode@LDB_0.9.10 0.9.21 ldb_binary_decode@LDB_0.9.10 0.9.21 ldb_binary_encode@LDB_0.9.10 0.9.21 ldb_binary_encode_string@LDB_0.9.10 0.9.21 ldb_build_add_req@LDB_0.9.10 0.9.21 ldb_build_del_req@LDB_0.9.10 0.9.21 ldb_build_extended_req@LDB_0.9.10 0.9.21 ldb_build_mod_req@LDB_0.9.10 0.9.21 ldb_build_rename_req@LDB_0.9.10 0.9.21 ldb_build_search_req@LDB_0.9.10 0.9.21 ldb_build_search_req_ex@LDB_0.9.10 0.9.21 ldb_casefold@LDB_0.9.10 0.9.21 ldb_casefold_default@LDB_0.9.10 0.9.21 ldb_comparison_binary@LDB_0.9.10 0.9.21 ldb_comparison_fold@LDB_0.9.10 0.9.21 ldb_connect@LDB_0.9.10 0.9.21 ldb_control_to_string@LDB_1.0.2 1.0.2 ldb_debug@LDB_0.9.10 0.9.21 ldb_debug_add@LDB_0.9.10 0.9.21 ldb_debug_end@LDB_0.9.10 0.9.21 ldb_debug_set@LDB_0.9.10 0.9.21 ldb_delete@LDB_0.9.10 0.9.21 ldb_dn_add_base@LDB_0.9.10 0.9.21 ldb_dn_add_base_fmt@LDB_0.9.10 0.9.21 ldb_dn_add_child@LDB_0.9.10 0.9.21 ldb_dn_add_child_fmt@LDB_0.9.10 0.9.21 ldb_dn_alloc_casefold@LDB_0.9.10 0.9.21 ldb_dn_alloc_linearized@LDB_0.9.10 0.9.21 ldb_dn_canonical_ex_string@LDB_0.9.10 0.9.21 ldb_dn_canonical_string@LDB_0.9.10 0.9.21 ldb_dn_check_local@LDB_0.9.10 0.9.21 ldb_dn_check_special@LDB_0.9.10 0.9.21 ldb_dn_compare@LDB_0.9.10 0.9.21 ldb_dn_compare_base@LDB_0.9.10 0.9.21 ldb_dn_copy@LDB_0.9.10 0.9.21 ldb_dn_escape_value@LDB_0.9.10 0.9.21 ldb_dn_extended_add_syntax@LDB_0.9.10 0.9.21 ldb_dn_extended_filter@LDB_0.9.10 0.9.21 ldb_dn_extended_syntax_by_name@LDB_0.9.10 0.9.21 ldb_dn_from_ldb_val@LDB_0.9.10 0.9.21 ldb_dn_get_casefold@LDB_0.9.10 0.9.21 ldb_dn_get_comp_num@LDB_0.9.10 0.9.21 ldb_dn_get_component_name@LDB_0.9.10 0.9.21 ldb_dn_get_component_val@LDB_0.9.10 0.9.21 ldb_dn_get_extended_comp_num@LDB_0.9.23 0.9.23 ldb_dn_get_extended_component@LDB_0.9.10 0.9.21 ldb_dn_get_extended_linearized@LDB_0.9.10 0.9.21 ldb_dn_get_ldb_context@LDB_1.1.22 1:1.1.23 ldb_dn_get_linearized@LDB_0.9.10 0.9.21 ldb_dn_get_parent@LDB_0.9.10 0.9.21 ldb_dn_get_rdn_name@LDB_0.9.10 0.9.21 ldb_dn_get_rdn_val@LDB_0.9.10 0.9.21 ldb_dn_has_extended@LDB_0.9.10 0.9.21 ldb_dn_is_null@LDB_0.9.10 0.9.21 ldb_dn_is_special@LDB_0.9.10 0.9.21 ldb_dn_is_valid@LDB_0.9.10 0.9.21 ldb_dn_map_local@LDB_0.9.10 0.9.21 ldb_dn_map_rebase_remote@LDB_0.9.10 0.9.21 ldb_dn_map_remote@LDB_0.9.10 0.9.21 ldb_dn_minimise@LDB_0.9.23 0.9.23 ldb_dn_new@LDB_0.9.10 0.9.21 ldb_dn_new_fmt@LDB_0.9.10 0.9.21 ldb_dn_remove_base_components@LDB_0.9.10 0.9.21 ldb_dn_remove_child_components@LDB_0.9.10 0.9.21 ldb_dn_remove_extended_components@LDB_0.9.10 0.9.21 ldb_dn_replace_components@LDB_1.1.2 1.1.2~ ldb_dn_set_component@LDB_0.9.10 0.9.21 ldb_dn_set_extended_component@LDB_0.9.10 0.9.21 ldb_dn_update_components@LDB_0.9.10 0.9.21 ldb_dn_validate@LDB_0.9.10 0.9.21 ldb_dump_results@LDB_0.9.10 0.9.21 ldb_error_at@LDB_0.9.15 0.9.21 ldb_errstring@LDB_0.9.10 0.9.21 ldb_extended@LDB_0.9.10 0.9.21 ldb_extended_default_callback@LDB_0.9.10 0.9.21 ldb_filter_from_tree@LDB_0.9.10 0.9.21 ldb_get_config_basedn@LDB_0.9.10 0.9.21 ldb_get_create_perms@LDB_0.9.10 0.9.21 ldb_get_default_basedn@LDB_0.9.10 0.9.21 ldb_get_event_context@LDB_0.9.10 0.9.21 ldb_get_flags@LDB_0.9.10 0.9.21 ldb_get_opaque@LDB_0.9.10 0.9.21 ldb_get_root_basedn@LDB_0.9.10 0.9.21 ldb_get_schema_basedn@LDB_0.9.10 0.9.21 ldb_global_init@LDB_0.9.10 0.9.21 ldb_handle_new@LDB_0.9.10 0.9.21 ldb_handler_copy@LDB_0.9.10 0.9.21 ldb_handler_fold@LDB_0.9.10 0.9.21 ldb_init@LDB_0.9.10 0.9.21 ldb_ldif_message_string@LDB_0.9.10 0.9.21 ldb_ldif_parse_modrdn@LDB_1.1.0 1.1.0 ldb_ldif_read@LDB_0.9.10 0.9.21 ldb_ldif_read_file@LDB_0.9.10 0.9.21 ldb_ldif_read_file_state@LDB_1.1.5 1.1.5 ldb_ldif_read_free@LDB_0.9.10 0.9.21 ldb_ldif_read_string@LDB_0.9.10 0.9.21 ldb_ldif_write@LDB_0.9.10 0.9.21 ldb_ldif_write_file@LDB_0.9.10 0.9.21 ldb_ldif_write_redacted_trace_string@LDB_1.1.12 1.1.12 ldb_ldif_write_string@LDB_0.9.10 0.9.21 ldb_load_modules@LDB_0.9.10 0.9.21 ldb_map_add@LDB_0.9.22 0.9.22 ldb_map_delete@LDB_0.9.22 0.9.22 ldb_map_init@LDB_0.9.10 0.9.21 ldb_map_modify@LDB_0.9.22 0.9.22 ldb_map_rename@LDB_0.9.22 0.9.22 ldb_map_search@LDB_0.9.22 0.9.22 ldb_match_msg@LDB_0.9.10 0.9.21 ldb_match_msg_error@LDB_0.9.15 0.9.21 ldb_match_msg_objectclass@LDB_0.9.10 0.9.21 ldb_mod_register_control@LDB_0.9.10 0.9.21 ldb_modify@LDB_0.9.10 0.9.21 ldb_modify_default_callback@LDB_0.9.12 0.9.21 ldb_module_call_chain@LDB_0.9.19 0.9.21 ldb_module_connect_backend@LDB_0.9.19 0.9.21 ldb_module_done@LDB_0.9.10 0.9.21 ldb_module_flags@LDB_0.9.19 0.9.21 ldb_module_get_ctx@LDB_0.9.10 0.9.21 ldb_module_get_name@LDB_0.9.10 0.9.21 ldb_module_get_ops@LDB_0.9.10 0.9.21 ldb_module_get_private@LDB_0.9.10 0.9.21 ldb_module_init_chain@LDB_0.9.19 0.9.21 ldb_module_load_list@LDB_0.9.19 0.9.21 ldb_module_new@LDB_0.9.10 0.9.21 ldb_module_next@LDB_0.9.19 0.9.21 ldb_module_popt_options@LDB_0.9.19 0.9.21 ldb_module_send_entry@LDB_0.9.10 0.9.21 ldb_module_send_referral@LDB_0.9.10 0.9.21 ldb_module_set_next@LDB_0.9.19 0.9.21 ldb_module_set_private@LDB_0.9.10 0.9.21 ldb_modules_hook@LDB_0.9.18 0.9.21 ldb_modules_list_from_string@LDB_0.9.10 0.9.21 ldb_modules_load@LDB_0.9.18 0.9.21 ldb_msg_add@LDB_0.9.10 0.9.21 ldb_msg_add_empty@LDB_0.9.10 0.9.21 ldb_msg_add_fmt@LDB_0.9.10 0.9.21 ldb_msg_add_linearized_dn@LDB_0.9.10 0.9.21 ldb_msg_add_steal_string@LDB_0.9.10 0.9.21 ldb_msg_add_steal_value@LDB_0.9.10 0.9.21 ldb_msg_add_string@LDB_0.9.10 0.9.21 ldb_msg_add_value@LDB_0.9.10 0.9.21 ldb_msg_canonicalize@LDB_0.9.10 0.9.21 ldb_msg_check_string_attribute@LDB_0.9.10 0.9.21 ldb_msg_copy@LDB_0.9.10 0.9.21 ldb_msg_copy_attr@LDB_0.9.10 0.9.21 ldb_msg_copy_shallow@LDB_0.9.10 0.9.21 ldb_msg_diff@LDB_0.9.10 0.9.21 ldb_msg_difference@LDB_0.9.15 0.9.21 ldb_msg_element_compare@LDB_0.9.10 0.9.21 ldb_msg_element_compare_name@LDB_0.9.10 0.9.21 ldb_msg_element_equal_ordered@LDB_1.1.6 1:1.1.6 ldb_msg_find_attr_as_bool@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_dn@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_double@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_int64@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_int@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_string@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_uint64@LDB_0.9.10 0.9.21 ldb_msg_find_attr_as_uint@LDB_0.9.10 0.9.21 ldb_msg_find_element@LDB_0.9.10 0.9.21 ldb_msg_find_ldb_val@LDB_0.9.10 0.9.21 ldb_msg_find_val@LDB_0.9.10 0.9.21 ldb_msg_new@LDB_0.9.10 0.9.21 ldb_msg_normalize@LDB_0.9.15 0.9.21 ldb_msg_remove_attr@LDB_0.9.10 0.9.21 ldb_msg_remove_element@LDB_0.9.10 0.9.21 ldb_msg_rename_attr@LDB_0.9.10 0.9.21 ldb_msg_sanity_check@LDB_0.9.10 0.9.21 ldb_msg_sort_elements@LDB_0.9.10 0.9.21 ldb_next_del_trans@LDB_0.9.10 0.9.21 ldb_next_end_trans@LDB_0.9.10 0.9.21 ldb_next_init@LDB_0.9.10 0.9.21 ldb_next_prepare_commit@LDB_0.9.10 0.9.21 ldb_next_remote_request@LDB_0.9.10 0.9.21 ldb_next_request@LDB_0.9.10 0.9.21 ldb_next_start_trans@LDB_0.9.10 0.9.21 ldb_op_default_callback@LDB_0.9.10 0.9.21 ldb_options_find@LDB_0.9.17 0.9.21 ldb_pack_data@LDB_1.1.14 1:1.1.15 ldb_parse_control_from_string@LDB_1.0.2 1.0.2~git20110403 ldb_parse_control_strings@LDB_0.9.10 0.9.21 ldb_parse_tree@LDB_0.9.10 0.9.21 ldb_parse_tree_attr_replace@LDB_0.9.10 0.9.21 ldb_parse_tree_copy_shallow@LDB_0.9.10 0.9.21 ldb_parse_tree_walk@LDB_1.1.2 1.1.2~ ldb_qsort@LDB_0.9.10 0.9.21 ldb_register_backend@LDB_0.9.10 0.9.21 ldb_register_extended_match_rule@LDB_1.1.19 1:1.1.20 ldb_register_hook@LDB_0.9.18 0.9.21 ldb_register_module@LDB_0.9.10 0.9.21 ldb_rename@LDB_0.9.10 0.9.21 ldb_reply_add_control@LDB_0.9.10 0.9.21 ldb_reply_get_control@LDB_0.9.10 0.9.21 ldb_req_get_custom_flags@LDB_1.1.0 1.1.0 ldb_req_is_untrusted@LDB_0.9.16 0.9.21 ldb_req_location@LDB_0.9.15 0.9.21 ldb_req_mark_trusted@LDB_0.9.24 0.9.24 ldb_req_mark_untrusted@LDB_0.9.16 0.9.21 ldb_req_set_custom_flags@LDB_1.1.0 1.1.0 ldb_req_set_location@LDB_0.9.15 0.9.21 ldb_request@LDB_0.9.10 0.9.21 ldb_request_add_control@LDB_0.9.10 0.9.21 ldb_request_done@LDB_0.9.10 0.9.21 ldb_request_get_control@LDB_0.9.10 0.9.21 ldb_request_get_status@LDB_0.9.10 0.9.21 ldb_request_replace_control@LDB_0.9.15 0.9.21 ldb_request_set_state@LDB_0.9.10 0.9.21 ldb_reset_err_string@LDB_0.9.10 0.9.21 ldb_schema_attribute_add@LDB_0.9.10 0.9.21 ldb_schema_attribute_add_with_syntax@LDB_0.9.10 0.9.21 ldb_schema_attribute_by_name@LDB_0.9.10 0.9.21 ldb_schema_attribute_remove@LDB_0.9.10 0.9.21 ldb_schema_attribute_set_override_handler@LDB_0.9.10 0.9.21 ldb_search@LDB_0.9.10 0.9.21 ldb_search_default_callback@LDB_0.9.10 0.9.21 ldb_sequence_number@LDB_0.9.10 0.9.21 ldb_set_create_perms@LDB_0.9.10 0.9.21 ldb_set_debug@LDB_0.9.10 0.9.21 ldb_set_debug_stderr@LDB_0.9.10 0.9.21 ldb_set_default_dns@LDB_0.9.10 0.9.21 ldb_set_errstring@LDB_0.9.10 0.9.21 ldb_set_event_context@LDB_0.9.10 0.9.21 ldb_set_flags@LDB_0.9.10 0.9.21 ldb_set_modules_dir@LDB_0.9.10 0.9.21 ldb_set_opaque@LDB_0.9.10 0.9.21 ldb_set_timeout@LDB_0.9.10 0.9.21 ldb_set_timeout_from_prev_req@LDB_0.9.10 0.9.21 ldb_set_utf8_default@LDB_0.9.10 0.9.21 ldb_set_utf8_fns@LDB_0.9.10 0.9.21 ldb_setup_wellknown_attributes@LDB_0.9.10 0.9.21 ldb_should_b64_encode@LDB_0.9.10 0.9.21 ldb_standard_syntax_by_name@LDB_0.9.10 0.9.21 ldb_strerror@LDB_0.9.10 0.9.21 ldb_string_to_time@LDB_0.9.10 0.9.21 ldb_string_utc_to_time@LDB_0.9.10 0.9.21 ldb_timestring@LDB_0.9.10 0.9.21 ldb_timestring_utc@LDB_0.9.10 0.9.21 ldb_transaction_cancel@LDB_0.9.10 0.9.21 ldb_transaction_cancel_noerr@LDB_0.9.10 0.9.21 ldb_transaction_commit@LDB_0.9.10 0.9.21 ldb_transaction_prepare_commit@LDB_0.9.10 0.9.21 ldb_transaction_start@LDB_0.9.10 0.9.21 ldb_unpack_data@LDB_1.1.14 1:1.1.15 ldb_val_dup@LDB_0.9.10 0.9.21 ldb_val_equal_exact@LDB_0.9.10 0.9.21 ldb_val_map_local@LDB_0.9.10 0.9.21 ldb_val_map_remote@LDB_0.9.10 0.9.21 ldb_val_string_cmp@LDB_1.1.1 1.1.1~ ldb_val_to_time@LDB_0.9.10 0.9.21 ldb_valid_attr_name@LDB_0.9.10 0.9.21 ldb_vdebug@LDB_1.1.10 1.1.12 ldb_wait@LDB_0.9.10 0.9.21 ldb_save_controls@LDB_0.9.22 0.9.22 debian/libldb-dev.install0000644000000000000000000000015212201731264012556 0ustar usr/include/ldb*.h usr/lib/*/libldb.a usr/lib/*/libldb.so usr/lib/*/pkgconfig/ldb.pc usr/share/man/man3/* debian/rules0000755000000000000000000000421712700771346010261 0ustar #!/usr/bin/make -f CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) CFLAGS += -Wall ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif LDFLAGS += -Wl,--as-needed DESTDIR=$(CURDIR)/debian/tmp export PYTHON=$(shell which `pyversions -d`) export PYTHON_CONFIG="$(PYTHON)-config" export WAF=$(PYTHON) ./buildtools/bin/waf DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) %: dh $* --with python2 override_dh_auto_configure: PYTHON="$(PYTHON)" PYTHON_CONFIG="$(PYTHON_CONFIG)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ $(WAF) configure --prefix=/usr --disable-rpath-install \ --builtin-libraries=ccan,replace,tdb_compat \ --bundled-libraries=NONE,pytevent \ --minimum-library-version="$(shell ./debian/autodeps.py --minimum-library-version)" \ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ --with-modulesdir=/usr/lib/$(DEB_HOST_MULTIARCH)/ldb/modules get-packaged-orig-source: ./debian/build-orig.sh override_dh_auto_clean: -$(WAF) clean # Waf should be doing this; see # https://bugzilla.samba.org/show_bug.cgi?id=8854 rm -f .lock-wscript # Waf should be doing this; see # https://bugzilla.samba.org/show_bug.cgi?id=8855 rm -f buildtools/wafsamba/*.pyc \ third_party/waf/wafadmin/*.pyc \ third_party/waf/wafadmin/Tools/*.pyc override_dh_auto_build: $(WAF) build override_dh_auto_test: ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) $(WAF) test endif override_dh_python2: dh_python2 --no-guessing-versions override_dh_auto_install: DESTDIR=$(DESTDIR) $(WAF) install rm $(DESTDIR)/usr/lib/python*/dist-packages/_tevent.so rm $(DESTDIR)/usr/lib/python*/dist-packages/tevent.py ar cr libldb.a bin/default/common/*.o mv libldb.a $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH) override_dh_strip: dh_strip -pldb-tools dh_strip -ppython-ldb --dbg-package=python-ldb-dbg dh_strip -plibldb1 --dbg-package=libldb1-dbg override_dh_makeshlibs: dh_makeshlibs -Xldb.so -ppython-ldb -- -c4 dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/ldb -plibldb1 -- -c4 debian/python-ldb.symbols0000644000000000000000000000220212700772617012665 0ustar libpyldb-util.so.1 #PACKAGE# #MINVER# PYLDB_UTIL_1.1.2@PYLDB_UTIL_1.1.2 1.1.2~ PYLDB_UTIL_1.1.3@PYLDB_UTIL_1.1.3 1.1.3 PYLDB_UTIL_1.1.4@PYLDB_UTIL_1.1.4 1.1.4 PYLDB_UTIL_1.1.5@PYLDB_UTIL_1.1.5 1:1.1.5 PYLDB_UTIL_1.1.6@PYLDB_UTIL_1.1.6 1:1.1.6 PYLDB_UTIL_1.1.7@PYLDB_UTIL_1.1.7 1:1.1.12 PYLDB_UTIL_1.1.8@PYLDB_UTIL_1.1.8 1:1.1.12 PYLDB_UTIL_1.1.9@PYLDB_UTIL_1.1.9 1:1.1.12 PYLDB_UTIL_1.1.10@PYLDB_UTIL_1.1.10 1:1.1.12 PYLDB_UTIL_1.1.11@PYLDB_UTIL_1.1.11 1:1.1.12 PYLDB_UTIL_1.1.12@PYLDB_UTIL_1.1.12 1:1.1.12 PYLDB_UTIL_1.1.13@PYLDB_UTIL_1.1.13 1:1.1.13 PYLDB_UTIL_1.1.14@PYLDB_UTIL_1.1.14 1:1.1.15 PYLDB_UTIL_1.1.15@PYLDB_UTIL_1.1.15 1:1.1.15 PYLDB_UTIL_1.1.16@PYLDB_UTIL_1.1.16 1:1.1.16 PYLDB_UTIL_1.1.17@PYLDB_UTIL_1.1.17 1:1.1.17 PYLDB_UTIL_1.1.18@PYLDB_UTIL_1.1.18 1:1.1.18 PYLDB_UTIL_1.1.19@PYLDB_UTIL_1.1.19 1:1.1.19 PYLDB_UTIL_1.1.20@PYLDB_UTIL_1.1.20 1:1.1.20 PYLDB_UTIL_1.1.21@PYLDB_UTIL_1.1.21 1:1.1.21 PYLDB_UTIL_1.1.22@PYLDB_UTIL_1.1.22 1:1.1.22 PYLDB_UTIL_1.1.23@PYLDB_UTIL_1.1.23 1:1.1.23 PYLDB_UTIL_1.1.24@PYLDB_UTIL_1.1.24 1:1.1.24 pyldb_Dn_FromDn@PYLDB_UTIL_1.1.2 1.1.2~ pyldb_Object_AsDn@PYLDB_UTIL_1.1.2 1.1.2~ debian/libldb1.postinst0000644000000000000000000000004712201731264012303 0ustar #!/bin/sh set -e #DEBHELPER# exit 0 debian/ldb-tools.install0000644000000000000000000000010212201731264012444 0ustar usr/bin/ldb* usr/lib/*/ldb/libldb-cmdline.so usr/share/man/man1/* debian/library-equivalents0000644000000000000000000000051612201731264013113 0ustar # Upstream Samba 4 is very strict about minimum versions of libraries, but allows # looser checking using the --minimum-library-versions option to configure. # # This file specifies what upstream versions are equivalent to each other, so that # this package can be installed with older versions. [talloc] 2.0.2 = 2.0.1 2.0.3 = 2.0.1 debian/control0000644000000000000000000001053412700771307010600 0ustar Source: ldb Section: devel Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Jelmer Vernooij Build-Depends: debhelper (>> 8.1.3), docbook-xml, docbook-xsl, libldap2-dev, libpopt-dev, libtalloc-dev (>= 2.0.8~), libtdb-dev (>= 1.3.2~), libtevent-dev (>= 0.9.18~), pkg-config, python (>= 2.6.6-3), python-all-dbg (>= 2.6.6-3), python-all-dev (>= 2.6.6-3), python-talloc-dev (>= 2.0.8~), python-tdb (>= 1.3.2~), xsltproc Homepage: http://ldb.samba.org/ Standards-Version: 3.9.4 Vcs-Git: git://git.debian.org/pkg-samba/ldb.git Package: libldb1 Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Architecture: any Section: libs Depends: ${misc:Depends}, ${shlibs:Depends} Replaces: libldb0 Breaks: libldb0, libsamdb0 (<< 4.0.0~alpha17~git20110724.dfsg1-1) Description: LDAP-like embedded database - shared library ldb is a LDAP-like embedded database built on top of TDB. . It provides a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. . This package contains the shared library file. Package: libldb1-dbg Architecture: any Section: debug Priority: extra Depends: libldb1 (= ${binary:Version}), ${misc:Depends} Recommends: libc6-dbg Description: LDAP-like embedded database - debug symbols ldb is a LDAP-like embedded database built on top of TDB. . It provides a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. . This package contains the debug symbols. Package: ldb-tools Section: utils Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: LDAP-like embedded database - tools ldb is a LDAP-like embedded database built on top of TDB. . What ldb does is provide a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. . This package contains bundled test and utility binaries Package: libldb-dev Section: libdevel Architecture: any Depends: libc6-dev, libldb1 (= ${binary:Version}), libtalloc-dev, libtdb-dev, pkg-config, ${misc:Depends} Description: LDAP-like embedded database - development files ldb is a LDAP-like embedded database built on top of TDB. . What ldb does is provide a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. . This package contains the development files. Package: python-ldb Pre-Depends: ${misc:Pre-Depends} Section: python Architecture: any Depends: libldb1 (= ${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: ${python:Breaks} Description: Python bindings for LDB ldb is a LDAP-like embedded database built on top of TDB. . This package contains the Python bindings. Package: python-ldb-dev Section: libdevel Architecture: any Depends: libc6-dev, libldb-dev, pkg-config, python-ldb (= ${binary:Version}), ${misc:Depends} Description: LDB python bindings - development files ldb is a LDAP-like embedded database built on top of TDB. . It is a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. . This package contains the development files for the Python bindings. Package: python-ldb-dbg Section: debug Priority: extra Architecture: any Depends: python-ldb (= ${binary:Version}), ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Recommends: python-dbg, python-talloc-dbg, python-tdb-dbg Description: Python bindings for LDB - debug extension ldb is a LDAP-like embedded database built on top of TDB. . This package contains the Python debug extension. debian/libldb-dev.examples0000644000000000000000000000005312201731264012726 0ustar examples/ldbreader.c examples/ldifreader.c debian/watch0000644000000000000000000000006712201731264010220 0ustar version=3 http://ftp.samba.org/pub/ldb/ldb-(.+).tar.gz debian/python-ldb-dev.install0000644000000000000000000000012112201731264013402 0ustar usr/include/pyldb.h usr/lib/*/libpyldb-util.so usr/lib/*/pkgconfig/pyldb-util.pc debian/gbp.conf0000644000000000000000000000005212201731264010600 0ustar [DEFAULT] overlay = True sign-tags = True debian/patches/0000755000000000000000000000000013434766452010633 5ustar debian/patches/CVE-2019-3824-2.patch0000644000000000000000000000317313434766435013424 0ustar From 23f386668b4e2b28f69bf6d227cc2210562afae2 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 4 Feb 2019 11:22:34 +1300 Subject: [PATCH 2/6] CVE-2019-3824 ldb: Extra comments to clarify no pointer wrap in wildcard processing BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Andrew Bartlett --- lib/ldb/common/ldb_match.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/common/ldb_match.c b/common/ldb_match.c index 71f8b9671d5..b49085286a2 100644 --- a/common/ldb_match.c +++ b/common/ldb_match.c @@ -306,12 +306,33 @@ static int ldb_wildcard_compare(struct ldb_context *ldb, p = memmem((const void *)val.data,val.length, (const void *)cnk.data, cnk.length); if (p == NULL) goto mismatch; + + /* + * At this point we know cnk.length <= val.length as + * otherwise there could be no match + */ + if ( (! tree->u.substring.chunks[c + 1]) && (! tree->u.substring.end_with_wildcard) ) { uint8_t *g; uint8_t *end = val.data + val.length; do { /* greedy */ - g = memmem(p + cnk.length, - end - (p + cnk.length), + + /* + * haystack is a valid pointer in val + * because the memmem() can only + * succeed if the needle (cnk.length) + * is <= haystacklen + * + * p will be a pointer at least + * cnk.length from the end of haystack + */ + uint8_t *haystack + = p + cnk.length; + size_t haystacklen + = end - (haystack); + + g = memmem(haystack, + haystacklen, (const uint8_t *)cnk.data, cnk.length); if (g) p = g; -- 2.17.1 debian/patches/series0000644000000000000000000000020413434766452012044 0ustar CVE-2019-3824-1.patch CVE-2019-3824-2.patch CVE-2019-3824-3.patch CVE-2019-3824-4.patch CVE-2019-3824-5.patch CVE-2019-3824-6.patch debian/patches/CVE-2019-3824-1.patch0000644000000000000000000001022113434766432013410 0ustar From 27c9e6cfb3492830423bc21a49506452ac98fbe0 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Fri, 18 Jan 2019 16:37:24 +0100 Subject: [PATCH 1/6] CVE-2019-3824 ldb: Out of bound read in ldb_wildcard_compare There is valgrind error in few tests tests/test-generic.sh 91 echo "Test wildcard match" 92 $VALGRIND ldbadd $LDBDIR/tests/test-wildcard.ldif || exit 1 93 $VALGRIND ldbsearch '(cn=test*multi)' || exit 1 95 $VALGRIND ldbsearch '(cn=*test_multi)' || exit 1 97 $VALGRIND ldbsearch '(cn=test*multi*test*multi)' || exit 1 e.g. ==3098== Memcheck, a memory error detector ==3098== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==3098== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==3098== Command: ./bin/ldbsearch (cn=test*multi) ==3098== ==3098== Invalid read of size 1 ==3098== at 0x483CEE7: memchr (vg_replace_strmem.c:890) ==3098== by 0x49A9073: memmem (in /usr/lib64/libc-2.28.9000.so) ==3098== by 0x485DFE9: ldb_wildcard_compare (ldb_match.c:313) ==3098== by 0x485DFE9: ldb_match_substring (ldb_match.c:360) ==3098== by 0x485DFE9: ldb_match_message (ldb_match.c:572) ==3098== by 0x558F8FA: search_func (ldb_kv_search.c:549) ==3098== by 0x48C78CA: ??? (in /usr/lib64/libtdb.so.1.3.17) ==3098== by 0x48C7A60: tdb_traverse_read (in /usr/lib64/libtdb.so.1.3.17) ==3098== by 0x557B7C4: ltdb_traverse_fn (ldb_tdb.c:274) ==3098== by 0x558FBFA: ldb_kv_search_full (ldb_kv_search.c:594) ==3098== by 0x558FBFA: ldb_kv_search (ldb_kv_search.c:854) ==3098== by 0x558E497: ldb_kv_callback (ldb_kv.c:1713) ==3098== by 0x48FCD58: tevent_common_invoke_timer_handler (in /usr/lib64/libtevent.so.0.9.38) ==3098== by 0x48FCEFD: tevent_common_loop_timer_delay (in /usr/lib64/libtevent.so.0.9.38) ==3098== by 0x48FE14A: ??? (in /usr/lib64/libtevent.so.0.9.38) ==3098== Address 0x4b4ab81 is 0 bytes after a block of size 129 alloc'd ==3098== at 0x483880B: malloc (vg_replace_malloc.c:309) ==3098== by 0x491048B: talloc_strndup (in /usr/lib64/libtalloc.so.2.1.15) ==3098== by 0x48593CA: ldb_casefold_default (ldb_utf8.c:59) ==3098== by 0x485F68D: ldb_handler_fold (attrib_handlers.c:64) ==3098== by 0x485DB88: ldb_wildcard_compare (ldb_match.c:257) ==3098== by 0x485DB88: ldb_match_substring (ldb_match.c:360) ==3098== by 0x485DB88: ldb_match_message (ldb_match.c:572) ==3098== by 0x558F8FA: search_func (ldb_kv_search.c:549) ==3098== by 0x48C78CA: ??? (in /usr/lib64/libtdb.so.1.3.17) ==3098== by 0x48C7A60: tdb_traverse_read (in /usr/lib64/libtdb.so.1.3.17) ==3098== by 0x557B7C4: ltdb_traverse_fn (ldb_tdb.c:274) ==3098== by 0x558FBFA: ldb_kv_search_full (ldb_kv_search.c:594) ==3098== by 0x558FBFA: ldb_kv_search (ldb_kv_search.c:854) ==3098== by 0x558E497: ldb_kv_callback (ldb_kv.c:1713) ==3098== by 0x48FCD58: tevent_common_invoke_timer_handler (in /usr/lib64/libtevent.so.0.9.38) ==3098== # record 1 dn: cn=test_multi_test_multi_test_multi,o=University of Michigan,c=TEST cn: test_multi_test_multi_test_multi description: test multi wildcards matching objectclass: person sn: multi_test name: test_multi_test_multi_test_multi distinguishedName: cn=test_multi_test_multi_test_multi,o=University of Michiga n,c=TEST # returned 1 records # 1 entries # 0 referrals BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Lukas Slebodnik --- lib/ldb/common/ldb_match.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/ldb_match.c b/common/ldb_match.c index e83ad637dff..71f8b9671d5 100644 --- a/common/ldb_match.c +++ b/common/ldb_match.c @@ -308,9 +308,10 @@ static int ldb_wildcard_compare(struct ldb_context *ldb, if (p == NULL) goto mismatch; if ( (! tree->u.substring.chunks[c + 1]) && (! tree->u.substring.end_with_wildcard) ) { uint8_t *g; + uint8_t *end = val.data + val.length; do { /* greedy */ g = memmem(p + cnk.length, - val.length - (p - val.data), + end - (p + cnk.length), (const uint8_t *)cnk.data, cnk.length); if (g) p = g; -- 2.17.1 debian/patches/CVE-2019-3824-6.patch0000644000000000000000000000230313434766452013421 0ustar From 146bf02a8ecc81177011dd1075b37883ef0bd5e1 Mon Sep 17 00:00:00 2001 From: Gary Lockyer Date: Tue, 19 Feb 2019 10:26:56 +1300 Subject: [PATCH 6/6] CVE-2019-3824 ldb: wildcard_match end of data check ldb_handler_copy and ldb_val_dup over allocate by one and add a trailing '\0' to the data, to make them safe to use the C string functions on. However testing for the trailing '\0' is not the correct way to test for the end of a value, the length should be checked instead. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Gary Lockyer --- lib/ldb/common/ldb_match.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/ldb_match.c b/common/ldb_match.c index e529b5e26a5..79894d0c89b 100644 --- a/common/ldb_match.c +++ b/common/ldb_match.c @@ -353,7 +353,7 @@ static int ldb_wildcard_compare(struct ldb_context *ldb, } /* last chunk may not have reached end of string */ - if ( (! tree->u.substring.end_with_wildcard) && (*(val.data) != 0) ) goto mismatch; + if ( (! tree->u.substring.end_with_wildcard) && (val.length != 0) ) goto mismatch; talloc_free(save_p); *matched = true; return LDB_SUCCESS; -- 2.17.1 debian/patches/CVE-2019-3824-5.patch0000644000000000000000000000227213434766447013431 0ustar From 52e26aaf19720ae73a9a2c683b8ddfbfd765ce1c Mon Sep 17 00:00:00 2001 From: Gary Lockyer Date: Tue, 19 Feb 2019 10:26:25 +1300 Subject: [PATCH 5/6] CVE-2019-3824 ldb: wildcard_match check tree operation Check the operation type of the passed parse tree, and return LDB_INAPPROPRIATE_MATCH if the operation is not LDB_OP_SUBSTRING. A query of "attribute=*" gets parsed as LDB_OP_PRESENT, checking the operation and failing ldb_wildcard_match should help prevent confusion writing tests. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Gary Lockyer --- lib/ldb/common/ldb_match.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common/ldb_match.c b/common/ldb_match.c index e332ba0da53..e529b5e26a5 100644 --- a/common/ldb_match.c +++ b/common/ldb_match.c @@ -244,6 +244,11 @@ static int ldb_wildcard_compare(struct ldb_context *ldb, uint8_t *save_p = NULL; unsigned int c = 0; + if (tree->operation != LDB_OP_SUBSTRING) { + *matched = false; + return LDB_ERR_INAPPROPRIATE_MATCHING; + } + a = ldb_schema_attribute_by_name(ldb, tree->u.substring.attr); if (!a) { return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; -- 2.17.1 debian/patches/CVE-2019-3824-4.patch0000644000000000000000000000204613434766444013424 0ustar From 832993c20c96e51faa2e25f2d0581737fb2bfabf Mon Sep 17 00:00:00 2001 From: Gary Lockyer Date: Tue, 19 Feb 2019 10:25:24 +1300 Subject: [PATCH 4/6] CVE-2019-3824 ldb: ldb_parse_tree use talloc_zero Initialise the created ldb_parse_tree with talloc_zero, this ensures that it is correctly initialised if inadvertently passed to a function expecting a different operation type. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Gary Lockyer --- lib/ldb/common/ldb_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/ldb_parse.c b/common/ldb_parse.c index 5fa5a74afa9..db420091311 100644 --- a/common/ldb_parse.c +++ b/common/ldb_parse.c @@ -389,7 +389,7 @@ static struct ldb_parse_tree *ldb_parse_simple(TALLOC_CTX *mem_ctx, const char * struct ldb_parse_tree *ret; enum ldb_parse_op filtertype; - ret = talloc(mem_ctx, struct ldb_parse_tree); + ret = talloc_zero(mem_ctx, struct ldb_parse_tree); if (!ret) { errno = ENOMEM; return NULL; -- 2.17.1 debian/patches/CVE-2019-3824-3.patch0000644000000000000000000000172713434766440013424 0ustar From fb005204b4248012f49e31e4c2c452a667f3fc87 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 4 Feb 2019 11:22:50 +1300 Subject: [PATCH 3/6] CVE-2019-3824 ldb: Improve code style and layout in wildcard processing BUG: https://bugzilla.samba.org/show_bug.cgi?id=13773 Signed-off-by: Andrew Bartlett --- lib/ldb/common/ldb_match.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/ldb_match.c b/common/ldb_match.c index b49085286a2..e332ba0da53 100644 --- a/common/ldb_match.c +++ b/common/ldb_match.c @@ -333,9 +333,11 @@ static int ldb_wildcard_compare(struct ldb_context *ldb, g = memmem(haystack, haystacklen, - (const uint8_t *)cnk.data, - cnk.length); - if (g) p = g; + (const uint8_t *)cnk.data, + cnk.length); + if (g) { + p = g; + } } while(g); } val.length = val.length - (p - (uint8_t *)(val.data)) - cnk.length; -- 2.17.1 debian/compat0000644000000000000000000000000212201731264010362 0ustar 8 debian/libldb1.install0000644000000000000000000000005412201731264012064 0ustar usr/lib/*/ldb/modules usr/lib/*/libldb.so.* debian/python-ldb.lintian-overrides0000644000000000000000000000020412201731264014620 0ustar python-ldb binary: binary-or-shlib-defines-rpath * /usr/lib/ldb python-ldb binary: package-name-doesnt-match-sonames libpyldb-util1 debian/copyright0000644000000000000000000001613112201731264011121 0ustar Upstream-Name: ldb Source: http://ldb.samba.org/ Files: * Copyright: 2004-2010 Andrew Tridgell 2004-2010 Simo Sorce 2005-2010 Andrew Bartlett 2005,2006 Tim Potter 2007-2010 Jelmer Vernooij 2009-2010 Matthias Dieter Wallnöfer 2005-2006 Brad Hards 2006 Martin Kuehl 2004 Stefan Metzmacher 2004-2005 Derrell Lipman License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: common/qsort.c Copyright: 1991,1992,1996,1997,1999,2004 Free Software Foundation, Inc. License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: tools/* Copyright: 2004-2010 Andrew Tridgell 2004 Stefan Metzmacher 2009 Matthieu Patou License: GPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/GPL-3 file. Files: lib/popt/* Copyright: 1998-2002 Red Hat, Inc. License: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. . Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium. Files: lib/tevent/* Copyright: 2008 Volker Lendecke 2005-2010 Stefan Metzmacher 2003-2010 Andrew Tridgell 2010 Jelmer Vernooij License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: lib/tdb/* Copyright: 2000-2010 Rusty Russell 1999-2010 Andrew Tridgell 2000-2006 Jeremy Allison 2010 Volker Lendecke 2005 Simon McVittie 2001 Andrew Esh 2004-2006 Tim Potter 2007-2008 Jelmer Vernooij License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: lib/talloc/* Copyright: 2004-2010 Andrew Tridgell 2008-2010 Jelmer Vernooij 2006 Stefan Metzmacher License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: lib/replace/*.c Copyright: 1991-1998 Free Software Foundation, Inc. 1992-2007 Andrew Tridgell 1998-2007 Jeremy Allison 2006-2007 Jelmer Vernooij 2008 Michael Adam 2010 Matthieu Patou 1995 Patrick Powell License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. Files: lib/replace/inet_ntop.c lib/replace/inet_pton.c Copyright: 1996-2001 Internet Software Consortium License: Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. . THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Files: lib/replace/timegm.c Copyright: 1997 Kungliga Tekniska Högskolan License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . 3. Neither the name of the Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: lib/replace/getaddrinfo.c Copyright: 1996-2005 The PostgreSQL Global Development Group 1994 Teh Regents of the University of California 1998 Jeremy Allison License: Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. . IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Files: debian/* Copyright: 2007-2010 Jelmer Vernooij License: LGPL-3+ The text of the license is available on Debian systems in the /usr/share/common-licenses/LGPL-3 file. debian/source/0000755000000000000000000000000012201731264010464 5ustar debian/source/format0000644000000000000000000000001412201731264011672 0ustar 3.0 (quilt) debian/python-ldb.install0000644000000000000000000000005512201731264012634 0ustar usr/lib/*/libpyldb-util.so.* usr/lib/python* debian/build-orig.sh0000755000000000000000000000110112201731264011551 0ustar #!/bin/bash -e version=$( dpkg-parsechangelog -l`dirname $0`/changelog | sed -n 's/^Version: \(.*:\|\)//p' | sed 's/-[0-9.]\+$//' ) if echo $version | grep -v git >/dev/null; then # Not a snapshot, use watch exit 1 fi if [ -z "$SAMBA_GIT_URL" ]; then SAMBA_GIT_URL=git://git.samba.org/samba.git fi LDBTMP=`mktemp -d` if [ -d $SAMBA_GIT_URL/.bzr ]; then bzr co --lightweight $SAMBA_GIT_URL $LDBTMP else git clone --depth 1 $SAMBA_GIT_URL $LDBTMP fi pushd $LDBTMP/lib/ldb ./configure make dist popd mv $LDBTMP/lib/ldb/ldb-*.tar.gz ldb_$version.orig.tar.gz rm -rf $LDBTMP debian/ldb-tools.lintian-overrides0000644000000000000000000000007712201731264014447 0ustar ldb-tools binary: binary-or-shlib-defines-rpath * /usr/lib/ldb debian/changelog0000644000000000000000000003122613434766456011066 0ustar ldb (1:1.1.24-0ubuntu0.14.04.2) trusty-security; urgency=medium * SECURITY UPDATE: Out of bound read in ldb_wildcard_compare - debian/patches/CVE-2019-3824-1.patch: fix length. - debian/patches/CVE-2019-3824-2.patch: add extra comments. - debian/patches/CVE-2019-3824-3.patch: improve code style. - debian/patches/CVE-2019-3824-4.patch: use talloc_zero. - debian/patches/CVE-2019-3824-5.patch: check tree operation. - debian/patches/CVE-2019-3824-6.patch: fix end of data check. - CVE-2019-3824 -- Marc Deslauriers Mon, 25 Feb 2019 08:27:10 -0500 ldb (1:1.1.24-0ubuntu0.14.04.1) trusty-security; urgency=medium * Updated to upstream 1.1.24 as required by Samba security update. - debian/patches/01_exclude_symbols: removed, upstream. - debian/patches/CVE-2015-3223.patch: removed, upstream. - debian/patches/CVE-2015-5330.patch: removed, upstream. - debian/rules: adjusted location of files to be cleaned. - debian/*.symbols: updated for new version. - debian/control: bump tdb Build-Depends. -- Marc Deslauriers Tue, 05 Apr 2016 13:14:18 -0400 ldb (1:1.1.16-1ubuntu0.1) trusty-security; urgency=medium * SECURITY UPDATE: denial of service in ldb_wildcard_compare function - debian/patches/CVE-2015-3223.patch: handle empty strings and embedded zeros in lib/ldb/common/ldb_match.c. - CVE-2015-3223 * SECURITY UPDATE: information leak via incorrect string length handling - debian/patches/CVE-2015-5330.patch: fix string length handling in lib/ldb/common/ldb_dn.c. - CVE-2015-5330 -- Marc Deslauriers Mon, 04 Jan 2016 10:14:35 -0500 ldb (1:1.1.16-1) unstable; urgency=low [ Andrew Bartlett ] * New upstream release. + Fixes FTBFS. Closes: #713096 [ Jelmer Vernooij ] * Bump standards version to 3.9.4 (no changes). -- Jelmer Vernooij Fri, 19 Jul 2013 22:37:05 +1000 ldb (1:1.1.15-1.1) experimental; urgency=low * Non-maintainer upload. * New upstream release. * Drop 01_exclude_symbols, now upstream. -- Andrew Bartlett Tue, 12 Feb 2013 19:02:05 +1100 ldb (1:1.1.13-1) experimental; urgency=low * New upstream release. * Change Vcs-Git after migration to Git. * Add 01_exclude_symbols, fixing a bug in wafsamba which causes private symbols to be exported. -- Jelmer Vernooij Sat, 03 Nov 2012 15:51:49 +0100 ldb (1:1.1.12-1) experimental; urgency=low * New upstream release. + Depend on tevent 0.9.17. -- Jelmer Vernooij Sat, 08 Sep 2012 17:40:55 +0200 ldb (1:1.1.6-1) unstable; urgency=low * New upstream release. -- Jelmer Vernooij Thu, 19 Apr 2012 15:00:14 +0200 ldb (1:1.1.5-2) unstable; urgency=low * Add explicit dependency on tdb 1.2.10. Closes: #668576 -- Jelmer Vernooij Fri, 13 Apr 2012 11:14:29 +0200 ldb (1:1.1.5-1) unstable; urgency=low * Bump standards version to 3.9.3 (no changes). * Drop unnecessary lintian overrides (upstream no longer uses private libraries with rpath). * Properly clean up after build. * New upstream release. -- Jelmer Vernooij Thu, 12 Apr 2012 01:46:01 +0200 ldb (1:1.1.4+git20120206-1) unstable; urgency=low * New upstream snapshot. + Extracts waf source code. Closes: #654482 + Disable tdb2 support. -- Jelmer Vernooij Tue, 07 Feb 2012 16:04:26 +0100 ldb (1:1.1.4-1) unstable; urgency=low * New upstream release. -- Jelmer Vernooij Sat, 03 Dec 2011 00:15:12 +0100 ldb (1:1.1.3-1) unstable; urgency=low * New upstream release. -- Jelmer Vernooij Wed, 09 Nov 2011 14:17:14 +0100 ldb (1:1.1.2~git20110807-2) unstable; urgency=low * Explicitly build with dh_python2. * Build against system Python rather than specifically 2.7. Closes: #642436 -- Jelmer Vernooij Tue, 27 Sep 2011 19:49:00 +0200 ldb (1:1.1.2~git20110807-1) unstable; urgency=low * New upstream snapshot. + Adds proper symbol versioning to libpyldb-util. LP: #777517 -- Jelmer Vernooij Sun, 07 Aug 2011 16:06:59 +0200 ldb (1:1.1.1~git20110728-1) unstable; urgency=low * Upload to unstable. * Switch to new style debhelper. * New upstream snapshot. -- Jelmer Vernooij Thu, 28 Jul 2011 16:51:49 +0200 ldb (1:1.1.1~git20110719-4) experimental; urgency=low * Add multi-arch support to libldb1. * Add debug packages python-ldb-dbg and libldb1-dbg. -- Jelmer Vernooij Tue, 26 Jul 2011 22:08:11 +0200 ldb (1:1.1.1~git20110719-3) unstable; urgency=low * Switch to python2.7. -- Jelmer Vernooij Mon, 25 Jul 2011 17:41:20 +0200 ldb (1:1.1.1~git20110719-2) unstable; urgency=low * Fix build dependency to be on tevent 0.9.13 rather than 0.9.11. Thanks Nobuhiro Iwamatsu. -- Jelmer Vernooij Thu, 21 Jul 2011 16:24:08 +0200 ldb (1:1.1.1~git20110719-1) unstable; urgency=low * New upstream snapshot. * Bump standards version to 3.9.2 (no changes). -- Jelmer Vernooij Tue, 19 Jul 2011 21:45:21 +0200 ldb (1:1.1.0-1) unstable; urgency=low * New upstream release. -- Jelmer Vernooij Fri, 22 Apr 2011 02:58:49 +0200 ldb (1:1.0.2+git20110403-1) experimental; urgency=low * New upstream snapshot. * Switch to dh_python2. Closes: #616857 -- Jelmer Vernooij Sun, 03 Apr 2011 21:51:32 +0200 ldb (1:1.0.2-2) unstable; urgency=low * Add symbols file for libpyldb-util. -- Jelmer Vernooij Mon, 28 Feb 2011 04:02:31 +0100 ldb (1:1.0.2-1) unstable; urgency=low * New upstream release. -- Jelmer Vernooij Sun, 27 Feb 2011 14:29:46 +0100 ldb (1:1.0.1~git20120220-1) experimental; urgency=low * New upstream snapshot. -- Jelmer Vernooij Sun, 20 Feb 2011 14:42:57 +0100 ldb (1:1.0.0-2) unstable; urgency=low * Add breaks/conflicts for libldb0. -- Jelmer Vernooij Sat, 12 Feb 2011 18:23:07 +0100 ldb (1:1.0.0-1) unstable; urgency=low * Run test suite during package build. * Add references to common license files in copyright file. * New upstream release. + Rename libldb0 to libldb1 after upstream soname bump. -- Jelmer Vernooij Sat, 12 Feb 2011 03:45:51 +0100 ldb (1:0.9.24-1) experimental; urgency=low * New upstream release. + Add python-ldb-dev package. * Add watch file. -- Jelmer Vernooij Sat, 23 Oct 2010 20:00:40 +0200 ldb (1:0.9.22-2) experimental; urgency=low * New upstream release. + Add python-ldb-dev package. + Uses version symbols. * Switch to python-support. * Link with --as-needed. * Run test suite during build. -- Jelmer Vernooij Wed, 22 Dec 2010 00:05:26 +0100 ldb (1:0.9.22-1) unstable; urgency=low * New upstream release. + Add python-ldb-dev package. + Uses version symbols. * Switch to python-support. * Link with --as-needed. * Run test suite during build. -- Jelmer Vernooij Wed, 22 Dec 2010 00:05:26 +0100 ldb (1:0.9.16~git20101019-1) unstable; urgency=low * New upstream snapshot. + Use alternatives to manage new /usr/lib/ldap.so link. * OpenLDAP support is now always built. * Fixes references to ldb(3) in manpages. Closes: #584227 * Override modules directory to be /usr/lib/ldb, rather than /usr/modules/ldb as is now the upstream default. Closes: #600824 -- Jelmer Vernooij Wed, 13 Oct 2010 16:45:29 +0200 ldb (1:0.9.14~git20100928-1) unstable; urgency=low * Support talloc 2.0.1. * New upstream snapshot. -- Jelmer Vernooij Mon, 13 Sep 2010 15:11:46 +0200 ldb (1:0.9.13~git20100908-2) experimental; urgency=low * Support tdb 1.2.1. -- Jelmer Vernooij Fri, 10 Sep 2010 17:17:40 +0200 ldb (1:0.9.13~git20100908-1) experimental; urgency=low * New upstream snapshot. * Support older versions of tdb. -- Jelmer Vernooij Wed, 08 Sep 2010 03:53:47 +0200 ldb (1:0.9.13~git20100820-1) experimental; urgency=low * New upstream snapshot. + Builds against system default Python rather than most recent supported python. Closes: #577436. * Bump standards version to 3.9.1. * Switch to Bazaar. -- Jelmer Vernooij Sun, 22 Aug 2010 15:18:28 +0200 ldb (1:0.9.13~git20100730-1) maverick; urgency=low * New upstream snapshot. -- Jelmer Vernooij Fri, 30 Jul 2010 15:40:04 +0200 ldb (1:0.9.12~git20100615-1) experimental; urgency=low * New upstream snapshot. -- Jelmer Vernooij Tue, 15 Jun 2010 20:25:26 +0200 ldb (1:0.9.11~git20100531-1) experimental; urgency=low * New upstream snapshot. -- Jelmer Vernooij Mon, 31 May 2010 14:03:40 +0200 ldb (1:0.9.10~git20100531-1) experimental; urgency=low * New upstream snapshot, switch back to waf. -- Jelmer Vernooij Mon, 24 May 2010 16:54:59 +0200 ldb (1:0.9.10~git20100522-1) experimental; urgency=low * New upstream snapshot. -- Jelmer Vernooij Sun, 23 May 2010 15:50:20 +0200 ldb (1:0.9.10~git20100203-1) unstable; urgency=low * New upstream snapshot. * Bump standards version to 3.8.4. * Switch to dpkg-source 3.0 (quilt) format -- Jelmer Vernooij Wed, 03 Feb 2010 16:16:48 +0100 ldb (1:0.9.10~git20091212-1) unstable; urgency=low * New upstream version. * Depend on libtdb-dev rather than tdb-dev. -- Jelmer Vernooij Sat, 12 Dec 2009 22:04:36 +0100 ldb (1:0.9.6~git20090912-1) unstable; urgency=low * New upstream snapshot. -- Jelmer Vernooij Fri, 11 Sep 2009 23:34:22 +0200 ldb (1:0.9.6~git20090718-2) unstable; urgency=low * Remove unused patch. * Bump standards version to 3.8.3. -- Jelmer Vernooij Fri, 11 Sep 2009 22:49:46 +0200 ldb (1:0.9.6~git20090718-1) unstable; urgency=low * New upstream snapshot. * Bump standards version to 3.8.2. * Link Python modules only against necessary libraries. -- Jelmer Vernooij Sat, 18 Jul 2009 10:55:47 +0200 ldb (1:0.9.6~git20090617-1) unstable; urgency=low * New upstream snapshot. * Bump standards version to 3.8.1. -- Jelmer Vernooij Fri, 17 Jul 2009 20:37:51 +0200 ldb (1:0.9.3~git20090221-1) unstable; urgency=low * New upstream snapshot. * Switch to python-central. * Add dummy watch file explaining how to obtain an upstream tarball. * Build against tevent. * Compile with -Wl,--as-needed. -- Jelmer Vernooij Thu, 01 Jan 2009 06:47:33 +0100 ldb (1:0.9.2~git20080616-1) unstable; urgency=low * Fix version number accidently messed up by typo earlier. * Fix copyright listing. * Fix dependency of python-ldb on libc. -- Jelmer Vernooij Sun, 27 Jul 2008 15:58:54 +0200 ldb (0.92~git20080616-1) unstable; urgency=low * New upstream snapshot. * Add patch to remove dependency on events lib in pkg-config file, which is not packaged yet. -- Jelmer Vernooij Mon, 16 Jun 2008 21:00:43 +0200 ldb (0.9.2~git20080615-1) unstable; urgency=low * Add dependency on tdb-dev to libldb-dev. * New upstream snapshot. * Bump standards version to 3.8.0. -- Jelmer Vernooij Sun, 15 Jun 2008 19:26:38 +0200 ldb (0.9.2~git20080520-1) unstable; urgency=low * New upstream snapshot. -- Jelmer Vernooij Tue, 20 May 2008 02:54:45 +0200 ldb (0.9.2~git20080122-1) unstable; urgency=low * New upstream snapshot. -- Jelmer Vernooij Tue, 22 Jan 2008 16:50:02 +0100 ldb (0.9.1~svn26291-1) unstable; urgency=low * Set Vcs-Svn field. * Fix building twice in a row. (Closes: #442625) * New upstream snapshot. -- Jelmer Vernooij Tue, 04 Dec 2007 19:47:13 +0100 ldb (0.9.1~svn26185-1) unstable; urgency=low * Improve long description a bit. (Closes: #438657) * Set homepage field. * New upstream snapshot. * Add python-ldb package. * Allow Debian Maintainer uploads. -- Jelmer Vernooij Sun, 25 Nov 2007 16:29:17 +0000 ldb (0.9.0-2) unstable; urgency=low * Put libldb-dev in libdevel section. (Closes: #427582) * Don't build shared version of ldbadd. (Closes: #427527) * Use ${binary:Version} rather than obsolete ${Source-Version}. -- Jelmer Vernooij Wed, 06 Jun 2007 22:59:28 +0200 ldb (0.9.0-1) unstable; urgency=low * Initial release. (Closes: #421573) -- Jelmer Vernooij Fri, 04 May 2007 12:39:19 +0200