Hello community, here is the log from the commit of package ldb for openSUSE:Factory checked in at 2015-03-03 11:13:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ldb (Old) and /work/SRC/openSUSE:Factory/.ldb.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ldb" Changes: -------- --- /work/SRC/openSUSE:Factory/ldb/ldb.changes 2015-01-21 21:56:22.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ldb.new/ldb.changes 2015-03-03 11:13:10.000000000 +0100 @@ -1,0 +2,6 @@ +Sun Mar 1 13:35:05 UTC 2015 - lmue...@suse.com + +- Update to 1.1.20. + + fix logic in ldb_val_to_time() + +------------------------------------------------------------------- Old: ---- ldb-1.1.19.tar.asc ldb-1.1.19.tar.gz New: ---- ldb-1.1.20.tar.asc ldb-1.1.20.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ldb.spec ++++++ --- /var/tmp/diff_new_pack.k1geEt/_old 2015-03-03 11:13:11.000000000 +0100 +++ /var/tmp/diff_new_pack.k1geEt/_new 2015-03-03 11:13:11.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package ldb # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -40,7 +40,7 @@ %define build_make_smp_mflags %{?jobs:-j%jobs} %endif Url: http://ldb.samba.org/ -Version: 1.1.19 +Version: 1.1.20 Release: 0 Summary: An LDAP-like embedded database License: GPL-3.0+ ++++++ ldb-1.1.19.tar.gz -> ldb-1.1.20.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/ABI/ldb-1.1.20.sigs new/ldb-1.1.20/ABI/ldb-1.1.20.sigs --- old/ldb-1.1.19/ABI/ldb-1.1.20.sigs 1970-01-01 01:00:00.000000000 +0100 +++ new/ldb-1.1.20/ABI/ldb-1.1.20.sigs 2015-01-25 13:37:02.000000000 +0100 @@ -0,0 +1,263 @@ +ldb_add: int (struct ldb_context *, const struct ldb_message *) +ldb_any_comparison: int (struct ldb_context *, void *, ldb_attr_handler_t, const struct ldb_val *, const struct ldb_val *) +ldb_asprintf_errstring: void (struct ldb_context *, const char *, ...) +ldb_attr_casefold: char *(TALLOC_CTX *, const char *) +ldb_attr_dn: int (const char *) +ldb_attr_in_list: int (const char * const *, const char *) +ldb_attr_list_copy: const char **(TALLOC_CTX *, const char * const *) +ldb_attr_list_copy_add: const char **(TALLOC_CTX *, const char * const *, const char *) +ldb_base64_decode: int (char *) +ldb_base64_encode: char *(TALLOC_CTX *, const char *, int) +ldb_binary_decode: struct ldb_val (TALLOC_CTX *, const char *) +ldb_binary_encode: char *(TALLOC_CTX *, struct ldb_val) +ldb_binary_encode_string: char *(TALLOC_CTX *, const char *) +ldb_build_add_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_del_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_extended_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const char *, void *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_mod_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_rename_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, struct ldb_dn *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_search_req: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, enum ldb_scope, const char *, const char * const *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_build_search_req_ex: int (struct ldb_request **, struct ldb_context *, TALLOC_CTX *, struct ldb_dn *, enum ldb_scope, struct ldb_parse_tree *, const char * const *, struct ldb_control **, void *, ldb_request_callback_t, struct ldb_request *) +ldb_casefold: char *(struct ldb_context *, TALLOC_CTX *, const char *, size_t) +ldb_casefold_default: char *(void *, TALLOC_CTX *, const char *, size_t) +ldb_check_critical_controls: int (struct ldb_control **) +ldb_comparison_binary: int (struct ldb_context *, void *, const struct ldb_val *, const struct ldb_val *) +ldb_comparison_fold: int (struct ldb_context *, void *, const struct ldb_val *, const struct ldb_val *) +ldb_connect: int (struct ldb_context *, const char *, unsigned int, const char **) +ldb_control_to_string: char *(TALLOC_CTX *, const struct ldb_control *) +ldb_controls_except_specified: struct ldb_control **(struct ldb_control **, TALLOC_CTX *, struct ldb_control *) +ldb_debug: void (struct ldb_context *, enum ldb_debug_level, const char *, ...) +ldb_debug_add: void (struct ldb_context *, const char *, ...) +ldb_debug_end: void (struct ldb_context *, enum ldb_debug_level) +ldb_debug_set: void (struct ldb_context *, enum ldb_debug_level, const char *, ...) +ldb_delete: int (struct ldb_context *, struct ldb_dn *) +ldb_dn_add_base: bool (struct ldb_dn *, struct ldb_dn *) +ldb_dn_add_base_fmt: bool (struct ldb_dn *, const char *, ...) +ldb_dn_add_child: bool (struct ldb_dn *, struct ldb_dn *) +ldb_dn_add_child_fmt: bool (struct ldb_dn *, const char *, ...) +ldb_dn_alloc_casefold: char *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_alloc_linearized: char *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_canonical_ex_string: char *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_canonical_string: char *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_check_local: bool (struct ldb_module *, struct ldb_dn *) +ldb_dn_check_special: bool (struct ldb_dn *, const char *) +ldb_dn_compare: int (struct ldb_dn *, struct ldb_dn *) +ldb_dn_compare_base: int (struct ldb_dn *, struct ldb_dn *) +ldb_dn_copy: struct ldb_dn *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_escape_value: char *(TALLOC_CTX *, struct ldb_val) +ldb_dn_extended_add_syntax: int (struct ldb_context *, unsigned int, const struct ldb_dn_extended_syntax *) +ldb_dn_extended_filter: void (struct ldb_dn *, const char * const *) +ldb_dn_extended_syntax_by_name: const struct ldb_dn_extended_syntax *(struct ldb_context *, const char *) +ldb_dn_from_ldb_val: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const struct ldb_val *) +ldb_dn_get_casefold: const char *(struct ldb_dn *) +ldb_dn_get_comp_num: int (struct ldb_dn *) +ldb_dn_get_component_name: const char *(struct ldb_dn *, unsigned int) +ldb_dn_get_component_val: const struct ldb_val *(struct ldb_dn *, unsigned int) +ldb_dn_get_extended_comp_num: int (struct ldb_dn *) +ldb_dn_get_extended_component: const struct ldb_val *(struct ldb_dn *, const char *) +ldb_dn_get_extended_linearized: char *(TALLOC_CTX *, struct ldb_dn *, int) +ldb_dn_get_linearized: const char *(struct ldb_dn *) +ldb_dn_get_parent: struct ldb_dn *(TALLOC_CTX *, struct ldb_dn *) +ldb_dn_get_rdn_name: const char *(struct ldb_dn *) +ldb_dn_get_rdn_val: const struct ldb_val *(struct ldb_dn *) +ldb_dn_has_extended: bool (struct ldb_dn *) +ldb_dn_is_null: bool (struct ldb_dn *) +ldb_dn_is_special: bool (struct ldb_dn *) +ldb_dn_is_valid: bool (struct ldb_dn *) +ldb_dn_map_local: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *) +ldb_dn_map_rebase_remote: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *) +ldb_dn_map_remote: struct ldb_dn *(struct ldb_module *, void *, struct ldb_dn *) +ldb_dn_minimise: bool (struct ldb_dn *) +ldb_dn_new: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const char *) +ldb_dn_new_fmt: struct ldb_dn *(TALLOC_CTX *, struct ldb_context *, const char *, ...) +ldb_dn_remove_base_components: bool (struct ldb_dn *, unsigned int) +ldb_dn_remove_child_components: bool (struct ldb_dn *, unsigned int) +ldb_dn_remove_extended_components: void (struct ldb_dn *) +ldb_dn_replace_components: bool (struct ldb_dn *, struct ldb_dn *) +ldb_dn_set_component: int (struct ldb_dn *, int, const char *, const struct ldb_val) +ldb_dn_set_extended_component: int (struct ldb_dn *, const char *, const struct ldb_val *) +ldb_dn_update_components: int (struct ldb_dn *, const struct ldb_dn *) +ldb_dn_validate: bool (struct ldb_dn *) +ldb_dump_results: void (struct ldb_context *, struct ldb_result *, FILE *) +ldb_error_at: int (struct ldb_context *, int, const char *, const char *, int) +ldb_errstring: const char *(struct ldb_context *) +ldb_extended: int (struct ldb_context *, const char *, void *, struct ldb_result **) +ldb_extended_default_callback: int (struct ldb_request *, struct ldb_reply *) +ldb_filter_from_tree: char *(TALLOC_CTX *, const struct ldb_parse_tree *) +ldb_get_config_basedn: struct ldb_dn *(struct ldb_context *) +ldb_get_create_perms: unsigned int (struct ldb_context *) +ldb_get_default_basedn: struct ldb_dn *(struct ldb_context *) +ldb_get_event_context: struct tevent_context *(struct ldb_context *) +ldb_get_flags: unsigned int (struct ldb_context *) +ldb_get_opaque: void *(struct ldb_context *, const char *) +ldb_get_root_basedn: struct ldb_dn *(struct ldb_context *) +ldb_get_schema_basedn: struct ldb_dn *(struct ldb_context *) +ldb_global_init: int (void) +ldb_handle_new: struct ldb_handle *(TALLOC_CTX *, struct ldb_context *) +ldb_handler_copy: int (struct ldb_context *, void *, const struct ldb_val *, struct ldb_val *) +ldb_handler_fold: int (struct ldb_context *, void *, const struct ldb_val *, struct ldb_val *) +ldb_init: struct ldb_context *(TALLOC_CTX *, struct tevent_context *) +ldb_ldif_message_string: char *(struct ldb_context *, TALLOC_CTX *, enum ldb_changetype, const struct ldb_message *) +ldb_ldif_parse_modrdn: int (struct ldb_context *, const struct ldb_ldif *, TALLOC_CTX *, struct ldb_dn **, struct ldb_dn **, bool *, struct ldb_dn **, struct ldb_dn **) +ldb_ldif_read: struct ldb_ldif *(struct ldb_context *, int (*)(void *), void *) +ldb_ldif_read_file: struct ldb_ldif *(struct ldb_context *, FILE *) +ldb_ldif_read_file_state: struct ldb_ldif *(struct ldb_context *, struct ldif_read_file_state *) +ldb_ldif_read_free: void (struct ldb_context *, struct ldb_ldif *) +ldb_ldif_read_string: struct ldb_ldif *(struct ldb_context *, const char **) +ldb_ldif_write: int (struct ldb_context *, int (*)(void *, const char *, ...), void *, const struct ldb_ldif *) +ldb_ldif_write_file: int (struct ldb_context *, FILE *, const struct ldb_ldif *) +ldb_ldif_write_redacted_trace_string: char *(struct ldb_context *, TALLOC_CTX *, const struct ldb_ldif *) +ldb_ldif_write_string: char *(struct ldb_context *, TALLOC_CTX *, const struct ldb_ldif *) +ldb_load_modules: int (struct ldb_context *, const char **) +ldb_map_add: int (struct ldb_module *, struct ldb_request *) +ldb_map_delete: int (struct ldb_module *, struct ldb_request *) +ldb_map_init: int (struct ldb_module *, const struct ldb_map_attribute *, const struct ldb_map_objectclass *, const char * const *, const char *, const char *) +ldb_map_modify: int (struct ldb_module *, struct ldb_request *) +ldb_map_rename: int (struct ldb_module *, struct ldb_request *) +ldb_map_search: int (struct ldb_module *, struct ldb_request *) +ldb_match_msg: int (struct ldb_context *, const struct ldb_message *, const struct ldb_parse_tree *, struct ldb_dn *, enum ldb_scope) +ldb_match_msg_error: int (struct ldb_context *, const struct ldb_message *, const struct ldb_parse_tree *, struct ldb_dn *, enum ldb_scope, bool *) +ldb_match_msg_objectclass: int (const struct ldb_message *, const char *) +ldb_mod_register_control: int (struct ldb_module *, const char *) +ldb_modify: int (struct ldb_context *, const struct ldb_message *) +ldb_modify_default_callback: int (struct ldb_request *, struct ldb_reply *) +ldb_module_call_chain: char *(struct ldb_request *, TALLOC_CTX *) +ldb_module_connect_backend: int (struct ldb_context *, const char *, const char **, struct ldb_module **) +ldb_module_done: int (struct ldb_request *, struct ldb_control **, struct ldb_extended *, int) +ldb_module_flags: uint32_t (struct ldb_context *) +ldb_module_get_ctx: struct ldb_context *(struct ldb_module *) +ldb_module_get_name: const char *(struct ldb_module *) +ldb_module_get_ops: const struct ldb_module_ops *(struct ldb_module *) +ldb_module_get_private: void *(struct ldb_module *) +ldb_module_init_chain: int (struct ldb_context *, struct ldb_module *) +ldb_module_load_list: int (struct ldb_context *, const char **, struct ldb_module *, struct ldb_module **) +ldb_module_new: struct ldb_module *(TALLOC_CTX *, struct ldb_context *, const char *, const struct ldb_module_ops *) +ldb_module_next: struct ldb_module *(struct ldb_module *) +ldb_module_popt_options: struct poptOption **(struct ldb_context *) +ldb_module_send_entry: int (struct ldb_request *, struct ldb_message *, struct ldb_control **) +ldb_module_send_referral: int (struct ldb_request *, char *) +ldb_module_set_next: void (struct ldb_module *, struct ldb_module *) +ldb_module_set_private: void (struct ldb_module *, void *) +ldb_modules_hook: int (struct ldb_context *, enum ldb_module_hook_type) +ldb_modules_list_from_string: const char **(struct ldb_context *, TALLOC_CTX *, const char *) +ldb_modules_load: int (const char *, const char *) +ldb_msg_add: int (struct ldb_message *, const struct ldb_message_element *, int) +ldb_msg_add_empty: int (struct ldb_message *, const char *, int, struct ldb_message_element **) +ldb_msg_add_fmt: int (struct ldb_message *, const char *, const char *, ...) +ldb_msg_add_linearized_dn: int (struct ldb_message *, const char *, struct ldb_dn *) +ldb_msg_add_steal_string: int (struct ldb_message *, const char *, char *) +ldb_msg_add_steal_value: int (struct ldb_message *, const char *, struct ldb_val *) +ldb_msg_add_string: int (struct ldb_message *, const char *, const char *) +ldb_msg_add_value: int (struct ldb_message *, const char *, const struct ldb_val *, struct ldb_message_element **) +ldb_msg_canonicalize: struct ldb_message *(struct ldb_context *, const struct ldb_message *) +ldb_msg_check_string_attribute: int (const struct ldb_message *, const char *, const char *) +ldb_msg_copy: struct ldb_message *(TALLOC_CTX *, const struct ldb_message *) +ldb_msg_copy_attr: int (struct ldb_message *, const char *, const char *) +ldb_msg_copy_shallow: struct ldb_message *(TALLOC_CTX *, const struct ldb_message *) +ldb_msg_diff: struct ldb_message *(struct ldb_context *, struct ldb_message *, struct ldb_message *) +ldb_msg_difference: int (struct ldb_context *, TALLOC_CTX *, struct ldb_message *, struct ldb_message *, struct ldb_message **) +ldb_msg_element_compare: int (struct ldb_message_element *, struct ldb_message_element *) +ldb_msg_element_compare_name: int (struct ldb_message_element *, struct ldb_message_element *) +ldb_msg_element_equal_ordered: bool (const struct ldb_message_element *, const struct ldb_message_element *) +ldb_msg_find_attr_as_bool: int (const struct ldb_message *, const char *, int) +ldb_msg_find_attr_as_dn: struct ldb_dn *(struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, const char *) +ldb_msg_find_attr_as_double: double (const struct ldb_message *, const char *, double) +ldb_msg_find_attr_as_int: int (const struct ldb_message *, const char *, int) +ldb_msg_find_attr_as_int64: int64_t (const struct ldb_message *, const char *, int64_t) +ldb_msg_find_attr_as_string: const char *(const struct ldb_message *, const char *, const char *) +ldb_msg_find_attr_as_uint: unsigned int (const struct ldb_message *, const char *, unsigned int) +ldb_msg_find_attr_as_uint64: uint64_t (const struct ldb_message *, const char *, uint64_t) +ldb_msg_find_element: struct ldb_message_element *(const struct ldb_message *, const char *) +ldb_msg_find_ldb_val: const struct ldb_val *(const struct ldb_message *, const char *) +ldb_msg_find_val: struct ldb_val *(const struct ldb_message_element *, struct ldb_val *) +ldb_msg_new: struct ldb_message *(TALLOC_CTX *) +ldb_msg_normalize: int (struct ldb_context *, TALLOC_CTX *, const struct ldb_message *, struct ldb_message **) +ldb_msg_remove_attr: void (struct ldb_message *, const char *) +ldb_msg_remove_element: void (struct ldb_message *, struct ldb_message_element *) +ldb_msg_rename_attr: int (struct ldb_message *, const char *, const char *) +ldb_msg_sanity_check: int (struct ldb_context *, const struct ldb_message *) +ldb_msg_sort_elements: void (struct ldb_message *) +ldb_next_del_trans: int (struct ldb_module *) +ldb_next_end_trans: int (struct ldb_module *) +ldb_next_init: int (struct ldb_module *) +ldb_next_prepare_commit: int (struct ldb_module *) +ldb_next_remote_request: int (struct ldb_module *, struct ldb_request *) +ldb_next_request: int (struct ldb_module *, struct ldb_request *) +ldb_next_start_trans: int (struct ldb_module *) +ldb_op_default_callback: int (struct ldb_request *, struct ldb_reply *) +ldb_options_find: const char *(struct ldb_context *, const char **, const char *) +ldb_pack_data: int (struct ldb_context *, const struct ldb_message *, struct ldb_val *) +ldb_parse_control_from_string: struct ldb_control *(struct ldb_context *, TALLOC_CTX *, const char *) +ldb_parse_control_strings: struct ldb_control **(struct ldb_context *, TALLOC_CTX *, const char **) +ldb_parse_tree: struct ldb_parse_tree *(TALLOC_CTX *, const char *) +ldb_parse_tree_attr_replace: void (struct ldb_parse_tree *, const char *, const char *) +ldb_parse_tree_copy_shallow: struct ldb_parse_tree *(TALLOC_CTX *, const struct ldb_parse_tree *) +ldb_parse_tree_walk: int (struct ldb_parse_tree *, int (*)(struct ldb_parse_tree *, void *), void *) +ldb_qsort: void (void * const, size_t, size_t, void *, ldb_qsort_cmp_fn_t) +ldb_register_backend: int (const char *, ldb_connect_fn, bool) +ldb_register_extended_match_rule: int (struct ldb_context *, const struct ldb_extended_match_rule *) +ldb_register_hook: int (ldb_hook_fn) +ldb_register_module: int (const struct ldb_module_ops *) +ldb_rename: int (struct ldb_context *, struct ldb_dn *, struct ldb_dn *) +ldb_reply_add_control: int (struct ldb_reply *, const char *, bool, void *) +ldb_reply_get_control: struct ldb_control *(struct ldb_reply *, const char *) +ldb_req_get_custom_flags: uint32_t (struct ldb_request *) +ldb_req_is_untrusted: bool (struct ldb_request *) +ldb_req_location: const char *(struct ldb_request *) +ldb_req_mark_trusted: void (struct ldb_request *) +ldb_req_mark_untrusted: void (struct ldb_request *) +ldb_req_set_custom_flags: void (struct ldb_request *, uint32_t) +ldb_req_set_location: void (struct ldb_request *, const char *) +ldb_request: int (struct ldb_context *, struct ldb_request *) +ldb_request_add_control: int (struct ldb_request *, const char *, bool, void *) +ldb_request_done: int (struct ldb_request *, int) +ldb_request_get_control: struct ldb_control *(struct ldb_request *, const char *) +ldb_request_get_status: int (struct ldb_request *) +ldb_request_replace_control: int (struct ldb_request *, const char *, bool, void *) +ldb_request_set_state: void (struct ldb_request *, int) +ldb_reset_err_string: void (struct ldb_context *) +ldb_save_controls: int (struct ldb_control *, struct ldb_request *, struct ldb_control ***) +ldb_schema_attribute_add: int (struct ldb_context *, const char *, unsigned int, const char *) +ldb_schema_attribute_add_with_syntax: int (struct ldb_context *, const char *, unsigned int, const struct ldb_schema_syntax *) +ldb_schema_attribute_by_name: const struct ldb_schema_attribute *(struct ldb_context *, const char *) +ldb_schema_attribute_remove: void (struct ldb_context *, const char *) +ldb_schema_attribute_set_override_handler: void (struct ldb_context *, ldb_attribute_handler_override_fn_t, void *) +ldb_search: int (struct ldb_context *, TALLOC_CTX *, struct ldb_result **, struct ldb_dn *, enum ldb_scope, const char * const *, const char *, ...) +ldb_search_default_callback: int (struct ldb_request *, struct ldb_reply *) +ldb_sequence_number: int (struct ldb_context *, enum ldb_sequence_type, uint64_t *) +ldb_set_create_perms: void (struct ldb_context *, unsigned int) +ldb_set_debug: int (struct ldb_context *, void (*)(void *, enum ldb_debug_level, const char *, va_list), void *) +ldb_set_debug_stderr: int (struct ldb_context *) +ldb_set_default_dns: void (struct ldb_context *) +ldb_set_errstring: void (struct ldb_context *, const char *) +ldb_set_event_context: void (struct ldb_context *, struct tevent_context *) +ldb_set_flags: void (struct ldb_context *, unsigned int) +ldb_set_modules_dir: void (struct ldb_context *, const char *) +ldb_set_opaque: int (struct ldb_context *, const char *, void *) +ldb_set_timeout: int (struct ldb_context *, struct ldb_request *, int) +ldb_set_timeout_from_prev_req: int (struct ldb_context *, struct ldb_request *, struct ldb_request *) +ldb_set_utf8_default: void (struct ldb_context *) +ldb_set_utf8_fns: void (struct ldb_context *, void *, char *(*)(void *, void *, const char *, size_t)) +ldb_setup_wellknown_attributes: int (struct ldb_context *) +ldb_should_b64_encode: int (struct ldb_context *, const struct ldb_val *) +ldb_standard_syntax_by_name: const struct ldb_schema_syntax *(struct ldb_context *, const char *) +ldb_strerror: const char *(int) +ldb_string_to_time: time_t (const char *) +ldb_string_utc_to_time: time_t (const char *) +ldb_timestring: char *(TALLOC_CTX *, time_t) +ldb_timestring_utc: char *(TALLOC_CTX *, time_t) +ldb_transaction_cancel: int (struct ldb_context *) +ldb_transaction_cancel_noerr: int (struct ldb_context *) +ldb_transaction_commit: int (struct ldb_context *) +ldb_transaction_prepare_commit: int (struct ldb_context *) +ldb_transaction_start: int (struct ldb_context *) +ldb_unpack_data: int (struct ldb_context *, const struct ldb_val *, struct ldb_message *) +ldb_val_dup: struct ldb_val (TALLOC_CTX *, const struct ldb_val *) +ldb_val_equal_exact: int (const struct ldb_val *, const struct ldb_val *) +ldb_val_map_local: struct ldb_val (struct ldb_module *, void *, const struct ldb_map_attribute *, const struct ldb_val *) +ldb_val_map_remote: struct ldb_val (struct ldb_module *, void *, const struct ldb_map_attribute *, const struct ldb_val *) +ldb_val_string_cmp: int (const struct ldb_val *, const char *) +ldb_val_to_time: int (const struct ldb_val *, time_t *) +ldb_valid_attr_name: int (const char *) +ldb_vdebug: void (struct ldb_context *, enum ldb_debug_level, const char *, va_list) +ldb_wait: int (struct ldb_handle *, enum ldb_wait_type) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/ABI/pyldb-util-1.1.20.sigs new/ldb-1.1.20/ABI/pyldb-util-1.1.20.sigs --- old/ldb-1.1.19/ABI/pyldb-util-1.1.20.sigs 1970-01-01 01:00:00.000000000 +0100 +++ new/ldb-1.1.20/ABI/pyldb-util-1.1.20.sigs 2015-01-25 13:37:02.000000000 +0100 @@ -0,0 +1,2 @@ +pyldb_Dn_FromDn: PyObject *(struct ldb_dn *) +pyldb_Object_AsDn: bool (TALLOC_CTX *, PyObject *, struct ldb_context *, struct ldb_dn **) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafadmin/Tools/ccroot.py new/ldb-1.1.20/buildtools/wafadmin/Tools/ccroot.py --- old/ldb-1.1.19/buildtools/wafadmin/Tools/ccroot.py 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/buildtools/wafadmin/Tools/ccroot.py 2015-01-25 13:37:02.000000000 +0100 @@ -177,10 +177,14 @@ dir, name = os.path.split(self.target) - if self.env.DEST_BINFMT == 'pe' and getattr(self, 'vnum', None) and 'cshlib' in self.features: - # include the version in the dll file name, - # the import lib file name stays unversionned. - name = name + '-' + self.vnum.split('.')[0] + if 'cshlib' in self.features and getattr(self, 'vnum', None): + nums = self.vnum.split('.') + if self.env.DEST_BINFMT == 'pe': + # include the version in the dll file name, + # the import lib file name stays unversionned. + name = name + '-' + nums[0] + elif self.env.DEST_OS == 'openbsd': + pattern = '%s.%s.%s' % (pattern, nums[0], nums[1]) return os.path.join(dir, pattern % name) @@ -598,14 +602,16 @@ if not path: return if self.env.DEST_OS == 'openbsd': - bld.install_as(path + os.sep + name2, node, env=self.env, chmod=self.link_task.chmod) + libname = self.link_task.outputs[0].name + bld.install_as('%s%s%s' % (path, os.sep, libname), node, env=self.env) else: bld.install_as(path + os.sep + name3, node, env=self.env) bld.symlink_as(path + os.sep + name2, name3) bld.symlink_as(path + os.sep + libname, name3) # the following task is just to enable execution from the build dir :-/ - self.create_task('vnum', node, [node.parent.find_or_declare(name2), node.parent.find_or_declare(name3)]) + if self.env.DEST_OS != 'openbsd': + self.create_task('vnum', node, [node.parent.find_or_declare(name2), node.parent.find_or_declare(name3)]) def exec_vnum_link(self): for x in self.outputs: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafadmin/Tools/gcc.py new/ldb-1.1.20/buildtools/wafadmin/Tools/gcc.py --- old/ldb-1.1.19/buildtools/wafadmin/Tools/gcc.py 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/buildtools/wafadmin/Tools/gcc.py 2015-01-25 13:37:02.000000000 +0100 @@ -114,6 +114,10 @@ v['SHLIB_MARKER'] = '' @conftest +def gcc_modifier_openbsd(conf): + conf.env['SONAME_ST'] = [] + +@conftest def gcc_modifier_platform(conf): # * set configurations specific for a platform. # * the destination platform is detected automatically by looking at the macros the compiler predefines, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafadmin/Tools/gxx.py new/ldb-1.1.20/buildtools/wafadmin/Tools/gxx.py --- old/ldb-1.1.19/buildtools/wafadmin/Tools/gxx.py 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/buildtools/wafadmin/Tools/gxx.py 2015-01-25 13:37:02.000000000 +0100 @@ -112,6 +112,10 @@ v['SHLIB_MARKER'] = '' @conftest +def gxx_modifier_openbsd(conf): + conf.env['SONAME_ST'] = [] + +@conftest def gxx_modifier_platform(conf): # * set configurations specific for a platform. # * the destination platform is detected automatically by looking at the macros the compiler predefines, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/samba_autoconf.py new/ldb-1.1.20/buildtools/wafsamba/samba_autoconf.py --- old/ldb-1.1.19/buildtools/wafsamba/samba_autoconf.py 2014-11-29 11:30:57.000000000 +0100 +++ new/ldb-1.1.20/buildtools/wafsamba/samba_autoconf.py 2015-01-25 13:37:02.000000000 +0100 @@ -646,6 +646,10 @@ if not IN_LAUNCH_DIR(conf): return + if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']): + conf.ADD_CFLAGS('-fstack-protector') + conf.ADD_LDFLAGS('-fstack-protector') + if Options.options.debug: conf.ADD_CFLAGS('-g', testflags=True) @@ -699,6 +703,19 @@ if Options.options.pedantic: conf.ADD_CFLAGS('-W', testflags=True) + + # Let people pass an additional ADDITIONAL_{CFLAGS,LDFLAGS} + # environment variables which are only used the for final build. + # + # The CFLAGS and LDFLAGS environment variables are also + # used for the configure checks which might impact their results. + conf.add_os_flags('ADDITIONAL_CFLAGS') + if conf.env.ADDITIONAL_CFLAGS and conf.CHECK_CFLAGS(conf.env['ADDITIONAL_CFLAGS']): + conf.env['EXTRA_CFLAGS'].extend(conf.env['ADDITIONAL_CFLAGS']) + conf.add_os_flags('ADDITIONAL_LDFLAGS') + if conf.env.ADDITIONAL_LDFLAGS and conf.CHECK_LDFLAGS(conf.env['ADDITIONAL_LDFLAGS']): + conf.env['EXTRA_LDFLAGS'].extend(conf.env['ADDITIONAL_LDFLAGS']) + if path is None: conf.write_config_header('config.h', top=True) else: @@ -777,7 +794,7 @@ list = bld.env['PICKY_CFLAGS']; ret.extend(list) if hide_symbols and bld.env.HAVE_VISIBILITY_ATTR: - ret.append('-fvisibility=hidden') + ret.append(bld.env.VISIBILITY_CFLAGS) return ret diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/samba_conftests.py new/ldb-1.1.20/buildtools/wafsamba/samba_conftests.py --- old/ldb-1.1.19/buildtools/wafsamba/samba_conftests.py 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/buildtools/wafsamba/samba_conftests.py 2015-01-25 13:37:02.000000000 +0100 @@ -4,6 +4,7 @@ import os, shutil, re import Build, Configure, Utils from Configure import conf +import config_c from samba_utils import * @@ -506,3 +507,84 @@ if not conf.CONFIG_SET('XSLTPROC_MANPAGES'): print "A local copy of the docbook.xsl wasn't found on your system" \ " consider installing package like docbook-xsl" + +# +# Determine the standard libpath for the used compiler, +# so we can later use that to filter out these standard +# library paths when some tools like cups-config or +# python-config report standard lib paths with their +# ldflags (-L...) +# +@conf +def CHECK_STANDARD_LIBPATH(conf): + # at least gcc and clang support this: + try: + cmd = conf.env.CC + ['-print-search-dirs'] + out = Utils.cmd_output(cmd).split('\n') + except ValueError: + # option not supported by compiler - use a standard list of directories + dirlist = [ '/usr/lib', '/usr/lib64' ] + except: + raise Utils.WafError('Unexpected error running "%s"' % (cmd)) + else: + dirlist = [] + for line in out: + line = line.strip() + if line.startswith("libraries: ="): + dirliststr = line[len("libraries: ="):] + dirlist = [ os.path.normpath(x) for x in dirliststr.split(':') ] + break + + conf.env.STANDARD_LIBPATH = dirlist + + +waf_config_c_parse_flags = config_c.parse_flags; +def samba_config_c_parse_flags(line1, uselib, env): + # + # We do a special treatment of the rpath components + # in the linkflags line, because currently the upstream + # parse_flags function is incomplete with respect to + # treatment of the rpath. The remainder of the linkflags + # line is later passed to the original funcion. + # + lst1 = shlex.split(line1) + lst2 = [] + while lst1: + x = lst1.pop(0) + + # + # NOTE on special treatment of -Wl,-R and -Wl,-rpath: + # + # It is important to not put a library provided RPATH + # into the LINKFLAGS but in the RPATH instead, since + # the provided LINKFLAGS get prepended to our own internal + # RPATH later, and hence can potentially lead to linking + # in too old versions of our internal libs. + # + # We do this filtering here on our own because of some + # bugs in the real parse_flags() function. + # + if x == '-Wl,-rpath' or x == '-Wl,-R': + linkflags.remove(x) + x = lst1.pop(0) + if x.startswith('-Wl,'): + rpath = x[4:] + else: + rpath = x + elif x.startswith('-Wl,-R,'): + rpath = x[7:] + elif x.startswith('-Wl,-R'): + rpath = x[6:] + elif x.startswith('-Wl,-rpath,'): + rpath = x[11:] + else: + lst2.append(x) + continue + + env.append_value('RPATH_' + uselib, rpath) + + line2 = ' '.join(lst2) + waf_config_c_parse_flags(line2, uselib, env) + + return +config_c.parse_flags = samba_config_c_parse_flags diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/samba_optimisation.py new/ldb-1.1.20/buildtools/wafsamba/samba_optimisation.py --- old/ldb-1.1.19/buildtools/wafsamba/samba_optimisation.py 2014-11-29 11:30:57.000000000 +0100 +++ new/ldb-1.1.20/buildtools/wafsamba/samba_optimisation.py 2015-01-25 13:37:02.000000000 +0100 @@ -6,9 +6,10 @@ # overall this makes some build tasks quite a bit faster +import os import Build, Utils, Node -from TaskGen import feature, after -import preproc, Task +from TaskGen import feature, after, before +import preproc @feature('cc', 'cxx') @after('apply_type_vars', 'apply_lib_vars', 'apply_core') @@ -123,50 +124,6 @@ return sum Task.TaskBase.hash_constraints = hash_constraints - -# import cc -# from TaskGen import extension -# import Utils - -# @extension(cc.EXT_CC) -# def c_hook(self, node): -# task = self.create_task('cc', node, node.change_ext('.o')) -# try: -# self.compiled_tasks.append(task) -# except AttributeError: -# raise Utils.WafError('Have you forgotten to set the feature "cc" on %s?' % str(self)) - -# bld = self.bld -# try: -# dc = bld.dc -# except AttributeError: -# dc = bld.dc = {} - -# if task.outputs[0].id in dc: -# raise Utils.WafError('Samba, you are doing it wrong %r %s %s' % (task.outputs, task.generator, dc[task.outputs[0].id].generator)) -# else: -# dc[task.outputs[0].id] = task - -# return task - - -def suncc_wrap(cls): - '''work around a problem with cc on solaris not handling module aliases - which have empty libs''' - if getattr(cls, 'solaris_wrap', False): - return - cls.solaris_wrap = True - oldrun = cls.run - def run(self): - if self.env.CC_NAME == "sun" and not self.inputs: - self.env = self.env.copy() - self.env.append_value('LINKFLAGS', '-') - return oldrun(self) - cls.run = run -suncc_wrap(Task.TaskBase.classes['cc_link']) - - - def hash_env_vars(self, env, vars_lst): idx = str(id(env)) + str(vars_lst) try: @@ -308,3 +265,67 @@ val = self.env[v + '_' + x] if val: self.env.append_value(v, val) + +@feature('cprogram', 'cshlib', 'cstaticlib') +@after('apply_lib_vars') +@before('apply_obj_vars') +def samba_before_apply_obj_vars(self): + """before apply_obj_vars for uselib, this removes the standard pathes""" + + def is_standard_libpath(env, path): + for _path in env.STANDARD_LIBPATH: + if _path == os.path.normpath(path): + return True + return False + + v = self.env + + for i in v['RPATH']: + if is_standard_libpath(v, i): + v['RPATH'].remove(i) + + for i in v['LIBPATH']: + if is_standard_libpath(v, i): + v['LIBPATH'].remove(i) + +@feature('cc') +@before('apply_incpaths', 'apply_obj_vars_cc') +def samba_stash_cppflags(self): + """Fix broken waf ordering of CPPFLAGS""" + + self.env.SAVED_CPPFLAGS = self.env.CPPFLAGS + self.env.CPPFLAGS = [] + +@feature('cc') +@after('apply_incpaths', 'apply_obj_vars_cc') +def samba_pop_cppflags(self): + """append stashed user CPPFLAGS after our internally computed flags""" + + # + # Note that we don't restore the values to 'CPPFLAGS', + # but to _CCINCFLAGS instead. + # + # buildtools/wafadmin/Tools/cc.py defines the 'cc' task generator as + # '${CC} ${CCFLAGS} ${CPPFLAGS} ${_CCINCFLAGS} ${_CCDEFFLAGS} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}' + # + # Our goal is to effectively invert the order of ${CPPFLAGS} and + # ${_CCINCFLAGS}. + self.env.append_value('_CCINCFLAGS', self.env.SAVED_CPPFLAGS) + self.env.SAVED_CPPFLAGS = [] + +@feature('cprogram', 'cshlib', 'cstaticlib') +@before('apply_obj_vars', 'add_extra_flags') +def samba_stash_linkflags(self): + """stash away LINKFLAGS in order to fix waf's broken ordering wrt or + user LDFLAGS""" + + self.env.SAVE_LINKFLAGS = self.env.LINKFLAGS + self.env.LINKFLAGS = [] + +@feature('cprogram', 'cshlib', 'cstaticlib') +@after('apply_obj_vars', 'add_extra_flags') +def samba_pop_linkflags(self): + """after apply_obj_vars append saved LDFLAGS""" + + self.env.append_value('LINKFLAGS', self.env.SAVE_LINKFLAGS) + self.env.SAVE_LINKFLAGS = [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/samba_utils.py new/ldb-1.1.20/buildtools/wafsamba/samba_utils.py --- old/ldb-1.1.19/buildtools/wafsamba/samba_utils.py 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/buildtools/wafsamba/samba_utils.py 2015-01-25 13:37:02.000000000 +0100 @@ -214,7 +214,8 @@ if str is None: return [] if isinstance(str, list): - return str + # we need to return a new independent list... + return list(str) if len(str) == 0: return [] lst = str.split(delimiter) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/wafsamba.py new/ldb-1.1.20/buildtools/wafsamba/wafsamba.py --- old/ldb-1.1.19/buildtools/wafsamba/wafsamba.py 2014-12-22 09:17:09.000000000 +0100 +++ new/ldb-1.1.20/buildtools/wafsamba/wafsamba.py 2015-01-25 13:37:02.000000000 +0100 @@ -94,6 +94,11 @@ Build.BuildContext.ADD_INIT_FUNCTION = ADD_INIT_FUNCTION +def generate_empty_file(task): + target_fname = installed_location=task.outputs[0].bldpath(task.env) + target_file = open(installed_location, 'w') + target_file.close() + return 0 ################################################################# def SAMBA_LIBRARY(bld, libname, source, @@ -125,6 +130,7 @@ pyext=False, target_type='LIBRARY', bundled_extension=False, + bundled_name=None, link_name=None, abi_directory=None, abi_match=None, @@ -149,9 +155,15 @@ source = bld.SUBDIR(subdir, source) # remember empty libraries, so we can strip the dependencies - if ((source == '') or (source == [])) and deps == '' and public_deps == '': - SET_TARGET_TYPE(bld, libname, 'EMPTY') - return + if ((source == '') or (source == [])): + if deps == '' and public_deps == '': + SET_TARGET_TYPE(bld, libname, 'EMPTY') + return + empty_c = libname + '.empty.c' + bld.SAMBA_GENERATOR('%s_empty_c' % libname, + rule=generate_empty_file, + target=empty_c) + source=empty_c if BUILTIN_LIBRARY(bld, libname): obj_target = libname @@ -212,7 +224,9 @@ raise Utils.WafError("public library '%s' must have header files" % libname) - if target_type == 'PYTHON' or realname or not private_library: + if bundled_name is not None: + pass + elif target_type == 'PYTHON' or realname or not private_library: if keep_underscore: bundled_name = libname else: @@ -431,13 +445,15 @@ ): '''define a Samba module.''' + bld.ASSERT(subsystem, "You must specify a subsystem for SAMBA_MODULE(%s)" % modname) + source = bld.EXPAND_VARIABLES(source, vars=vars) if subdir: source = bld.SUBDIR(subdir, source) if internal_module or BUILTIN_LIBRARY(bld, modname): # Do not create modules for disabled subsystems - if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED': + if GET_TARGET_TYPE(bld, subsystem) == 'DISABLED': return bld.SAMBA_SUBSYSTEM(modname, source, deps=deps, @@ -458,18 +474,17 @@ return # Do not create modules for disabled subsystems - if subsystem and GET_TARGET_TYPE(bld, subsystem) == 'DISABLED': + if GET_TARGET_TYPE(bld, subsystem) == 'DISABLED': return - obj_target = modname + '.objlist' - realname = modname - if subsystem is not None: - deps += ' ' + subsystem - while realname.startswith("lib"+subsystem+"_"): - realname = realname[len("lib"+subsystem+"_"):] - while realname.startswith(subsystem+"_"): - realname = realname[len(subsystem+"_"):] + deps += ' ' + subsystem + while realname.startswith("lib"+subsystem+"_"): + realname = realname[len("lib"+subsystem+"_"):] + while realname.startswith(subsystem+"_"): + realname = realname[len(subsystem+"_"):] + + build_name = "%s_module_%s" % (subsystem, realname) realname = bld.make_libname(realname) while realname.startswith("lib"): @@ -490,6 +505,7 @@ local_include=local_include, global_include=global_include, vars=vars, + bundled_name=build_name, link_name=build_link_name, install_path="${MODULESDIR}/%s" % subsystem, pyembed=pyembed, @@ -537,9 +553,15 @@ return # remember empty subsystems, so we can strip the dependencies - if ((source == '') or (source == [])) and deps == '' and public_deps == '': - SET_TARGET_TYPE(bld, modname, 'EMPTY') - return + if ((source == '') or (source == [])): + if deps == '' and public_deps == '': + SET_TARGET_TYPE(bld, modname, 'EMPTY') + return + empty_c = modname + '.empty.c' + bld.SAMBA_GENERATOR('%s_empty_c' % modname, + rule=generate_empty_file, + target=empty_c) + source=empty_c if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'): return diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/buildtools/wafsamba/wscript new/ldb-1.1.20/buildtools/wafsamba/wscript --- old/ldb-1.1.19/buildtools/wafsamba/wscript 2014-12-22 09:17:09.000000000 +0100 +++ new/ldb-1.1.20/buildtools/wafsamba/wscript 2015-01-25 13:37:02.000000000 +0100 @@ -211,6 +211,8 @@ conf.check_tool('compiler_cc') + conf.CHECK_STANDARD_LIBPATH() + # we need git for 'waf dist' conf.find_program('git', var='GIT') @@ -295,6 +297,19 @@ headers='stdio.h', msg='Checking simple C program') + # Try to find the right extra flags for -Werror behaviour + for f in ["-Werror", # GCC + "-errwarn=%all", # Sun Studio + "-qhalt=w", # IBM xlc + "-w2", # Tru64 + ]: + if conf.CHECK_CFLAGS([f], ''' +'''): + if not 'WERROR_CFLAGS' in conf.env: + conf.env['WERROR_CFLAGS'] = [] + conf.env['WERROR_CFLAGS'].extend([f]) + break + # check which compiler/linker flags are needed for rpath support if not conf.CHECK_LDFLAGS(['-Wl,-rpath,.']) and conf.CHECK_LDFLAGS(['-Wl,-R,.']): conf.env['RPATH_ST'] = '-Wl,-R,%s' @@ -328,6 +343,13 @@ else: conf.env.HAVE_LD_VERSION_SCRIPT = False + if conf.CHECK_CFLAGS(['-fvisibility=hidden'] + conf.env.WERROR_CFLAGS): + conf.env.VISIBILITY_CFLAGS = '-fvisibility=hidden' + conf.CHECK_CODE('''int main(void) { return 0; } + __attribute__((visibility("default"))) void vis_foo2(void) {}''', + cflags=conf.env.VISIBILITY_CFLAGS, + define='HAVE_VISIBILITY_ATTR', addmain=False) + if sys.platform.startswith('aix'): conf.DEFINE('_ALL_SOURCE', 1, add_to_cflags=True) # Might not be needed if ALL_SOURCE is defined @@ -363,6 +385,27 @@ conf.DEFINE('_GNU_SOURCE', 1, add_to_cflags=True) conf.DEFINE('_XOPEN_SOURCE_EXTENDED', 1, add_to_cflags=True) + # on Tru64 certain features are only available with _OSF_SOURCE set to 1 + # and _XOPEN_SOURCE set to 600 + if conf.env['SYSTEM_UNAME_SYSNAME'] == 'OSF1': + conf.DEFINE('_OSF_SOURCE', 1, add_to_cflags=True) + conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) + + # SCM_RIGHTS is only avail if _XOPEN_SOURCE iѕ defined on IRIX + if conf.env['SYSTEM_UNAME_SYSNAME'] == 'IRIX': + conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) + conf.DEFINE('_BSD_TYPES', 1, add_to_cflags=True) + + # Try to find the right extra flags for C99 initialisers + for f in ["", "-AC99", "-qlanglvl=extc99", "-qlanglvl=stdc99", "-c99"]: + if conf.CHECK_CFLAGS([f], ''' +struct foo {int x;char y;}; +struct foo bar = { .y = 'X', .x = 1 }; +'''): + if f != "": + conf.ADD_CFLAGS(f) + break + # get the base headers we'll use for the rest of the tests conf.CHECK_HEADERS('stdio.h sys/types.h sys/stat.h stdlib.h stddef.h memory.h string.h', add_headers=True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/common/ldb_msg.c new/ldb-1.1.20/common/ldb_msg.c --- old/ldb-1.1.19/common/ldb_msg.c 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/common/ldb_msg.c 2015-01-25 13:37:02.000000000 +0100 @@ -1090,28 +1090,54 @@ */ int ldb_val_to_time(const struct ldb_val *v, time_t *t) { - struct tm tm; + char val[15] = {}; + struct tm tm = {}; - if (v == NULL || !v->data || (v->length != 17 && v->length != 13)) { + if (v == NULL) { return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; } - memset(&tm, 0, sizeof(tm)); + if (v->data == NULL) { + return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; + } + + if (v->length < 16 && v->length != 13) { + return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; + } + + if (v->data[v->length - 1] != 'Z') { + return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; + } if (v->length == 13) { - if (sscanf((char *)v->data, "%02u%02u%02u%02u%02u%02uZ", + memcpy(val, v->data, 12); + + if (sscanf(val, "%02u%02u%02u%02u%02u%02u", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) { return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; } + if (tm.tm_year < 50) { + tm.tm_year += 100; + } } else { - if (sscanf((char *)v->data, "%04u%02u%02u%02u%02u%02u.0Z", + + /* + * anything between '.' and 'Z' is silently ignored. + */ + if (v->data[14] != '.') { + return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; + } + + memcpy(val, v->data, 14); + + if (sscanf(val, "%04u%02u%02u%02u%02u%02u", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) { return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX; } + tm.tm_year -= 1900; } - tm.tm_year -= 1900; tm.tm_mon -= 1; *t = timegm(&tm); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/lib/replace/wscript new/ldb-1.1.20/lib/replace/wscript --- old/ldb-1.1.19/lib/replace/wscript 2014-11-29 11:30:57.000000000 +0100 +++ new/ldb-1.1.20/lib/replace/wscript 2015-01-25 13:37:02.000000000 +0100 @@ -32,44 +32,6 @@ conf.DEFINE('HAVE_LIBREPLACE', 1) conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1) - # on Tru64 certain features are only available with _OSF_SOURCE set to 1 - # and _XOPEN_SOURCE set to 600 - if conf.env['SYSTEM_UNAME_SYSNAME'] == 'OSF1': - conf.DEFINE('_OSF_SOURCE', 1, add_to_cflags=True) - conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) - - # SCM_RIGHTS is only avail if _XOPEN_SOURCE iѕ defined on IRIX - if conf.env['SYSTEM_UNAME_SYSNAME'] == 'IRIX': - conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) - conf.DEFINE('_BSD_TYPES', 1, add_to_cflags=True) - - # Try to find the right extra flags for C99 initialisers - for f in ["", "-AC99", "-qlanglvl=extc99", "-qlanglvl=stdc99", "-c99"]: - if conf.CHECK_CFLAGS([f], ''' -struct foo {int x;char y;}; -struct foo bar = { .y = 'X', .x = 1 }; -'''): - if f != "": - conf.ADD_CFLAGS(f) - break - - if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']): - conf.ADD_CFLAGS('-fstack-protector') - conf.ADD_LDFLAGS('-fstack-protector') - - # Try to find the right extra flags for -Werror behaviour - for f in ["-Werror", # GCC - "-errwarn=%all", # Sun Studio - "-qhalt=w", # IBM xlc - "-w2", # Tru64 - ]: - if conf.CHECK_CFLAGS([f], ''' -'''): - if not 'WERROR_CFLAGS' in conf.env: - conf.env['WERROR_CFLAGS'] = [] - conf.env['WERROR_CFLAGS'].extend([f]) - break - conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h') conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h') conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h') @@ -637,13 +599,6 @@ execute=True, mandatory=True) # lets see if we get a mandatory failure for this one - if conf.CHECK_CFLAGS('-fvisibility=hidden'): - conf.env.VISIBILITY_CFLAGS = '-fvisibility=hidden' - conf.CHECK_CODE('''int main(void) { return 0; } - __attribute__((visibility("default"))) void vis_foo2(void) {}''', - cflags=conf.env.VISIBILITY_CFLAGS, - define='HAVE_VISIBILITY_ATTR', addmain=False) - # look for a method of finding the list of network interfaces for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']: if conf.CHECK_CODE(''' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/lib/tevent/doc/tevent_data.dox new/ldb-1.1.20/lib/tevent/doc/tevent_data.dox --- old/ldb-1.1.19/lib/tevent/doc/tevent_data.dox 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/lib/tevent/doc/tevent_data.dox 2015-01-25 13:37:02.000000000 +0100 @@ -46,18 +46,19 @@ static void foo_done(struct tevent_req *req) { -// a->x contains 9 -struct foo_state *a = tevent_req_data(req, struct foo_state); + // a->x contains 10 since it came from foo_send + struct foo_state *a = tevent_req_data(req, struct foo_state); -// b->y contains 10 -struct testA *b = tevent_req_callback_data(req, struct testA); + // b->y contains 9 since it came from run + struct testA *b = tevent_req_callback_data(req, struct testA); -// c->y contains 10 -struct testA *c = (struct testA *)tevent_req_callback_data_void(req); - -printf("a->x: %d\n", a->x); -printf("b->y: %d\n", b->y); -printf("c->y: %d\n", c->y); + // c->y contains 9 since it came from run we just used a different way + // of getting it. + struct testA *c = (struct testA *)tevent_req_callback_data_void(req); + + printf("a->x: %d\n", a->x); + printf("b->y: %d\n", b->y); + printf("c->y: %d\n", c->y); } @@ -77,6 +78,9 @@ struct timeval current_time, void *private_data) { struct tevent_req *req; struct testA *tmp = talloc(ev, struct testA); + + // Note that we did not use the private data passed in + tmp->y = 9; req = foo_send(ev, ev); @@ -101,7 +105,7 @@ return EXIT_FAILURE; data = talloc(mem_ctx, struct testA); - data->y = 10; + data->y = 11; time_event = tevent_add_timer(event_ctx, mem_ctx, @@ -125,9 +129,9 @@ Output of this example is: @code -a->x: 9 -b->y: 10 -c->y: 10 +a->x: 10 +b->y: 9 +c->y: 9 @endcode */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/lib/tevent/pytevent.c new/ldb-1.1.20/lib/tevent/pytevent.c --- old/ldb-1.1.19/lib/tevent/pytevent.c 2014-09-16 20:04:31.000000000 +0200 +++ new/ldb-1.1.20/lib/tevent/pytevent.c 2015-01-25 13:37:02.000000000 +0100 @@ -57,12 +57,12 @@ struct tevent_fd *fd; } TeventFd_Object; -staticforward PyTypeObject TeventContext_Type; -staticforward PyTypeObject TeventReq_Type; -staticforward PyTypeObject TeventQueue_Type; -staticforward PyTypeObject TeventSignal_Type; -staticforward PyTypeObject TeventTimer_Type; -staticforward PyTypeObject TeventFd_Type; +static PyTypeObject TeventContext_Type; +static PyTypeObject TeventReq_Type; +static PyTypeObject TeventQueue_Type; +static PyTypeObject TeventSignal_Type; +static PyTypeObject TeventTimer_Type; +static PyTypeObject TeventFd_Type; static int py_context_init(struct tevent_context *ev) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/pyldb.c new/ldb-1.1.20/pyldb.c --- old/ldb-1.1.19/pyldb.c 2014-11-29 11:30:57.000000000 +0100 +++ new/ldb-1.1.20/pyldb.c 2015-01-25 13:37:02.000000000 +0100 @@ -36,16 +36,16 @@ static PyObject *PyLdbMessage_FromMessage(struct ldb_message *msg); static PyObject *PyExc_LdbError; -staticforward PyTypeObject PyLdbControl; -staticforward PyTypeObject PyLdbResult; -staticforward PyTypeObject PyLdbMessage; +static PyTypeObject PyLdbControl; +static PyTypeObject PyLdbResult; +static PyTypeObject PyLdbMessage; #define PyLdbMessage_Check(ob) PyObject_TypeCheck(ob, &PyLdbMessage) -staticforward PyTypeObject PyLdbModule; -staticforward PyTypeObject PyLdbDn; +static PyTypeObject PyLdbModule; +static PyTypeObject PyLdbDn; #define pyldb_Dn_Check(ob) PyObject_TypeCheck(ob, &PyLdbDn) -staticforward PyTypeObject PyLdb; +static PyTypeObject PyLdb; #define PyLdb_Check(ob) PyObject_TypeCheck(ob, &PyLdb) -staticforward PyTypeObject PyLdbMessageElement; +static PyTypeObject PyLdbMessageElement; #define pyldb_MessageElement_Check(ob) PyObject_TypeCheck(ob, &PyLdbMessageElement) staticforward PyTypeObject PyLdbTree; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ldb-1.1.19/wscript new/ldb-1.1.20/wscript --- old/ldb-1.1.19/wscript 2014-12-22 09:17:09.000000000 +0100 +++ new/ldb-1.1.20/wscript 2015-01-25 13:37:02.000000000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/env python APPNAME = 'ldb' -VERSION = '1.1.19' +VERSION = '1.1.20' blddir = 'bin' -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org