[SCM] Samba Shared Repository - annotated tag tevent-0.9.20 created

Stefan Metzmacher metze at samba.org
Thu Dec 12 01:48:25 MST 2013


The annotated tag, tevent-0.9.20 has been created
        at  6a459f3b1cd6fb4a0eca3d0a58fd75020dbb25d2 (tag)
   tagging  e26736dcc25a204bf21a367462d0c10060bee1ad (commit)
  replaces  talloc-2.1.0
 tagged by  Stefan Metzmacher
        on  Thu Dec 12 09:48:19 2013 +0100

- Log -----------------------------------------------------------------
tevent: tag release tevent-0.9.20
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQEcBAABAgAGBQJSqXhTAAoJEEeTkWETCEAlHIgIALUK+2ukC/5N8kQNQZ9bHu9r
hycPjOj1of5A21DUGiW0VMXpVAK6fMeQKSWkKA1tPmCfX/kazqKN8w1V0OfonYUc
CgJFBoKML7ivO6RmcDCFOA2oIRI80TDF/YwivkL/CX1T2WUl1tIjx1azCl5Ty62q
M0jVU6ARXazDUO56zFzadKurgj6exts++fasSeho7d9CGozPY3tPKyQzUrYQ/SOw
OjqWvcBWknjvKvyL3LrQAtDL5N2tdAXOZ7cTdVju94R/WCkAf9LUQlR1T4nx/4/Z
CEltGGv1m6b4eVvmCwCa1/V8Lrqf/6C/G/NkspAFv/nvr8TEEuS+st4c+WfjFio=
=Sss1
-----END PGP SIGNATURE-----

Abhidnya Joshi (1):
      idmap_autorid: fix failure in reverse lookup if ID is from domain range index #0

Alexander Bokovoy (12):
      Fix popt handling, this fixes segfault while asking for --help
      Merge from tridge
      Ignore configure
      Ignore configure
      Fix ctdb_call() fetching data and ltdb backend flags
      rely on ctdb_test.c for the moment
      change test a bit -- work on whole array of ints and process it in the loop (locally)
      regenerate configure after changing configure.ac
      Merge from tridge
      Provide an alternative CTDB_NO_MEMORY_NULL() for functions which return a pointer
      Fix memory handling
      Fix cleaning targets to delete proper files

Alexander Werth (2):
      s3:modules: Fix realloc with zero sized ACLs
      s3:modules: nfs4_acls ACLs with zero entries are fine.

Alistair Leslie-Hughes (2):
      Free memory on error
      Stop use after free

Amitay Isaacs (331):
      build: Add rules to create ctags/etags
      packaging: Setup directories for rpmbuild
      build: Remove re-definition of same variable
      build: Display correct LIB_FLAGS while building
      build: Use system talloc library if available
      build: Use system tevent library if available
      build: Use system tdb library if available
      recovery: Add prototypes for tdb internal functions
      build: Substitute POPT macros once and reuse variables
      tests/tool: Fix the nodestatus test
      tests/tool: New nodestatus test
      tests: exportfs always outputs with options in brackets
      tests: Add a script to run cluster tests and make target "test_cluster"
      tests: Add regular expression parsing for hop_count_buckets
      tests: Fix the error messages in test event script
      ctdbd: Fix the error message string
      tests: Check for assigned IP addresses only if we are on real cluster
      tests: Check assigned IPs from ctdb output
      tests: Set the debug level = 3 when running local tests
      tests: Use CTDB_TEST_REAL_CLUSTER to decide if tests use local daemons
      recoverd: Fix spurious warnings when running with --nopublicipcheck
      ctdbd: Fix spurious warnings when running with --nopublicipcheck
      includes: Move special tevent defines from tevent.h to includes.h
      Remove explicit include of lib/tevent/tevent.h.
      ctdb_test: Remove faked wrappers for tevent functions in stub testing
      lib/tevent: Remove local modifications to tevent
      lib/tevent: Remove the files required to build tevent as a library
      lib/tevent: Sync tevent from samba git tree
      lib/talloc: Remove the files required to build talloc as a library
      lib/talloc: Sync talloc from samba git tree
      lib/tdb: Remove the files required to build tdb as a library
      lib/tdb: Sync tdb from samba git tree
      tests/tool: Fix the nodestatus test
      tests/tool: New nodestatus test
      tests: Fix wrapper scripts
      tests: CTDB_TEST_WRAPPER has to be an absolute path on a real cluster
      tests: test_wrap needs to set TEST_SCRIPTS_DIR
      tests/simple: Fix typo in the test message
      server: locking: Provide a common API for non-blocking locking of TDBs
      Revert "server: locking: Provide a common API for non-blocking locking of TDBs"
      tests: Use per node log files when running tests with local daemons
      packaging: make ctdb-tests package depend on nc
      server: Replace BOOL datatype with bool, True/False with true/false
      tests: Fix flakey behavior of ctdb_fetch test
      tests: Fix ctdb_fetch test (parse extra lines of output)
      tests: Increment RSN always in ctdb_update_record_persistent test
      Fix compiler warnings.
      util: Do not try to lockdown memory when running in local daemons mode
      ctdbd: Return explicit boolean values for function returning bool
      Remove tevent_loop_allow_nesting()
      web: Add my name to the developer list.
      util: Do not lock down memory when running with local daemons
      doc: Fix path string of /etc/sysconfig/ctdb file
      Revert "when creating/adding a public ip, set the initial interface to be the first interface specified"
      doc: Fix the hyperlink for "Testing CTDB" page
      scripts: Remove duplicate code from init script to set tunables
      doc: Fix documentation for setup event
      doc: Add info about execute permissions on event scripts
      header: Added DB statistics update macros
      common: Add routines to get process and lock information
      ctdbd: locking: Provide non-blocking API for locking of TDB record/db/alldb
      tools/ctdb: Display the locking statistics
      tests: Fix statistics test for new output lines from locking API
      ctdbd_test: Include ctdb_lock.c code for test stubs
      ctdb_freeze: Replace locking functions with locking API
      ctdb_recover: Replace static locking functions with locking API
      ctdbd: Replace lockwait with locking API and remove ctdb_lockwait.c
      locking: Schedule a new lock request everytime a lock is released
      locking: Add database priority handling for older versions of samba
      locking: Do not use ctdb_kill() to kill smbd processes
      build: Set CTDB_PATH to /tmp/ctdb.socket if SOCKPATH is not defined
      web: Remove reference to non-existent config files
      web: Add the links to ftp/http ctdb download area
      web: Add posix locking information to prerequisites
      doc: README - add information about CTDB, license and website
      build: Extract building of manpages in a separate Makefile
      packaging: Build docs and include them in tarball
      packaging: Factor out the code to genreate VERSION string
      packaging: Use common code to generate VERSION string
      doc: Do not keep the built version of manpages in version control
      packaging: Bundle README, COPYING and html version of manpages
      web: Update broken links to manpages
      packaging: Create include/version.h to define CTDB_VERSION_STRING
      build: Add rules to create include/version.h when building from git tree
      tool/ctdb: Always support ctdb version command, don't make it optional
      packaging: Use optional argument as targetdir when creating tarball
      packaging: Use maketarball.sh script to create tarball for RPM
      tests: Do not check release suffix in ctdb version test
      web: Update instructions for building from tarball
      recoverd: Track the nodes that fail takeover run and set culprit count
      tools/ctdb: Do not use function return value as pnn
      locking: Do not use RECLOCK for tracking DB locks and latencies
      doc: Update ping_pong documentation to add -c option
      daemon: Check if log_latency_ms is set before using it
      daemon: Add a tunable to enable automatic database priority setting
      tests/complex: Add NFS test when CTDB is killed on one of the nodes
      daemon: Update the comment and remove redundant check in ctdb_start_transport()
      tools/ctdb: Add pdelete command to delete a record from persistent database
      tools/ctdb: Re-factor code to check if db exists given name or id
      tools/ctdb: Add setdbseqnum command to set __db_sequence_number__
      tests: Add a test for recovery of persistent databases
      daemon: On shutdown, destroy timed events that check if recoverd is active
      daemon: Protect against double free of callback state while shutting down
      recoverd: Create recoverd monitoring timed events off recoverd context
      recoverd: Fix printing of node flags from local information
      daemon: Make sure all the traverse children are terminated if traverse times out
      eventscripts: Remove calls to "smbstatus -np" for samba cleanup
      ctdbd: Fix the PullDBPreallocation size to 10MB as intended
      common/io: Rewrite socket handling code to read all available data
      ctdbd: Add an index db for message list for faster searches
      common/io: For scheduling immediate events use tevent_schedule_immediate
      logging: Do not ignore stdout/stderr from the exec'd children
      util: Add hex_decode_talloc() to decode hex string into a binary blob
      common/messaging: Free message list header if all message handlers are freed
      common/messaging: Don't forget to free the result returned by tdb_fetch()
      common/messaging: Abstract db related operations inside db functions
      Revert "client: handle transient connection errors"
      client: Set the socket non-blocking only after connect succeeds
      statd-callout: Make sure statd callout script always runs as root
      recoverd/takeover: Use IP->node mapping info from nodes hosting that IP
      tools/ltdbtool: Fix handling of -e option
      tests: Fix typo in variable name
      traverse: Add CTDB_CONTROL_TRAVERSE_ALL_EXT to support withemptyrecords
      traverse: Ensure backward compatibility for CTDB_CONTROL_TRAVERSE_ALL
      tests: Support waiting for "recovered" state in tests
      tests: Add a test for subsequent recoveries corrupting databases
      ctdbd: Set num_clients statistic from ctdb->num_clients
      eventscripts: Do not use bashism for string comparison
      logging: Fix a bug in ringbuffer
      build: Rename version.h to ctdb_version.h
      ctdbd: Print version string in the daemon startup
      tools/ctdb: Fix racy ipreallocate code
      locking: Add newline to debug logs
      locking: Refactor code to iterate over databases based on priority
      locking: Add handler function for locking a database
      locking: Use database iterator for locking databases
      locking: Add handler function for unlocking a database
      locking: Use database iterator for unlocking databases
      locking: Add handler function for marking a database
      locking: Use database iterator for marking databases
      locking: Add handler function for unmarking a database
      locking: Use database iterator for unmarking databases
      locking: Add a standalone helper to lock record/db
      locking: Create commandline arguments for locking helper
      locking: Use separate locking helper binary for locking
      locking: Remove functions that are not used anymore
      locking: Remove functions that are not used anymore
      locking: Set lock helper path once
      tests: Fix output of run_tests usage
      logging: Make sure ringbuffer messages are terminated with a newline
      vacuum: Reduce the priority of non-critical error
      util: Do not stop build if backtracing is not supported
      libctdb: Do not include sys/time.h to support build on AIX
      tests: Include system/time.h to support building on AIX
      tests: Do not use err() to support AIX
      build: Support for building on AIX xlc compiler
      build: Use REPLACE_OBJ and CTDB_EXTERNAL_OBJ to simplify build rules
      git: Ignore ctdb_version.h file
      git: Ignore generated ctdb.spec file
      ctdbd: Log node state transitions at higher debug level
      talloc: Sync to talloc 2.0.8 from upstream
      tdb: Sync to tdb 1.2.11 from upstream
      replace: Sync to latest replace from upstream
      tevent: Sync to tevent 0.9.18 from upstream
      build: Fix extra whitespaces
      ctdbd: Make sure we don't kill init process by mistake
      build: Enable VERBOSE option to display build command line
      packaging: Update the minimum required library versions
      tools/ctdb: Do not exit prematurely on control timeout if retrying in a loop
      client: Exit with non-zero status when unix socket is closed
      recoverd: When updating flags on nodes, send updated flags and not old flags
      recoverd: Print banning message only after verifying pnn
      freeze: Log message from ctdb_start_freeze() and ctdb_control_freeze()
      freeze: If priority is invalid here, it's time to abort
      freeze: Make ctdb_start_freeze() a void function
      banning: Log ban state changes for other nodes at higher debug level
      recovered: Remove old comment as the code corresponding to that has gone away
      recoverd: Set node_flags information as soon as we get nodemap
      recoverd: Also check if current node is in recovery when it is banned
      banning: Make ctdb_local_node_got_banned() a void function
      banning: No need to check if banned pnn is for local node
      banning: Do not come out of ban if databases are not frozen
      recoverd: Do not set banning credits on a node if current node is inactive
      recoverd: Always do an early exit from main_loop if node is stopped or banned
      recoverd: No need to check if node is recovery master when inactive
      recoverd: Update capabilities only if the current node is active
      recoverd: Delay the initial election if node is started in stopped state
      recoverd: Move code to ban other nodes after we get local node flags
      recoverd: Refactor code to ban misbehaving nodes
      doc: The second half of monitoring is only for recovery master
      ctdbd: Don't ban self if init or shutdown event fails
      packaging: Remove ctdb_transaction from docdir
      packaging: Install docs using %doc directive
      packaging: Install README.notify.d using %doc directive
      packaging: Do not mark /etc/ctdb/functions as configuration file
      packaging: Allow building RPMs with system tdb/talloc/tevent
      packaging: Enable compiler optimizations
      recoverd: Send the result from child process only once
      build: Fix compiler warnings for uninitialized variables
      tests: If connection to ctdb daemon fails, exit
      ping_pong: Validate num_locks argument > 0
      recoverd: Fix buffer overflow error in reloadips
      ctdbd: Update debug messages for setting readonly property on database
      ctdbd: Remove incomplete ctdb_db_statistics_wire structure
      tools/ctdb: Fix the format of DB statistics output
      locking: Update locks latency in CTDB statistics only for RECORD or DB locks
      locking: Update locking bucket intervals
      locking: Use external script to debug locking issues
      scripts: Add an example debug_locks.sh script to debug locking issue
      initscript: Export CTDB_DEBUG_LOCKS variable
      ctdbd: No need for DeadlockTimeout tunable
      packaging: When building with system libraries, add dependency for them
      traverse: Pass reqid and srcnode information to local database traverse
      traverse: Send records directly from traverse child to srcnode
      traverse: Remove unused start_time field
      common/system: Add ctdb_set_process_name() function
      ctdbd: Set process names for child processes
      ctdbd: Print tdb flags when logging attached to database message
      doc: Update NEWS
      Tests: Correct the arguments to memset
      web: Update webpages
      packaging: No need to check for existence of scripts, they always do
      packaging: Bundle debug_locks.sh script in RPM
      Revert "ctdbd: Remove incomplete ctdb_db_statistics_wire structure"
      ctdbd: Remove incomplete ctdb_db_statistics_wire structure
      ctdbd: Fix updating of hot keys in database statistics
      ctdbd: Don't consider a hot record if the hopcount is zero
      tools/ctdb: Only print the hot records with non-zero hopcount
      recoverd: Assemble up-to-date node flags information from remote nodes
      recoverd: Make sure to use jenkins hash for recovery databases
      client: Always use jenkins hash when attaching volatile databases
      recoverd: Use correct tdb flags when creating missing databases
      tests: Add a test program to hold a lock on a database
      ctdbd: Print set db sticky message after it's set
      locking: Move function find_lock_context() before ctdb_lock_schedule()
      locking: Do not create multiple lock processes for the same key
      eventscripts: Use configured RECLOCK file instead of asking CTDB
      eventscript: Wait for debug hung script to finish or timeout before continuing
      ctdbd: Avoid leaking file descriptor if talloc fails
      ctdbd: Improve high hopcount log messages when request is redirected
      ctdbd: When a record is made sticky, log only once
      common/io: Keep queue buffer size multiple of 4K
      Revert "recoverd: Use correct tdb flags when creating missing databases"
      recoverd: Use TDB_INCOMPATIBLE_HASH when creating volatile databases
      db_wrap: Make sure tdb messages are logged correctly
      vacuuming: Fix vacuuming bug where requests keep bouncing between nodes (part 1)
      vacuuming: Fix vacuuming bug where requests keep bouncing between nodes (part 2)
      common: Null terminate process name string so valgrind doesn't complain
      recoverd: Improve log message when nodes disagree on recmaster
      ctdbd: For volatile databases, write an empty record with rsn=0 only on dmaster
      ctdbd: Print a log message when a key becomes hot
      Revert "LACOUNT:  Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node"
      Revert "common/io: Keep queue buffer size multiple of 4K"
      common/io: Limit the queue buffer size for fair scheduling via tevent
      ctdbd: Make sure call data is freed if doing an early return
      ctdbd: Finish eventscript callback processing before debugging hung script
      traverse: Log when database traverse is started
      build: Fix build dependencies for ctdb_lock_tdb
      eventscripts: Load CTDB configuration settings in 70.iscsi
      traverse: Log information when traverse starts and ends
      traverse: Check if local traverse failed or succeeded
      traverse: Use ctdb local variable for convenience
      traverse: Wait till all data has been flushed from output queue
      traverse: Send traverse end record from traverse child process
      tests: Add a simple test to test cluster wide database traverse
      tools/ctdb: Remove un-implemented ctdb vacuum command
      tools/ctdb: When printing TDB data as a string, use correct length of the string
      tests: Remove unused test program ctdb_fetch_lock_once
      client: Remove extra whitespaces
      client: Add ctdb_client_check_message_handlers() function
      client: Add ctdb_ctrl_getdbstatistics() function
      client: Add ctdb_ctrl_getdbseqnum() function
      tools/ctdb: Do not use libctdb for commandline tool
      tests: Do not use libctdb code in tests
      tools/ctdb: Pass memory context for returning nodes in parse_nodestring
      libctdb: Remove incomplete libctdb
      common: Fix setting of debug level in the client code
      include: Remove unused set_dmaster structure
      ctdbd: Create a utility function to log error for "not implemented" controls
      ctdbd: Deprecate TRANS2 commit controls
      ctdbd: Remove transaction code related to TRANS2 commits
      client: Add functions to handle server_id structure
      client: Add functions to parse g_lock.tdb records
      client: Reimplement persistent transaction code using TRANS3_COMMIT
      client: Remove old persistent transaction code
      tests: No need to set sequence number when modifying persistent database
      tools/ctdb: Remove setdbseqnum command
      tests: Re-enable transaction test code
      tests: Make sure test exits with zero status on successful completion
      tests: If transaction_start fails, try again
      common/util: Use AIX specific code for setting high priority for CTDB daemon
      recoverd: Ignore failed flag updates on inactive nodes
      eventscripts: Instead of listing all tunables, query EventScriptTimeout
      doc/examples: Add CTDB configuration examples
      tcp: Create socket lock in /var/run/ctdb instead of /tmp
      packaging: Move ctdb/ directory from /var to /var/lib
      build: Move the default CTDB socket from /tmp to /var/run/ctdb
      packaging: Create runtime directories for CTDB
      daemon: Change the default recovery method for persistent databases
      tunables: Remove obsolete tunables
      web: Add links to new manpages
      client: Make g_lock_lock() wait till lock is obtained
      Revert "tests: If transaction_start fails, try again"
      tests: Fix calling of ctdb tool from test
      ctdb-server: Coverity fixes
      ctdb-client: Coverity fixes
      ctdb-common: Coverity fixes
      ctdb-tools/ctdb: Coverity fixes
      ctdb-tcp: Coverity fixes
      ctdb-tests: Coverity fixes
      ctdb-tests: Remove -q option to try_command_on_node
      ctdb-tests: No need to run onnode in parallel for single node
      ctdb-tests: CTDB tool should always be invoked as $CTDB instad of ctdb
      ctdb-tools/ctdb: Fix db commands when dbid is given instead of name
      ctdb-client: Treat empty __db_sequence_number__ record as 0
      ctdb-locking: Implement active lock requests limit per database
      ctdb-locking: Do not merge multiple lock requests to avoid unfair scheduling
      ctdb-locking: Update current lock statistics when lock is scheduled
      ctdb-scripts: Run a single instance of debug_locks.sh at a give time
      ctdb-common: Refactor code to keep track of child processes
      ctdb-locking: Use vfork instead of fork to exec helpers
      ctdb-tools/ctdb: Fix tstore command to generate ltdb header internally
      ctdb-eventscripts: Perform share check before NFS RPC checks in 60.ganesha
      ctdb-scripts: Set defaults for CTDB_DBDIR and CTDB_DBDIR_PERSISTENT
      ctdb-scripts: Replace hard-coded /var/ctdb with CTDB_VARDIR
      ctdb-config: Simplify the default CTDB configuration file
      ctdb-scripts: Be careful when generating unique pids for stack traces
      autobuild: Run ctdb regression tests
      netcmd/dns: Catch wildcard patterns when querying for name
      s4-dns: Ignore duplicate dns zones from multiple locations in dlz_bind9
      s4-rpc: dnsserver: Ignore duplicate dns zones from multiple locations

Andreas Schneider (71):
      Fix circular dependency error with autoconf 2.6.3.
      libutil: Remove obsolete signal type cast.
      s3-winbind: Don't set a default directory for DIR.
      s3-winbind: Add support for the kernel krb5 keyring buffer.
      doc: Update documentation of pam_winbind krb5 support.
      idl: Add a new message for winbind domain states.
      s3-winbind: Add functions for domain online/offline handling.
      s3-winbind: Register handlers for domain online/offline messages.
      s3-winbind: Send online/offline message of the domain to the parent.
      ntdb: Make sure variables passed by value are initialized.
      talloc: Add a warning to talloc_reference() documentation.
      s3-rpc_server: Refactor lsasd_create_sockets().
      libcli: Add tstream_npa_socketpair() function.
      s3-rpc_server: Add npa_state_init() function.
      s3-rpc_server: Add make_external_rpc_pipe() function.
      s3-rpc_server: Add make_internal_rpc_pipe().
      s3-rpc_server: Use new rpc named pipe functions.
      s3-waf: Reorder rpc_server wscript_build file.
      s3-waf: Seperate rpc_server and rpc_service.
      s3-waf: Create a target for RPC_SOCK_HELPER.
      s3-rpc_server: Make make_server_pipes_struct a shared function.
      s3-rpc_server: Make named_pipe_packet_process a shared functiion.
      s3-rpc_server: Add named_pipe_client_init() function.
      s3-smbd_shim: Add become_authenticated_pipe_user().
      s3-smbd: Do not declare change_to_root_user() twice.
      s3-rpc_server: Add make_internal_rpc_pipe_socketpair().
      s3-rpc_server: Pass the server event context to np_open().
      s3-rpc_server: Use make_internal_rpc_pipe_socketpair().
      s3-rpc_server: Remove obsolete FAKE_FILE_TYPE_NAMED_PIPE handling.
      s3-rpc_server: Remove obsolete make_internal_rpc_pipe().
      s3-rpc_client: Make data pointer const in trans_send().
      vfs: Fix building the glusterfs module.
      vfs: Fix some build warnings in glusterfs.
      testparm: Reformat text and add a newline.
      testparm: Add warning for socket options.
      s4-lsa: Fix a user after free in dcesrv_lsa_lookup_name().
      s4-lsa: Add missing null checks in dcesrv_lsa_lookup_name().
      s4-lsa: Make sure we also duplicate the domain_name.
      s3-vfs: Fix stream_depot vfs module on btrfs.
      s4-smb_server: Fix a use after free.
      s3-vfs: Fix stream_depot vfs module on btrfs.
      s4-torture: Relax time checking in CHECK_NTTIME.
      s4-dsdb: Fix a use after free segfault.
      util: Remove 32bit macros breaking strict aliasing.
      s3-libsmb: Use the right macro to set uint16_t attr.
      testsuit: Fix fprintf format.
      s3-utils: Fix scanf format in smbacls.
      s3-utils: Fix scanf format in sharesec.
      s3-libsmb: Fix scanf format in parse_ace().
      examples: Fix scanf format in perf_writer_disk.
      s3-vfs: Remove unused variable in vfs_glusterfs.
      s3-vfs: Make glfs_set_preopened() static.
      s3-libnet: Use a const char for realm.
      replace: Fix developer build on BSD.
      s3-lib: Add grpname to talloc_sub_specified().
      s3-winbind: Pass the group name to fillup_pw_field().
      s4-libcli: Add smb2_util_handle_empty().
      s4-torture: Make sure the handles are not used uninitialized.
      s4-torture: Make sure the handles are initialized correctly.
      s4-torture: Make sure handles are correctly initialized.
      s4-torture: Fix some compile warnings in spoolss.
      s3-torture: Comment out dead code in spoolss test.
      s4-torture: Fix out of bound array access.
      s4-torture: Use talloc for asprintf.
      s3-utils: Fix a memory leak in smbget.
      s3-torture: Fix several memory leaks in delete_fn().
      s3-torture: Make sure status is used initialized.
      s3-libsmb: Fix a memory leak in get_pdc_ip().
      krb5_wrap: Move function declaration outside the function.
      s3-torture: Call cli_flush().
      s3-lib: Fix %G substitution for domain users in smbd

Andrew Bartlett (58):
      dsdb: When using an LDAP backend, force use of the password from secrets.ldb
      join.py: Handle exceptions when looking for GUID in a DN
      join.py: Show which database we failed to find the DN on (clarify local v remote)
      ldb: Show the type of failing operation in default error message
      samba-tool domain join subdomain: Set "reveal_internals:0" control so we can see the ncName
      join.py: Handle more error cases with useful exceptions
      dsdb: Add DSDB_SEARCH_ONE_ONLY support to dsdb_module_search*()
      join.py: Restore support for joining as a subdomain
      dsdb: Use dsdb_next_callback() rather than a no-op per-module callback
      samba-tool domain join: Add --quite and --verbose
      samba-tool domian join: Only print adminpass warning on subdomain creation
      s4-rpc_server/drsuapi: Print ldb error showing why we failed to perform the access check
      samba-tool domain join: Set server role correctly to "active directory domain controller"
      samba-tool domain provision: Make ldap_backend_startup.sh +x and take optional arguments
      auth/credentials: Add cli_credentials_{set,get}_forced_sasl_mech()
      dsdb: Use credentials.get_forced_sasl_mech()
      lib/ldb-samba/ldb_ildap: Also skip special base DNs
      python/drs: Ensure to pass in the local invocationID during the domain join
      dsdb-repl_meta_data: Check for a NULL invocationID and do not proceed
      dsdb: Refuse to return an all-zero invocationID
      dsdb-repl_meta_data: Do not re-delete the Deleted Objects DN during replication
      dsdb-repl_meta_data: Make handling of Deleted Objects DN clearer in delete
      lib/messaging: Check the server_id type correctly
      dsdb: Use WERR_DS_ATT_NOT_DEF_IN_SCHEMA for failed schema lookups
      Remove confusing TODO file
      Remove NEWS file containing confusing information
      smb.conf: Fill out the ntvfs handler smb.conf page from source4/NEWS
      dsdb: Refuse to replicate an all-zero invocationID GUID in replPropertyMetaData
      dbcheck: Look for and fix the all-zero invocationID in replPropertyMetaData
      selftest: Add script to assist in writing out a tree undump.sh can restore
      selftest: Only run referenceprovision and ldapcmp for the 4.0.0 test
      selftest: Add release-4-1-0rc3 saved provision
      selftst: add tests based on 4.1.0rc3 to check for zero invocationID in replPropertyMetaData
      python-samba-tool fsmo: Do not give an error on a successful role transfer
      dbcheck: Ensure to always increase the error_count
      pydsdb: Give KeyError when we fail a schema lookup in python
      pydsdb: Raise a more useful exception when dsdb_wellknown_dn fails.
      dbcheck: Add back the elements that were wrongly removed from CN=Deleted Objects
      dsdb: Convert the full string from UTF16 to UTF8, including embedded NULLs
      dsdb: Provide a clearer error when we fail to store the sequence number in metadata.tdb
      provision: Fix comment to refer to correct file (krb5.conf)
      provision: Remove --username and --password options from samba-tool domain provision
      join.py: Correct ctx.forestdns_zone and so remove the need for duplicate repl.replicate() call
      join.py: Use ctx.forestdns_zone variable
      join.py: Remove special full_ncs handling, we only need to updateRefs on an NC we replicate
      join.py: Reconnect to the DC based on the DC name in dnsHostName to allow connection to IPC$
      samba-tool domain join subdomain: Rework sambadns.py to allow setup of DomainDNSZone only
      s3-winbindd: Remove undocumented winbindd:socket dir parameter
      docs: Explain why this option should not be used
      lib/param: lp_magicchar takes a const struct share_params *p so should be FN_LOCAL_PARM_CHAR
      build: Move loadparm-related build rules to source3/param/wscript_build
      lib/param: Do not attempt to access the s3 function for allocated and subbed string parameters
      param: Skip generating hooks for local and string parameters
      s3/param: Autogenerate parameters prototypes again after proto.h was frozen
      param: Autogenerate s3 lp_ctx glue table
      proto: Remove manually written lp_ prototypes
      lib/param: Add documentation on how loadparm works
      lib/param: Consolidate code to enable smb signing on the server, always enable on AD DC

Andrew Tridgell (889):
      initial version
      right include file path
      added a README
      get rid of some .svn files
      added ctdb_set_address and broke out parsing
      added incoming setup
      stub for ctdb_call
      added ignore
      added event context
      added a test event loop
      don't talk to ourselves
      example node list
      merge from ab
      started splitting out transport code
      this file is not needed yet
      - split up tcp functions into more logical parts
      - setup a convenience name field for nodes
      - added simple (fake) vnn system
      - added in idtree for efficient reqid handling
      merge parts of the changes from ab. Don't merge ctdb_test changes yet
      added ctdb_connect_wait()
      need the header changes too
      - fixed the sort function to include the exsting data
      - added a 1 node test
      - added ctdb_set_flags() call
      queue up packets to nodes that aren't connected yet. This avoids a
      merge from ab
      merged from Peter
      merge IB code from peter
      merge from peter
      added storage of extended ltdb header information
      next step towards dmaster/lmaster code
      added error reply packets
      added redirect handling
      expanded some comments
      added logic for keeping track of the lacount
      added request_dmaster and reply_dmaster logic
      added a 4 node test
      wrap the packet queue call
      added handling of partial packet reads
      enforce the tcp memory alignment in packet queue
      simple ctdb benchmark
      merge from ab
      merge from Peter
      merged from peter
      merge fixes from samba4
      added copies of libs so can be built standalone
      merge db wrap code from samba4
      use ctdb_call_info, so struct ctdb_call can be used for top level call
      simplified ctdb_call() interface, and made it easier to expand with more parameters later
      fix a bug in new structure handling
      merge status code changes from samba4 ctdb
      merged from samba4 ctdb
      merged ctdb messaging code from samba4
      ignore config.h*
      merged ib work from peter
      changed ctdb_bench.c to use messages instead of calls
      added a simple benchmark script
      merged peters IB work
      fixed incr initialisation
      support hostnames for node names
      added a benchmark script that launches via ssh
      ignored some files
      added rest of tdb (missed in earlier commit)
      added --num-msgs option
      merged changes from peter
      merge multi-database support from ronnie
      merge back some changes from Samba4
      merge fetch code from ronnie, and add a simple fetch test
      merge from ronnies branch
      merge from ronnie
      added a magic header for wireshark and packet version info
      put test code in tests/ directory
      fixed a bunch of memory leaks
      remove talloc debug code
      another memory leak
      fix configure for new test location
      fix a possible free after use
      merge from ronnie
      added daemon mode to ctdb_bench
      merge tcp changes from ronnie
      made all sockets handle partial IO
      merge from ronnie
      make some functions static, and remove an unused structure
      fix the queueing for partially connected tcp sockets
      - add --daemon flag to ctdb_fetch test code
      forgot to add ctdb_client.c
      merge from ronnie
      partially completed work towards full messaging system which will work in both daemon and standalone mode. Does not compile\! committing so ronnie can continue while I'm out
      merge from ronnie, plus complete the client side of inter-node messaging
      fixed sending messages to ourselves in non-daemon mode
      add proper support for ctdb_connect_wait in daemon mode
      use the new connect_wait code in the ctdb_messaging test
      added --num-clients option to ctdb_messaging test
      merge from ronnie
      merge from volker
      use lib/replace for signal.h
      use event_loop_wait instead of while(1)
      merge from ronnie
      merge from vl
      merge from ronnie
      merge from ronnie
      merge store_unlock code from ronnie
      private -> private_data for samba3
      merge from ronnie
      merge from ronnie
      added --dblist option to ctdbd, to allow list of databases to be specified on the command line
      - fix includes to work in both samba4 and ctdb standalone
      merge CTDB_SRVID_ALL patch from Samba4
      pull out common command line code for tests into tests/cmdline.c
      merged from samba4
      this is a demonstration of an idea for handling locks in ctdb.
      fixed a fd bug (thanks volker)
      merge local copy of tdb from samba4 tdb
      added a tdb_chainlock_nonblock() call to tdb
      added a ctdb_ltdb_lock_fetch_requeue() function
      wait on the right fd ....
      darn, forgot this
      fixed crash bug - thanks volker
      add an explanation of how to use ctdb_lockwait()
      add an explanation of ctdb_ltdb_lock_fetch_requeue()
      better error handling in ctdb_ltdb_lock_fetch_requeue()
      partial merge from volker (some overlaps removed)
      merge from ronnie
      merge from ronnie
      merge from ronnie
      - removed the non-daemon mode from ctdb, in order to simplify the
      tidyups in test code
      now that both daemon and client access the database, it needs to be a real disk file
      block SIGPIPE in the daemon to prevent a SIGPIPE on write to a dead socket
      make sure we unlock
      - send the record header from the client to the daemon when doing a
      we should not lock in a normal ctdb_call(), as we want them to run concurrently
      when we get a lmaster request, skip updating the header when we are also the new dmaster
      start using ctdb_ltdb_lock_fetch_requeue()
      stop the client looping (temporary measure)
      update destination in a redirect reply
      merge from volker and ronnie
      make sure we notify ctdb when a node dies
      fixed a missing idr remove, and check the types after idr_find()
      use the common cmdline code in ctdbd
      moved cmdline.c to common code
      more DEBUG() calls
      add debug tracing to fetch_lock
      - merge volkers debug changes
      bit less verbose when client exits
      started adding a cleaner daemon finish method
      merge fetch1 changes from ronnie
      - merge from ronnie, and use wait instead of sleep in test scripts
      make sure we don't double free in the async lock handler
      use shutdown in more tests
      simpler shutdown process. The reply is not actually needed, and
      validate dmaster on a client fetch request
      merged cleanup from ronnie
      this fixes a timeout error spotted by volker
      merged the db_dir changes from volker. Changed them slightly,
      - use separate directories for the tdb files by default
      avoid a deadlock the fetch_lock code. The deadlock could happen when
      - make he packet allocation routines take a mem_ctx, which allows
      - fully separate the client version of ctdb_call from the daemon
      much simpler fetch code!
      don't need these structures any more
      merge from ronnie
      merge from ronnie
      - added a --torture option to all ctdb tools. This sets
      - split out ctdb_ltdb_lock_fetch_requeue() into a simpler
      fixed a bug found by volker - initialse the record on disk when initialised in memory
      minor debug changes
      merged fix from volker (thanks!)
      - fixed a problem with packets to ourselves. The packets were being
      added ctdb_status tool
      - expanded status to include count of each call type
      merge tdb updates from samba4
      merge fixes from samba4
      - prevent sending dmaster requests to ourselves
      merge from samba4
      update the vnn as well when getting the connection information
      added a useful tool for dumping a ctdb
      - when handling a record migration in the lmaster, bypass the usual
      debug changes
      mark authoritative records
      fixed the reverse of the last bug - handle the case when the new dmaster is the lmaster
      added max_redirect_count status field
      popt not needed in lockwait code
      fit some more windows across a screen
      add version printout
      merge from ronnie
      added a ctdb control message, and tool
      moved status to ctdb_control
      merge from peter
      fixed typo
      validate the vnn
      ignore generated nodes.txt
      merge from peter
      removed some bogus debug lines
      added a ctdb_get_config call
      got rid of the getdbpath call
      null terminate a string
      merge vnn_map code from ronnie
      merge from ronnie
      nicer testing of control data size
      debug level controls
      merged broadcast messages from ronnie
      some debug code
      merge from ronnie
      always use allocated packets to avoid alignment errors
      added install target
      merge from ronnie
      factor out the packet allocation code
      added make test and make valgrindtest targets
      fixed some warnings
      allow ctdbd_allocate_pkt to be used in client code
      merged from ronnie
      report number of clients in ping
      use rsync to avoid text busy on install
      added status all and debug all control operations
      use ctdb_get_connected_nodes for node listing
      better name for this hack
      much simpler redirect logic
      removed unnecessary variable
      added reset status control
      yay! finally fixed the bug that volker, ronnie and I have been chasing
      saner logfile code
      don't use stderr here - rely on logging
      changed the way set_call and attach are done so that you can safely
      added attach command in ctdb_control
      auto-determine listen address by attempting to bind to each address in the cluster in turn
      added a hopcount in ctdb_call
      fixed a lib/events bug found by volker
      merge latest versions of lib/replace, lib/talloc, lib/tdb and lib/events into ctdb bzr tree
      new files for updated events system
      merged from ronnie
      nicer string handling in usage
      nicer command parsing in ctdb_control
      added a builtin fetch function to support samba3 unlocked fetch
      enabled built in popt if system doesn't have it
      fixed a memory leak in the ctdb_control code
      merge from ronnie
      merge from ronnie
      merged cleanup from ronnie
      first stage of efficient non-blocking ctdb traverse
      don't zero beyond packet header unnecessarily
      merged from ronnie
      first version of traverse is working
      merge from ronnie
      - changed the REQ_REGISTER PDU to be a control
      nicer interface to ctdb traverse
      make catdb take a dbname instead of an id
      added a tdb_enable_seqnum() function
      added a ctdb control for enabling the tdb seqnum
      added seqnum propogation code to ctdb
      merged from ronnie
      - added counters for controls in ctdb_control status
      - fixed a crash bug after client disconnect in ctdb_control
      added a dumpmemory control, used to find memory leaks
      show number of connected clients in status output
      added tdb_chainlock_mark() call, which can be used to mark a chain locked without actually locking it. This will be used to guarantee forward progress in the ctdb non-blocking lockwait code
      - added a EVENT_FD_AUTOCLOSE flag that allows you to tell the event system to close the fd automatically when a fd_event is freed. This prevents races which can lead to epoll missing events
      use the new lib/events autoconf code
      allow the events system to be chosen on the command line
      - take advantage of the new EVENT_FD_AUTOCLOSE flag
      merged vnn map broadcast from ronnie
      merge relevant lib code from samba4
      merged from ronnie
      fixed a problem with the number of timed events growing without bound with the new seqnum code
      merge from ronnie
      merged ronnies code to delay client requests when in recovery mode
      moved the vnn_map initialisation out of the cmdline code
      separate the wire format and internal format for the vnn_map
      fixed setvnnmap to use wire structures too
      remove old s3 recovery code
      setup the random number generator a bit better
      merge from ronnie
      better timeout handling for calls, controls and traverses
      added nonblocking varients of the two lockall functions to tdb
      - got rid of the complex hand marshalling in the recovery controls
      - merge from ronnie
      fixed debug message
      added _mark calls for tdb_lockall
      added lockwait child code for entering recovery mode. A child processes holds lockall locks for the entire recovery process
      separate out the freeze/thaw handling from recovery
      more robust freeze/thaw logic
      watch for the freeze child exiting
      report number of frozen/thawed nodes
      show total frozen/recoving in status
      - nicer message if freeze child dies
      added -t option to ctdb_control
      make sure we ignore requeued ctdb_call packets of older generations except for packets from the client
      simplify the generation checking on incoming call packets
      ensure we propogate the correct rsn for a request dmaster
      the retry client code is no longer needed now that we use a freeze on recovery
      the invalid dmaster is no longer needed in recovery
      prioritise the dmaster in case of matching rsn
      added error messages in ctdb_control replies
      make sure the ctdb control socket is secure
      don't allow setrecmaster while not frozen
      don't allow setvnnmap while not frozen
      kill the lockwait child if the pipe goes away
      we must not free the fde until after we no longer need the lock child
      AIX needs sin_len field for bind()
      reading on the write side of a pipe isn't allowed - this caused us to run without locking in the lockwait code
      added a -i switch to run ctdbd without forking
      check for error on ctdb_ltdb_store
      added a control to get the local vnn
      fixed a fd close error on reconnect
      fixed two more places where we don't correctly handle write errors on sockets
      moved the recovery daemon into the main ctdbd and enable it by default
      enable TCP keepalives
      - merge from ronnie
      merge shutdown control from ronnie
      merged events changes from samba4
      merged debug changes from samba4
      merge from ronnie
      removed the CTDB_CTRL_FLAG_NOREQUEUE flag
      merged from samba4
      - don't try to send controls to dead nodes
      merge from samba4
      merge from samba4
      merge keepalive code from ronnie
      - up rx_cnt on all packet types
      timeout pending controls immediately when a node becomes disconnected
      a better way to resend calls after recovery
      merge tx_cnt code from ronnie
      make sure we don't increment rx_cnt for redirected packets, or for packets that have been requeued after a lockwait
      nicer date formatting
      don't count packets received from before the transport told us the node was dead
      removed obsolete ctdb_dump tool
      merge from ronnie
      show ctdb control timeout
      global lock should imply the transaction lock
      start ctdb frozen, and let the election sort things out. This prevents a race on startup
      - startup frozen, and do an initial recovery
      merge from ronnie
      - get rid of ctdb_ctrl_get_config
      added automatic vacuuming of empty records during recovery
      fixed some memory leaks on the traverse code
      fixed %d which should be %u
      merge from ronnie
      raise the control timeout in recovery
      make ctdbd realtime if possible
      merge from ronnie
      added IP takeover logic for public IPs to ctdb
      new files for IP takeover
      paraoid check for empty db on attach
      consider a node dead after 6 seconds, not 15
      keep sending ARPs for 2 minutes, every 5 seconds
      make sure we find out about new nodes as fast as possible
      send a message to clients when an IP has been released
      send the message from daemon context
      moved system specific ip code to system.c
      handle corrupt ctdb packets better
      paranoid checks for bad packets in tcp layer. Close the socket if it gets a bad packet
      show op type of badly aligned packets in tcp layer
      drop any partialialy send packets when we get a socket write error
      removed bogus alignment check
      tweak timeouts
      added function to send a raw tcp ack packet
      added code to ctdb to send a tcp 'tickle' ack when we takeover an
      send on the right socket!
      fixed tcp data offset and checksum
      remove experimental code
      use a window size that is obvious in sniffs
      fixed error reporting in tickle ack code
      automatic cleanup of tcp tickle records
      when handing over an IP to another node, also tell them of any tcp connections we were handling, so they can send tickle acks for those connections
      another place where we could send a partial packet
      merged packaging from jim
      rename ctdb_control utility to ctdb
      - renamed ctdb_control utility to ctdb
      fix sense of inet_aton() call
      - moved ctdbd specific options to ctdbd.c from cmdline.c
      call the event script on recovery too
      added an example ctdb event script
      made events script executable
      fixed syntax of /sbin/ip
      don't need maskbits to ip addr del
      clean shutdown in ctdb - release all our IPs
      fixed some debug messages
      fixed more warnings on 64 bit boxes
      merge from jim
      use /etc/services for ctdb
      use autoconf for more paths
      default log file to reasonable location
      update packaging for new defaults
      more build tweaks
      - make more options configurable
      - ignore blank lines at end of lists
      fixed shell syntax in events script
      fixed broadcast controls from the command line
      fixed system() return handling
      don't block SIGCHLD, or we lose return values from system() !
      flush any local arp entries for the given ip on add/del
      samba3 needs ctdb_private.h installed to build
      auto-restart NFS if its running when we release an IP
      moved onnode into ctdb from s3 examples/ctdb
      support ctdb status -n all
      fixed onnode symlink install
      wait for local tcp services like smbd to come up before allowing ctdb to start talking to other nodes
      - nice messages while waiting for tcp services to come up
      don't start the transport connecting to the other nodes until after the startup event script has run
      - use a CTDB_BROADCAST_ALL for the attach message so it goes to currently disconnected nodes
      we need to listen at transport initialise stage to find our own node number
      close sockets when we exec scripts
      use our own netmask when deciding if we should takeover a IP, not the other nodes
      tell newly connected nodes about any tcp tickle records that we have that they don't have
      merge lib/replace from samba4
      added hooks to make nfs statd behave correctly on failover
      better location for statd-callout
      if there is no node available to take an IP, don't consider that an error
      ctdb is GPL not LGPL
      merged from ronnie
      added CTDB_WAIT_DIRECTORIES support
      log dates/time in event startup messages
      merge initial web site from ronnie
      added package download
      better download instructions
      convert ctdbd.sh tests to use an event script
      make the running of the takeover and release event scripts async, to prevent outages due to slow scripts
      use a subdirectory for ctdb state files
      split out events for each subsystem separately
      tidy up the install somewhat
      - make symlink relative in install
      make the packaging much more portable - tested on SLES9 and RHEL4
      don't strictly need netcat
      added nfs event script
      put nfs events in spec and Makefile.in
      - make calling of recovered event script async
      disable realtime scheduler in event scripts
      another place we need to cope with the strange epoll fork semantics
      - moved cmdline options that are only relevant to ctdbd into ctdbd.c
      - make specification of a recovery lock file compulsory
      first step towards fixing "make test" with the new daemon system
      make test now works again
      merge from ronnie
      add an easy way to setup ctdb to start/stop samba
      ctdb_test.c is gone
      removed some old cruft
      move config files to config/ directory
      docs on how to use statd-callout
      fixed a race condition in the handling of the recovery lock
      do a full restart in init cron call
      test commit
      don't start nfs services unless the relevant directories are available
      merge from ronnie
      web page tidy ups
      doc updates
      fixed location of init.d directory to work on SLES and RHEL
      more portability tweaks in the init script
      merged from ronnie
      make the init scripts more portable about location of system config files
      handle NETWORKING var not existing
      merged from ronnie
      automatically bring up interfaces that we manage. This allows ctdb to work without requiring two IPs per public interface
      split out the basic interface handling, and run event scripts in a deterministic order
      make sure we don't have any namespace collision problems with config variables
      remove some cruft thats not needed any more
      - start moving tunable variables into their own structure
      added tunables settable using ctdb command line tool
      allow setting of variables at startup in config file
      make recovery daemon values tunable
      merge from ronnie
      don't crash doing ctdb ip when not doing takeover
      use the right IP from the passed structure in takeip/releaseip calls
      ignore commented out entries in /etc/exports
      explain event types
      use the right IP from the passed structure in takeip/releaseip calls
      remove an unused function
      more unused code
      set close on exec on pipe in event scripts, so long running scripts don't hold the pipe
      first step in health monitoring of cluster nodes. When not healthy they will be marked disabled
      clean out some more cruft
      added health monitoring logic to ctdb, so a node loses its public IP address if one of the sybsystem event scripts reports a problem
      merged vsftpd event script from ronnie
      added 40.vsftpd to Makefile.in
      fixed exit code in makerpms.sh
      send the right sort of message on monitoring failure
      - fixed flags display in logs
      fixed error handling in event scripts
      - added monitoring of rpc ports for nfs, and of Samba ports and directories
      increase release number of ctdb
      added timeouts in all event scripts
      handle the case of all nodes being sick for one service
      disable a node if testparm thinks there is a error, or warning, or an unrecognised option
      ensure all nodes display disabled nodes correctly
      update flags in parent daemon too
      get parents idea of recmode and recmaster when deciding if we should do a takeover run
      formatting fix for wider variable names
      merged admin enable/disable change from ronnie
      implement a scheme where nodes are banned if they continuously caused the cluster
      increase rpm release number
      added admin commands to ban/unban nodes
      handle CTDB_CURRENT_NODE in ban commands
      get all the tunables at once in recovery daemon
      there are now far too many controls for the controls statistics fields to be useful
      validate vnn on node flags change
      use a priority time for the election data, not just the vnn
      formatting fixes
      choose the most connected node first
      later times are a lower priority, not a higher priority
      start splitting the code into separate client and server pieces
      more code rearrangement
      some #include cleanups
      move more util code to lib/util
      update configure.ac for new code layout
      remove the test commit
      merge from ronnie
      new web page layout
      web tweaks
      web tweaks
      added logo
      crop logo
      convert rest of pages to new format
      balance the layout
      more web tweaks
      merge from ronnie
      added documentation page
      new logo, fixed links
      doc updates
      install man page
      fixed manaul install dir for rpms
      merge from ronnie
      newer versions of ip need the mask on del
      support up takeover in testing when root
      ignore arp on loopback
      propogate flag changes to all connected nodes
      - send tcp info to all connected nodes, not just vnnmap nodes
      fixed valgrind error
      merge from ronnie
      merge from ronnie
      use gzip --rsyncable for ctdb packages
      layout copyright using a literal
      fixed testparm calls
      more detail in recovery message
      simpler handling of -n all in ctdb tool
      raise the default keepalive limit
      make sure we start the freeze process quickly on all nodes when we are going to do recovery - this prevents serialisation of freeze, which can take a long time
      - tidied up some of the web page text
      minor doc updates
      make the web site pass the w3c validator
      fixed rendering in IE
      added onnode manual page
      move all the headers into header.html
      make the pages scale a bit better
      on startup release all IPs, in case we have any left over from a previous run
      - wait for winbind on samba start
      check winbind in monitoring event too
      - merged ctdb_store test from ronnie
      merge from ronnie
      run smbstatus every 10 minutes to scrub databases
      added code to kill registered clients on a IP release
      script version of install needs spaces after -m
      merge from ronnie
      merge from ronnie
      merge from ronnie
      merge from ronnie
      more careful checking of lengths
      - neaten up the command line for killtcp
      removed unused makefile var
      forgot to add this
      merge from ronnie
      fixed error message on bad IP/port
      fixed help layout
      merge from ronnie (with spelling fixes)
      merge from ronnie - we have an official port number, yay!
      increment rpm release number
      log the generation numbers to give a hint about this bug
      we do tell banned nodes to release IPs
      call kill_clients when releasing all IPs, as well as for individual IPs
      fixed sense of inet_aton test
      merge from ronnie
      update lib/replace from samba4
      update lib/tdb from samba4
      update lib/events from samba4 (If->if)
      more merges for GPLv3 update
      minor back-merge from samba4
      added --nosetsched option to ctdbd
      allow extra option override in /etc/sysconfig/ctdb
      fixed the sense of do_setsched
      fully save/restore scheduler parameters
      - merge from ronnie
      ensure killtcp structure is initialised
      merged from ronnie
      make sure we still run events when waiting for ctdb_event_script()
      - log registering of tcp clients
      up release number
      make timed_event structure private to events_timed.c
      merge from ronnie
      merge from ronnie
      merge changes needed for samba4
      merge from ronnie
      merged new event script calling code from ronnnie
      removed redundent debug message
      merge from volker
      merge from volker
      merge from ronnie
      fixed segv when no public interface is set
      merge from ronnie
      merge from ronnie
      up the release number
      added a diagnostics tool for ctdb
      add crontab and sysctl output
      merge from ronnie
      add back in --public-interface as a default
      - use struct sockaddr_in more consistently instead of string addresses
      added back --public-interface to startup script
      fixed a pointer cast warning
      get interface right
      fixed location of arp_filter
      changed some debug levels
      - don't allow the registration of clients with IPs we don't hold
      - set arp_ignore to prevent replying to arp requests for addresses on loopback
      handle hung or slow ctdb daemons on shutdown
      fixed return code
      remove clutter from ctdb log file
      new approach for killing TCP connections on IP release
      remove more cruft from the logs
      we don't need the is_loopback logic in ctdb any more
      fixed script errors in 10.interface
      force recovery if unable to tell a node to release an IP
      more shell scripting fixes in 10.interface
      prevent recursion in the calling of ctdb_takeover_run
      ensure smbd and winbindd do die in 50.samba
      nicer use of testparm
      wait for ctdbd to finish cleanup before considering "service ctdb stop" to be done
      - merge from ronnie
      make sure all public IPs are removed at startup
      fix pkill args
      cope with non-standard install dirs in event scripts
      merge from ronnie
      increase release number
      expanded ctdb_diagnostics a bit
      separate out the various fs display ops
      make sure we set close on exec on any possibly inherited fds
      added support for persistent databases in ctdbd
      merge from ronnie
      merge bugfix from ronnie
      avoid using connected nodes that aren't in the vnn map yet
      make the persistent dbdir configurable
      fixed a valgrind error, and some warnings
      no longer wait at startup for services to become available, instead
      run monitoring more quickly when unhealthy and at startup
      fixed a fd leak on the recovery lock
      merge from ronnie
      upped version number
      we are the culprit if we can't get the reclock
      - catch ESTALE in the recovery lock by trying a read()
      fixed several places where we set the recovery culprit incorrectly
      make sure reconnected nodes start off as unhealthy so they don't get a public IP
      add config option for disabling bans
      disable optimisation for now, until we find a occasional segv
      merge from ronnie
      sync flags between nodes in monitor loop in recmaster
      disable ipmux code until we have a configure test
      improved handling of systems without libipq.h
      only link to -lipq if needed
      more detail on multipath config
      increase release number
      merge from ronnie
      merge from ronnie
      added some debug lines to help track down a problem
      remove a incorrectly added file
      merge from ronnie
      increase release number
      merge from ronnie
      prevent a double free
      fixed a valgrind uninitialised memory error due to pad bytes
      another place where we need to mark connect_fde as freed
      fixed a double close of a socket, leading to an EPOLL error
      fixed a problem with backgrounding onnnode
      merge from ronnie
      update release number
      added monitoring of ftp ports
      merge from ronnie
      added bonding info to ctdb_diagnostics
      increase release number
      patch from michael adam
      prevent a deadly embrace between smbd and ctdbd by moving the calling
      don't do the first startup event until we are out of recovery
      make election handling much more scalable
      make it easier to test starting large numbers of virtual nodes
      need public_addresses for test suite
      - merge from ronnie
      increase release number
      merge from ronnie
      make DeterministicIPs the default
      merge from ronnie
      update release number and changelog
      fixed segv on failed ctdb_ctrl_getnodemap
      updated release info
      fixed order of changelog
      quick fix for timeout in recovery
      make this a custom build
      make this a custom build
      more optimisations to recovery
      add randrec to Makefile
      added ctdb_randrec test tool
      prevent a re-ban loop for single node clusters
      prevent O(n^2) behaviour for traverse after large numbers of deletes
      make sure vars are set at startup before recovery
      fixed a warning
      update revnumber for custom tree
      expand tdb by minimum of 25% at a time
      fixed a warning
      added async pull, push and rsn handling functions
      make some specific cases of the non-dmaster bug non-fatal
      avoid write locks during delete checks in traversals
      this fixes the non-dmaster bug that has plagued us for months
      convert much of the recovery logic to be async and parallel across all nodes
      a useful hack for checking correct behaviour of recovery
      a new tunable DatabaseMaxDead that enables the tdb max dead cache logic
      update version
      ensure we always build the right version
      added tdb_wipe_all() function
      cleanup the new freelist code
      fixed the bug that make "onnode N service ctdb start" hang
      fixed data offset definition
      fixed excludes in tar ball creation for src rpm
      Rewrote the tdb transaction code to be O(N) instead of O(N^2)
      convert tdb from u32 to uint32_t to match the current Samba trees
      update from Samba4
      merge from Samba4
      this is needed with merged tdb
      - added tdb_add_flags() and tdb_remove_flags()
      ensure tdb log messages appear in ctdbd logs
      non-persistent databases don't need sync transactions
      change default tunables to cope with larger dbs
      new simpler and much faster recovery code based on tdb transactions
      added paranoid transaction ids
      new rpm version
      don't retstart statd when we don't need to
      more efficient traversal in pulldb control
      catch internal traversal errors
      nicer onnode output
      merge from ronnie
      background the smbstatus -n command
      show start/stop time of recovery on all nodes
      updated docs from ronnie
      added two new ctdb commands:
      ensure the recovery daemon is not clagged up by vacuum calls
      ensure the main daemon doesn't use a blocking lock on the freelist
      this is not an error - it just means the record was busy
      nicer outut from repack and vacuum
      changed default vacuum limit
      increase version number
      forgot this file
      needs to be in Makefile.in too
      only match vacuum list if on the same database
      allow remote variable expansion in onnode, so you can use wildcards that expand on the remote nodes
      allow delete percentage to be specified on the command line
      a compromise for freelist scanning - we now will look for other than the first fit, but get exponentially more desperate as we get deeper into the freelist
      report the store rate in ctdb_randrec
      add a max runtime switch to ctdb tool
      tdb_freelist_size was reporting 1 more than correct size
      block alarm signals during critical sections of vacuum
      auto-run the vacuum and repack ops every 5 minutes by default
      increase version number
      exponential backoff in health monitoring for faster startup
      get rid of monitor_retry as well
      fixed the bug that caused tdbtorture to fail
      merge from ronnie
      minor fix to transaction_write_existing
      fixed a memory leak in the recovery daemon
      - catch a case where the client disconnects during a call
      update for release
      merge from ronnie
      added syslog support, and use a pipe to catch logging from child processes to the ctdbd logging functions
      the event scripts no longer need to show a date, as its done by the main ctdbd logging function
      The recovery daemon does not need to be a realtime task
      fixed two 64bit warnings
      update for release
      fixed handling of \r from stdout of subprocesses
      cope better with large debug dumps
      merge from ronnie
      more efficient freelist allocation
      merge from samba4
      merged 60.nfs changes from ronnie
      make ctdb dumpmemory work remotely, and dump the talloc
      fixed egrep pattern to use more compatible expression for spaces
      partial merge from ronnie
      added an ignore file
      useful for building with equivalent options to the spec file
      merge async recovery changes from Ronnie
      ignore some autogenerated test files
      update download instructions for new git tree
      update for release 1.0.25
      removed dependence on dprintf
      fixed a crash bug in the new transaction code
      added debug constants to allow for better mapping to syslog levels
      merge from ronnie
      nicer use of structures and use isalpha()
      fixed a problem with tdb growing after each recovery
      don't ship the .git directory in the srpm
      carefully step around the recovery area when doing a tdb_wipe_all. This prevents
      - accept an optional set of tdb_flags from clients on open a database,
      fixed permissions on configure.rpm
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      Merge commit 'sofs1/tridge'
      fixed realloc bug
      use git archive to create tarball
      need to specicy tree to git archive
      Merge commit 'ronnie-ctdb/master' into tridge
      Fix the chicken and egg problem with ctdb/samba and a registry smb.conf
      put the return in the right place
      zero out the ctdb->freeze_handle when we free it
      added option to start ctdb under valgrind
      CTDB_NO_MEMORY_VOID() needs to return on error
      fixed some incorrect CTDB_NO_MEMORY*() calls found after fixing the
      fixed a warning
      prevent valgrind errors where we print unitialised values on control errors
      don't use mmap in tdb if --nosetsched is set. That makes valgrind
      ensure pad bytes in the ltdb_header are initialised
      an extraordinarily ugly patch!
      fixed a case statement
      Merge commit 'ronnie/master'
      fixed up exit status for onnode
      fixed postun script to prevent corrupting RPM database
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      fixed a bug where we would look for a signal past the end of the
      fixed buffering in ctdb logging code to handle multiple lines
      allow for probing of directories without raising an error
      run the testparm commands in 50.samba in the background, only running
      - show pids during test
      - cleanup persistent db at start
      cleanup on SIGINT
      rename the structure we use for marshalling multiple records
      added a new persistent transaction test program
      added new multi-record transaction commit code
      added client side functions for new transaction code
      we don't need ctdb_ltdb_persistent_store() any more
      added marshalling helper functions
      new prototypes
      make sure we honor the TDB_NOSYNC flag from clients in the server
      renamed the pulldb structure to a ctdb_marshall_buffer
      cleanup of the old persistent db test
      fixed a warning
      fixed some warnings
      ensure we use killtcp on non-NFS/non-CIFS ports for faster failover of
      we need an additional gratuitous arp before the NFS tickles
      implemented replayable transactions in ctdb to prevent deadlock
      ensure we use killtcp on non-NFS/non-CIFS ports for faster failover of
      we need an additional gratuitous arp before the NFS tickles
      cover some corner cases where the persistent database could become
      fixed a looping error bug with the new transactions code
      Merge commit 'ronnie/1.0.53'
      return a more detailed error code from a trans2 commit error
      up release number
      save writing the same data twice
      imported failure handling from dbwrap_ctdb.c
      added a new control CTDB_CONTROL_TRANS2_COMMIT_RETRY so we can tell
      added retry handling in client
      fixed send of release IP message
      fixed a memory leak in the recovery daemon
      Merge commit 'ronnie/master'
      up release version
      fixed merge
      expanded ctdb_diagnostics based on recent experience
      merged a bugfix for the idtree code from the Linux kernel. This
      The author of the upstream code asked for this code to be GPLv2+ not GPLv3
      added some more gpfs commands per-filesystem
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      fixed problem with looping ctdb recoveries
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      Merge commit 'ronnie/master'
      change shutdown level for ctdb to be 01
      use less intrusive smbstatus call in periodic connections cleanup
      more subdir html support
      allow pages in subdirs
      added link to michaels sambaxp papers
      tdb: allow reads after prepare commit
      added some more speed tests to tdbtool
      tdb: fixed the intermittent failure of tdbtorture in the build farm
      fixed tdbbackup to give tdb error messages (cherry picked from samba commit 08be1420ba52ef9bba90d0f811c7810841ee8568)
      make tdbbackup use transactions
      added basic testing of tdb_transaction_prepare_commit() in tdbtorture (cherry picked from samba commit 84547b8dba3c0cf4e20b3c50d9386081d475df6b)
      tdb: detect tdb store of identical records and skip
      util: added TLIST_*() macros
      ctdb: move ctdb_io.c to use TLIST_*() macros
      ctdb: when we fill the client packet queue we need to drop the client
      ctdb: migrate to new dlinklist.h from Samba
      fixed printing of high latency
      tdb: use fdatasync() instead of fsync() in transactions
      python: use '#!/usr/bin/env python' to cope with varying install locations
      tdb: update tdb ABI to use hide_symbols=True
      tdb: added TDB_NO_FSYNC env variable

Arvid Requate (2):
      spoolss: accept XPS_PASS datatype used by Windows 8
      torture: test printing using "XPS_PASS" datatype

Atul Kulkarni (13):
      idmap_autorid: add path, and db parameters to idmap_autorid_db_init()
      idmap_autorid: extract common code to separate file
      idmap_autorid: move the checks from idmap_autorid_initialize to idmap_autorid_saveconfig()
      idmap_autorid: remove autorid_global_config member from autorid_range_config
      idmap_autorid: remove fstring keystr from autorid_range_config
      idmap_autorid: factor out domain range fetching part from idmap_autorid_get_domainrange()
      net: add new function net_idmap_opendb_autorid()
      net: add "net idmap set config" command to store the autorid global config
      net: add "net idmap get config" to read the autorid config from the database
      idmap_autorid: add space between two words in a debug message
      net: correct typos in net idmap delete ranges help message
      doc: update the net manpage for net idmap set, get and delete
      net: remove net idmap secret

Aurélien Aptel (38):
      initial commit of the new tarmode test script.
      test_smbclient_tarmode.pl: add proper argument parsing for configuration.
      test_smbclient_tarmode.pl: improve incremental test
      test_smbclient_tarmode.pl: add test for reset mode
      test_smbclient_tarmode.pl: add test for "newer than" (`N` flag)
      test_smbclient_tarmode.pl: refactored file related function to a File package
      test_smbclient_tarmode.pl: add nested dirs test
      test_smbclient_tarmode.pl: remove unused functions
      test_smbclient_tarmode.pl: add first extraction test
      test_smbclient_tarmode.pl: add option to choose and run a single test
      test_smbclient_tarmode.pl: add tests for X and I.
      test_smbclient_tarmode.pl: add extraction test for I and X.
      test_smbclient_tarmode.pl: add test for creation w/ filelist
      test_smbclient_tarmode.pl: add test for xF
      test_smbclient_tarmode.pl: add a clean option to erase the local path
      test_smbclient_tarmode.pl: add a first simple wildcard test
      test_smbclient_tarmode.pl: add tests for wildcard pattern (cI, cX, cF, xF).
      test_smbclient_tarmode.pl: refactor, cleanup and document in POD
      test_smbclient_tarmode.pl: make script work on older Perl (now only need 5.14)
      test_smbclient_tarmode.pl: disable failing tests for now
      test_smbclient_tarmode.pl: samba 3.6.9 can print a empty attribute string
      test_smbclient_tarmode.pl: add copyright header
      test_smbclient_tarmode.pl: cosmetic changes
      test_smbclient_tarmode.pl: sanitize input, use File::Temp instead of hardcoding temp dir
      test_smbclient_tarmode.pl: let --test run multiple tests
      test_smbclient_tarmode.pl: whitespace
      test_smbclient_tarmode.pl: test interactive command
      test_smbclient_tarmode.pl: add simple wildcard test
      test_smbclient_tarmode.pl: add large file and long path tests
      test_smbclient_tarmode.pl: test regex flag behaviour
      test_smbclient_tarmode.pl: add extraction regex tests, verbose flag
      test_smbclient_tarmode.pl: add test for interactive session
      test_smbclient_tarmode.pl: add subunit output flag
      test_smbclient_tarmode.pl: enable create with exclude tests
      test_smbclient_tarmode.pl: use -n flag for specifiying hostname (was ambiguous with help)
      test_smbclient_tarmode.pl: sanitize $DIR + whitespace
      test_smbclient_tarmode.pl: remove all ./ prefix when dealing with remote files
      test_smbclient_tarmode.pl: depend only on perl v5.10

Benjamin Franzke (10):
      s4:torture/cldap: Fix a typo
      provision: Fix string replacement ordering
      s4:cldap_server: Move netlogon parsing into utility function
      s4:dsdb/rootdse: Pass rootdse context to rootdse_add_dynamic
      s4:dsdb/rootdse: Support netlogon request
      s4:cldap_server: Do not handle netlogon ourself anymore
      s4:dsdb: Move cldap netlogon functions into samdb/ldb_modules
      libcli/cldap: Add utility to create netlogon filter
      s4:torture/ldap: Add test for netlogon over tcp
      s4:torture/netlogon: Test netlogon with additional attrs

Björn Baumbach (5):
      CVE-2013-4476: lib-util: add file_check_permissions()
      CVE-2013-4476: lib-util: split out file_save_mode() from file_save()
      CVE-2013-4476: samba-tool provision: create ${private_dir}/tls with mode 0700
      CVE-2013-4476: s4:libtls: Create tls private key file (key.pem) with mode 0600
      CVE-2013-4476: s4:libtls: check for safe permissions of tls private key file (key.pem)

Björn Jacke (3):
      tdb: Fix some typos in comments.
      doc/msdfs proxy: extend example for multi target config
      xattr: fix listing EAs on *BSD for non-root users

Brad Hards (1):
      Spelling fixes for tdb.

Brian Martin (1):
      samba_backup: fix bug, add command line parameter, improve error messages

Chandra Seetharaman (1):
      make changes to ctdb event scripts to support NFS-Ganesha.

Christian Ambach (19):
      Remove error messages about a non-existing /var/log/log.ctdb when running ctdb with logging to syslog
      improve time jump logging
      reduce vacuuming lognoise
      adjust a vacuum log level
      improve timing issue detections
      build: Create sudoers.d dir during make install
      lib/util: use proper include for struct stat
      s3:utils remove orphaned code
      lib/replace remove orphaned code
      s3:vfs fix a compile warning
      s3:pam_smbpass change includes
      s3:vfs_btrfs change includes
      lib/socket_wrapper fix compilation when libreplace is not around
      lib/ntdb fix compilation when libreplace is not around
      lib/ntdb correct includes in private header
      lib/ntdb optimize includes in ntdb tests
      lib/ntdb optimize includes in ntdb tools
      s3:lib/asys modify included headers
      s3:winbindd fix use of uninitialized variables

Christof Schmitt (10):
      s3:smb2_find: Return that timestamps do not exist as directories
      vfs: Fix parentheses in SMB_VFS_NEXT_DURABLE_COOKIE
      s3/time_audit: Add offline and durable functions
      winbind: Make centry_start static
      docs: Add winbindd to destination parameter in smbcontrol manpage
      s3-aio: Use correct locking context for SMB2
      s3: Return correct error code from SMB2 AIO read failure
      selftest: Introduce share for testing AIO
      selftest: Run smb2.lock tests also against AIO share
      selftest: Remove samba3.smb2.lock.*.rw-exclusive from flapping file

Daniel Liberman (1):
      Fix bug 10162 - POSIX ACL mapping failing when setting DENY ACE's from Windows.

David Disseldorp (54):
      web: use the new git repository url on the download page
      client: handle transient connection errors
      io: Make queue_io_read() safe for reentry
      client: add req timeout argument to ctdb_cmdline_client
      client: add timeout argument to ctdb_attach
      client: flag local node in ctdb -Y status output
      pmda: Initial ctdb pmda check-in
      pmda: Attempt reconnects while ctdbd is unavailable
      pmda: Pull ctdb statistics once per fetch
      pmda: Use CTDB_PATH macro for default socket path
      pmda: document in README how to add a new metric
      pmda: handle struct latency_counter and add num_recoveries
      pmda: Use upstream assigned PCP domain id
      Build: Set the default ctdb socket path at configure time
      pmda: handle new ctdb_statistics format
      selftest: change to src dir for panic backtrace
      param: disable print notify backchannel by default
      doc: add "spoolss: architecture" parameter usage
      smb2_ioctl: add support for FSCTL_SRV_COPYCHUNK_WRITE
      torture: add FSCTL_SRV_COPYCHUNK_WRITE access test
      test_smbclient_tarmode.pl: fix a few minor typos
      test_smbclient_tarmode.pl: remove unneccesary arg defaults
      vfstest: fix uninitialised variable usage in open
      Revert "s3-vfs: Fix stream_depot vfs module on btrfs."
      docs: remove ATM Machine terminology from smbcacls man page
      spoolss: return the spoolss job ID in notifications
      printing: always store sytem job-ID in queue state
      printing: return WERROR from print_access_check
      messaging: use local talloc ctx instead of talloc_tos
      loadparm: use lp_printername ctx param instead of tos
      printing: fix double space in debug statement
      printing: use DEBUG instead of sys_adminlog
      debug: remove unused sys_adminlog
      selftest/s3: expose share with FS applicable config
      selftest/s3: run smb2.ioctl against FS specific share
      torture: test dir non-inherit in compress_inherit_disable
      torture: attempt to set compression via SetInfo
      vfs: add [GET/SET]_COMPRESSION hooks
      smb2/ioctl: add support for FSCTL_[GET/SET]_COMPRESSION
      vfs_btrfs: add [GET/SET]_COMPRESSION handlers
      vfs_btrfs: fix copy-chunk dest unlock args
      vfs_btrfs: advertise per-file compression capability
      smbd: split out dos_mode debug print function
      s3-smbd: support FILE_ATTRIBUTE_COMPRESSED
      smbd/open: disable compression with FILE_NO_COMPRESSION
      torture: split open from test_setup_create_fill
      torture: test get/set compression ioctl permissions
      build: check linux/fs.h for compression flags
      replace: fix typo in variable name
      test: add fake_snap.pl for snapshot simulation
      torture: enum snapshots after FSRVP creation
      torture: test duplicate shares in FSRVP shadow-copy set
      torture: match Windows responses to bad shadow copy IDs
      s3/rpc_server: don't unmarshall PDUs twice

Evan Kinney (1):
      ctdb: Fixed use of reserved word "private" in typedefs

Garming Sam (1):
      cldap: quieten error when abandon packet is sent

Gregor Beck (29):
      ctdb catdb: fix escaping of '"' and '\'
      add ltdbtool - a standalone ltdb tool
      ltdbtool: add manpage
      ltdbtool: add manpage html + roff
      ltdbtool: ignore empty (deleted) records per default.
      ctdbd: refuse attaching with "persistent" to a non-persistent db and v.v.
      s3-net: do not use rpc_pipe_np_smb_conn()
      s3:lib/netapi: do not use rpc_pipe_np_smb_conn()
      s3-spoolss: do not use rpc_pipe_np_smb_conn()
      s3:rpc_client: remove unused rpc_pipe_np_smb_conn()
      cli_np_tstream: remove unused tstream_cli_np_get_cli_state()
      s3:libsmb: pass creation or birth time in cli_qpathinfo_basic()
      s3:libsmb: add function cli_qpathinfo_standard()
      s3:libsmb: add function cli_qpathinfo3()
      s3:libsmb: SMBC_getatr try pathinfo2 only once
      s3:libsmb: SMBC_getatr do not let ino undefined on success
      s3:libsmb: SMBC_getatr use pathinfo3 for second try
      client: remove a write only variable
      s3:libsmb: cli_qpathinfo3 use cli_qpathinfo2 for smb2
      client: use cli_qpathinfo3 for allinfo
      s3:libsmb: SMBC_getatr() if no method worked, try all methods again on next attempt
      s3:rpc_client: fix a leaked talloc_stackframe
      s3:rpcclient: fix a leaked talloc_stackframe in cmd_epmapper
      s3:rpc_server: rpc_create_tcpip_sockets() may leak talloc_stackframe on failure
      selftest: set valgrind options
      selftest: use MALLOC_CHECK_=3 to give a diagnostic on failure
      selftest: pass -l logdir to daemon processes.
      s3: use directory_create_or_exist_strict() to create corepath
      tevent: add tevent_queue_wait_send/recv()

Günther Deschner (110):
      tdb: fix c++ build warning.
      lib/tdb: fix c++ build warning in tdb_header_hash().
      docs: point out side-effects of global "valid users" setting.
      s3-rpc_server: fix typo in DEBUG statement.
      gensec: move schannel module to toplevel.
      gensec: remove duplicate gensec_security_by_authtype() call.
      gensec: check for NULL gensec_security in gensec_security_by_auth_type().
      s3-auth: also load schannel module from auth_generic_client_prepare().
      s3-rpc_cli: allow to pass down a netlogon CredentialState struct to gensec.
      s3-auth: register schannel gensec module in auth_generic_prepare() as well.
      s3-rpc_cli: use gensec for schannel bind.
      s3-rpc_srv: use gensec for schannel bind.
      s3-rpc: use gensec for schannel footer processing.
      s3-rpc_cli: remove unused schannel calls from dcerpc_helpers.c
      s3-rpc_cli: remove unused schannel calls from cli_pipe.c
      s3-rpc_srv: remove unused schannel calls from srv_pipe.c
      librpc/ndr: call ndr_table_list() from all ndr_X functions.
      librpc/ndr: make sure ndr_table_list() always calls ndr_init_table() first.
      s3-rpc: use table->name directly in DEBUG contexts.
      s3-rpc: use ndr_interface_name() instead of get_pipe_name_from_syntax() in DEBUG.
      librpc: add dcerpc_default_transport_endpoint() function.
      s3-rpc: use dcerpc_default_transport_endpoint function.
      s3-rpc: remove unused source3/librpc/rpc/rpc_common.c
      lib/util: remove unused (and not even compiled) lib/util/capability.c.
      libndr: Avoid ommitting display of unset bitmap flags.
      s3-libnetjoin: Fix Bug #10262: use upper-case realm when composing default upn.
      s3-winbindd: Fix #10264, cache_traverse_validate_fn failure for NDR cache entries.
      docs: remove duplicate word "the" in idmap_ad manpage.
      docs: remove duplicate word "name" in nmblookup manpage.
      docs: remove duplicate word "name" in nmblookup4 manpage.
      docs: remove duplicate arguments listing in regdiff manpage.
      docs: remove duplicate word "the" in winbindd manpage.
      docs: remove duplicate mention of "smbtorture" in smbtorture manpage.
      docs: remove duplicate mention of "ntdbtool" in ntdbtool manpage.
      docs: remove duplicate mention of "smbta-util" in smbta-util manpage.
      docs: remove duplicate word "trust" from net manpage.
      docs: remove duplicate word "the" from net manpage.
      docs: mention more options in winbindd manpage.
      docs: mention --no-process-group in winbindd manpage.
      docs: mention --dc-info in wbinfo manpage.
      docs: mention --krb5ccname option in wbinfo manpage.
      docs: mention logoff options in wbinfo manpage.
      docs: mention --lookup-sids in wbinfo manpage.
      docs: mention --pam-logon in wbinfo manpage.
      docs: mention --remove-gid-mapping/--remove-uid-mapping in wbinfo manpage.
      docs: mention --set-gid-mapping/--set-uid-mapping in wbinfo manpage.
      docs: mention --sequence in wbinfo manpage.
      docs: mention --sids-to-unix-ids in wbinfo manpage.
      docs: remove unsupported options from nmbd manpage.
      docs: mention --daemon in nmbd manpage.
      docs: mention --foreground in nmbd manpage.
      docs: mention --hosts in nmbd manpage.
      docs: mention --interactive in nmbd manpage.
      docs: mention --log-stdout in nmbd manpage.
      docs: mention --no-process-group in nmbd manpage.
      docs: mention --port in nmbd manpage.
      docs: remove unsupported options from smbd manpage.
      docs: mention many more options in smbd options.
      docs: mention --numeric in smbstatus manpage.
      docs: mention -R|--profile-rates in smbstatus manpage.
      docs: mention -S|--setsddl in sharesec manpage.
      docs: mention -V|--viewsddl in sharesec manpage.
      docs: mention -p in dbwrap-tool manpage.
      docs: bring samba entity popt.common.credentials in line with popt_common_credentials.
      docs: remove now duplicate mention for 4 credential options in samba-regedit manpage.
      docs: add missing &popt.common.samba entity to smbcontrol manpage.
      docs: add missing &popt.common.connection entity to smbcacls manpage.
      docs: remove more duplicate options from samba-regedit manpage.
      docs: add new popt.autohelp entity.
      docs: mention --change-sid|--new-sid in profiles manpage.
      docs: use popt.samba.common entity in profiles manpage.
      docs: use popt.autohelp in smbtree manpage.
      docs: mention --update and --encrypt in smbget manpage.
      docs: mention more long option names in smbcquotas manpage.
      docs: mention -B|--browse to smbclient manpage.
      docs: better document -e|--encrypt option globally.
      docs: use popt.autohelp and remove duplicate -e option from smbclient manpage.
      docs: remove unsupported -h option from smbcacls manpage.
      docs: use popt.autohelp entity in smbcacls manpage.
      docs: remove duplicate -e option from smbcacls manpage.
      docs: mention --query-security-info|--set-security-info in smbcacls manpage.
      docs: mention --sddl and --domain-sid in smbcacls manpage.
      docs: remove unsupported -h option and use popt.autohelp entity in rpcclient manpage.
      docs: document all long option names in nmblookup manpage.
      docs: use popt.autohelp entity in dbwrap-tools manpage.
      docs: fix testparm manpage.
      docs: use &popt.autohelp entity in pdbedit manpage.
      docs: fix smbcontrol manpage.
      docs: fix ntlm_auth manpage.
      docs: use popt.autohelp entity in nmbd manpage.
      docs: use popt.autohelp entity in winbindd manpage.
      docs: use popt.autohelp entity in smbd manpage.
      docs: use popt.autohelp entity in samba.8 manpage.
      docs: mention more options in net manpage.
      docs: add net rpc vampire specific options in net manpage.
      docs: add net idmap specific options in net manpage.
      docs: add net rpc share migrate specific options in net manpage.
      docs: add net groupmap set specific options in net manpage.
      docs: add net rpc registry check specific options in net manpage.
      docs: add net registry import specific options in net manpage.
      docs: document remaining undocumented options in net manpage.
      docs: remove duplicate "a" from vfs_cacheprime manpage.
      docs: remove duplicate "the" from smb.conf manpage.
      docs: remove duplicate "to" from smb.conf manpage.
      docs: remove duplicate "not" from smb.conf manpage.
      docs: remove duplicate "or" from smb.conf manpage.
      docs: remove duplicate "on" from smb.conf manpage.
      docs: remove duplicate "must" from smb.conf manpage.
      docs: remove duplicate "line" from smb.conf manpage.
      docs: remove duplicate "used" from smb.conf manpage.

Hans Leidekker (3):
      Add NetWkstaGetInfo.
      svcctl: Fix IDL for svcctl_OpenServiceA().
      netapi: Add support for info level 502 in NetShareAdd.

Harald Klatte (1):
      AIX bind wants the correct addrsize

Holger Hetterich (1):
      Added a simple tdb integrity check to tdbtool. The command "check" runs traverse on the currently open tdb, and returns the number of entries if the integrity check is successful. (cherry picked from samba commit 42366bcbbdd42bb9d5821dfcc9dbe71a1eafa330)

Howard Chu (16):
      Fix OpenLDAP partition configs
      Cleanup map return codes
      Add an OpenLDAP-specific extended_dn_in module
      Give slapd a second to startup
      Prepare for SASL/EXTERNAL support
      Add SASL/EXTERNAL gensec module
      Use SASL/EXTERNAL over ldapi://
      OpenLDAP provisioning tweaks
      Fix SEGV from improperly formed SUBSTRING/PRESENCE filter
      s4:torture:ldap: Fix misleading output
      Cleanup start/stop code
      Return a couple more attrs by default
      Add LDB_MAP_RENDROP option
      Drop paged-search from OpenLDAP stack
      Fix entryCSN format
      Fix DN RDN case in partition names

Jan Brummer (1):
      s3-winbindd: Fix DEBUG statement in winbind_msg_offline().

Jeff Layton (1):
      asn1: fix use-after-free in asn1_write

Jelmer Vernooij (17):
      tdb: Add simple reimplementation of tdbdump in Python as an example of the tdb Python bindings. (This used to be commit 47d797f7885b1e7bcff724496ecb1990e8440eea) (cherry picked from samba commit 6bdd1425b75c8931965f0e5627f5a63dc6820a7c)
      Implement missing functions in pytdb. (cherry picked from samba commit 2da551bbcc6cab296769c193b0b82aaa6256cece)
      Make sure to not close tdb database more than once. (cherry picked from samba commit 6fe6983e4c960abc69d5fa80cbef534ae515209a)
      subunit: Support formatting compatible with upstream subunit, for consistency.
      pytdb: Make filename argument optional.
      pytdb: Include Python.h first to prevent warning.
      pytdb: Add __version__ attribute.
      Release ntdb 1.0.
      Add a basic guide on pytalloc.
      Remove no longer used asn1_deps.pl.
      Remove no longer used et_deps.pl.
      Use heim_octet_string typedef.
      Cope with first element in hdb_method having a different name in different heimdal versions.
      tdb tests: Remove custom code for "tdb2", which has been split out into ntdb.
      pyntdb: Don't allow access after a database is closed.
      pyntdb: Don't segfault when passing in None as filename (for memory db)
      pyntdb: Add tests for Python API.

Jeremy Allison (28):
      Add define guards around otherwise unused variable. Jeremy. (cherry picked from samba commit 4fc9f9c3f943cdeb27e37f0ee068cdd0da7cb00c)
      Remove unecessary msync. Jeremy. (cherry picked from samba commit 0bae1ef3de8fda5e1e2d641b14a408e627396912) (This used to be commit db2acaf46fdc38078b6b28b68909e289f6c9e0ec) (cherry picked from samba commit a1cf3ad5d655cf5a847df6d6299b3af1a30ec1e3)
      Fix is_legal_name() to not emit character conversion error messages.
      s3: libsmb : The short name length is only a one byte field.
      s3: libsmb SMB2 wrapper layer. cli_smb2_get_ea_list_path() failed to close file on exit.
      s3: libsmb : Bug 10150 - Not all OEM servers support the ALTNAME info level.
      s3: libsmb - 10150 - Not all OEM servers support the ALTNAME info level.
      Remove dead code. Now we have no SWAT we don't use the invalid_services array or associated counter.
      Fix bug #10187 - Missing talloc_free can leak stackframe in error path.
      Fix bug 10196 - RW Deny for a specific user is not overriding RW Allow for a group.
      Fix bug 10196 - RW Deny for a specific user is not overriding RW Allow for a group.
      Fix comment showing how to print an ACL to allow debug.
      smbd: Invalidate the session correctly.
      Fix bug #10229 - No access check verification on stream files.
      Add regression test for bug #10229 - No access check verification on stream files.
      s3-smbd: smbclient shows no error if deleting a directory with del failed
      s3-lib: smbclient shows no error if deleting a directory with del failed
      s3-client: smbclient shows no error if deleting a directory with del failed
      Rename the profile enums with a SAMBA_ prefix to avoid conflict with system files.
      smbd - allow updates on directory write times on open handles.
      smbtorture: New torture test for bug #9870.
      ldb: bad if test in ldb_comparison_fold()
      CVE-2013-4408:s3:Ensure we always check call_id when validating an RPC reply.
      CVE-2013-4408:s3:Ensure LookupSids replies arrays are range checked.
      CVE-2013-4408:s3:Ensure LookupNames replies arrays are range checked.
      CVE-2013-4408:s3:Ensure LookupRids() replies arrays are range checked.
      smbd: change flag name from UCF_CREATING_FILE to UCF_PREP_CREATEFILE
      smbd: Always use UCF_PREP_CREATEFILE for filename_convert calls to resolve a path for open.

Jeroen Dekkers (1):
      ldb: Do not build libldb-cmdline when using system ldb.

Karolin Seeger (2):
      docs: Fix typos.
      docs: Fix typos in vfs_shadow_copy2.8.xml.

Kirill Smelkov (14):
      tdb: kill last bits from swig
      tdb: fix typo in python's Tdb.get() docstring
      tdb: reset tdb->fd to -1 in tdb_close()
      tdb: add tests for double .close() in pytdb
      tdb: update README a bit
      pytdb: Add support for tdb_add_flags() & tdb_remove_flags()
      pytdb: Fix repr segfault for internal db
      pytdb: Update open flags to match those for tdb_open() in tdb.h
      pytdb: Add support for tdb_enable_seqnum, tdb_get_seqnum and tdb_increment_seqnum_nonblock
      pytdb: Add support for tdb_transaction_prepare_commit()
      pytdb: Add support for tdb_freelist_size()
      pytdb: Add TDB_INCOMPATIBLE_HASH open flag
      pytdb: Add support for tdb_repack()
      pytdb: Check errors after PyObject_New() calls

Korobkin (1):
      Raise the level of a debug.

Luk Claes (6):
      doc/ctdb.1.xml: Fix typo
      doc: regenerate ctdb docs
      doc/ctdb.1.xml: update listvars documentation
      s3/libsmb: Use smbXcli_conn_use_unicode instead of smb1 specific test
      libcli/smb: Introduce smbXcli_conn_dfs_supported
      s3/libsmb: Use smbXcli_conn_dfs_supported instead of test on CAP_DFS

Martin Schwenke (1147):
      Complete rewrite of tools/onnode.  Remove old tools/onnode.ssh,
      Update Makefile.in for new version of onnode.
      When in verbose mode with -p, each line is prefixed with the node
      Merge commit 'origin/master' into martins
      Complete rewrite of tools/onnode.  Remove old tools/onnode.ssh,
      Update Makefile.in for new version of onnode.
      When in verbose mode with -p, each line is prefixed with the node
      Yip yip yip!
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Merge commit 'origin/master' into martins
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Signed-off-by: Martin Schwenke <martin at meltin.net>
      Merge commit 'origin/master' into martins
      Minor documentation fixes.
      Changes to onnode.  Add "healthy" and "connected" as possible
      Minor documentation fixes.
      Merge commit 'origin/master' into for-ronnie
      Changes to onnode.  Add "healthy" and "connected" as possible
      onnode changes.  "ok" is an alias for "healthy", "con" is an alias for
      Document the new descriptive node specifications.
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into for-ronnie
      onnode changes.  "ok" is an alias for "healthy", "con" is an alias for
      Document the new descriptive node specifications.
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into martins
      Merge branch 'master' into martins
      Add some simple tests that can be run from within the tree.
      Merge commit 'origin/master' into martins
      Move tests/*.c to tests/src/*.c and adjust Makefile.in accordingly.
      Incorporate temporary patch from Ronnie that adds --nopublicipcheck
      New test 09_ctdb_ping.sh.  Add documentation and command-line
      4 new tests.  Marked more ctdbd.sh tests as done - will remove this
      4 new tests.  Hacked function node_has_status to support
      $PATH only inludes $CTDB_DIR/bin if we're using local sockets.  Rename
      ctdb_test_init now contains a trap to force ctdb_test_exit to be run
      Merge commit 'origin/master' into martins
      New test for getmonmode.  Overload node_has_status some more to
      When running with local daemons, provided there is more than 2 of
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into martins
      Added use of $ctdb_test_exit_hook to function ctdb_test_exit.  Removed
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into martins
      Merge commit 'origin/master' into martins
      With local daemons the sockets are now numbered starting from 0.  Fix
      Add message about restart to 18_ctdb_freeze.sh.
      Merge commit 'origin/master' into martins
      Rename $CTDB_NUM_NODES to $CTDB_TEST_NUM_DAEMONS and only set it if
      Add a recovery to ctdb_test_exit to improve test stability.
      3 new tests.  24_ctdb_getdbmap.sh is only 1/2 implemented but does
      Merge commit 'origin/master' into martins
      Finish 24_ctdb_getdbmap.sh.  New test 25_dumpmemory.sh.
      New test 26_ctdb_config_check_error_on_unreachable_ctdb.sh.
      Merge commit 'origin/master' into martins
      ctdb_test_env now sets $CTDB_TIMEOUT.  Fixed
      Bug fixes for ctdb_bench from Ronnie.
      Remove bench.sh test and replace with new test 51_ctdb_bench.sh.
      Remove old ctdbd.sh test script.  Remove unneeded nodes.txt and
      Delete some unstructured tests ({fetch,peristent,transaction}.sh) and
      Merge commit 'origin/master' into martins
      Add tests/README.  ctdb_test_env and, therefore, run_tests can now be
      Test binaries now go in tests/bin and ctdb_test_env now adds this
      For now, make tests/run_tests.sh runs the new test suite.  Add
      Use $CTDB_TEST_WRAPPER in 51_ctdb_bench.sh.
      Use $CTDB_TEST_WRAPPER in other tests that need it.
      Remove the sorts from 06_ctdb_getpid.sh - the PIDs should be listed in
      Git should ignore the test_trigger event script.
      Merge commit 'origin/master' into martins
      23_ctdb_moveip.sh sanity checks the list of IPs/nodes instead of
      Make message in 62_ctdb_persistent_unsafe.sh more informative.
      41.httpd event script workaround for RHEL5-ism.
      Use ctdb_fetch_lock rather than ctdb_call.
      New option "-o <prefix>" saves stdout from each node to file <prefix>.<ip>.
      New lvs/lvsmaster and natgw/natgwlist nodespecs for onnode.
      Updated onnode docs to reflect recent changes.
      Fix lvsmaster and natgwlist nodespecs.
      Bug fixes for tests: simple/12_ctdb_getdebug.sh and scripts/test_wrap.
      Avoid floating point divide by 0 in ctdb_fetch.c's bench_fetch().
      In 51_ctdb_bench.sh now allows a 2% difference between positive and
      Initscript fixes, mostly for "stop" action.
      Fix minor problem in previous initscript commit.
      Initscript cleanups.
      Merge commit 'origin/master'
      Merge branch 'init_rewrite'
      Make 51_ctdb_bench.sh more tolerant.
      Increase threshold in 51_ctdb_bench from 2% to 5%.
      New tests for NFS and CIFS tickles.
      Merge branch 'new_tests'
      Merge commit 'origin/master'
      Increase threshold in 51_ctdb_bench from 2% to 5%.
      New tests for NFS and CIFS tickles.
      Clean up handling the of CTDB restarts in testcases.
      Fix minor onnode bugs relating to local daemons.
      Fix minor onnode bugs relating to local daemons.
      Clean up handling the of CTDB restarts in testcases.
      Initscript fixes, mostly for "stop" action.
      Fix minor problem in previous initscript commit.
      Separate test cleanup code in output and clean up ctdb restart code.
      Fix the run_tests script so that the number of columns is never 0.
      Add an extra ctdb recovery to test function restart_ctdb().
      Updates to TCP tickle tests and supporting functions.
      New tests for different aspects of failover.
      When testing make the time taken for some operations more obvious.
      Make ctdbd restarts in tests more reliable.
      Test suite: better debug info when the cluster is unexpectedly unhealthy.
      Separate test cleanup code in output and clean up ctdb restart code.
      Fix the run_tests script so that the number of columns is never 0.
      Add an extra ctdb recovery to test function restart_ctdb().
      Updates to TCP tickle tests and supporting functions.
      New tests for different aspects of failover.
      When testing make the time taken for some operations more obvious.
      Make ctdbd restarts in tests more reliable.
      Test suite: better debug info when the cluster is unexpectedly unhealthy.
      Test suite: new tests and code factoring.
      Merge commit 'origin/master' into ronnie_merge
      Merge branch 'ronnie_merge'
      Test suite: Fix debug code for unexpectedly unhealthy cluster.
      onnode: update tests for healthy and connected to cope with new stopped bit.
      Merge commit 'origin/master'
      Test suite: Fixes for node state parsing plus new stop/continue tests.
      Test suite: fix the test suite's generic event script.
      Test suite: fix test file permissions in complex/44_failover_nfs_oneway.sh.
      Test suite: Turn off strict host key checking in the SSH failover test.
      Test suite: Ask CTDB about CIFS tickles registered for the actual test node.
      Test suite: complex/31_nfs_tickle.sh should use NFS_TICKLE_SHARED_DIRECTORY.
      Test suite: Better diagnostics for recent change to complex/31_nfs_tickle.sh.
      Test suite: Retrieval NFS_TICKLE_SHARED_DIRECTORY more defensively.
      Merge commit 'origin/master'
      Merge commit 'origin/master'
      Test suite: ctdb_persistent.c needs to use transactions.
      Merge commit 'origin/master'
      Test suite: Fix debug code for unexpectedly unhealthy cluster.
      Merge commit 'origin/master'
      Test suite: fix minor typo in complex/32_cifs_tickle.sh
      Merge commit 'origin/master'
      onnode: add "any" nodespec to select any node with running CTDB.
      Document onnode "onnode any".
      Merge commit 'origin/master'
      Test suite: Rework the cluster (re)start code.
      Test suite: wait_until_node_has_status() now uses "onnode any".
      Test suite: Update "complex" tests for wait_until_node_has_status() change.
      Test suite: Print debug info on node status timeouts.
      Merge commit 'origin/master'
      Merge commit 'origin/master'
      40.vsftpd monitor event only fails after 2 failures to connect to port 21.
      Minor fixes to 01.reclock eventscript.
      Test suite: The ctdb ping test should allow time to go backwards.
      Document CTDB_NODES_FILE environment variable used by onnode.
      Merge commit 'origin/master'
      40.vsftpd: reset the fail counter in the "recovered" event.
      Clean up ctdb_check_directories* eventscript functions.
      New onnode options: -f to specify nodes file, -n to allow use of hostnames.
      Merge commit 'origin/master' into onnode_options
      initscript: when stopping on Red Hat use the success/failure functions.
      Merge commit 'origin/master'
      Merge branch 'onnode_options'
      Merge commit 'origin/master'
      Test suite: add -x option to ctdb_init() function.
      Test suite: Fix bug in node_has_status().
      Test suite: Update 99_ctdb_uninstall_eventscript.sh to use ctdb_init().
      Test suite: New tests for validating SKIP_SHARE_CHECK options.
      Merge commit 'origin/master'
      Test suite: A timeout of MonitorInterval seconds sometimes isn't enough.
      Test suite: Fix the timeouts on the skip share check tests.
      Test suite: Remove the disable/enable monitor tests - they are useless.
      Merge commit 'origin/master'
      Document onnode -n and -f options.
      Merge commit 'origin/master'
      Test suite: Regression fix - wait_until should not run command in sub-shell.
      Merge commit 'origin/master'
      Test suite: Fix the NFS and CIFS tickle tests.
      Eventscripts: Untested factorisations and introduction of status event.
      Test suite: Make the CIFS tickle test wait until it sees the required tickle.
      More untested eventscript factorisation.
      Now vaguely tested initscript updates.
      More eventscript cleanups.  Initial smoke testing seems OK.
      Merge commit 'origin/status-test' into status-test
      More eventscript cleanups.  Initial smoke testing seems OK.
      Event scripts: Respect CTDB_MANAGES_NFS and add function log_status_cat.
      Event scripts: use $script_name rather than $service name for status.
      Merge commit 'martins-svart/status-test-2' into status-test
      Add flag to ctdb_event_script_callback indicating when called by client.
      Merge commit 'martins-svart/status-test-2' into status-test
      Event script infrastructure: add reload event to check_options().
      Merge commit 'martins-svart/status-test-2' into status-test
      Event scripts: functions file now intercepts status and setstatus.
      Eventscript argument cleanups and introduction of ctdb_standard_event_handler.
      Eventscripts: Remove executable bit accidently set on some scripts.
      Eventscripts: Fix syntax error in 00.ctdb.
      Merge branch 'status-test-2'
      Test suite: allow settign of timeout triggers for all events not just monitor.
      Test suite: Add an optimisation in the getvar test.
      Merge commit 'origin/master'
      Merge commit 'origin/master'
      Revert "events/50.samba: only use wbinfo --ping-dc if available"
      Revert "Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state."
      New version 1.0.112.
      onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
      onnode: update algorithm for finding nodes file.
      onnode - respect $CTDB_BASE rather than hard-coding /etc/ctdb.
      onnode: update algorithm for finding nodes file.
      initscript: handle spaces in option values inserted into $CTDB_OPTIONS.
      initscript: handle spaces in option values inserted into $CTDB_OPTIONS.
      Merge commit 'origin/master'
      initscript: Remove bash-ism.
      eventscript: Use of $NFS_TICKLE_SHARED_DIRECTORY must be after loadconfig.
      eventscripts: stop loadconfig function from loading ctdb config file twice.
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      onnode documentation - update documentation to reflect recent onnode changes.
      Merge commit 'origin/master'
      Test suite: Make "ctdb ip" test backward compatible with older ctdb versions.
      Test suite: Make "ctdb ip" test backward compatible with older ctdb versions.
      Merge commit 'origin/master'
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      Fix a thinko in 2ea0a9f1a93781a0d036feb9fcc0d120b182922f.
      Test suite: handle change to disconnected node error message.
      Test suite: handle extra lines in statistics output.
      Optimise 61.nfstickle to write the tickles more efficiently.
      Testing: Add Python IP allocation simulation.
      Test suite: handle change to disconnected node error message.
      Test suite: handle extra lines in statistics output.
      Optimise 61.nfstickle to write the tickles more efficiently.
      Testing: Add Python IP allocation simulation.
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      Testing: Add imbalance information to IP allocation simulation.
      Testing: In IP allocation simulation count total number of events.
      Testing: IP allocation simulation prints final imbalance in statistics.
      Testing: IP allocation simulation - save some warnings for verbose mode.
      Testing: IP allocation simulation - add command line option for random seed.
      Testing: IP allocation simulation - update copyright message.
      Testing: IP allocation simulation - Tweak options handling and Cluster.diff().
      Testing: IP allocation simulation - fix nondeterminism in do_something_random().
      Testing: IP allocation simulation - Update README.
      Testing: IP allocation simulation - update options processing in examples.
      Testing: IP allocation simulation - add general node group example.
      Testing: IP allocation simulation - rename an example to node_group_simple.py.
      Testing: IP allocation simulation - rename an example to node_group_extra.py.
      Testing: IP allocation simulation - make usage/failure more obvious.
      Testing: IP allocation simulation - improve help for options.
      Testing: IP allocation simulation - print maximum number of unhealthy nodes.
      Testing: IP allocation simulation - clean up usage message.
      Testing: IP allocation simulation - add option to change odds of a failure.
      Test suite - try to make addip test more reliable and add some debugging.
      Merge remote branch 'martins/master'
      Test suite - fix addip test.
      Test suite: remove thaw/freeze tests.
      Test suite - make the ctdb_fetch test cope with "Reqid wrap!" messages.
      initscript: wait until we can ping ctdbd before setting tunables.
      Test suite: weaken ctdb continue/enable tests for non-deterministic IPs.
      Test suite: Fix typo in continue test.
      Test suite: remove unnecessary verbosity from enable/continue tests.
      Add some command-line options to ctdb_diagnostics.
      Test suite: make addip test use $CTDB rather than ctdb in debug code.
      Test suite: improve wait_until_node_has_status()
      Test suite: use $CTDB rather than ctdb everywhere in ctdb_test_functions.sh.
      Test suite: strengthen function _cluster_is_healthy().
      Test suite: print date/time at test completion.
      Test suite: Add more timestamping of debugging information.
      Test suite: loosen the getmonmode test.
      Move NAT gateway firewall rules to recovered|updatenatgw events.
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      Merge branch 'master' of git://git.samba.org/sahlberg/ctdb
      Test suite: in the test eventscript, run "ctdb" not "$CTDB".
      NFS tickles: use addtickle/deltickle instead of shared tickle directory.
      Test suite: NFS tickle test uses gettickles if events.d/61.nfstickle missing.
      Test suite: Fix typos in NFS tickle test.
      Test suite: Tweak NFS tickle test.
      Test suite: Fix NFS tickle test.
      Test suite: Make NFS tickle test more flexible.
      Test suite: make statistics test cope with changes to statistics output.
      Test suite: match changed output for ctdb ping to disconnected node.
      Test suite: fix typo in ctdb ping test grep pattern.
      60.nfs only fails or warns after 10 consecutive nfsd/statd failures.
      Make a time comparison in 60.nfs eventscript more readable.
      Eventscripts: make loadconfig() function hookable by the test suite.
      50.samba eventscript should stop/start services when they become (un)managed.
      Eventscript functions - catch failures in ctdb_service_start().
      60.nfs eventscript should do nothing if NFS isn't managed by CTDB.
      Eventscripts: work around NFS restart failure under load.
      Eventscripts: print a message when reconfiguring a service.
      Eventscripts: only autostart during a monitor event.
      Eventscripts: use "startstop_nfs restart" to reconfigure NFS.
      Eventscripts: lower the fail/restart limits for nfsd.
      onnode - Fix long standing bug in onnode healthy/ok/connected/con.
      onnode: Be defensive when listing IPs of nodes with designated status.
      onnode: Exit with error for unknown command-line flags.
      onnode: Future-proof get_nodes_with_status().
      onnode: Remove an unnecessary comment.
      onnode: fix get_nodes_with_status()
      onnode: fix natgwlist nodespec
      IP allocation - add LCP2 algorithm.
      Tests: Initial test code for LCP2 IP allocation algorithm.
      IP allocation simulation - add debug output using -vv.
      IP reallocation simulation - remove --hack option.
      IP allocation simulation - remove unused function find_least_loaded_node().
      IP allocation simulation - options.exit is boolean, so don't compare with 0.
      IP allocation simulation - add LCP2 algorithm.
      IP allocation simulation - add -H/-S options for hard/soft imbalance limit.
      IP allocation simulation - add analysis of IP groups.
      IP allocation simulation - add LCP2 imbalance metric to node state output.
      IP allocation simulation - add -A/--aggressive option.
      IP allocation simulation - add mean imbalance statistics.
      IP allocation simulation - fix documentation for diff() function.
      IP allocation simulation - tighten up termination condition for -x.
      IP allocation simulation - add examples.
      IP allocation simulation - make stats label for LCP2 imbalance more meaningful.
      IP allocation simulation - make stats label for LCP2 imbalance more meaningful.
      IP allocation simulation - Pad IPv4 addresses in LCP2 algorithm.
      Eventscripts - 10.interfaces should not check orphaned interfaces.
      ctdb natgwlist should return non-zero when there is no natgw.
      Test suite: add a -d option to the run_tests script.
      Tests: change output format of run_tests script and add -q option
      Tests: add initial onnode tests
      Tests: onnode tests changed to use a simple define_test() function.
      Tests: run_tests script no longer prints filename in summary descriptions.
      Tests: eventscripts and onnode tests use stubs/ subdirectory instead of bin/.
      Test suite: add time logging.
      Test suite: make time logging only happen on a real cluster, not local daemons.
      Test suite: CTDB_NFS_SKIP_SHARE_CHECK test now uses _loadconfig().
      Test suite: CTDB_SAMBA_SKIP_SHARE_CHECK test now uses _loadconfig().
      Test suite: make time log use seconds since epoch.
      Test suite: add automated checking of time logs.
      Test suite: add more debug to time jump post mortem.
      Test suite:  Add debug for cluster (un)healthy flip-flop after restart.
      Test suite: Print debug info from cluster nodes when time jumps occur.
      Test suite: when the cluster flip-flops (un)healthy, using "ctdb status -Y".
      Set $CTDB_VARDIR in the functions file.
      Eventscript functions: add $CTDB_ETCDIR and hook service() functions.
      Make Emacs recognise that the eventscript functions file is a shell script.
      Eventscripts: iptables() should put lock in $CTDB_VARDIR.
      Eventscripts: remove ctdb_wait_command() and ctdb_wait_tcp_ports() functions.
      Eventscripts: new functions set_proc() and get_proc().
      Eventscripts: remove unnecessary absolute paths from external commands.
      Eventscripts: use set_proc() in startstop_nfs().
      Eventscripts: update 10.interface to use set_proc() and get_proc().
      Eventscripts: update 60.nfs service() start to use set_proc().
      Eventscripts - Rework the use of get_proc() for the bonding checks.
      Eventscripts - remove some more absolute paths to commands.
      Eventscript functions - use $CTDB_VARDIR instead of local $ctdb_spool_dir.
      Merge remote-tracking branch 'origin/master' into eventscripts_relative
      Tests: initial eventscript unit tests.
      Git should ignore tests/eventscripts/var.x
      Tests: Oops!  Add bin directory for eventscript tests.
      Tests: tweak some samba tests to cope with debug from ctdb_check_tcp_ports().
      Tests: eventscripts and onnode tests use stubs/ subdirectory instead of bin/.
      Tests: update tests to work with previous commit.
      Eventscripts: source a file specified by $CTDB_RC_LOCAL in functions file.
      Tests - stub ip program should assume interface name if "dev" not specified.
      Tests - implement "ctdb -Y ip -v" in stub for eventscript testing.
      Eventscripts - Remove local variable usage in 10.interfaces.
      Scripts: remove absolute paths from interface_modify.sh.
      Scripts: remove absolute paths from interface_modify.sh.
      Tests - Tweak 10.interfaces 802.ad bonding test to work with current code.
      Tests - Disable the Samba and NFS eventscript tests.
      Test suite: Try much harder to get a healthy cluster when it is restarted.
      Test suite: remove getmonmode test.
      Test suite: Strip architecture suffix from CTDB RPM package version.
      Test suite: Fix consistency in 09_ctdb_ping.sh.
      Test suite: Fix consistency in 26_ctdb_config_check_error_on_unreachable.
      Allow proxy_node to be specified for wait_until_node_has_status().
      Test suite: print debug output after cluster (un)healthy flip-flop on restart.
      Merge branch 'eventscript_tests' into ronnie_target
      Merge branch 'test_suite' into ronnie_target
      Eventscript functions: new functions to remember/check if service managed.
      Eventscript functions: new function ctdb_setup_service_state_dir().
      Add a README to the config/ subdirectory.
      Scripts: add note about not using absolute command paths to README.
      00.ctdb eventscript removes all files from $ctdb_active_dir.
      Eventscripts: 00.ctdb uses $service_state_dir, neaten update_config_from_tdb().
      Eventscripts: fix dangerous rm -rf in 00.ctdb init event.
      Evenscripts: update 20.multipathd to use ctdb_setup_service_state_dir.
      Evenscripts: update 13.per_ip_routing to use ctdb_setup_service_state_dir.
      Evenscripts: update 61.cnfs to use ctdb_setup_service_state_dir.
      Merge branch 'eventscript.13.per_ip_routing' into eventscript.62.cnfs
      Merge branch 'eventscript.62.cnfs' into eventscript.20.multipathd
      Merge branch 'eventscript.20.multipathd' into eventscript.00.ctdb
      Eventscripts - fix 10.interface bash incompatibility.
      50.samba eventscript should stop/start services when they become (un)managed.
      50.samba eventscript should use is_ctdb_managed_service "samba".
      50.samba eventscript should use is_ctdb_managed_service "winbind".
      Eventscript functions - optimise is_ctdb_managed_service().
      Eventscript functions: add optional event name argument to fail count functions.
      Eventscript function: change service_start into a function.
      Eventscript functions: move flagging of managed services.
      Eventscripts: rejig the reconfigure infrastructure.
      Evenscripts: update 41.httpd to use ctdb_service_check_reconfigure.
      Evenscripts: update 40.vsftpd to use ctdb_service_check_reconfigure.
      Evenscripts: update 60.nfs to use ctdb_setup_service_state_dir.
      Evenscripts: update 60.nfs to use ctdb_service_check_reconfigure.
      Eventscripts: make 50.samba use $service_state_dir.
      Eventscript functions: ctdb_service_check-reconfigure() acts only on monitor.
      Eventscript functions: fix counter regression.
      Eventscripts: improve log messages in ctdb_start_stop_service().
      Eventscripts: fix typo in _ctdb_counter_common().
      Eventscripts: startstop_nfs stop no longer redirects output to /dev/null.
      Eventscripts: remove unused remove_ip() function.
      Eventscript functions: new function ctdb_check_counter().
      Eventscripts: improvements to 41.httpd.
      Eventscripts: 40.vsftpd service_stop() no longer /dev/null's output.
      Eventscripts: 50.samba needs null service_reconfigure() function.
      Eventscripts: 50.samba - only start/stop nmbd if $CTDB_SERVICE_NMB set.
      Evenscripts: improvements to ctdb_service_check_reconfigure().
      Eventscripts - 60.nfs should define service_reconfigure().
      Eventscripts: in 60.nfs move statd-notify code to service_reconfigure().
      Eventscripts: fix regression in 60.nfs export checking.
      Revert "Tests: tweak some samba tests to cope with debug from ctdb_check_tcp_ports()."
      Tests: Re-enable the Samba eventscript tests.
      Eventscripts: clean up 60.nfs monitor event.
      Eventscripts: change failure counts and behaviour for statd and nfsd.
      Eventscripts: 10.interfaces cleanup - new functions mark_up(), mark_down().
      Eventscripts: 10.interfaces clean-up - use more descriptive variable names.
      Eventscripts: 10.interfaces clean-ups - push logic into monitor_interfaces().
      Eventscripts: 10.interface clean-ups - variable name fix-ups.
      Eventscripts: In 60.nfs don't restart NFS when restarting rpc.lockd.
      Tests: re-enable the NFS eventscript tests - they work again.
      Eventscripts: 10.interface clean-ups - minor tweaks and new comments.
      Eventscripts: 10.interfaces - new function get_all_interfaces().
      Eventscripts: 10.interfaces - startup comment says assume all interfaces good.
      Eventscripts: 10.interfaces - make startup event actually mark interfaces up!
      Tests - ctdb listvars test should allow alphanumericals in tunable names.
      Tests - exportfs stub needs to print out export options.
      Eventscripts: remove "return 0" from 50.samba service_stop().
      Eventscripts - ensure the statd update-trigger file always exists.
      Eventscripts - new function ctdb_set_current_debuglevel()
      Eventscripts - conditionally inherit ctdbd debug level in each monitor event
      Eventscripts: add a debug() function and call ctdb_set_current_debuglevel()
      Eventscript functions: optimise ctdb_check_tcp_ports() and add debug.
      Eventscripts - weaken TCP port check message if CTDB has just been started.
      Eventscripts - ctdb_check_tcp_ports() only prints netstat output if debugging
      Eventscripts - generalise TCP port checking plus new nmap-based checker
      Eventscripts - new default TCP port checker using "ctdb checktcpport"
      Eventscripts - in 60.nfs uniquify the share check directory list
      Eventscripts: New configuration variable CTDB_SERVICE_AUTOSTARTSTOP.
      Eventscripts - fix debugging buglet in ctdb_check_tcp_ports_ctdb()
      Eventscripts - ctdb_check_tcp_ports() bug fix.
      Eventscripts - new function ctdb_check_args()
      Eventscripts - call ctdb_check_args() instead of doing hand checking
      Eventscripts - call ctdb_check_args() in 00.ctdb
      Eventscripts: add a synchronous synthetic reconfigure event.
      Eventscripts - use ctdb scriptstatus -Y when replaying status
      Tools - fix "ctdb scriptstatus -Y" output
      Tests - add -T (trace) option to eventscripts run_test.sh
      Tests - eventscripts exportfs stub should splits lines
      Tests - new NFS share checking tests
      Tests - Change variable used to fake listening TCP ports.
      Tests - add eventscripts testing stub for sleep command.
      Tests - add hooks to simulate ctdb commands that aren't implemented
      Tests - add getdebug and checktcpport to ctdb eventscripts stub
      Tests - eventscripts - stop timeouts waiting for backgrounded testparm
      Tests - eventscripts - add an nmap stub
      Tests - eventscripts - add output for "not implemented" in ctdb stub
      Tests - eventscripts - ctdb default default level is 0.
      Tests - eventscripts - add some output filtering
      Tests - eventscripts - new function setup_nmap_output_filter()
      Tests - eventscripts - add a new ctdb_not_implemented() function
      Tests - eventscripts - new Samba tests to test TCP port checking
      Tests - eventscripts - nmap and netstat stubs can pretend they weren't found
      Tests - eventscripts - new Samba TCP port checking test - no nmap
      Tests - eventscripts - TCP port checking, no working checkers
      Tests - eventscripts - Samba TCP port checking fixes
      Tests - evenscripts - add symlink to ctdb.sysconfig
      Tests - eventscripts - remove undefined argument in some simple_test calls
      Tests - eventscripts - add die() function and use it
      Tests - eventscripts - add extra filename format for multi-event tests
      Tests - eventscripts - output format tweaks
      Tests - eventscripts - new function simple_test_event()
      Tests - eventscripts - formatting tweak in simple_test()
      Tests - eventscripts - ctdb stub - implement scriptstatus, tweaks
      Eventscripts - enhance ctdb_replay_monitor_status()
      Merge branch 'eventscripts' into tests
      Tests - eventscripts - allow "ctdb scriptstatus" output to be primed
      Tests - eventscripts - add some multievent tests
      Tests - IP allocation - allow more interesting node states to be specified
      Tests - IP allocation - initial unit tests
      Tests - simple integration - do a "ctdb sync" after restarting the cluster
      Make ctdb_diagnostics more resilient to uncontactable nodes.
      Web - add me as a developer.  :-)
      onnode: unset EXTRA_SSH_OPTS when using fakessh
      LCP IP allocation algorithm - new function lcp2_failback_candidate()
      Tests - IP allocation tests - must export CTDB_LCP2.
      Tests - Allow some tests in ctdb_takover_tests to specify allowed nodes
      Tests - IP allocation - new test that shows current LCP2 failure
      LCP IP allocation algorithm - try harder to find a candidate source node
      Tests - IP allocation - add some extra output due to recent fix
      Clean up warnings: ‘tevent_loop_allow_nesting’ is deprecated
      Clean up warnings: remove changed_flags in monitor_helper
      Fix typo in ctdb_ltdb_store_server()
      Clean up warnings: log some unchecked return codes from function calls
      Clean up warnings: remove set but unused variable from rb_test
      Clean up warnings: remove unused variable alen from scsi_io
      Clean up warnings: remove unused function dump_packet()
      Clean up warnings: -Wunused-but-set-variable in tevent_signal.c
      Clean up warnings: add -Wno-format-zero-length to CFLAGS
      Fix ctdb scriptstatus -n all
      Clean up warnings: popt sure does some strange things
      Fix lib/replace
      Clean up warnings: rpcgen output contains unused variable.
      Added some #ifndefs to stop files being included multiple times.
      Move some common functions to common/ctdb_ltdb.c
      Rename ctdb_control_destructor() to ctdb_client_control_destructor()
      Rename ctdb_ctrl_getscriptstatus() parameter to avoid shadowing a global
      Rename ctdb_control_get_stat_history() local variable to avoid shadowing.
      Tests: change ctdb_takeover_tests.c to include ctdbd code
      Make some ctdb_takeover.c functions static
      Relax an out of memory message.
      Eventscripts: Make 40.fs_use use less processes and arguably clearer.
      Eventscripts - remove $0 from error messages in 40.fs_use
      Eventscripts - add facility to 10.interface to delete unmanaged IPs
      ctdb tool - simplify main() by taking most code out of a loop
      ctdb tool - commands that don't use the daemon can't take -n/--node
      ctdb tool - short circuit most of the logic in main for non-daemon commands
      ctdb tool - replace fprintf with DEBUG
      ctdb tool - move parsing of nodestring to where it is needed
      ctdb tool - generalise nodestring parsing for -n
      ctdb tool - factor out status printing functions
      ctdb tool - new command "ctdb nodestatus [nodestring]"
      ctdb tool - remove verify_node() function
      Rename struct traverse_state to allow tools C files to be #included.
      Tests - test code for parse_nodestring() function
      Tests - make a comment more accurate
      Tests: eventscripts - add tests for CTDB_DELETE_UNEXPECTED_IPS="yes"
      ctdb tool - Fix parse_nodestring() related issues
      Tests - update test code for ctdb tool code and libctdb stubs
      libctdb - add ctdb_getvnnmap()
      ctdb tool - convert control_status() over to use just libctdb()
      Tests - more libctdb stubs and supporting state faking functions
      Tests - more libctdb stub test infrastructure
      Tests - allow tools/ctdb.c:main() to be used
      ctdb tool - free some memory used by popt
      Tests - add a version of the ctdb tool that compiles against libctdb stubs
      Tests: libctdb stubs should fail when current node disconnected
      Tests: fix usage message in ctdb_tool_libctdb
      Tests: initial ctdb tool testcases
      Tests - let run_tests.sh take a list of tests to run
      Tests - ctdb tool - fix "ctdb status" test
      Tests - ctdb tool - add verbose option and output filtering
      Tests: new test to check that "ctdb delip" removes the IP from interface.
      Tests: eventscripts - make init test pass with recent change to 10.interface
      Tests: eventscripts - fix breakage in some NFS tests
      Tests - IP allocation simulation - LCP2 => non-deterministic
      Test - IP allocation simulation - add -e option to run the daemon's algorithm
      ctdb tool: fix thinko in nodestatus command output
      Tests - simple - make disconnected node tests handle changed error message
      Tests - functions/environment - set and use $CTDB_NODES
      Eventscript functions - add new function die()
      Eventscripts - redesign and rewrite 13.per_ip_routing
      Eventscript functions - remove functions only used by 13.per_ip_routing
      Eventscript functions - remove now-unused route/IP re-add script logic
      Eventscript functions - no longer require interface_modify.sh
      Eventscript support - Remove unused interface_modify.sh
      Eventscript tests - make error message consistent with recent change
      Eventscript tests - make ip command stub vaguely maintainable
      Eventscript tests - implement ip rule in stub
      Eventscript tests - implement ip route in stub
      Eventscripts - 13.per_ip_routing should use dirname not basename for mkdir
      Eventscripts - use set_proc() rather than accessing /proc directly
      Eventscripts - make 13.per_ip_routing try harder to find public_addresses
      Eventscripts - make 13.per_ip_routing fail gracefully if config is missing
      Tests - eventscripts - ip stub command should print errors to stderr
      Tests - eventscripts - add -A/-D options
      Tests - eventscripts - more public IPs in default setup
      Tests - eventscripts - stub ctdb command updates
      Tests - eventscripts - fix hardcoding error
      Update .gitignore for eventscript testing fu.
      Tests - eventscripts - add support functions for policy routing testing
      Tests - eventscripts - improved support functions for handling public IPs
      Tests - eventscripts - rationalise CTDB fakery support
      Tests - eventscripts - change summary columns
      Tests - eventscripts - new function simple_test_command()
      Tests - eventscripts - initial policy routing tests
      Undo damage done by d8d37493478a26c5f1809a5f3df89ffd6e149281
      Add policy routing documentation to ctdbd(1).
      Initscript - add backup of corrupt non-persistent databases
      Tests - turn of time logging by default
      Tests - IP allocation - add another LCP2 test based on a test failure
      Tests - IP allocation - 2 tests for NODE_FLAGS_NOIPTAKEOVER
      tests - export new variable TEST_SCRIPTS_DIR
      tests - add scripts/common.sh
      tests - add scripts/unit.sh
      tests - move functions only used by scripts/run_tests into that script
      tests - add -v option to set TEST_VERBOSE=true
      tests - run_tests can take a directory as an argument
      tests - run_tests includes common.sh, uses die()
      tests/tool - Restructure according to new convention
      tests/onnode - Restructure according to new convention
      tests/takeover - Restructure according to new convention
      tests - run_tests ignores trailing '/' on directories
      tests/eventscripts - Restructure according to new convention
      tests - run_tests needs to expand directories like "." and "..".
      tests/eventscripts: Tweak an error message in a policy routing test
      tests/eventscripts: Share directories must be absolute in eventscript tests
      tests: More unit test factoring/rationalisation and bug fixes
      tests: Rename ctdb_test_functions.bash to integration.bash
      tests: Rationalise integration test infrastructure
      Eventscripts - Fix typo in 13.per_ip_routing support for __auto_link_local__
      tests: Local daemons are no longer the default, now require run_tests -l
      tests: Move relative directory path hack from run_tests to common.sh
      tests: Programs run by tests should be found in $PATH
      tests: Remove ctdb_test_env
      tests: Add -e option to cause run_tests to exit on first test failure
      tests: Add new -H option for run_tests to avoid printing header/footer
      tests: Fix trailing whitespace issues in integration.bash
      tests: test_wrap can use $TEST_SCRIPTS_DIR for a little extra clarity
      tests: run_tests should exit with failed test status if running with -H
      tests: Update top-level wrapper scripts
      tests: Update README files and add new README files where missing
      tests: Make run_tests -X more flexible - it now works with onnode
      tests/simple: Replace "tdbdump" with "ctdb cattdb"
      tests/integration: Use absolute path for socket symlink
      tests/integration: Remove cabability for testcase option
      tests: Add a -V option to set new variable TEST_VAR_DIR
      tests: Update integration.sh to use TEST_VAR_DIR
      tests: Improve the logic for adding directories to $PATH
      tests: Unit tests should use $TEST_VAR_DIR
      tests: Time logging in integration tests should use TEST_VAR_DIR
      tests/eventscripts: $FAKE_IP_STATE is always set in ip command stub
      tests: New run_tests -C (cleanup) option
      tests/simple: Add new pseudo testcase to potentially shutdown local daemons
      tests: Add installation script for tests
      tests/eventscripts: Add sanity check to esnure events.d/ can be found
      Eventscripts: fix basename -> dirname typo
      tests/eventscripts: Be more defensive about removing the var directory
      tests/eventscripts: Explicitly set CTDB_SERVICE_AUTOSTARTSTOP="yes"
      tests/eventscripts: Use a canned ctdb.sysconfig rather than a link
      tests/eventscripts: $CTDB_ETCDIR should be in $TEST_VAR_DIR
      tests: Update README
      Packaging: generate a ctdb-tests package
      Packaging: devel package fixes
      Eventscript functions: add optional version to nfs_check_rpc_service()
      Packaging: add options to ctdb.spec.in to force use of bundled libraries
      Packaging: Improve dependencies
      tests/eventscripts: $CTDB_BASE needs to be in $TEST_VAR_DIR
      tests/eventscripts: Fix a policy routing test
      tests: Allow run_tests.sh to take options
      tests: Allow run_cluster_tests.sh to take options
      tests: In integration tests, use --node-ip to avoid locking weirdness
      tests: Add a test for "ctdb reloadips"
      tests: Fix wrapper scripts to handle options and tests without breakage
      tests: Restore the old behaviour of "make test" so it uses tests/var
      tests: Use per-daemon public_addresses file for local daemons
      tests: New function get_ctdbd_command_line_option() for integration testing
      tests: Fix a typo in daemons_setup()
      tests: Move the "ctdb reloadips" test from complex/ to simple/
      Eventscript functions: add optional version to nfs_check_rpc_service()
      Eventscripts: restart lockd in the background when going unhealthy
      Eventscripts: Modernise 60.ganesha to match 60.nfs
      tests: test_wrap needs to set TEST_BIN_DIR when installed
      Eventscripts: Fix deprecated iptables ! usage
      tests: Complex tests must not be run from a cluster node
      tests/eventscripts: Tweak expected output for lockd:b restart
      lib/tevent: In poll_event_context, add a pointer back to the tevent_context
      Revert "TEVENT: Add back tracking of long runnig  events to the local copy of tevent library"
      lib/tevent: Add trace point callback
      Reimplement logging of long running events
      Eventscripts: 11.natgw $CTDB_NATGW_PUBLIC_IP splitting optimisation
      Eventscripts: remove redundant firewall rules from 11.natgw
      Eventscripts: Clean up startup sanity check in 11.natgw
      Eventscripts: Optimise building the host address in 11.natgw
      Eventscripts: Retrieve and build NAT gateway details better in 11.natgw
      Eventscripts: Update/remove stale comments in 11.natgw
      Eventscripts: Default route on NAT gateway should have a metric of 10
      statd-callout: Fix a bug in the calculations of $STATE
      tests:  select_test_node_and_ips() should never select non-node -1
      tests/simple: ctdb reloadips test should use $test_ip
      tests: run_tests should exit with $status with -e option
      tests: simple tests against local daemons should check $TEST_LOCAL_DEAMONS
      tests: select_test_node_and_ips() should try to avoid failing
      tests/simple: ctdb stop/continue tests weren't actually checking IPs
      tests/complex: Fix broken ctdb_test_check_real_cluster()
      tests/eventscripts: Rewrite the testparm stub
      tests/tool: Run ctdb_tool_* under $VALGRIND
      Initscript: clean up drop_all_public_ips()
      ctdbd: Fix ctdb_control_release_ip() on local daemons
      ctdbd: Remove the worked "Forced" from message about running eventscripts
      ctdbd: Log a meaningful message if the nodes file/list is empty
      Eventscripts: Clean up 11.routing
      tools/onnode: Add -P option to push files to given nodes
      doc: Document the new onnode -P option
      ctdb tool: recmaster command might as well be auto-all
      Revert "Eventscripts - make 13.per_ip_routing fail gracefully if config is missing"
      Eventscripts: 13.per_ip_routing should always fail if config is missing
      tests/eventscripts: Extra cases for policy routing missing config test
      recoverd: Fix bogus info in message about changed flags
      recoverd: Update a log message that has bit-rotted
      recoverd: verify_local_ip_allocation() should dup ifaces before early return
      recoverd: main_loop() should not verify local IPs if node is stopped
      recoverd: An inactive node should not force recovery master elections
      recoverd: All inactive nodes should yield recovery master role
      eventscripts: Print a warning on failure to delete a routing rule
      tests/eventscripts: Add a policy routing unit test for "ip rule del" failure
      eventscripts: 13.per_ip_routing should remove bogus routes on ipreallocated
      tests/eventscript: unit test for 13.per_ip_routing bogus route removal
      Eventscripts: Indent error when a route delete fails in 11.per_ip_routing
      tests/eventscripts: Modify ip stub to simulate invalid table ID
      tests/eventscripts: New policy routing test with invalid table ID
      tools/ctdb: NAT gateway code should use CTDB_NATGW_NODES
      tools/ctdb: Factor out printing of the machine readable status header
      tools/ctdb: natgwlist output is either human readable or machine readable
      tools/ctdb: Remove redundant filtering loop in control_natgwlist()
      libctdb: add ctdb_getcapabilities()
      tests: libctdb stubs must copy pointers rather than just returning them
      tests: libctdb stubs initial ctdb_getcapabilities() implementation
      tools/ctdb: Convert some commands over to libctdb
      tools/ctdb: Clean up control_natgw()
      tests/tool: New function setup_natgw() to setup $CTDB_NATGW_NODES
      tests/tool: New tests for natgwlist, getcapabilities, lvs, lvsmaster
      libctdb: Add comments to effect that some controls return result in status
      tools/ctdb: Free the event context
      Initscript: Kill any existing ctdbd processes if the ping succeeds
      Eventscripts: split 50.samba into 49.winbind and 50.samba
      eventscripts: Auto-start/stop services in background
      util: ctdb_fork() closes all sockets opened by the main daemon
      ctdbd: Avoid unnecessary updateip event
      Eventscripts: Add service-start and service-stop pseudo-events
      ctdbd: New tunable NoIPTakeoverOnDisabled
      ctdbd: Stop takeovers and releases from colliding in mid-air
      recoverd: When starting a takeover run disable IP verification
      recoverd: Track failure of "recovered" event, banning culprits
      Eventscripts: Add support for "reconfigure" pseudo-event for policy routing
      tests/eventscripts: add extra infrastructure for policy routing tests
      tests/eventscripts: add unit tests for policy routing reconfigure
      common: Debug ctdb_addr_to_str() using new function ctdb_external_trace()
      Logging: Map TEVENT_DEBUG_FATAL to DEBUG_CRIT
      Eventscripts: "recovered" event should not fail on NATGW failure
      Revert "Eventscripts - add facility to 10.interface to delete unmanaged IPs"
      recoverd: Verifying local IPs should only check for unhosted available IPs
      tools/ctdb: Remove extra header from natgwlist -Y output
      recoverd: Clarify some misleading log messages
      ctdbd: Remove references to forcing running of eventscripts from log messages
      initscript: Check that rc.ctdb is executable before running it
      tools/ctdb_diagnostics: Add "ctdb listvars" output
      scripts: Refactor logging code in initscript and functions file
      recoverd: Add CTDB_SRVID_GETLOG and CTDB_SRVID_CLEARLOG
      tools/ctdb: Add log ringbuffer handling for recoverd
      tools/ctdb: Merge recoverd log handling into getlog/clearlog
      tests: Local daemons should use the logging ringbuffer
      doc: getlog and clearlog changes for recovery daemon logs
      ctdbd: Fix compilation warning in locking code
      Eventscripts: 10.interface startup event should only process interfaces once
      ctdbd: Make the link status of new interfaces more flexible
      Eventscripts: 10.interface should list configured interfaces
      Git should ignore generated include/version.h file
      Initscript: when checking status, print output of "ctdb ping" if it fails
      tests: Local daemons should use --listen instead of --node-ip
      ctdbd: Remove debug option --node-ip, use --listen instead
      ctdbd: Initialise the node flags in just one place
      Eventscripts: Do not restart NFS on reconfigure
      Eventscripts: Change the default reconfigure action to do nothing
      ctdbd: Clean up orphaned interfaces when an IP is deleted
      tests: new function ip2ipmask() for integration testing
      tests: new simple integration test for delip interface garbage collection
      tests/takeover: Support valgrinding the takeover code
      tests/takeover: IP allocation now selected via $CTDB_IP_ALGORITHM
      tests/takeover: Support testing of NoIPTakeoverOnDisabled
      tests/takeover: Do output filtering for deterministic IPs algorithm too
      tests/takeover: Initial tests for deterministic IPs
      tests/takeover: Add some LCP2 tests for case when no node are healthy
      recoverd: Fix a memory leak in IP allocation
      recoverd: Move the test for both 'DeterministicIPs' and 'NoIPFailback' set
      recoverd: Don't do failback at all when deterministic IPs are in use
      recoverd: basic_failback() can call find_takeover_node() directly
      recoverd: Trying to failback more IPs no longer allocates unassigned IPs
      recoverd: Move failback retry loop into basic_failback() and lcp2_failback()
      recoverd: New function unassign_unsuitable_ips()
      recoverd: Separate each IP allocation algorithm into its own function
      tests/eventscripts: Ratchet down debug level for ctdb_takeover_tests
      tests/simple: Add test to check recovery daemon IP verification
      scripts: Move drop_all_public_ips() to the functions file
      eventscripts: Each script should set CTDB_BASE if it is not set
      scripts: statd-callout should calculate CTDB_BASE if it is not set
      scripts: debug-hung-script.sh doesn't need functions/loadconfig
      ctdbd: Default value for debug_hung_script should use ETCDIR
      scripts: Make drop_all_public_ips() more robust
      scripts: Rework ctdb-crash-cleanup.sh so that it uses existing functions
      scripts: Make script_log() use supplied message, stop logger from hanging
      eventscripts: Fail the setup event if CTDB does not become ready
      tools/ctdb: Fix a compiler warning
      build: Fix a Makefile.in typo
      Logging: New function ctdb_log_ringbuffer_free()
      Logging: Free the ringbuffer in child processes created with ctdb_fork()
      ctdbd: Message logged at exit should be different for different processes
      ctdbd: Remove debug_hung_script_ctx
      ctdbd: Remove command-line option --debug-hung-script
      ctdbd: Complain loudly if CTDB_DEBUG_HUNG_SCRIPT script isn't executable
      ctdbd: Don't use a fixed length buffer for the hung script command
      initscript: export CTDB_EXTERNAL_TRACE
      Logging: Fix breakage when freeing the log ringbuffer
      doc: Fix typo in ctdbd manpage
      client: New generic node listing function list_of_nodes()
      client: Refactor node listing functions to use list_of_nodes()
      recoverd: update_capabilities() should use connected nodes
      tools/ctdb: delip no longer fails if IP can not be moved
      util: New functions ctdb_set_child_info() and ctdb_is_child_process()
      util: ctdb_fork() should call ctdb_set_child_info()
      ctdbd: Add --pidfile option
      initscript: Use a PID file to implement the "status" option
      scripts: ctdb-crash-cleanup.sh uses initscript to see if ctdbd is running
      include: Move ctdb_start_daemon() from ctdb_client.h to ctdb_private.h
      util: Removed unused declaration of ctdbd_start()
      initscript: Remove duplicate setting of $ctdbd
      scripts: Ensure service command is in $PATH in ctdb-crash-cleanup.sh
      scripts: Use $CTDB_SCRIPT_DEBUGLEVEL instead of something more complex
      scripts: Clean up update_tickles() and handling of associated directory
      eventscripts: Ensure directories are created
      scripts: Ensure even external scripts get tagged in logs as "ctdbd"
      ctdbd: Log PID file creation and removal at NOTICE level
      recoverd: Interface reference count changes should not cause takeover runs
      ctdbd: Avoid freeing non-monitor event callback when monitoring is disabled
      ctdbd: New control CTDB_CONTROL_IPREALLOCATED
      recoverd: ctdb_takeover_run() uses CTDB_CONTROL_IPREALLOCATED
      eventscripts: Remove use of "stopped" event
      ctdbd: Remove the "stopped" event
      ctdbd: Log CTDB startup before creating the PID file
      initscript: Look for tdbtool/tdbdump using which, not in fixed locations
      scripts: Fix script_log() regression
      eventscripts: Remove unused function ctdb_check_counter_equal()
      eventscripts: Simplify handling of $service name in reconfigure functions
      eventscripts: Simplify handling of $service name in service_management
      eventscripts: Simplify handling of $service name in start/stop functions
      eventscripts: Simplify handling of $service name in "managed" functions
      eventscripts: counters default to $script_name if $service_name not set
      eventscripts: Assert that $service_name is set in a few key places
      eventscripts; Cleanup up ctdb_check_directories()
      eventscripts: Clean up ctdb_check_command()
      eventscripts: Remove unnecessary variables from killtcp/tickle functions
      eventscripts: Change handling of one-way kills in kill_tcp_connections()
      eventscripts: Reimplement kill_tcp_connections_local_only()
      eventscripts: Refactor connection listing in killtcp and tickle functions
      eventscripts: Remove unused $_killcount from tickle_tcp_connections()
      eventscripts: In killtcp/tickle functions, $_failed should be boolean
      eventscripts: Tweak the timeout check in kill_tcp_connections()
      eventscripts: Minor cleanups for killtcp/tickle functions
      eventscripts: Make the early exit in 01.reclock earlier
      eventscripts: Might as well try to stat the reclock file first
      eventscripts: Use ctdb_check_counter() instead of ctdb_check_counter_limit()
      eventscripts: Remove unused function ctdb_check_counter_limit()
      eventscripts: Factor NFS RPC check action code into nfs_check_rpc_action()
      eventscripts: Move rpc.statd existence check into nfs_check_rpc_service ()
      Revert "Eventscript functions: add optional version to nfs_check_rpc_service()"
      eventscripts: Remove ganesha support from nfs_check_rpc_service()
      eventscripts: Factor out common code from nfs_check_rpc_service()
      eventscripts: nfs_check_rpc_action() should be _nfs_check_rpc_action()
      eventscripts: New function nfs_check_rpc_services()
      eventscripts: NFS RPC checks allows "nfsd" in addition to "knfsd"
      eventscripts: 60.nfs uses nfs_check_rpc_services() to check NFS RPC services
      eventscripts: NFS RPC checks no longer support "knfsd"
      recoverd: Add debug message when dropping IPs in IP allocation
      tests: Unit test diff output should use filtered output
      recoverd: Refactor code to get NoIPTakeover tunable from all nodes
      tests/takeover: Allow per-node tunable settings
      recoverd: Factor out new function all_nodes_are_disabled()
      recoverd: Fix tunable NoIPTakeoverOnDisabled, rename to NoIPHostOnAllDisabled
      tests/takeover: Add takeover tests, mostly for NoIPHostOnAllDisabled
      recoverd: Remove unused mask argument from IP allocation functions
      recoverd: When calculating rebalance candidates don't consider flags
      recoverd: Remove unused mask argument and initial mask calculation
      recoverd: Clear IP flags after IP allocation algorithm has run
      recoverd: Move IP flags into ctdb_takeover.c
      initscript: If CTDB doesn't become ready, print a message before killing
      eventscripts: Fix regression in _loadconfig()
      ctdbd: Removed bogus comment in ctdb_find_iface()
      ctdbd: Log add and delete of IPs
      ctdbd: Log a message when recovery master changes
      scripts: Rework notify.sh to use notify.d/ directory
      Packaging: maketarball.sh should be a bash script due to pushd use
      ctdbd: Update confusing log message
      recoverd: takeover_run_core() should not use modified node flags
      tools/ctdb: Remove duplicate command definition for "sync"
      ctdbd: Replace ctdb->done_startup with ctdb->runstate
      ctdbd: Only start recovery daemon and timed events after setup event
      ctdbd: Start logging process earlier
      ctdbd: New control CTDB_CONTROL_GET_RUNSTATE
      tools/ctdb: New command runstate to print current runstate
      tools/ctdb: "ctdb runstate" now accepts optional expected run state arguments
      ctdbd: Add new runstate CTDB_RUNSTATE_FIRST_RECOVERY
      eventscripts: 11.natgw should not call ctdb tool in "init" event
      ctdbd: When the "setup" event fails log an error and exit, don't abort
      recoverd: Use talloc_array_length() for simpler code
      recoverd: Whitespace improvements
      ctdbd: Update the get_tunable code to return -EINVAL for unknown tunable
      client: async_callback() sets result to -ETIME if a control times out
      recoverd: Set explicit default value when getting tunable from nodes
      recoverd: Handle errors carefully when fetching tunables
      recoverd: Nodes can only takeover IPs if they are in runstate RUNNING
      tests/takeover: New tests to check runstate handling
      tests/takeover: Allow takeover runs with differing IP allocations per node
      tests/takeover: LCP2 tests for weird, unbalanced corner-cases
      tests/takeover: Takeover tests can use up to 1024 and checks limits
      tests/takeover: New test with 900 IPs
      tests: Fix integration tests to use real private IPs
      scripts: Provide mktemp function for platforms without mktemp command
      recoverd: Backward compatibility for nodes without IPREALLOCATED control
      eventscripts: Stop NAT gateway's delete_all() from polluting the log
      packaging: makerpms.sh can take multiple arguments for rpmbuild
      build: Fix install paths for pcp pmda
      build: Separate autoconf macros for pmda
      packaging: Create separate package for pcp pmda
      tests/scripts: Delete unused $rows and $ww variables from run_tests
      tests/integration: Improve debug output for unhealthy cluster after restart
      eventscripts: Fix statd-callout update handling
      doc: Add release notes for 2.2
      recoverd: Log node that causes takoever run to fail
      eventscripts: Add new option $CTDB_MONITOR_NFS_THREAD_COUNT
      eventscripts: New configuration varable $CTDB_NFS_DUMP_STUCK_THREADS
      tests/eventscripts: Add unit tests for $CTDB_MONITOR_NFS_THREAD_COUNT
      tests/eventscripts: Fix -X tracing in iterate_test()
      tests/eventscripts: Unit tests for $CTDB_NFS_DUMP_STUCK_THREADS
      ctdbd: "init" event should run earlier in daemon initialisation
      scripts: drop_all_public_ips() now prints messages to stdout, not log
      scripts: drop_ip() should use delete_ip_from_iface()
      scripts: Move dropping of all IPs from initscript to "init" event
      scripts: Move TDB checking from initscript to "init" event
      logging: Notify parent when logging daemon is up
      tests/eventscripts: setup_ctdb() should always set $CTDB_PUBLIC_ADDRESSES
      eventscripts: 13.per_ip_routing should not try hard to find public_addresses
      tests/eventscripts: New tests for 00.ctdb "init" event
      eventscripts: "setup" event doesn't need to wait for SETUP runstate
      ctdbd: Refactor shutdown sequence
      ctdbd: Fix panic on overlapping shutdowns
      tests: Integration test infrastructure should do only a single recovery
      tests: Integration tests use "ctdb nodestatus" for healthy cluster check
      doc: Update NEWS
      doc: Add nodestatus command to the ctdb manpage
      doc: Update notification script section in ctdbd manpage
      doc: Fix documentation for NoIPTakeover in ctdbd manpage
      doc: Fix ctdb ping entry in manpage
      tools/ctdb: Add "force" option to "recover" command
      recoverd: Don't continue if the current node gets banned
      doc: Add banning bug fixes to NEWS
      doc: Add a disclaimer for the EnableBans tunable
      ctdbd: Log warnings in release IP when unexpected interface is encountered
      ctdbd: Release IP callback should fail if the IP is still hosted
      eventscripts: When replaying monitor status, don't log empty output
      util: New function ctdb_die()
      ctdbd: Avoid a core dump when "init" event fails
      ctdbd: Use ctdb_die() on "setup" event failure
      recoverd: Fix an incorrect comment
      recoverd: Fix an unclear log message - "Restart recovery process"
      recoverd: Clean up log messages in remote IP verification
      recoverd: Minor style improvements for ctdb_reload_remote_public_ips()
      ctdbd: Log something when releasing all IPs
      eventscripts: Drop RPC service version from nfs_check_rpc_service() calls
      eventscript: Move Ganesha nfsd monitoring to a function
      eventscripts: New configuration variable $CTDB_SKIP_GANESHA_NFSD_CHECK
      tests/eventscripts: Add some rudimentary tests for 60.ganesha
      recoverd: Recovery daemon should use ctdb_get_pnn, which can't fail
      initscript: Simpify initscript and control CTDB via new ctdbd_wrapper
      build: Remove -DTEVENT_DEPRECATED_QUIET=1 from CFLAGS
      build: Turn off all deprecation warnings
      packaging: Add systemd support
      doc: Update NEWS
      recoverd: Really fix bogus info in message about changed flags
      scripts: ctdbd_wrapper logs a message to syslog if syslog is not being used
      ctdbd: Allow extra recovery to repair persistent DBs during first recovery
      eventscripts: Get list of configured interfaces using "ctdb ifaces"
      eventscripts: A missing interface should cause monitoring to fail
      tests/eventscripts: Add tests for monitoring of missing interfaces
      ctdbd: Exit if something is already listening on CTDB socket
      ctdbd: Sleep at exit to allow time for log messages to flush
      tests/simple: Add -p in onnode test to help show groups of connections
      tests: Fix exit status of run_tests when a single test is run with -H
      tests/complex: Fix NFS tests to work with root_squash
      ctdbd: Pass event name to hung script debugger
      scripts: Run scriptstatus for hung event
      recoverd: Call takeover fail callback only once per node
      tests: Always tally the number of passed/failed tests
      tools/ctdb: Allow killtcp to read connections from standard input
      eventscripts: kill_tcp_connections() should send connections to stdin
      ctdbd: Kill client process without checking for tracked child
      initscript: The wrapper script should export CTDB_SOCKET
      doc: Update XML files to use standard DocBook DTD
      scripts: Do not run ctdb tool commands when debugging hung "init" event
      packaging: Allow setting custom release number in RPM spec file
      tests/simple: Fix the missing IP test
      tests/simple: Unreachable node test should wait for recovery to complete
      eventscripts: When restarting the nfslock service only show output of start
      eventscripts: Remove support for RPC service 'q' and 's' restart flags
      tests/eventscripts: Override background_with_logging(), just prepend "&"
      eventscripts: Separate out RPC service restart code
      eventscripts: Add modulo (%) operator to ctdb_check_counter()
      eventscripts: New configuration variable $CTDB_RPCINFO_LOCALHOST
      eventscripts: Print a message when waiting for TCP connections to be killed
      eventscripts: Improve message logged when a counter hits a limit
      tools/ctdb: Increase default control timeout to 10 seconds
      eventscripts: Become unhealthy faster on nfsd failure
      tools/ctdb: Use ctdb_get_pnn() to get PNN of the current node
      tools/ctdb: Factor, simplify and improve robustness of ipreallocate code
      tools/ctdb: Factor out common pattern used in disable/enable/stop/continue
      tools/ctdb: Reimplement ban/unban using update_flags_wait_and_ipreallocate()
      tools/ctdb: Fix message in showban when node is banned
      recoverd: Log more information when interfaces change
      recoverd: Move struct ctdb_public_ip_list back into ctdb_takeover.c
      recoverd: Remove an unused temporary talloc context
      tools/ctdb: Improve auto-all settings for some commands
      tools/ctdb: Remove more non-essential fetching of PNN from daemon
      tools/ctdb: Make most non-auto-all commands abort if run with -n all
      scripts: Remove gdb_backtrace
      eventscripts: Avoid using a temporary file in 62.cnfs
      tools/ctdb_diagnostics: Safer temporary file creation
      tools/ctdb_diagnostics: Add output of "ctdb getdbmap"
      packaging: Remove pushd/popd from maketarball.sh, don't need bash
      tests/simple: Minimise the chance of a monitor event being cancelled
      doc: Update NEWS
      eventscripts: Clean up monitoring of system memory in 00.ctdb
      tests/eventscripts: Tests for memory checking in 00.ctdb
      tools/ctdb: Fix a memory leak in parse_nodestring()
      tools/ctdb: list_of_active_nodes_except_pnn() -> list_of_nodes()
      client: Remove unused function list_of_active_nodes_except_pnn()
      recoverd: Update a comment to use current terminology
      recoverd: Remove an orphaned comment
      common: Make parse_ip() valgrind-clean
      recoverd: Banned nodes should not be told to run "ipreallocated" event
      recoverd: Stabilise the recovery master role
      recoverd: New function do_takeover_run()
      recoverd: Fail takeover run if "ipreallocated" fails
      recoverd: takeover_fail_callback() doesn't need to set rec->need_takeover_run
      recoverd: do_takeover_run() should mark when a takeover run is in progress
      recoverd: Move disabling of IP checks into do_takeover_run()
      recoverd: Make the SRVID request structure generic
      recoverd: Factor out the SRVID handling code
      tools/ctdb: Change ipreallocate() to use a local done flag
      tools/ctdb: Factor out SRVID broadcast code from ipreallocate()
      tools/ctdb: Add a wait_for_all option to srvid_broadcast()
      recoverd: New SRVID message CTDB_SRVID_DISABLE_TAKEOVER_RUNS
      recoverd: Reimplement CTDB_SRVID_DISABLE_IP_CHECK
      recoverd: Defer ipreallocated requests when takeover runs are disabled
      tools/ctdb: Reimplement reloadips
      recoverd: Remove unused CTDB_SRVID_RELOAD_ALL_IPS and handler
      recoverd: Fix the implementation of CTDB_SRVID_REBALANCE_NODE
      ctdbd: Make ctdb_reloadips_child send controls asynchronously
      recoverd: reloadips should rebalance target nodes for new IPs
      recoverd: Be careful about freeing the list of IP rebalance target nodes
      tests/simple: Fix the reloadips test to cope with changes to reloadips
      tools/ctdb: Make rebalancenode more robust
      tools/ctdb: Fix arguments/semantics of rebalance node
      tools/ctdb: Use the standard long timeout when disabling takeover runs
      recoverd: Improve logging for takeover runs
      recoverd: Disable takeover runs on other nodes for 5 minutes
      tools/ctdb: Ban time of 0 is invalid
      tools/ctdb: Fix help messages for ctdb commands
      utils: Make debug level strings case-insensitive
      scripts: Add support for optional ctdbd.conf configuration file
      tool/ltdbtool: -h option does not require an argument
      client: Fix some format string compiler warnings
      tools/ctdb: Stop return value from being clobbered in control_lvsmaster()
      tests/tool: Fix some comment typos
      tests/tool: Rework test programs so they no longer expect libctdb
      tests/tool: Remove references in libctdb in file and function names
      recoverd: Fix the VNN lmaster consistency check
      tests/integration: Tweak ctdbd startup options
      eventscripts: Fix comment - CTDB_TCP_PORT_CHECKS -> CTDB_TCP_PORT_CHECKERS
      tests: When running local tests with run_tests.sh, use fixed TEST_VAR_DIR
      git: Ignore generated documentation files
      client: Fix a format string argument compiler warning
      Revert "null out the pointer before we reload the nodes file"
      recoverd: Remove function reload_nodes_file()
      eventscripts: Deprecate NFS_SERVER_MODE, use CTDB_NFS_SERVER_MODE instead
      scripts: Remove unused configuration variable CTDB_MANAGES_SCP
      scripts: Remove support for CTDB_OPTIONS configuration variable
      scripts: Simplify script_log() to just look at CTDB_SYSLOG variable
      eventscripts: NAT gateway script should export CTDB_NATGW_NODES
      eventscripts: Clean up 20.multipathd
      tests/eventscripts: New tests for 20.multipathd
      tests/eventscripts: Run scripts under sh by default
      scripts: Remove setting of PATH from functions file
      eventscripts: Remove TCP port checks other than the built-in CTDB one
      eventscripts: Fold ctdb_check_tcp_ports_ctdb() into ctdb_check_tcp_ports()
      eventscripts: Remove reconfigure code from httpd eventscript
      eventscripts: Remove reconfigure check from samba and winbind eventscripts
      eventscripts: Clean up comment at the top of 00.ctdb
      eventscripts: Delete placeholder "recovered" and "shutdown" events
      eventscripts: NAT gateway script doesn't need to handle "recovered" event
      eventscripts: Don't update static routes on "recovered" event
      eventscripts: Rework the iSCSI eventscript
      scripts: Make detect_init_style() more readable
      initscript: New configuration variable CTDB_DBDIR_STATE
      ctdbd: Fix some errors in the popt configuration
      tests/integration: Pass --valgrinding option when running under valgrind
      ctdbd: Don't check CTDB_BASE before setting it, just don't override
      tools/ctdb: CTDB_BASE is the default location of configuration files
      ctdbd: Add nodes_file member to struct ctdb_context
      ctdbd: Default for event_script_dir should use CTDB_BASE
      ctdbd: Debug locks by default with override from enviroment variable
      ctdbd: Pass the public address file location in ctdb context
      common: New function mkdir_p()
      common: New function ctdb_mkdir_p_or_die()
      ctdbd: Remove duplicate database directory setting logic
      ctdbd: Simplify database directory setting logic
      initscript: Update systemd configuration to put PID file in /run/ctdb
      tools/onnode: Fix healthy/ok node handling
      Revert "recoverd: Disable takeover runs on other nodes for 5 minutes"
      tools/ctdb: Fix documentation string for ban command
      eventscripts: Rewrite the smb.conf cache file handling
      tests/complex: Remove CTDB_SAMBA_SKIP_SHARE_CHECK test
      tests/complex: Remove CTDB_NFS_SKIP_SHARE_CHECK test
      ctdbd: When a node is connected, log at DEBUG NOTICE not DEBUG_INFO
      Revert "if a new node enters the cluster, that node will already be frozen at start"
      recoverd: Improve an error message in the election code
      recoverd: Rebalancing should be done regardless tunable
      doc: Major updates to manual pages
      doc: Update NEWS
      testparm: Warnings should not cause failure
      ctdb-build: Update to latest upstream config.guess
      ctdb-recoverd: Remove duplicate code to update flags during recovery
      ctdb-recoverd: A node refuses to play against itself
      ctdb-scripts: debug_locks.sh should use configuration to find TDB location
      ctdb-recoverd: Fix backward compatibility for CTDB_SRVID_TAKEOVER_RUN
      ctdb-tests/integration: try_command_on_node() shouldn't lose onnode options
      ctdb-onnode: New -i option to stop stdin from being closed
      ctdb-tools/ctdb: New ptrans command
      ctdb-doc: Update ctdb.1 - primarily to add pdelete/pfetch/pstore/ptrans
      ctdb-scripts: Rewrite statd-callout to avoid 10 minute lag
      ctdb-recoverd: For persistent databases a sequence number of 0 is valid
      ctdb-tests/simple: Update persistent DB tests
      ctdb-tests/simple: User sleep_for() instead of sleep
      ctdb-tests/takeover: Fix bogus test description
      ctdb-tests/integration: Neaten up some of the persistent database tests
      ctdb-eventscripts: Remove the nfs_statd_update() call from 60.ganesha
      ctdb-scripts: Add an early exit to statd-callout's notify case
      ctdb-recoverd: Only respond to currently queued ipreallocated requests
      ctdb-tools/ctdb: Improve error checking when parsing node string
      ctdb: Update NEWS
      ctdb:tests/integration: Be more careful when killing ctdbd
      ctdb:tests: remove unused setup_nmap_output_filter()
      ctdb:tests: Rework unit test result filtering
      ctdb:tests: Add -S option to support socket wrapper
      ctdb:tests: New "autotest" Makefile.in target
      ctdb:tests: run_tests should ignore bogus test directories
      ctdb:tests/simple: Nobody looks at /tmp/recloop.out so use /dev/null instead
      ctdb:build: Update mkversion.sh to use samba-* tags
      ctdb/tests/integration: Update NFS tickles test and supporting code
      ctdb/tests/simple: Move the local daemons code to its own file
      ctdb/tests/integration: Remove the time logging code
      ctdb/tests/integration: Remove some unused functions
      ctdb/tests/simple: Local daemons version of setup_ctdb() overrides
      ctdb/tests/integration: Update daemons shutdown pseudo-test
      ctdb/tests/integration: Decentralise the daemon restart code
      ctdb/tests/scripts: Sort command-line options
      ctdb/tests/scripts: Simplify the top-level test scripts
      ctdb/tests/scripts: Promote scripts/run_tests

Mathieu PARENT (3):
      build: Make log-directory configurable indepently of VARDIR
      smnotify: fix popt.h include to allow use of system lib
      correct ctdbd(1) manpage warning

Mathieu Parent (43):
      (This used to be ctdb commit b0718551f55d5da9be0e6aba233f57c1ff8509be)
      Fix bashism in natgw eventscript.
      Fix bashisms in multipathd event script.
      Fix bashisms in samba event script.
      Fix bashism in nfstickle event script.
      Update outdated autotools helper files.
      Fix bashism in events.d/11.natgw
      Correction of spelling errors in manpages
      Correction of spelling errors.
      Correct nice_service()
      Fix some more bashisms
      Correction of spelling errors
      Fix bashism
      Manpage for ping_pong
      Fix broken readdir
      Less verbosity when there is no public addresses file
      apache's service name is not always httpd
      Typo deamon -> daemon
      Fix bashism in 40.fs_use
      config/functions: CTDB_VARDIR is /var/lib/ctdb on Debian-like systems
      config can be in /etc/default/ instead of /etc/sysconfig/
      config can be in /etc/default/ instead of /etc/sysconfig/ (ctdb_gnostics part)
      Nagios plugin for CTDB
      Fix ctdb-crash-cleanup sysconfig handling
      Remove zero-length gnu_printf format string in ctdb_daemon.c (gcc warning)
      Move platform-specific code to common/system_*
      GNU/Hurd support
      Add kFreeBSD support
      Define ETIME on non-supporting platforms
      Load platform dependent objs instead of Linux one
      build: Add missing LDFLAGS
      doc: allows to -> allows one to
      build: Update config.guess 2012-12-30 and config.sub to 2013-01-11
      common: Detailed platform-specific FIXME
      common: FreeBSD+kFreeBSD: Implement get_process_name (same as in Linux)
      tests: Test portability
      common: Don't lie on unimplemented gratuitous arp
      libctdb: Include config.h in libctdb/ctdb.c
      build: Fix tdb.h path to enable building with system TDB library
      Update Nagios check to work with ctdb versions past 30 Aug 2011
      Add missing events.d/99.timeout
      Improved check_ctdb
      Add missing $remote_fs LSB dependency

Matthias Dieter Wallnöfer (1):
      tdb tools: Mostly cosmetic adaptions

Matthieu Patou (13):
      libcli: continue to read from the socket even if the size is 0
      Backport 0e97908 from WAF repository: symlink fix for OpenBSD
      idl: remove duplicate flag
      idl: fix frsrpc idl with NDR64 fields
      pidl: Generate NDR64/NDR32 aware code for the wireshark dissectors
      pidl: Generate wireshark that conforms to the rules of Wireshark project
      librpc: return a ndr_pull_error instead of just NDR_ERR_NDR64 when upper bits of 64 bit value are not 0
      Remove check_col from generated DCE/RPC dissectors.
      pidl-wireshark: fix trailing white space in the HF definition
      pidl-wireshark: fix the trailling white space in the generated headers
      librpc-idl: replace int32 by the enumeration as it's the type that we use in union's switch drsuapi_DsGetDCInfoCtrLevels
      auth-kerberos: add the credentials.h so that enum credentials_obtained is defined
      librpc-idl: change the drsuapi_DsBindInfoCtr so that it match what is on the wire both in NDR32 and NDR64.

Michael Adam (678):
      Use "grep -q" instead of "grep ... > /dev/null" in events.d/10.interfaces
      Improve the monitor event test for ethernet interfaces (link detection).
      packaging: set docdir in calls to make (to get it right on e.g. SuSE systems).
      ctdb.init: fix status message of "service ctdb stop" on suse systems
      ctdb.init: fix return code of "service ctdb stop" on non-redhat systems
      ctdb.init: behave correctly when calling "service ctdb stop" on stopped service
      ctdb.init: check availability of ctdb (with ping) before calling ctdb status
      ctdb.init: add Default-Start to init script to enable autostart.
      skip directories containing macros (%) in ctdb_check_directories_probe
      ctdb.samba.org: fix instruction for turning off samba service autostart
      doc: join broken lines in excerpt from log.ctdb
      makerpms: use variable (SPECFILE) that is available instead of hard coded file name
      makerpms: move comment to appropriate place
      makerpms: catch error of git archive correctly (echo resets $?)
      makerpms: don't cd to $SPECDIR but rpmbuild -ba $SPECDIR/$SPECFILE instead
      makerpms: remove the need of calling makerpms.sh from the top level directory
      makerpms: don't hard-code the version number but extract it from ctdb.spec
      makerpms: confess
      ctdb.spec: fix version and (RPM-)release number.
      makerpms: fix creation of tarball when gzip does not know "--rsynceable"
      ctdb.init: add $network to RequiredStop to match RequiredStart.
      functions: add detect_init_style().
      ctdb.init: use detect_init_style() in the init script
      funcions: make (nice_)service a noop for empty service name
      events 50.samba: also support suse and ubuntu/debain systems
      ctdb.init: fix typo
      makerpms: fix detection of support for --rsyncable flag in gzip.
      Makefile: remove extra "/" in paths
      packaging(RPM): detect and use ccache if available
      events 50.samba: fix control of nmbd without separate nmb service script.
      Fix verification of IP allocation with ipv6 addresses on Linux.
      ctdb_sys_have_ip: fix ipv6 support for aix, too.
      ctdb_util: use the parse_ip() function - avoid code duplication
      Fix treatment of link local ipv6 addresses: set the scope id.
      events.d/41.httpd: fix a comment typo
      autoconf: Make sure the result of the mkdir_has_mode test gets cached.
      Fix the build on AIX: sys/socket.h needs to be included before ctdb.h
      packaging: add a maketarball script
      remove include <netinet/in.h> from public ctdb.h
      ctdb_check_tcp_ports: cope with multiple locations of netcat or nc
      ctdb_check_tcp_ports: fail the check if neither netstat nor netcat/nc is found
      ctdb_check_tcp_ports: correctly detect listeners on ipv6 :::<port> w/out netcat
      add a simple test script to test ctdb_check_tcp_ports
      events.d/41.httpd: fix a typo in the fix of the comment typo
      make: add a "showlayout" target for diagnostics
      build: print default in help for --with-logdir
      events 41.httpd: support suse and ubuntu/debian systems for managing apache
      Merge commit 'ctdb-ronnie/master'
      Merge commit 'ctdb-ronnie/master'
      move common code of system_linux.c and system_aix.c into new system_common.c
      Merge commit 'ctdb-ronnie/master'
      Merge commit 'ctdb-ronnie/master'
      ctdb.sysconfig: add CTDB_INIT_STYLE with explanation
      events.d/50.samba: allow CTDB_SERVICE_{SMB,NMB,WINBIND} to be overriden from sysconfig
      ctdb.sysconfig: add CTDB_MANAGES_HTTPD comment section
      Merge commit 'ctdb-ronnie/master'
      add tridge's ping_pong.c to the utils folder
      build: also build and install ping_pong
      packaging: also package ping_pong
      ping_pong: reduce a couple of prototype warnings
      ping_pong: get pread/pwrite prototypes from unistd.h
      ping_pong: add GPL comment header with Tridge's copyright
      Remove generated binary files.
      makerpms.sh: add GPL license header
      maketarball.sh: add GPL license header
      ping pong: fix logic for mmap reads vs. preads
      client: set dmaster in ctdb_transaction_store() also when updating an existing record
      Fix persistent transaction commit race condition.
      ctdbd: refuse PERSISTENT_STORE if transaction is running.
      client: refuse to do record_store() on a persistent tdb.
      debug: add debug_add and dump_data functions
      ctdbd: set debug_add hook to be able to use dump_data in the daemon.
      ctdbd: use ctdb_syslog_log() as debug_add function for syslog
      client:ctdb_control_send: remove duplicate setting of the reqid header.
      client: fix a debug message (misplaced newline).
      tests: fix the 52_ctdb_fetch.sh test.
      set broadcast addresses in the takeip event.
      Rename the CTDB_INIT_STYLE "ubuntu" to "debian" - this is where it comes from.
      ctdb_logging: fix a comment typo.
      Introduce sysconfig variable CTDB_SYSLOG=yes/no (default "no").
      ctdb_client: fix race in starting concurrent transactions on a single node
      Revert "allow the transaction commit to fail"
      Revert "dont check if commit failed, we do allow the commit to fail sometimes"
      In ctdb_ltdb_store(), add a missing transaction_cancel when local store failed.
      server: add a new ctdb control CTDB_TRANS2_ACTIVE
      client: add ctdb_ctrl_transaction_active() which calls out to CTDB_TRANS2_ACTIVE
      client: fix race condition with concurrent transactions on the same node.
      ctdb_client: reformat a comment slightly to enhance clearness.
      server: trans2_active: don't report a transaction active on the node that performs the transaction
      client: improve "control timed out" debug message
      server: add positive debug statements to trans2_commit and trans2_finished
      server: extend a debug message in ctdb_control_trans2_error()
      server: fix a debug message in trans2_commit - log the correct db_id
      server: output client_id in some debug messages in trans2_commit
      server: line-wrap a debug statement in trans2_commit
      server: uniformly log db and client ids as 8-digit hex numbers in trans2_commit
      client: log db_id as 8-digit hex in ctdb_transaction_fetch_start()
      server: fix debug message in trans2_commit (refusing persistent store during transaction)
      packaging(RPM): don't touch the run levels in ctdb install/udpate.
      client: add a debug message when a transaction_commit needs to be retried
      client: fix a race in the local race condition fix in transaction_start
      Revert "dont exit on a commit failure"
      client: randomize the transaction_start retry loop:
      server: disable vacuuming for persistent tdbs.
      packaging: use githash in rpm release by default.
      Add a 99.timeout event script to trigger monitor timeouts.
      ctdb.sysconfig: add a comment section about CTDB_RUN_TIMEOUT_MONITOR
      packaging:maketarball.sh: create the specfile from the ctdb.spec.in
      configure:maketarball.sh: call autogen.sh and include configure in the tarball
      packaging:maketarball.sh: add a DEBIAN_MODE to the tarball creation
      tests: turn printfs into DEBUG statements in the ctdb_transaction test
      ctdb: add command "ctdb wipedb" to wipe the contents of an attached tdb
      packaging: rework maketarball.sh to accept an arbitrary githas to pack
      packaging: remove the lib/popt from the tarball in debian mode
      client: in catdb, print the keyname first, and separate records by a blank line
      tests:ctdb_transaction: print an extra counters when a commit fails
      recovery: pass the persistent flag to recover_database()
      recovery: for persistent db's don't set the dmaster to the recmaster node number
      make ctdb_ctrl_transaction_active public.
      recovery: add special pull-logic for persistent databases
      client: increase the rsn of the __transaction_lock__ when storing
      client: untangle checks and produce more detailed error messages
      client: increase the number of commit retries 10-->100
      server:trans2_commit: move the check for active recovery down.
      client: improve two error messages in ctdb_transaction_commit().
      packaging: package tests/bin/ctdb_transaction under /usr/share/doc/tests/bin
      call: lower the debug message "refusing migration while transction" to lvl INFO
      client: lower debug level of transaction-active-retry message to DEBUG
      client: lower level of commit retry message WARNING->DEBUG
      test: get value for --timelimit from environment var CTDB_TEST_TIMELIMIT in transaction test
      test: add test 54_ctdb_transaction_recovery.sh
      tests: remove persistent_safe write test.
      tests: remove the persistent_unsafe writes test.
      tests: remove the no_trans mode from ctdb_transaction.
      server: add a new control CTDB_CONTROL_TRANS3_COMMIT
      define CTDB_DB_SEQNUM_KEY - used with the new implementation of transactions.
      Add a new control CTDB_GET_DB_SEQNUM - fetch a persistent db's sequence number.
      tests: temporarily disable the transaction test tool.
      Revert "recovery: add special pull-logic for persistent databases"
      tdb: add scripts to extract library symbols (exports file) from headers
      tdb: add script to extract signatures from header files.
      tdb: add script/abi_checks.sh. check for abi changes without gcc magic.
      One would expect I could spell my name... (cherry picked from samba commit 0d120be36bfc561e3f679d081993ccc6bea2a401)
      tdb:mksyms: allow double pointer return value of functions.
      tdb:mksyms: allow characters after closing functions parenthesis.
      tdb:mksigs: ignore struct forward declarations.
      tdb:mksigs: correctly ignode multiline function typedefs
      tdb:mksigs: ignore symbols (like _DEPRECATED_) after closing function parentheses
      tdb:mksigs: normalize bool -> _Bool
      tdb:mksigs: allow PRINTF_ATTRIBUTE(..) macros function types as funcion args
      tdb:tdbtool: add the "speed" command to the help text.
      tdb:tdbtool: add transaction_start/_commit/_cancel commands.
      tdb:tdbtool: fix indentation.
      server:ctdb_send_dmaster_reply: fix a message typo.
      fix bug #7152: check NFS-Shares, fails with to long path-names
      doc: fill metainfo "manual" and "source" in the ctdb manual page
      doc: add metainfo "manual" and "source" in the ctdbd manual page
      doc: regenerate ctdb and ctdb manpages after xml changes
      doc: fix a linebreak in the example output of "ctdb getdbmap" in ctdb(1)
      doc: regenerate ctdb(1) manpages after xml change
      packaging: add tdbtool and tdbdump as dependencies to the RPM
      events:50.samba: wipe the local part of the serverid db before starting winbind/smnd/nmbd
      tests: eliminate a floating point exception by requiring -n option to ctdb_bench
      tests:ctdb_bench: make send_start_messages() static - eliminates compile warning
      functions: when checking for a directory also check whether it can be accessed.
      server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag
      persistent_callback: ignore the update-recordreturn code of remote node in recovery
      persistent_store_timout: do not really time out the trans3_commit control in recovery
      persistent: if a node failed to update_record, trigger a recovery
      persistent: reduce indentation for the finishing moves in ctdb_persistent_callback
      persistent_callback: print "no error message given" instead of "(null)"
      persistent: add a ctdb_persistent_state member to the ctdb_db context.
      persistent: add a ctdb_db context to the ctdb_persistent_state struct.
      persistent: allocate the persistent state in the ctdb_db struct in trans3_commit
      persistent: reject trans3_control when a commit is already active.
      persistent: add a client context to the persistent_stat and track the db_id
      daemon: correctly end a running trans3_commit if the client disconnects.
      persistent: add ctdb_persistent_finish_trans3_commits().
      recover: finish pending trans3 commits when a recovery is finished.
      server: add a comment explaining the call redirect logic in ctdb_call_send_redirect().
      gitignore: add vi swap files
      gitignore: add tags file
      tests: fix segfault in randrec test when connection to daemon fails.
      tests: fix segfault in fetch test when connection to ctdb failed.
      tests: fix segfault in fetch_one test when connection to ctdbd fails
      tests: fix segfault in store test when connection to ctdbd failed.
      Fix typos in a comment in vacuum_traverse.
      vacuum: in ctdb_vacuum_db, fix the length of the array of vacuum fetch lists
      vacuum: correctly send TRY_DELETE_RECORDS ctrl to all active nodes
      vacuum: reduce indentation of the loop sending VACUUM_FETCH controls
      vacuum: check lmaster against num_nodes instead of vnn_map->size
      server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag
      recoverd: in a recovery, set the MIGRATED_WITH_DATA flag on all records
      call: add new call flag CTDB_CALL_FLAG_VACUUM_MIGRATION
      call: Move definition of call flags down to the definition of the flags field.
      add a new record flag CTDB_REC_FLAG_VACUUM_MIGRATED.
      server: in the VACUUM_FETCH handler, add the VACUUM_MIGRAION to the call flags
      call: transfer the record flags in the ctdb call packets.
      call: hand the submitted record_flags to local record storage function.
      call: becoming dmaster in VACUUM_MIGRATION, set the VACUUM_MIGRATED record flag
      Add a delete_queue to the ctdb database context struct.
      When attaching to a non-persistent DB, initialize the delete_queue.
      vaccum: clear the fast-path vacuuming delete_queue after creating the vacuuming child.
      When wiping a database, clear the delete_queue.
      server: rename ctdb_repack_db() to ctdb_vacuum_and_repack_db()
      vacuum: refactor new add_record_to_vacuum_fetch_list() out of vacuum_traverse().
      vacuum: skip adding records to list of records to send to lmaster on lmaster
      vacuum: refactor new add_record_to_delete_tree() out of vacuum_traverse().
      vacuum: reduce indentation in add_record_to_delete_tree()
      vacuum: add delete_queue_traverse() for traversal of the delete_queue.
      vacuum: traverse the delete_queue befor traversing the database.
      Add a tunable VacuumFastPathCount.
      vacuum: add a fast_path_count to the vacuum_handle.
      vacuum: bump the number of fast-path runs in the vacuum child destructor
      vacuum: reset the fast path count in the event handle if it exceeds the limit.
      vacuum: Only run full vacuumig (db traverse) every VacuumFastPathCount times.
      vacuum: disable full db-traverse vacuuming runs when VacuumFastPathCount == 0
      vacuum: change all Vacuum*Interval tunables to default to 10
      vacuum: refactor insert_delete_record_data_into_tree() out of add_record_to_delete_tree()
      vacuum: add statistics output to the fast and full traverse runs.
      vacuum: lower level of hash collision debug message to INFO
      control: add macro CHECK_CONTROL_MIN_DATA_SIZE.
      control: add a new control opcode CTDB_CONTROL_SCHEDULE_FOR_DELETION
      server: implement a new control SCHEDULE_FOR_DELETION to fill the delete_queue.
      vacuum: add ctdb_local_schedule_for_deletion()
      client: add accessor function ctdb_header_from_record_handle().
      test: send SCHEDULE_FOR_DELETION control from randrec test.
      daemon: fill ctdb->ctdbd_pid early
      server: create a server variant ctdb_ltdb_store_server() of ctdb_ltdb_store().
      server: Use the ctdb_ltdb_store_server() in the ctdb daemon for non-persistent dbs
      ctdb_ltdb_store_server: delete an empty record that is safe to delete instead of storing locally.
      ctdb_ltdb_store_server: implement fastpath vacuuming deletion based on VACUUM_MIGRATED flag.
      ctdb_ltdb_store_server: always store the data when ctdb_ltdb_store() is called from the client
      ctdb_ltdb_store_server: Improve debug message in ctdb_ltdb_store when store or delete fails.
      ctdb_ltdb_store_server: add ability to send SCHEDULE_FOR_DELETION control to ctdb_ltdb_store.
      ctdb_private.h: add record flag CTDB_REC_FLAG_AUTOMATIC
      ltdb: add the CTDB_REC_FLAG_AUTOMATIC to the initial header in ctdb_ltdb_fetch()
      ctdb_ltdb_store_server: honour the AUTOMATIC record flag
      vacuum: raise a debug level from INFO to DEBUG
      vacuum: refactor insert_record_into_delete_queue out of ctdb_control_schedule_for_deletion
      vacuum: use insert_record_into_delete_queue in ctdb_local_schedule_for_deletion.
      vacuum: fix a comment typo
      ctdb.init: check for availability of "tdbtool check" and "tdbdump"
      ctdb.init: print a warning when tdbdump is found but tdbtoo or "tdbtool check" is not available
      packaging: remove the dependency to tdbtool and tdbdump from the spec file
      build "ltdbtool" in "make all"
      install ltdbtool with "make install"
      install the ltdbtool manpage with "make install"
      packaging: add ltdbtool and its manpage to the RPM
      doc: regenerate ctdb docs
      web: add Stefan Metzmacher to the list of CTDB developers.
      web: correctly terminate list items <li> with </li> instead of with <br>
      packaging: honour rpm build target options handed in to makerpms.sh
      tools/ctdb: fix a typo in a debug message
      Add a tunable "AllowClientDBAttach" with default value 1.
      Fix a typo in a message in ctdb backupdb.
      doc: update compiled manpages of ctdb.1 after change to xml
      logging: properly cast sockaddr_in to sockaddr for bind in start_syslog_daemon()
      logging: some whitespace cleanup in ctdb_syslog_log()
      logging: properly cast sockaddr_in to sockaddr for sendto() in ctdb_syslog_log()
      system_linux: correctly cast sockaddr_in to sockaddr in ctdb_sys_send_tcp()
      system_linux: correctly cast sockaddr_in6 to sockaddr for sendto() in ctdb_sys_send_tcp()
      update lib/replace to current upstream version (samba master)
      build: add libreplace network checks to configure
      add socket_wrapper from samba
      build: add option --enable-socket-wrapper to build binaries with socket wrapper support
      build: add socket_wrapper objects to test binaries
      build: add target libctdb.so.0 and symlink libctdb.so
      vacuum: rename "size" to "freelist_size" for clarity
      vacuum: fix an abundance of indentation white spaces in ctdb_vacuum_db()
      vacuum: fix a comment typo in vacuum_traverse()
      vacuum: fix horrible indentation/whitespacing for ctdb_vacuum_event()
      vacuum: fix a comment typo in vacuum_traverse()
      vacuum: write a big and up-to-date explaining comment for ctdb_vacuum_db()
      vacuum: update (C) from vacuum rewrite
      traverse: add a flag to enable transferring empty records in cluster wide traverse
      client: add version ctdb_traverse_ext() of ctdb_traverse() that can list empty records.
      ctdb: add an option --print-emptyrecords to enable printing of empty records in dumping databases
      doc: document the --print-emptyrecords switch in the "ctdb" manpage.
      doc: commit generated ctdb.1 manpages after xml change
      ctdb: add an option --print-datasize to only print datasize instead of dumping data in db dumps
      doc: document the "--print-datasize" parameter to "ctdb"
      doc: commit generated ctdb.1 manpages after xml change
      ctdb: add an option --print-lmaster to enable printing of lmaster in "ctdb catdb"
      doc: document the "--print-lmaster" parameter to "ctdb"
      doc: commit generated ctdb.1 manpages after xml change
      ctdb: add an option --print-hash to enable printing of record hashes when dumping dbs
      doc: document the "--print-hash" parameter to "ctdb".
      doc: commit generated ctdb.1 manpages after xml change
      ctdb: add an option --print-recordflags to trigger printing record flags in catdb and dumpdbbackup
      doc: document the "--print-recordflags" parameter to "ctdb"
      doc: commit generated ctdb.1 manpages after xml change
      traverse: fix traversing with empty records by adding a new (internal) control CTDB_CONTROL_TRAVERSE_START_EXT
      Revert "Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1"
      libctdb: fix libctdb's traverse after changes in the core
      fix zero-initialization of header in _ctdbd_allocate_pkt to the correct size
      rb_tree: fix possible access-after-free-error in trbt_traversearray32_node
      vacuum: add ctdb_local_remove_from_delete_queue()
      ctdb_ltdb_store_server: when storing a record that is not to be scheduled for deletion, remove it from the delete queue
      vacuum: remove update_tuning_db()
      vacuum: change get_vacuum_interval() to simply return the VacuumDefaultInterval tunable
      vacuum: use get_vacuum_interval() in ctdb_vacuum_event()
      vacuum: remove struct vacuum_tuning_data (unused)
      vacuum: add new tunable VacuumInterval and mark Vacuum{Default,Min,Max}Interval obsolete
      vacuum: fix the VacuumInterval tunable's type to uint32_t in get_vacuum_interval()
      vacuum: initialize the delete_count in the vacuum data
      vacuum: appropriately rename delete_traverse()  to delete_marshall_traverse()
      vacuum: fix and improve a comment
      vacuum: improve vacuuming statistics for handling the delete_tree.
      vacuum: locally delete the records in the delete_tree that have be deleted remotely
      tools/ctdb: remove functionality of "ctdb vacuum", just keeping a stub.
      tools/ctdb: allow the "ctdb vacuum" stub to be run without the daemon running.
      vacuum: introduce a helper variable in add_record_to_vacuum_fetch_list() to reduce verbosity
      vacuum: introduce a helper variable for the vacuum fetch list in ctdb_vacuum_db()
      vacuum: appropriately rename vdata.list to vdata.vacuum_fetch_list
      vacuum: rename delete_tree to delete_list
      vacuum: factor out the fast vacuuming run into ctdb_vacuum_db_fast()
      vacuum: factor out full vacuum run out of ctdb_vacuum_db() as ctdb_vacuum_db_full()
      vacuum: factor processing of vacuum fetch lists out of ctdb_vacuum_db()
      vacuum: factor processing of the delete list out of ctdb_vacuum_db()
      vacuum: streamline ctdb_process_delete_list()
      vacuum: factor out initialization of the vacuum data from ctdb_vacuum_db()
      vacuum: add a comment explaining a race in the vacuum code.
      tunables: add a bool obsolete flag to the tunable_map list
      tunables: don't list obsolete tunables in the list_tunables control
      ctdb-tool: adapt formatting of "listvars" output to lenght of longest name
      doc:ctdb.1: adapt example output of "ctdb listvars" to current state
      doc:ctdb.1: explain that "ctdb listvars" does not list obsolete tunables any more
      doc:ctdb.1: add generated files after update
      vacuum: add statistics output for processing of the delete list
      vacuum: initialize (to zero) the vacuum fetch list in ctdb_vacuum_init_vacuum_data()
      vacuum: improve debugging in insert_record_into_delete_queue()
      vacuum: add debug message to insert_record_into_delete_queue() for failed insert
      vacuum: improve debugging in delete_queue_traverse()
      vacuum: improve logging in insert_record_into_delete_queue()
      vacuum: improve logging in delete_record_traverse()
      vacuum: improve logging in remove_record_from_delete_queue()
      server: fix a comment typo
      Fix the build on freebsd9. (typo in flags?)
      server: move the code for the update_record control to its own file
      server:update_record: make ctdb_childwrite static
      server:update_record: remove some blood stains (trailing spaces...)
      ctdb: use correct "persistent" state for ctdb_attach in "ctdb cattdb"
      run_tests.sh: fix a comment
      run_tests: improve spacing
      config/functions: fix a comment
      vacuum: fix a comment typo
      recoverd: fix a comment typo
      recovery: data corruption of persistent DBs after recoveries: don't delete emtpy records
      utils:ping_pong: add a -c switch to check the lock before reading/writing
      events/50.samba: fix testparm background update
      ctdb:recover: fix a comment typo
      server:persistent: fix a comment typo.
      server:persistent: fix a debug message (copy'n'paste error)
      build: silence building of porting_test
      recoverd: remove bogus comment "qqq" from "add prototype new banning code"
      ctdbd: unimplement the unused SET_DMASTER control
      logging: fix comment typo
      Fix a severe recovery bug that can lead to data corruption for SMB clients.
      ctdb_call: don't bump the rsn in ctdb_become_dmaster() any more
      tests: add a comment to recovery db corruption test
      client: fix ctdb_control() to be able to cope with CTDB_CTRL_FLAG_NOREPLY
      vacuum: break line for RO-flags check in delete_record_traverse() for readability
      vacuum: add DEBUG to skip conditions in delete_record_traverse()
      vacuum: simplify ctdb_process_delete_list(): reduce indentation
      vacuum: move variable into scope of use in ctdb_process_delete_list()
      vacuum: move variable into scope of use in ctdb_process_delete_list()
      vacuum: free temporary allocated memory correctly in ctdb_process_delete_list().
      vacuum: fix indentation in ctdb_process_delete_list()
      vacuum: add explicit temporary memory context to ctdb_process_delete_list()
      vacuum: reorder some of ctdb_process_delete_list() more intuitively
      vacuum: introduce the RECEIVE_RECORDS control
      vacuum: turn the vacuuming on lmaster into a three-phase process.
      vacuum: extend the header comment for ctdb_process_delete_list()
      vacuum: Update (C)
      include: define CTDB_REC_RO_FLAGS - all read-only related record flags
      ltdb_server: use CTDB_REC_RO_FLAGS where appropriate
      vacuum: use  CTDB_REC_RO_FLAGS in the vacuuming code
      ctdb_call: use CTDB_REC_RO_FLAGS where appropriate
      ctdb_daemon: use CTDB_REC_RO_FLAGS where appropriate
      recover: use CTDB_REC_RO_FLAGS where appropriate
      ctdbd: update comment describing ctdb_call_send_redirect()
      ctdbd: remove a nonempty blank line
      ctdbd: fix comment explaining redirection of CTDB_REQ_CALL redirection.
      recoverd: eliminate some trailing spaces from ctdb_election_win()
      recoverd: fix a comment in main_loop
      recoverd: fix a comment typo
      recoverd: when the recmaster is banned, use that information when forcing an election
      server: fix wording and punctuation in comment block for ctdb_reply_dmaster().
      server: standardize formatting of comment block for ctdb_reply_dmaster() while I'm at it..
      util: In passing the code, fix a space vs. tab in set_close_on_exec().
      server: standardize formatting of comment block for ctdb_reply_dmaster() while I'm at it..
      loadparm: add new parameter "acl allow execute always"
      s3:smbd: ease file server upgrades from 3.6 and earlier with "acl allow execute aways"
      docs: document "acl allow execute always"
      auth: fix space/tab mixup in cli_credentials_get_password()
      s4:torture: remove and useless variable and assignment in smb2.session.reauth5
      build: reorganize idmap_rw and idmap_tdb int subsystems with proper dependencies
      build: remove vars=locals() from the IDMAP_AD subsystem: there is no need for this
      build: clean the idmap sybsystems/modules definitions
      build: remove vars=locals() from the IDMAP_HASH subsystem: there is no need for this
      build: remove vars=locals() from the nss_info library: there is no need for this
      build: fix spacing in the definition of the "idmap_autorid" target
      build: fix spacing in definition of "idmap_ldap" module
      build: list sources directly in the netapi library and remove vars=locals()
      build: list sources of smbclient directly in the definition
      build: list sources of nmbd directly in the definition and remove vars=locals()
      build: list sources directly in smbldap library and remove vars=locals()
      build: list sources directly in definition of SAMBA_VERSION, and remove vars=locals()
      build: list sources directly in the definition of LIBAFS subsystem and remove vars=locals()
      build: list sources directly in def of LIBAFS_SETTOKEN subsystem and remove vars=locals()
      build: LIBAFS depends on LIBAFS_SETTOKEN
      build: make TDB_VALIDATE its own subsystem and have winbindd depend on it
      build: list winbindd sources in definition and remove vars=locals()
      build: define a subsystem TDB_LIB from TDB_LIB_SRC and depend on in sin samba3core
      build: list LIB_SRC files directly in samba3core.
      build: list source of subsystem AVAHI directly in its definition.
      build: list source of subsystem SERVER_MUTEX directly in its definition
      build: list source of subsystem PASSCHANGE directly in definition and remove vars=locals()
      build: list sources of cli_spoolss directly in the definition.
      build: list sources of library libcli_lsa3 directly in the definition
      build: list sources of subsystem LIBCLI_SAMR directly in the definition
      build: list sources of libcli_netlogon3 library directly in the definition
      build: split REG_PARSE_PRS as subsystem and list sources of REGFIO directly.
      build: list sources of subsystem samba3util directly in definition and remove vars=locals()
      build: list source of library popt_samba3 directly in definition and rm vars=locals()
      build: list source of subsystem PARAM_UTIL directly in definition and remove vars=locals()
      build: list source of subsystem param directly in definition
      build: list source of subsystem KRBCLIENT directly in defintion, removing vars=locals()
      build: list sources of library gpo directly in definition, removing vars=locals()
      build: list sources of library ads directly in sources, removing vars=locals()
      build: list sources of subsystem LIBADS_SERVER directly in def, removing vars=locals()
      build: list source of subsys LIBADS_PRINTER directly in def, removing vars=locals()
      build: list sources of lib secrets3 directly in def, removing vars=locals()
      build: list sources of subsys LIBNMB directly in def, removing vars=locals()
      build: list sources of subsys LIBNTLMSSP in definition, removing vars=locals()
      build: list sources of subsys TLDAP directly in definition
      build: list sources of library libsmb directly in def, also removing vars=locals()
      build: list sources of lib msrpc3 directly in def, removing vars=locals()
      build: list sources of lib smbregistry directly in def, remove vars=locals()
      build: list sources of subsys REG_SMBCONF directly in def, remove vars=locals()
      build: list sources of subsys REG_FULL directly in def, remov vars=locals()
      build: list sources of REG_API_REGF directly in def, remove vars=locals()
      build: list sources of SERVICES directly in def, remove vars=locals()
      build: list source of subsys LIBEVENTLOG directly in definition, remove vars=locals()
      build: list source of subsys RPC_CLIENT_SCHANNEL direclty in def, remove vars=locals()
      build: list sources of subsys LOCKING directly in def, remove vars=locals()
      build: list sources of lib pdb directly in def, removing vars=locals()
      build: list source of subsys GROUPDB direclty in def
      build: list source of subsys PROFILE directly in definition
      build: list sources of binary profiles directly in def, remov vars=locals()
      build: list sources of library smbd_base directly in def, remove vars=locals()
      build: list source of FNAME_UTIL directly in def, remove vars=locals()
      build: list sources of subsys PLAINTEXT_AUTH directly in def, remove vars=locals()
      build: list sources of subsys SLCACHE directly in def, remove vars=locals()
      build: list sources of subsys DCUTIL directly in def, remove vars=locals()
      build: list source of binary smbd/smbd diectly in def, remove vars=locals()
      build: list sources of subsys PRINTING directly in def, remove vars=locals()
      build: list sources of subsys PRINTBASE directly in def, remove vars=locals()
      build: list sources of subsys PRINTBACKEND direclty in def, remove vars=locals()
      build: list sources of binary smbstatus directly in def, remove vars=locals()
      build: list sources of binary smbcontrol directly in sources, remove vars=locals()
      build: list sources of smbtree direclty in def, remove vars=locals()
      build: list source of binary testparm directly in dev, remove vars=locals()
      build: list sources of binary smbta-util directly in def, removing vars=locals()
      build: list sources of binary test_lp_load directly in def, remove vars=locals()
      build: list source of subsys PASSWD_UTIL directly in def, remove vars=locals()
      build: list source of binary smbpasswd directly in def, remove vars=locals()
      build: list source of binary pdbedit directly in def, remove vars=locals()
      build: list source of binary smbget directly in def, remove vars=locals()
      build: list sources of binary rpcclinet directly in def, remove vars=locals()
      build: remove unused variable LIBSMBCLIENT_THREAD_SRC
      build: list sources of library smbsharemodes directly in def, remov vars=locals()
      build: list sources of libsmbconf directly in def.
      build: list sources of binary smbconftort directly in def, remove vars=locals()
      build: list source of subsys LIBNET directly in def, remove vars=locals()
      build: list source of subsys LIBNET_DSSYNC directly in def, remove vars=locals()
      build: list sources of subsys LIBNET_SAMSYNC directly in dev, remove vars=locals()
      build: list sources of binary net directly in def, remove vars=locals()
      build: list source of binary smbspool directly in def, remove vars=locals()
      build: list source of binary nmblookup directly in source, remove vars=locals()
      build: list sources of smbtorture(3) directly in dev, remove vars=locals()
      build: list source of binary msgtest direcly in def, remove vars=locals()
      build: list source of binary pdbtest directly in def, remove vars=locals()
      build: list sources of binary vfstest directly in def, remove vars=locals()
      build: list source of binary log2pcap directly in def, remove vars=locals()
      build: list source of binary locktest2 directly in def, remove vars=locals()
      build: list source of binary smbcacls directly in def, remove vars=locals()
      build: list source of binary smbcquotas directly in def, remove vars=locals()
      build: list source of binary eventlogadm directly in def, remove vars=locals()
      build: list source of binary sharesec() directly in def, remove vars=locals()
      build: list sources of binary debug2html directly in def, remove vars=locals()
      build: list source of binary smbfilter directly in def, remove vars=locals()
      build: list sources of library nss_wins directly in dev
      build: list sources of binary ntlm_auth directly in dev, remove vars=locals()
      build: list source of binary vlp directly in dev, remove vars=locals()
      build: list source of binary rpc_open_tcp directly in dev, remove vars=locals()
      build: list source of binary dbwrap_tool directly in def, remove vars=locals()
      build: list source of dbwrap_torture directly in def, remove vars=locals()
      build: list source of binary split_tokens directly in def, remove vars=locals()
      build: remove remaining occurrences of vars=locals() of source3/wscript_build
      afs: format afs_syscall() properly
      afs: implement afs_syscall() always, returning -1 if FAKE_KASERVER is not defined.
      s3:include: remove duplicate prototypes from afs functions from proto.h
      s3:modules: vfs_afsacl has the afs_syscall prototype via proto.h
      libsmbconf:registry: rework smbconf_reg_parameter_forbidden(), renaming it.
      libsmbconf:registry: publish smbconf_reg_parameter_is_valid()
      s3:net rpc conf: use the published smbconf_reg_parameter_is_valid()
      s3:net rpc conf: remove the (now) unused rpc_conf_reg_valname_forbidden()
      s3:net rpc conf: print the provided parameter name on error, not the canonicalized one
      libsmbconf:registry: reorganize the validity check and canonicalization of the input in "setparm"
      libsmbconf:registry: clarify the appearance of "includes" in forbidden_names
      s3:net rpc conf: reorganize the validity check and canonicalization of the input in "setparm"
      s3:net rpc conf: setparm: introduce variables service_name, param_name, valstr for clarity
      s3:net rpc conf: rename canon_valname->canon_param_name for clarity in setparm.
      s3:net rpc conf: factor validation of parameter out for re-use.
      s3:net: check for GLOBAL_NAME net_conf_param_valid()
      s3:net conf: add the same parameter checks to "setparm" as in "net rpc conf".
      selftest: remove unused variables (copy'n'paste...) from test_net_conf.sh
      selftest: update SED_INVALID_PARAMS in the registry.roundtrip test
      selftest: add regression test for setting invalid parameters in registry config via "net [rpc] conf"
      selftest: add "state directory" to the forbidden parameters test in net conf
      selftest: include "state directory" in invalid parameters in registry roundtrip test
      libsmbconf:registry: add "state directory" to the list of forbidden parameters
      build: get rid of source file variables in source3/modules/wscript_build
      build: get rid of source-variables in source3/auth/wscript_build
      build: get rid of vars=locals() in source3/auth/wscript_build
      build: get rid of source variables and vars=locals() in source3/libgpo/gpext/wscript_build
      build: get rid of source strings from source3/passdb/wscript_build
      build: get rid of source variables and vars=locals() in source3/rpc_server/wscript_build
      build: get rid of vars=locals() in source3/modules/wscript_build
      build: get rid of vars=locals() in source3/lib/netapi/examples/wscript_build
      idmap_autorid: add a db_context argument to idmap_autorid_get_domainrange()
      idmap_autorid: add a db_context argument to idmap_autorid_loadconfig()
      idmap_autorid: add a db_context argument to idmap_autorid_saveconfig()
      idmap_autorid: add a db_context argument to idmap_autorid_init_hwm()
      idmap_autorid: remove the ignore_builtin bool from the global_config struct
      idmap_autorid_tdb: add idmap_autorid_getconfigstr()
      idmap_autorid: refactor idmap_autorid_loadconfig to use idmap_config_getconfigstr
      idmap_autorid: rename TALLOC_CTX argument of idmap_autorid_loadconfig() to mem_ctx
      idmap_autorid: refactor idmap_autorid_parse_configstr() out of idmap_autorid_loadconfig()
      idmap_autorid: change idmap_autorid_loadconfig() to return NTSTATUS
      idmap_autorid: improve idmap_autorid_saveconfig() by adding a talloc stackframe
      idmap_autorid: factor building of the keystr into a function
      idmap_autorid: improve a debug message in idmap_autorid_getrange_int()
      idmap_autorid: add idmap_autorid_getrange()
      idmap_autorid: factor out domain range adding code into a separate function
      idmap_autorid: add new function idmap_autorid_setrange()
      idmap_autorid: for clarity, add a wrapper idmap_autorid_acquire_range() to idmap_autorid_addrange()
      idmap_autorid: fix a debug message in idmap_autorid_addrange()
      idmap_autorid: improve two debug messages by printing NT error codes
      idmap_autorid: Don't use db as a temporary talloc context.
      idmap_autorid: add a comment explaining idmap_autorid_get_domainrange()
      idmap_autorid: add a comment explaining idmap_autorid_init_hwm()
      idmap_autorid: add a comment explaining idmap_autorid_db_init()
      idmap_autorid: add a comment explaining idmap_autorid_loadconfig()
      idmap_autorid: add a comment explaining idmap_autorid_saveconfig()
      net: improve help text for "net idmap dump"
      net: improve help text for "net idmap restore"
      net: rename "net idmap setmap" to "net idmap set"
      net: move the "net idmap set" functionality to subcommand "net idmap set mapping"
      net: add the "net idmap set secret" subcommand as alias for "net idmap secret"
      net: move the "net idmap delete" functionality to subcommand "net idmap delete mapping"
      net: rename "idmap_dump_ctx" to "net_idmap_ctx".
      idmap_autorid: add idmap_autorid_saveconfigstr()
      net: add "net idmap get" command
      net: add "net idmap set range" (for autorid backend)
      idmap_autorid: improve clarity of idmap_autorid_addrange_action() by adding mem_ctx.
      net: implement "net idmap get range"
      idmap_autorid: extend idmap_autorid_addrange to allow to set mappings below the HWM
      idmap_autorid: add idmap_autorid_build_keystr_talloc()
      idmap_autorid: add idmap_autorid_delete_range_by_sid()
      idmap_autorid: add idmap_autorid_delete_range_by_num()
      net: implement "net idmap delete range"
      idmap_autorid: add idmap_autorid_iterate_domain_ranges[_read]()
      net: add "net idmap get ranges" operation for autorid
      idmap_autorid: add idmap_autorid_delete_domain_ranges()
      net: implement "net idmap delete ranges"
      idmap_autorid: allow iterate functions to operate on all domain ranges
      net: allow "net idmap get ranges" to list all ranges
      smbd:smb2: fix error code when the header says the request is signed but we don't have a sesseion
      shadow_copy2: break overly long lines in shadow_copy2_snapshot_to_gmt()
      shadow_copy2: add comment header describing shadow_copy2_strip_snapshot()
      shadow_copy2: add header comment explaining have_snapdir()
      shadow_copy2: add comment block explaining shadow_copy2_find_snapdir()
      shadow_copy2: add comment block explaining shadow_copy2_insert_string()
      shadow_copy2: add comment block explaining shadow_copy2_convert()
      shadow_copy2: add comment explaining the SMB level GMT format pattern
      shadow_copy2: introduce config struct and function shadow_copy2_connect()
      shadow_copy2: introduce the bool "snapdir_absolute" in the config.
      shadow_copy2: disable "snapdir:crossmountpoints" if the snapdir is absolute.
      shadow_copy2: re-add the basedir option.
      shadow_copy2: introduce "shadow:mountpoint" option
      shadow_copy2: add rel_connectpath to config.
      shadow_copy2: add snapshot_basepath to the config.
      shadow_copy2: log resulting config at the end of shadow_copy2_connect()
      shadow_copy2: implement disk_free
      shadow_copy2: in the classical case, use configured path in shadow_copy2_find_snapdir()
      shadow_copy2: make shadow_copy2_find_snapdir() return const char *
      shadow_copy2: shadow_copy2_insert_string(): do not prepend a "/" in absolute mode
      shadow_copy2: factor shadow_copy2_posix_gmt_string() out of shadow_copy2_insert_string()
      shadow_copy2: introduce shadow_copy2_snapshot_path()
      shadow_copy2: add comments explaining decisions in shadow_copy2_strip_snapshot()
      shadow_copy2: add some debug to shadow_copy2_strip_snapshot()
      shadow_copy2: fix shadow_copy2_strip_snapshot() in the classical case
      shadow_copy2: initialize "converted" string to null in shadow_copy2_convert()
      shadow_copy2: add some blank lines for visual separation to shadow_copy2_convert()
      shadow_copy2: fix shadow_copy2_convert() in the classical case.
      shadow_copy2: improve debug in shadow_copy2_convert() in snapdirseverywhere mode
      shadow_copy2: use stored mount_point instead of recalculating.
      s4:torture:smb2: fix a comment in the durable-open.lock-oplock test
      s4:torture:spoolss: use smb2_connect() instead of smb2_connet_ext()
      s4:libcli:smb2: add the client_guid to the smbcli_options
      s4:libcli:smb2: add the smb2_capabilities to the smbcli_options
      s4:libcli:smb2: make smbcli_options argument to smb2_connect_(send|ext) const
      s4:torture:smb2: add smbcli_options argument to torture_smb2_connection_ext()
      s4:torture:smb2: fix durable-open lease tests to pass against windows.
      s4:torture:smb2: add durable-open.reopen2-lease test
      s4:torture:smb2: add durable-v2-open.reopen2-lease
      s4:torture:smb2: add smb2_lease_v2_create() wrapper to smb2_lease_v2_create_share()
      s4:torture:smb2: add durable-v2-open.reopen2-lease-v2
      s4:torture:smb2: add a durable-open.reopen-lease-v2 test
      smbd:smb2_create: add comment about validity of check reconnect blob being only one
      smbd:smb2: successfully answer a DHnC request when the initial create was DH2Q
      s4:torture:smb2: extend the durable-v2-open.reopen2 test
      s4:torture:smb2: extend the durable-open.reopen2 test
      s4:torture:smb2: add durable-v2-open.create-blob
      s4:torture:smb2: add durable-v2-open.reopen2b
      s4:torture:smb2: add durable-v2-open.reopen2c
      smbd:smb2_create: fix return code for durable handle create blob combinations
      smbd:smb2: ignore an dhnq blob along with a dhnc in create
      smbd:smb2: clarify and comment code treating dh2c blob check.
      smbd:smb2: fix crash when smb2 session reauth fails
      libcli/smb: add smb2cli_tcon_is_encryption_on()
      s4:torture: add smb2.session.reauth6 : test failing reauth
      s3: add cluster_probe_ok() in a new module util_cluster.
      s3:smbd: use new function cluster_probe_ok()
      s3:winbindd: use cluster_probe_ok()
      s3:nmbd: do a very early cluster probe when starting nmbd.
      idmap_autorid: fix traversal of ranges to correctly exclude mapping records.
      ctdb_client.h: fix build on AIX by removing C++-style comments
      build: fix ordering problems with lib-provided and internal RPATHs
      idmap_autorid: fix status code when trying to load range for an invalid input
      s4:torture:smb2: add comment explaining lease upgrade in the non-contended case
      s4:torture:smb2: add new lease.upgrade3 test to test the contended upgrade
      rpcclient: fix output of lsalookupsids for sids of type DOMAIN
      wbinfo: fix ouptput of --lookup-sids for sids of type DOMAIN
      wbinfo: fix output of "--lookup-sids" to use the configured winbind separator
      wbinfo: fix output of wbinfo --sid-to-name for sids of type DOMAIN
      s4:rpc-server: fix use after free in dcesrv_lsa_lookup_sid()
      s4:rpc-server: fix lsa_lookupsids return value for the domain sid
      autobuild: add a "ctdb" target
      autobuild: extend samba-ctdb target to build ctdb, too
      random-sleep: add possiblity to override via environment variable
      testparm: don't warn for TCP_NODELAY in socket options.
      ctdb:tests: remove old now unused script test/recover.sh
      ctdb:tests: add path of ip command to extra output in the error case
      ctdb:tests: ignore SIGPIPE in unit tests
      ctdb:tests: in the stub ip command, avoid broken pipe by using echo instead of cat
      ctdb:tests:76_ctdb_pdb_recovery: fix a typo in a message
      ctdb:tests:76_ctdb_pdb_recovery: fix a typo in a message
      ctdb:tests:76_ctdb_pdb_recovery: change from using ctdb pstore to ctdb ptrans.
      ctdb:test: remove unused ip2ipmask from integration.bash
      autobuild: build the "ctdb" target with socket-wrapper enabled
      ctdb:tests: in the stub "ip link show" command use echo instead of cat
      ctdb:tests: update README
      s4:torture:smb2: add new durable-open.reopen1a test
      s4:torture:smb2: add new durable-v2-open.reopen1a test
      s3:module:shadow_copy2: add my (C)
      s3:modules:shadow_copy2: improve headline comment
      s3:modules:shadow_copy2: remove redundant documentation comment block
      docs: update the manpage of vfs_shadow_copy2
      ctdb:build: install the new manpages
      ctdb:packaging:RPM: package the new manpages
      ctdb:packaging:RPM: don't run autogen.
      lib:util: fix a comment typo
      shadow_copy2: revert expensive and unnecessary zero-initialization
      shadow_copy2: add a comment explaining why we don't talloc_zero_array().

Nadezhda Ivanova (7):
      s4-openldap: Added an -H option to delegation script
      s4-openldap: Remove use of talloc_reference in ldb_map_outbound.c
      s4-openldap: Restored openldap-related options to the provision script
      s4-samldb: Do not allow deletion of objects with RID < 1000
      s4-dsacl: Fixed incorrect handling of privileges in sec_access_check_ds
      s4-openldap: Fixed a problem with provisioning with OpenLdap
      s4-dsdb: instanceType NC_HEAD is only allowed combined with WRITE for an originating add operation

Noel Power (2):
      handle later iniparser version assigning a zero length string value for 'key='
      fail authentication for single group name which cannot be converted to sid

Pavel Reichl (1):
      ldb: use of NULL pointer bugfix

Peter Somogyi (58):
      Added infiniband transport implementation(incomplete) and interface.
      Just testing the bzr e-mail plugin...
      Implementing basic data structure handling...
      Using samba DLIST helper macro set.
      Testing e-mail notification...
      bzr email plugin test
      Added some event handling (incomplete)...
      Implemented cm usage.
      Rough implementation of buffer handling.
      Raw implementation done.
      Using struct <type> instead of typedefs.
      Made ibwrapper compilable.
      Raw impl. of ibwrapper test tool.
      Made infiniband support configurable.
      Added checks for ib libs and headers
      Modified send logic to allow large messages.
      Made receiver handle partial packets.
      Added send queue.
      Added trace messages + several fixes
      Joining ctdb and ibwrapper (incomplete).
      +1 ibw function +1 bugfix
      bugfix in ibw_send
      ibw: modified tridge's code - in my point of view
      1st "working" ib version.
      Merged tridge's branch.
      Fixed a side effect of previous revert.
      Adjusted ib test tool #1.
      Adjusted debug level and test scenario.
      Added overload test scenario + fixed 1 send queue bug.
      merging tridge's code...
      2 bugfixes
      Added variable msg size scenario.
      ib: fragment sent buf + many bugfixes
      merged tridge's code
      ib: adjustment of a test scenario
      Merged tridge's code.
      Some minor changes before integrating ib...
      ib: a trivial approach of integration
      1st working ib integrated ctdb
      merged tridge's fix
      workaround proposal for the initialization-problem
      merged tridge's code
      ib: added external send queue to workaround downtime
      ib: test scenario was wrong
      merged tridge's branch
      Merged tridge's ctdb branch.
      - ctdb/ib minor bugfixes (error case)
      Simplified code in ctdb_init_transport.
      merged tridge's branch
      removing my dirt from tridge's code
      use talloc_vasprintf
      fixed ctdb/ib bug at reject event
      made ofed-1.0 (and 1.1) compatible + fixed warnings
      merged tridge's branch
      merged tridge's branch
      ctdb/ib: reduce debug output; allow not only ip
      ctdb/ib: swapped ibwrapper_tets options (-d, -a, -g)
      fixed prev. ibwrapper_test options

Ralph Wuerthner (1):
      ethtool does not support virtio_net devices.

Ronnie Sahlberg (1712):
      merge from tridge
      merge from tridges tree
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      add a comment that sometimes sending remote calls straight to the
      split the 32bit idr field into two.
      add pdu's that the client can use to query the ctdb daemon of the path
      add a mapping table from a hash value to a lmaster vnn number
      merge from tridge
      add a control to read the vnnmap configuration from a node
      add a new control : SETVNNMAP  to set the generation id and also the vnn
      add a special VNN that means "all" nodes so that a message can be
      merge from tridge
      make srvid 64 bits  instead of 32 bits
      add a generation field to the pdu header.
      clients should not fill in "generation" nor be aware of what generation
      ctdb will now verify that the generation id for all CTDB_REQ_CALLs that
      merge from tridge
      you cant dereference ctdb->vnnmap in the client since it is null in hte
      add a control to pull the database list from a remote node
      add a few more controls that are useful for debugging a cluster
      print vnn as decimal instead of hex
      merge with tridge
      add a control to read an entire tdb from a node including
      add a new control to set all records in a database to a new dmaster
      control to delete all records in a database
      implement a control to pull a database from a remote node
      add a new "recovery mode" field to ctdb.
      merge from tridge
      add push/pull of tdb  and a control to copy a tdb from one node to
      add an initial recovery control to perform samba3 style recovery
      fix a bug in pushdb control.
      specify which node to perform recovery to when using the recovery
      merge with tridges tree to resolve all conflicts
      update some calls to ctdb_control() that were still using the old
      change the getnodemap control to a more consistent output for whether a
      remove test code in the fetch test to keep the daemons running forever
      add a control to create a database
      remove sleep from the fetch test
      discard REQ/REPLY DMASTER when generation id is wrong or when in
      add a recover test   change alignment for the pull/push db structures
      recover.sh test script that build a few database and populates them with
      do a real recovery by killing a node and then calling the recover
      merge from tridge
      merge from tridge
      merge from tridge
      break set/get vnn map out from ctdb_control and put it in ctdb_recover.c
      fixup getdbmap control so it looks a bit nicer
      cleanup getnodemap
      merge from tridge
      cleanup the control "write record"
      merge from tridge
      start working on a recovery daemon
      ctdb_control should use the provided timeout and not hardcode to 1.0
      change the signature for ctdb_ctrl_getnodemap() so that a timeout
      update getvnnmap control to take a timeout parameter
      merge from tridge
      also verify that the generation id is the same on all the nodes and if
      recovery daemon
      remove a exit from the test script
      merge from tridge
      merge from tridge
      merge from tridge
      split the vnn broadcast address into two
      merge from tridge
      add a control to get the pid of a daemon.
      merge from tridge
      add support in catdb to dump the content of a specific nodes tdb instead
      in the recover test
      update to rhe recovery daemon
      hte timed_out variable needs to be static and can not be on the stack
      add a ifdeffed out block to the call.
      dont use arrays where a uint32_t works just as well
      dont allocate arrays where we can just return a single integer
      break out the setting/clearing of recovery mode into a dedicated helper
      add a helper function to create all missing remote databases detected
      create a helper function to make sure the local node that does recovery
      create a helper function for recovery that pulls and merges all remote
      break the code that repoints dmaster for all local and remote records
      add an extra blank line
      create a helper function for recovery to push all local databases out
      break out the code to update all nodes to the new vnnmap into a helper
      change a lot of printf into debug statements
      update a comment to be more desciptive
      add a test in the function that checks whether the cluster needs
      add new controls to get and set the recovery master node of a daemon
      recovery daemon with recovery master election
      it now works to talloc_free() the timed event if we no longer want it to
      hang the timeout event off state   and thus we dont need to explicitely
      merge from tridge
      fix alignment bug for pulldb
      we must repoint dmaster to an invalid node during recovery to stop the
      add a small tool to monitor recovery
      change the name of the recovery daemon to ctdb_recoverd
      add a command line flag to ctdbd to start a recovery daemon.
      when we are in recovery mode and we get a REQ_CALL from a client,
      hang the event from the retry structure instead of the hdr structure
      merge from tridge
      actually check the remote nodes and not just the local node
      merge from tridge
      when starting recovery repoint dmaster to an invalid node and not the
      when starting a new election, also force all nodes into recovery mode so
      update ctdb_control to create a correct ctdb_vnn_map->map array
      create a correct vnnmap structure to prevent a segv
      merge from tridge
      make ctdb_control catdb work again
      we must bump the rsn everytime we do a REQ_DMASTER or a REPLY_DMASTER
      add a control to bump the rsn number for all records in a database
      merge from tridge
      we have to get a NEW generation id after completing recovery
      merge from tridge
      add a mising parameter to the new signature for ctdb_control
      remove the control to bump the rsn since we dont need it anymore
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      if a caller specifies a timeout when calling a control, it makes no
      remove a prototype we no longer need
      merge from tridge
      add a control to shutdown/kill a node
      we no longer pass lmaster across during pulldb    so dont print it from
      merge from tridge
      add dead node detection   so that if a node does not generate any
      add a missing file :-)
      merge from tridge
      add a node->tx_cnt counter
      increase the tx_cnt everytime we send a packet to a node
      use ctdb_dead_node() instead of reimplementing the same code again
      merge from tridge
      add controls to enable/disable the monitoring of dead nodes
      merge from tridge
      add a new command for ctdb_control to trigger a recovery
      merge from tridge
      add controls to take over and release an ip address
      new branch from tridges tree
      - create /etc/ctdb/taken_ips and /etc/ctdb/changed_ips analog to the
      it is -f   not -x to check if a file exists
      initial webpage
      add a developers section
      STATD_SHARED_DIRECTORY should be define din the nfs sysconfig file and
      update the evens scripts for nfs and nfslock to honour CTDB_MANAGES_NFS
      fix broken link to the CTDB setup page
      merge from tridge
      when we get a dmaster error,   show the database id in the log so we can
      merged with tridge
      mention that ctdb offers cross cluster messaging to applications
      merge from tridge
      merge from tridge
      print an error message to stdout if we failed to open the logfile for
      ubuntu uses a different style of init scripts than redhat and suse
      add a -Y option to generate machine readable output.
      merge from tridge
      merge from tridge
      add the ip address to the nodemap structure we pull from a server and
      show the second column in the machinereadable output for ctdb status as
      merge from tridge
      change the takoverip/releaseip controls to pass a structure containing
      merge from tridge
      add a control that lists all public ip addresses and which node that
      merge from tridge
      dont use CTDB_MANAGES_NFS for controlling the lockmanager
      add a simple events script to manage vsftpd
      merge from tridge
      provide machinereadable output for  ctdb ip
      add some text about CTDB and in which scenarios it would be a good
      ctdb is only a ha solution when combined with a cluster filesystem
      merge from tridge
      need to install the vsftpd script in make install
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      add a control to permanently enable/disable a node
      show the disabled/permanently disabled status in the machinereadble
      distribute the takenover nodes more evenly among the surviving nodes
      merge from tridge
      add a webpage for hot to get the code.   based on the wikipage
      add a page (based on the wiki) on how to build samba3 and ctdb
      add a page on how to configure CTDB   based on the wiki
      update the names of envvars to use the CTDB_ prefix
      remove CTDB_MANAGES_SAMBA from the config page.   this should be in
      add a page for starting and (basic) testing of ctdb     based on the
      merge from tridge
      update the blurb for the setmonmode control      it takes 0 or 1 as a
      add an initial manpage for the ctdb tool
      put the text in "generation" inside a para block
      add a page for configuring samba
      add a page on how to configure clustered nfs
      add the generated manpage for ctdb   so that it is available also for
      fix typo
      add links to how to configure samba/nfs in the samba/nfs sections
      add instructions on how to set up HA-FTP using vsftpd and ctdb
      show how to start the newly configured vsftpd service  by disabling and
      typo
      merge from tridge
      merge from tridge
      replace the list of documentation links on the front page with a link to
      create a separate list of links for the manpages
      add a tiny prerequisites page stating that you need a cluster filesystem
      capitalize some links
      add code to unban when we become/unbecome recmaster
      remove rht unban code from when we take recmaster role.   we can not
      unban all nodes when we release recmaster role or when we win an
      should be sufficient to unban nodes when we unbecome recmaster
      merge from tridge
      merge from tridge
      merge from tridge
      initial ctdbd man page
      add a link to the ctdbd man page
      merge from tridge
      add descriptions of the options for the ctdb command
      merge from tridge
      minor man page update
      when public interface is not set,  print this to the logfile before
      merge from tridge
      merge from tridge
      note that there is no link on the PUBLIC interface
      add a small test tool that can be used to create a massive amount of
      add a mechanism to the samba event script to do periodic cleanup of the
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      when accepting an incoming connection, verify that the source address is
      rename tnode->queue to tnode->out_queue to indicate this queue is for
      add incomplete code fragments to perform SCSI PERSISTENT RESERVATION
      get rid of some compiler warnings for the scsi tool
      start implementing command line parsing to scsi_io to make it take
      add GPL comment to scsi_io.c
      merge from tridge
      add more command line parsing
      add a tuneable to control how long we wait after a successful recovery
      initial version of a socketkiller tool
      merge from tridge
      ETH_P_IP does not work on my ubuntu system   so changing it back to the
      change the signature for ctdb_sys_send_ack() to ctdb_sys_send_tcp()
      add a new  ctdb_sys_kill_tcp() function that kills (RST) the specified
      add a killtcp command to the ctdb tool
      we dont need socketkiller anymore now that the
      merge from tridge
      merge from tridge
      merge from tridge
      add a command to ctdb to send tickle-ack's
      merge from tridge
      update the manpage for ctdb to describe killtcp and tickle
      break the tickle description into two paragraphs
      merge from tridge
      remove 59.nfslock and fold this into 60.nfs
      use 'ctdb tickle' instead of sendip to tickle nfs clients.
      use the official iana number for ctdb and not 9001
      merge from tridge
      when checking the nodemap flags for consitency while monitoring the
      a better way to fix the DISCONNECT|BANNED vs DISCONNECT bug
      when a remote node has sent us a message to update the flags for a node,
      nicer handling of DISCONNECTED flag  when we update the node flags from
      dont restart the tcp service after a ip takeover,   it is more efficient
      run the ctdb killtcp in the background
      make it possible to specify how many times ctdb killtcp will try to RST
      update the documentation for NFS to mention that the lock manager must
      use the socketkiller to kill off all lock manager sessions as well
      merge from tridge
      merge from tridge
      regenerated ctdbd manpage
      print the operation code in the debug message when we discard a packet
      pass the header to ctdb_become_dmaster instead of just the reqid
      add a ctdb_kill_tcp_callback() that will perform a kill tcp using a
      first cut at a better and more scalable socketkiller
      add a ctdb_ prefix to two public functions
      add daemon code for the new kill_tcp control
      make the ctdb tool use the killtcp control in the daemon instead of
      ctdb killtcp  no longer takes a <numrst> argument to control how many
      rename killtcp->fd to killtcp->capture_fd
      as an optimization for when we want to send multiple tickles at a time
      the posix.4 name for the priority field is sched_priority
      netinet/if_ether.h is more portable than net/ethernet.h
      merge from tridge
      add a private_data field to the killtcp structure and let the system
      update the comment at the top of file to reflect the purpose of the file
      add an initial system_aix.c  to manage raw sockets under aix
      add some support for controlling Linux or AIX in the makefile
      add some configure magic to make it configure and build properly on
      when we have found that /etc/rc.d/init.d/SERVICE exists, then run that
      if we dont have /etc/sysconfig  and we dont have /etc/default
      if we dont have nc or netcat,  try using netstat as a final attempt to
      try netstat as a last attempt to check a tcp port in
      there is no point in doing anything in 10.interfaces unless we have a
      fix bug introduced in previous commit
      we dont do nfstickles unless ctdb manages nfs
      change the way we pick/find a new node to takeover for a failed node
      add a check if start_node is beyond the end of the nodemap and reset it
      merge from tridge
      merge from tridge
      change the tickle list from one global list into an array per public
      updated ctdb tickle management
      when a client connects with TCP_CLIENT  we should look at the
      set the tcp tickle update flag to true once we have done a takeover and
      when we build the arp structure for sending gratious arp (and tcp
      initial version of talloc based red-black trees
      no need to have a separate assignment of the tcparray pointer followed
      if sibling is NULL it is a leaf node and thus black.
      there were situations where we were not guaranteed that a sibling had 2
      fix some remaining bugs with deleting nodes
      remove dead code
      fix the remaining bugs with tree delete that testing found.
      add a small tool to compare rb tree with a timeval_compare()+add an
      after we have checked dest address that it is a public address
      update the manpage for the -n option to make it clear we are referring
      add a small tool that can send smnotify packets
      dont wait for the default rpc timeout when trying to bing to a client.
      install smnotify in $(bindir)
      update the specfile to install smnotify
      do not restart lockd/statd when we takeover an ip address   this is
      we dont use sm-notify any more
      move scsi/scsi_io.c to utils/scsi/scsi_io.c
      merge from tridge
      add a ctdb command to print the default public ip of a host.
      change error output in ctdb   and in ctdb_cmdline_client to print to
      dont wait indefinitely for the initial getvnn to complete
      /etc/sysconfig/nfs can now discover the public ipaddress automagically
      when inserting data in the tree, if there was already a node with the
      compile rb_tree.c by default.
      merge from tridge
      change fprintf(stderr to DEBUG(0, now that client DEBUGs are redirected
      add a tree insert function that takes a callback fucntion to populate
      add helpers to add/lookup/delete nodes in a tree where the key is an
      add helpers to traverse a tree where the key is an array of uint32
      when we want to kill a tcp connection  we stored the connection
      add more extensive test cases  and verify that we are not losing any
      run the test for 60 seconds if that is what we claim
      remove an unused function
      change the mem hierarchy for trees.   let the node be owned by the data
      remove an extra blankline
      enhanced tests to verify the tree integrity when adding/removing nodes
      from Chris Cowan
      add a wrapper function to create the key used to insert/lookup a certain
      comment that ctdb_event_script_v() is called from a forked childs
      add a function to return the first entry that is stored in a tree where
      add a description on how the event scripts works to the README and make
      fix typo
      zero out the sa struct to supress a valgrind error
      call the service specific event scripts directly from the forked child
      add a comment that the talloc_free also removes the script from the tree
      change the now rather small /etc/ctdb/events script into a service
      add text to the event script timeout log on how to find out which script
      we should start winbindd before we start smb
      start winbind before smbd
      merge from tridge
      if a public address has already been taken over by a node, then let that
      dont pollute the log with 'Registered PID XXX for client YYY' at log
      make sure that the event script is executable and just ignore it
      setup the logfile much earlier in the startup procedure for ctdbd
      add an atexit() that will print "CTDB daemon shutting down" in the log
      when we shutdown the service due to receiving a 'ctdb shutdown' command
      change the structure used for node flag change messages so that we can
      if lockwait takes an excessive time to complete. log the time it took to
      when a node becomes banned    its databases are no longer part of ctdb
      if the node is inactive  i.e. banned or disconnected  then that node is
      create a define to represent the 'invalid' generation id we used in two
      when we receive a packet from the network, check explicitely that the
      merge from tridge
      create an enum to describe the state of a control in flight  instead of
      in ctdb_call_recv() we must check that state is non-NULL since
      hang the ctdb_req_control structure off the ctdb_client_control_state
      break checking that the recoverymode on all nodes are ok  out into its
      try out a slightly different api for controls where you provide a
      get rid of the explicit global timeout used in the previous example and
      comment why we do a talloc_steal
      change the api for managing callbacks to controls   so that isntead of
      cleanup invoke_control_callback.   we dont need to pass some of these
      add an initial implementation of a service_id structure and three
      add a control to pull the server id list off a node
      change the monitoring of recmode in the recovery daemon to use a fully
      add async versions of the freeze node control and freeze all nodes in
      make the ctdb shutdown command use the async _send() function to send
      add an extra debug statement when we send a SIGTERM to a process
      merge from tridge
      when we start 60.nfs   we must make sure that the shared storage
      merge from tridge
      change how we do public addresses and takeover so that we can have
      change ctdb->vnn to ctdb->pnn
      change ctdb_validate_vnn to ctdb_validate_pnn
      change vnn to pnn in the ctdb tool
      change ctdb_get_vnn to ctdb_get_pnn
      change server_id.vnn to server_id.pnn
      change ctdb_node_flags_change.vnn to ctdb_node_flags_changed.pnn
      change ctdb_ctrl_getvnn to ctdb_ctrl_getpnn
      change ctdb_send_message  to take pnn as parameter instead of vnn
      change debug output from vnn to pnn
      change debug output from vnn to pnn
      change vnn to pnn in the traverse structure
      dont just always return 0 from the killtcp control.
      fix typo in debug output
      we cant have takeover_ctx hanging off ctdb  since it is freed/recreated
      get rid of the ctdb_vnn_list structure and just use a single list of
      allow different nodes in the cluster to use different public_addresses
      dont dereference vnn before we have assigned it a pointer value
      we should always get data back from getnodemap
      we dont use 'sendip' any more   so dont check for it and exit from the
      document NFS_TICKLE_SHARED_DIRECTORY on our web page
      the event scripts for nfs are called 60.nfs and 61.nfstickle
      specify the additional ports for nfs
      improve the handling of hosts to notify with statd
      we dont need the rpc.statd on shared directory   neither do we need
      60.nfs:
      merge from tridge
      add a short delay after stopping nfslock   to make it less likely that
      update web nfs with the new NFS_HOSTNAME variable we need to be able to
      remove the ctdb publicip  command
      ctdb ip    must loop over all connected nodes to pull hte public ip list
      set /proc/sys/net/ipv4/conf/all/arp_filter to 1 by default when
      change the signature to ctdb_sys_have_ip() to also return:
      update a comment
      merged patch from tridge
      grab the interface name from tok and not from the uninitialized array
      move all ip addresses onto loopback when we startup ctdb
      use the public addresses variable instead of hardcoding the path
      merge from tridge
      when a ctdb_takeover_run has failed  we must make sure that
      disable nfsv4 in etc/sysconfig/nfs
      update the section about event scripts
      let each node verify that they have a correct assignment of public ip
      during startup make sure to delete any public addresses from any
      merge from tridge
      documentation updates
      update vnn -> pnn in documentation
      let ctdb ip   only print the ip addresses known to the specified node
      merge from tridge
      add documantation of additional requirements for FTP so that users can
      one more command to run to enable winbind for vsftpd
      merge from tridge
      merge from tridge
      when ctdb attaches to a database  it broadcasts the attach to all other
      in ctdb_control_persistent_store() we must talloc_steal() the pointer to
      merge from tridge
      merge from tridge
      when we have a public ip address mismatch (i.e. we hold addresses we
      merge from tridge
      change async.private to async.private_data since private is a reserved
      merge from tridge
      add a function in the ctdb tool to determine whether the local node is
      add an initial test version of an ip multiplex tool that allows us
      add a control to send gratious arps from the ctdb daemon
      send out gratious arps when we are starting up serving the "single
      remove some debug outputs
      add a --single-public-ip argument to ctdbd to specify the ip address
      merge from tridge
      simplify election handling
      first check that recovery master is connected (we know this from our own
      move the kill_tcp_connections() function from 10.interfaces to functions
      use kill_tcp_connections() to kill off all tcp connections to the
      use $CTDB_BASE in 90.ipmux instead of hardcoding it to /etc/ctdb
      dont try to lock the file from inside the ctdb daemon.
      merge from tridge
      include system/network.h so we get the prototype for inet_aton()
      add a new tunable : DeterministicIPs  that makes the allocation of
      add back the test inside the daemon that if someone asks us to drop
      merge from tridge
      reverse the order in which public ips are listed so it matches the order
      use NF_DROP instead of NF_STOLEN when we tell the kernel to not worry
      flush the route cache when we have added the single public ip to the
      merge from tridge
      set the flags explicitely isnstead of masking them in
      add a new transport method so that when a node is marked as dead, we
      add a stub restart method for IB
      add  missing ) in the IB transport (which i dont compile for)
      dont close the file, just set the fd to -1
      merge from tridge
      dont set some of the sysctl variables in statd-callout.    these are
      dont set parameters in statd-callout     if they should be set they
      when we are shutting down, we should first shut down the recovery daemon
      when shutting down, we should stop monitoring
      nfs may take a while to stop   so do it in hte background
      merge from tridge
      since service nfs stop/start sometimes fail to bring up the mount daemon on rhel5
      merge from tridge
      merge from tridge
      if bond* interfaces are used as public interfaces we can not rely on ethtool but
      merge from tridge
      add a new tunable "CheckNodesFile" that when set to 0   will disable the
      revert 773
      merge from tridge
      merge from tridge
      merge from tridge
      add CTDB_MANAGES_WINBIND to /etc/sysconfig/ctdb to allow ctdb to be used
      only check port 21 when monitoring vsftpd
      from Christian A
      merge from tridge
      when we print "Remote node had flags xx   local had flags xx
      if we get a modflag control but the flags remain unchanged, log this
      add an extra log if we get a modflags control  but it doesnt change any
      when we as the recovery daemon on the recovery master detects that the
      If update_local_flags() finds that a node has changed its BANNED status
      add log output for when ctdb_ban_node() and ctdb_unban_node() are called
      check for recursive bans in ctdb_ban_node() and remove the previous ban
      when monitoring the node from the recovery daemon, check that the
      Add a --node-ip argument so that one can specify which ip address a
      move ctdb_set_culprit higher up in the file
      dont manipulate ctdb->monitoring_mode directly from the SET_MON_MODE
      ->monitor_context is NULL when monitoring is disabled.
      get rid of the control to set the monitoring mode.
      add ctdb_disable/enable_monitoring() that only modifies the monitoring
      always set up a new monitoring event regardless of whether monitoring is
      log that monitoring has been "disabled" not that it has been "stopped"
      up the loglevel for the enable/disable monitoring to level 1
      merge from tridge
      for the banned status, we should allocate this structure as a child of
      rework banning/unbanning nodes
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      add documentation for the vacuum and repack commands.
      typo
      merge from tridge
      add eventscript for http
      split node health monitoring and checking for connected/disconnected
      merge from tridge
      merge from tridge
      ctdb_control_send() does not need to take an outdata parameter
      improve documentation of --nosetsched
      explain public-interface and single-public-ip better
      update --transport
      update
      update getdbmap docs
      doc updates
      merge from tridge
      merge from tridge
      add a ctdb uptime command that prints when ctdb was started and when the
      add ctdb_uptime.c
      prepare for release
      Merge branch 'master' of git://git.samba.org/tridge/ctdb
      Merge branch 'master' of git://git.samba.org/tridge/ctdb
      Specify and print debuglevels by name and not by number
      add an eventscript to start/stop iscsi
      update ctdb version
      update ctdb revision
      add monitoring of iscsi to the eventscript
      add documentation on how to set up ha-iscsi with ctdb
      change the IF interface is a BOND THEN xxx ELSE assume everything is ethernet
      in the 91.lvs event script
      dont use an absolute path for the basename command
      dont use an absolute pathname for the iptables tool
      dont use an absolute pathname for the touch command
      dont use absolute pathnames for the netstat tool
      Merge git://git.samba.org/tridge/ctdb
      update to revision 28
      create a startstop_nfs function that can start/stop the nfs service of different platforms
      add helpers to stop/start nfs lockmanager on different platforms
      From Mathieu PARENT <math.parent at gmail.com>
      from Mathieu PARENT <math.parent at gmail.com>
      read the current debuglevel in each loop in the recovery daemon so that we
      the ctdb structure must make its own copy of the ->address field and not just
      to make it easier/less disruptive to add nodes to a running cluster
      make the ctdb reloadnodes reload the nodes file on all nodes and restart the transport
      update version to 1.0.29
      monitor the amount of free memory and if this treshold is crossed, monitoring will log an OOM memory in the ctdb log and shut down ctdb on the node.
      Add a new parameter to /etc/sysconfig/ctdb
      Add debug output to indicate why a node starts up in DISABLED state
      document the --start-as-disabled argument
      add a new tunable DisableWhenUnhealthy which when set will cause a node to automatically become DISABLED anytime monitoring fails and the node becomes UNHEALTHY.
      add a control to get the name of the reclock file from the daemon
      add a new file <reclock>.pnn where each recovery daemon can lock that byte at offset==pnn to offer an alternative way to detect which nodes are active instead of relying on CONNECTED being accurate.
      store the num_active variable (number of connected/active nodes) inside the rec
      update the reclock pnn count for how many nodes are connected to the current node once every 60 seconds
      change recmaster from being a local variable in monitor_cluster() to be a member of the ctdb_recoverd structure
      add a new tunable : reclockpingperiod
      add a num_connected field to the rec structure that holds the number
      when we reallocate the ip addresses for nodes, we must make sure that
      add a new tunable 'NoIPFailback'
      A new command to 'ctdb'
      document some new ctdb command
      document some public tunables
      make 'ctdb ip' provide machinereadble output using '-Y'
      provide machinereadble -Y output for 'ctdb getdebug'
      Update ctdb uptime to provide machinereadable output
      update to version 1.0.30
      Redo the vacukming process to mkake it scalable.
      change the log level for the message when someone connects to a non-public ip
      dont steal reply_data.dptr to ctdb if there is no data, since then we would leak
      in ctdb_call_local() we can not talloc_steal() the returned data and hang it off ctdb.
      From M Dietz,
      update to version 1.0.31
      fix a memory leak
      Add two new controls to add/delete public ip address from a node at runtime.
      update the iscis support under RHEL5 to allow one iscsi target to be defined for each public address in the cluster.
      make sure the iface string is nullterminated in the addip control packet
      return 0 if iscsi is disabled
      from tridge: decorate dumpmemory output so that packets that are queued show up with a little more information to make memory leak debugging easier
      add improvements to tracking memory usage in ctdbd adn the recovery daemon
      decorate the memdump output with a nice field for ctdb_client structures to show the pid of the client that attached
      add a mechanism to force a node to run the eventscripts with arbitrary arguments
      bump version to .32
      From Chris Cowan
      we allocated one byte too little in the blob we need to send as the control to the server.
      add a ctdb command to print the ctdb version
      add possibility to provide site local modifications to the event system
      From Chris Cowan
      update to version .33
      shell scripts need extra spaces sometime
      fix compiler warning during a fatal error failing to lock down the socket
      Revert "- accept an optional set of tdb_flags from clients on open a database,"
      Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
      Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
      make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
      when a node disgrees with us re who is recmaster
      add support for -n all   in "ctdb -n all ip"
      add support for -n all   in "ctdb -n all ip"
      when a node disgrees with us re who is recmaster
      make ctdb eventrscipt accept the -n all argument to run the event script on all connected nodes
      Revert "Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,"""
      Revert "Revert "- accept an optional set of tdb_flags from clients on open a database,""
      Revert "- accept an optional set of tdb_flags from clients on open a database,"
      when adding a new public ip address to a running node using the 'ctdb addip' command,
      make 'ctdb catdb' produce output that resembles the output of tdbdump
      when deleting a public ip from a node that is currently hosting this ip, try to move the ip address to a different node first
      update version to .34
      Use DEBUG_ERR and not DEBUG_WARNING when we get a connection
      Add a capabilities field to the ctdb structure
      Add ability to disable recmaster and lmaster roles through sysconfig file and
      Monitor that the recovery daemon is still running from the main ctdb daemon
      close and reopen the reclock pnn file at regular intervals.
      make sure we lose all elections for recmaster role if we do not have the recmaster capability.
      Expand the client async framework so that it can take a callback function.
      update to version .35
      From Mathias Dietz
      Merge git://git.samba.org/tridge/ctdb
      fix merge corruption
      fix a bug where the public ip addresses of the cluster would not be redistributed across the cluster after a recovery was performed.
      update to new version
      ctdb->methods becomes NULL when we shutdown the transport.
      when pulling the nfs directories to check during 60.nfs monitor
      Update to new release
      Try to use tdb transactions when updating a record and record header inside the ctdb daemon.
      When we run the init script to start the ctdb service
      add a checksum routine for tcp over ipv6
      move the function to open a sending socket into the main executable since this function will dissapear soon...
      Add a missing include
      add a new container to hold a socketaddr for either ipv4 or ipv6
      Start implementing support for ipv6.
      Merge git://git.samba.org/tridge/ctdb
      Update some debug statements. Dont say that recovery failed if the failed function was invoked from outside of recovery
      remove some unnessecary tests if ->vnn is null or not
      dont check whether the "recovered" event was successful or not
      dont disable/enable monitoring for each eventscript, instead
      add "machinereadable output" support to "ctdb getmonmode"
      new version .38
      When ctdb has just been installed on a node, there wont be any persistent databases
      lower the debug level for the "can not start transaction" since we do expect this to happen a few times inside ctdb (since we cant really block and wait for all locks to dissapear before we can write the header, for example when doing a dmaster miration)
      dont emit the can not start transaction with locks held at all.
      lower the loglevel for when we have "tickles" for an ip address that is not a public address on the local node (it may be a public address on other nodes)
      lowe the loglevel for the warning that releaseip was called for a non-public address.
      move the config optoin CTDB_MANAGES_VSFTPD from /etc/sysconfig/vsftpd to /etc/sysconfig/ctdb
      move the CTDB_MANAGES_ISCSI setting from /etc/sysconfig/iscsi to /etc/sysconfig/ctdb
      move CTDB_MANAGES_NFS from /etc/sysconfig/nfs to /etc/sysconfig/ctdb
      update version to .39
      second try for safe transaction stores into persistend tdb databases
      cleanup of the previous patch.
      fix some memory hierarchy bugs in allocation of the state structure for persistent writes.
      restore a timeout value to the default settings instead of the hardcoded 3 second test value
      disable transactions for now,  there are more situations where there are conflicting locks   and the "net" command is not prepared that the persistent store can fail.
      read the samba sysconfig from the samba eventscript
      update to .40
      do persistent writes in a child process
      remote a comment that is no longer relevant
      remove another field we dont need in the childwrite_handle structure
      dont bother casting to a void* private_data pointer,
      update to .41
      debugleves can now be negative   so print their value using %d instead of %u
      create the nodes file in a 'test' subdirectory and not the current directory
      redesign the test of persistent writes
      run the persistent write test with 4 nodes by default
      add a parameter for the tdb-flags to the client function
      convert handling of gratious arps and their controls and helpers to
      fix a comment
      first cut to convert takeover_callback_state{}
      add a callback for failed nodes to the async control helper.
      make it possible to re-start a recovery without marking the current node as
      when a eventscript has timed out, log the event options (i.e. "monitor" "takeip 1.2..." etc)
      if the event scripts hangs EventScriptsBanCount consecutive times in a row
      ban the node after 3 failed scripts by default
      update to 1.0.42
      it is 2008   not 2008 right now :-)
      the write() from the freeze child process can fail
      only loop over the write it the write failed
      verify that the recmaster has the correct flags for us   and if not tell the recmaster what the flags should be
      third attempt for fixing a freeze child writing to the socket
      /etc/ctdb/functions should not be executable
      force an update of the flags from the recmaster after each monitoring run
      reduce loglevel of the info message we are updating the flags on all nodes
      test
      Revert "test"
      test
      make /etc/ctdb/functions executable and add a hashbang to it so
      initdit/ctdb is not a config file
      new version
      update a comment to reflect that this is not always a real recovery
      print the opcode when an async callback detects an error
      track both when we last started and ended a recovery.
      we dont need to explicitely thaw the databases from the recovery daemon
      in the destructor for the lock-wait child, make sure that we cancel any pending
      If a transaction commit fails. Log this error and cancel all pending transactions to the
      we need a 'case x:' in our ugly 'encode the control opcode as a linenumber in valgrind output' hack to make it work
      zero out the sockaddr_in structure before we store the ipv4 data in it to make sure that all data is initialized. Othervise valgrind will complain about uninitialized data when we write this structure out on the wire
      new version .44
      use more libral handling of event scripts timing out.
      waitpid() can block if it takes a long time before the child terminates
      update the monitor event for nfs to track how many times in a row it has failed
      new version 1.0.45
      set sigchild to SIG_IGN instead of SIG_DFL
      Revert "set sigchild to SIG_IGN instead of SIG_DFL"
      Revert "waitpid() can block if it takes a long time before the child terminates"
      Replace \s with [[:space:]] in our regexps we use for egrep.
      From Chris Cowan,  patch to make aix compile again
      mark /etc/ctdb/functions as a config file to keep rpmlint happy
      install the readme in /usr/share/doc/ctdb/ instead of under /etc
      pull the development files out into their own package
      add spec file for development rpm
      copy ctdb-dev to the spec directory
      Revert "copy ctdb-dev to the spec directory"
      Revert "add spec file for development rpm"
      Revert "pull the development files out into their own package"
      proper waitpid() fix.
      if we have enabled LVS   but we dont have all the required packages
      remove the attempts to restart NFS.
      add an option to skip checking that all the samba shares are ok
      make LVS a capability so that we can see which nodes are configured with
      Add three mode commands to the CTDB tool.
      Update to the LVS eventscript.
      add documentation for both LVS:single-ip and CAPABILITIES:wan-accelerator
      new version 10.0.46
      explain why you have to have a real ip address as well as the "virtual"
      Revert "Yip yip yip!"
      Fix a very subtle race where we could get a double free of a talloced
      new version 1.0.47
      remove a debugging echo statement
      Add two new options
      change how we filter out "empty" records in the traversecode
      Merge git://git.samba.org/tridge/ctdb
      Do not allow "ctdb eventscript" to start new eventscripts while we are in recovery mode
      Add two new controls  to start and cancel a persistent update.
      new version 1.0.48
      Only decrement the "number of persistent writes in flight" If/when
      Allow the fix-to-make-persistent-writes-safer work with unpatched samba versions
      lower a debug message
      lower a debug statement
      We can not assume that just because we could complete a TCP handshake
      if a new node enters the cluster, that node will already be frozen at start
      Merge git://git.samba.org/tridge/ctdb
      new version 1.0.50
      From Michael Adams,
      From Alexander Saupp.
      new version 1.0.51
      New version 1.0.52
      Merge git://git.samba.org/tridge/ctdb
      remove the reclock file we store pnn counts in.
      Merge git://git.samba.org/tridge/ctdb
      new version 1.0.53
      new version 1.0.54
      Merge git://git.samba.org/tridge/ctdb
      Merge git://git.samba.org/tridge/ctdb
      new version 1.0.55
      fix the date soe rpmbuild works
      new version 1.0.56
      Add two new ctdb commands :
      Encode a file version number in the database backup header
      store the database name, not the backup filename in the database header
      only freeze the local node when doing a backup and not the entire cluster
      use a local tdb_traverse instead of a ctdb_pulldb to lessen the impact of the system while performing a database backup
      initial ipv6 patch
      remove a file we dont need
      fix the ipv6 checksum calculation for pseudoheader so that it actually works
      fix a bug in the tcp socketkiller for ipv6
      update the socketkiller in the eventscripts to be able to handle ipv6
      when we compare ip addresses in ctdb_same_ip we must first canonicalize the addresses  so that we realize that 127.0.0.1:22 is really the same thing as ::ffff:127.0.0.1:22
      make the function to canonicalize a sockaddr structure public
      we must canonicalize the sockaddr structures in killtcp so that we do the necessary downgrade if required
      When we harvest all tcp connections to kill off after a takeip/releaseip event we must also harvest the ipv4 connections which may be presented in ::ff:xxxx:xxxx form by netstat
      when we collect all ip addresses and sort them for the "ctdb ip -n all" output we must look at more than just the first 4 bytes of the sockaddr address or ipv6 wont work
      Do not fail the takeip event if the "ip addr add ..." command failed.
      version 1.0.57   : initial ipv6 support
      add a link to my webpage
      Add a "reload" option to the initscript.
      From Abhijith Das <adas at redhat.com>:
      rename ctdb_tcp_client back to the original name ctdb_control_tcp
      new version 1.0.58
      zero out the address structure to keep valgrind happy
      From C Cowan.
      additional monitoring between the two daemons.
      lower the debug level for when printing that the nodeflags have changed
      lower the debuglevel when logging unknown idr in responses
      i add a new ctdb command "ctdb recmaster"
      updates to the precompiled documentation
      From Volker L
      fix some slow memory leaks in the vacuuming handler in the recovery
      fix a slow memory leak in the recovery daemon in the error paths for the
      The ctdb daemon keeps track of whether the recovery process is running
      use the correct tunable   failcount not timeout
      Check that a database exists first before we dump its content (and
      add a new eventscript : 99.routing that is used to add static routes to
      When we reload the nodes file
      remove an unused variable
      new version   1.0.59
      from Michael Adams : allow #-style comments in the nodes and public
      skip empty lines in the public addresses file,   not skip all non-empty
      From Mathieu Parent
      from Mathieu Parent <math.parent at gmail.com>
      update TAKEIP/RELEASEIP/GETPUBLICIP/GETNODEMAP controls so we retain an
      update the client side of getnodemap and getpublicips controls to
      Revert "from Mathieu Parent <math.parent at gmail.com>"
      verify that the nodes we try to ban/unban are operational and print an
      new version 1.0.60
      change ip route add to route add -net  since this works more reliably
      lower the loglevel for the informational message that a TCP_ADD opeation
      we must also check the status returned from the get tickles control to
      add an eventscript to monitor that the multipath devices are healthy
      install the new multipath monitoring event script
      new version 1.0.61
      allow multiple eventscripts using the same prefix.
      new version 1.0.62
      specify a "script log level" on the commandline to set under which log
      make it possible to set the script log level in CTDB sysconfig
      when we reload the nodes file,   we may need to reload the nodes file
      null out the pointer before we reload the nodes file
      dont log "running periodic cleanup" ...
      new version 1.0.63
      add a context and a timed event so that once we have been in recovery
      new version 1.0.64
      add control and logging of very high latencies.
      latency is measured in us, not ms
      we actually need a ctdb_db variable
      add a CTDB_SOCKET variable that can be used to override the default
      new version 1.0.65
      reqrite the handling of flag updates across the cluster to eliminate a
      Keepalive packets were only sent every KeepaliveInterval if the socket
      dont override/change CTDB_BASE if it is already set by the shell
      remove two variables no longer used from the example sysconfig file
      allow to change the recmaster even the database is not frozen
      inew version 1.0.66
      make it possible to delete an ip from all nodes at once using
      redesign how reloadnodes is implemented.
      print the list of valid debug level literals when an invalid debug level
      add a description of the recovery-process
      new version 1.0.67
      New version 1.0.68
      dont call ctdb_fatal() just because we are asked to restart a connection
      new version 1.0.69
      new version 1.0.71
      add a licence file
      Merge branch 'martins'
      new version 1.0.72
      From Sumit Bose <sbose at redhat.com>
      new version 1.0.73
      From C Cowan, AIX needs to set sockaddr.sa_len to a consistent value for
      new version 1.0.74
      add documentation for the NAT-GW feature
      update the natgw eventscript and documentation
      The wbinfo --sequence command has been depreciated in favor of the new
      add michael adams as one of the ctdb developers on the main ctdb webpage
      we need to set the port properly in the parse_ip helper
      set --single-public-ip when lvs is used
      create a varient of kill_tcp_connections that only kills off the local side of a connection
      new version 1.0.75
      Merge branch 'obnox'
      fix the html so that mine and obnox names are shown
      update the documentatio n with all the new commands we supprot in the
      web: fix typo
      update how the NATGW configuration works.
      iupdate the documentation for NATGW to reflect that you can now use
      change the ctdb command table to allow us to describe commands which can be run independtly of the ctdb daemon.
      new version 1.0.76
      we must also try to set the routes when we release an ip since during the release/10.interfaces there can actually be a window where the kernel decides to remove all addresses (before we manually add them back in 10.interfaces) during which the kernel may also decide to delete all routes since there are no gateways reachable through this interface anymore.
      new version 1.0.77
      add a mechanism where the ctdb daemon will run a usercontrolled script when the node status changes to/from UNHEALTHY state.
      install a default /etc/ctdb/notify.sh script as example on how to use
      we should also install the 11.natgw eventscript if we want to be able to use it
      new release 1.0.78
      remove a prototype for a function no longer used
      Change the (dodgy) seqnumfrequency variable to have ms resolution instead of second resolution.
      if we cant pull the remote nodemap off a node we should mark it as a culprit so it eventually becomes banned.
      We dont need to verify the nodemap on remote nodes that are banned
      use _exit() and not exit() when we terminate a failed eventscript child process
      increase the listen queue. Now that the eventscripts may become clients and connect back to the server we do get a lot more concurrent connection attempts (takepip/teleaseip are performed in parallell)
      we only need to switch into client mode from the eventscript child if we are running the monitor event
      install /etc/ctdb/notify.sh as executable.
      From Mathieu Parent <math.parent at gmail.com>
      install ctdb.pc from the RPM
      set libdir to ../lib64 on x86-64 platforms
      create a function "remote_ip" which can be used from scripts to remove a single ip from an interface.
      new version 1.0.79
      If we can not pull a database from a node during recovery, mark this node as a "culprit" so that it will eventually become banned.
      tweak some timeouts so that we do trigger a banning even if the control hangs/timesout
      increase the loglevel for the message we print when we automatically release all ips when we have been in recovery for too long
      add a tuneable RecoveryDropAllIPs  so it is possible to control after how long a node that has been stuck in recovery will wait until it will yield all public addresses.
      add TDB_NO_NESTING. When this flag is set tdb will not allow any nested transactions and tdb_transaction_start() will implicitely _cancel() any pending transactions before starting any new ones.
      set the TDB_NO_NESTING flag for the tdb before we start a transaction from within recovery
      we only need to have transaction nesting disabled when we start the new transaction for the recovery
      dont unconditionally kill/restart ctdb when given "service ctdb start"   only start ctdb if it is not already running,   and print an error message othervise
      From Sumit Bose <sbose at redhat.com>
      From: Sumit Bose <sbose at redhat.com>
      new version 1.0.81
      in the "lvsmaster" command, return -1 if there is no lvsmaster
      Add a -Y machinereadable flag to "lvsmaster"
      From: Sumit Bose <sbose at redhat.com>
      check that a node is banned before trying to unban it.
      add extra debug statements to the log to make it easier to see when a recovery dameon has hung due to the underlying filesystem hanging.
      assign the natgw address to loopback and not the private network so that natgw will still work even when public and private networks are one and the same
      remove NATGW_PRIVATE_IFACE from the documentation since we do not need
      change the prefix NATGW_ to CTDB_NATGW_
      use scope host when adding the interface to loopback so we dont respond to ARPs for this ip
      new version 1.0.82
      Track how long it takes to take out the recovery lock from both the main dameon and also from the recovery daemon.
      add additional log info to track if/why we cant switch to client mode.
      From : Flavio Carmo Junior <carmo.flavio at gmail.com>
      Change the loglevel of "registered tcp client for ..." to INFO
      Whitespace changes and using the CTDB_NO_MEMORY() macro changes to
      change the socket we use for sending grautious ARPs from AF_INET/SOCK_PACKET to AF_PACKET/SOCK_RAW
      document the new support for ClamAV
      From Flavio Carmo Junior <carmo.flavio at gmail.com>
      From Flavio Carmo Junior <carmo.flavio at gmail.com>
      add 31.clamd to the install and the rpm
      install the 31.clamd script as 644 by default
      fix the git path to the repository
      remove the obsolete ipmux component.
      Revert "add TDB_NO_NESTING. When this flag is set tdb will not allow any nested transactions and tdb_transaction_start() will implicitely _cancel() any pending transactions before starting any new ones."
      Revert "set the TDB_NO_NESTING flag for the tdb before we start a transaction from within recovery"
      Revert "we only need to have transaction nesting disabled when we start the new transaction for the recovery"
      New attempt at TDB transaction nesting allow/disallow.
      dont remove the socket when the dameon stops. This can race if the
      add a new node state : DELETED.
      use num_nodes and the nodes array instead of walking the vnnmap
      when building the initial vnnmap, make sure to skip any deleted nodes
      dont try to queue packets for sending to (recently) deleted nodes since these nodes do not have a queue.
      lower the loglevel when we long that we skip an evenscript because it is not executable
      hide all DELETED nodes from the ctdb command output
      idocument how to remove a node from an existing cluster using 'ctdb
      new version 1.0.83
      teach ONNODE about deleted nodes
      new version 1.0.84
      From William Jojo <w.jojo[AT]hvcc.edu>
      make it possible to run 'ctdb listnodes' also if the daemon is not running.
      dont list DELETED nodes in the ctdb listnodes output
      when adding an ip, try manually adding and takingover the ip instead of triggering a full recovery to do the same thing
      try avoiding to cause a recovery when deleting a public ip from a node
      improve ctdb moveip so that it does not always trigger a recovery.
      dont require particular values for NoIPFailback and DeterministicIPs when
      remove unused variable
      When we ban a node, only drop the IPs on the node being banned, not on every node
      rename 99.routing to 11.routing
      increase the timeout before we shutdown when ther ecovery daemon is hung
      reduce the timeout we wait for the reclock child process to finish to 5 seconds
      in the recovery daemon, check that the recovery master can access the recovery lock file and verify it is not stale from a child process.
      dont leak file descriptors
      dont leak file descriptors when set recmdoe timesout
      dont log an error if waitpid returns -1 and errno is ECHILD
      rename 99.routing to 11.routing so the eventscript is processed before
      new version 1.0.85
      rename 99.routing to 11.routing so that it executed before the service scripts
      new version 1.0.85
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Dont access the reclock file at all if VerifyRecoveryLock is zero and also
      Allow setting the recovery lock file as "", which means that we do not use a file and that we implicitely also disable the recovery lock checking.
      Document that you can run ctdb without a reclock file in the sysconfig file
      add a control to read the current reclock file from a node
      return NULL and not a "" when there is no reclock file returned from the server
      update the recovery daemon to read the recovery lock file off the main daemon and handle when the file is changed/enabled/disabled
      add a control to set the reclock file
      disable VerifyRecoveryLock when the user modifies the filename
      Do not allow the "VerifyRecoveryLock" tunable to be changed if there is no reclock file
      update the man pages with the "getreclock" and "setreclock" commands.
      New version 1.0.86
      dont even try to allocate a packet if the transport is down since it will fail
      Dont try to allocate and send packets if the transport is down
      dont even try to send a message from the main daemon if the transport is down
      dont try to send error packets if the transport is down
      if we fail a dmaster migration due to the transport being down, then that is a fatal condition.
      failing a dmaster send due to the transport being down is fatal
      Dont even try allocating and sending a CALL packet if the transport is down
      dont try sending a keepalive if the transport is down
      when no debuglevel is specified, make 'ctdb setdebug' show the available options
      update the handling of debug levels so that we always can use a literal instead of a numeric value.
      show the valid debuglevels that can be used in the error text when an invalid level was specified to ctdb setdebug
      update the sysconfig to show setting the debuglevel using a string literal instead of a numeric value
      update enable/disable
      document the ipreallocate command
      When we dispatch a message to a handler, pass the data as a real talloc object so that the handler can talloc_steal() the message content.
      add a new command "ctdb ipreallocate", this command will force the recovery master to perform a full ip reallocation process.
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Perform an ipreallocate efter each enable/disable.
      send ARPs with an interval of 1.1 seconds during ip takeover.
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Initscript cleanups.
      Add a new node flag : STOPPED
      remove the header printed for the machinereadable output for natgwlist
      make it possible to start the daemon in STOPPED mode
      add two new controls, CTOP_NODE and CONTINUE_NODE
      dont let other nodes modify the STOPPED flag for the local process when pushing out flags changes
      document the new commands ctdb stop/continue
      recovery daemon needs to monitor when the local ctdb daemon is stopped and ensure that the databases gets frozen and the node enters recovery mode
      change the infolevel when logging stop/continue commands
      stopped nodes can not win a recmaster election
      Do not allow STOPPED or DELETED nodes to become the NATGW master
      if all nodes are STOPPED, pick one of the STOPPED nodes as natgw master
      update the eventscript to ensure that stopped nodes can not become the natgw master
      When we create new election data to send during elections, we must re-read the node flags from the main daemon to catch when the STOPPED flag is changed.
      create a new event : stopped.
      document the new stopped event
      Merge commit 'martins/master'
      new version 1.0.87
      describe how to activate NATGW without restarting the nodes on a running
      add a command "setnatgwstate {on|off}" that can be used to indicate if this node is using natgw functionality or not.
      update the natgw eventscript to set the NATGW capability when this feature is used
      Document the natgw flag and how this changes the output of "ctdb
      add two commands : setlmasterrole and setrecmasterrole to enable/disable these capabilities at runtime
      document the two new commands setlmasterrole and setrecmasterrole
      When processing the stop node control reply in the client code we should
      From Michael Adam:
      initial part of new vacuuming patch.
      vacuum event framework
      change the defaults for repacking to repack once every 120 seconds and letting it work for 30 second before timing out.
      Merge commit 'martins/master'
      update STOP/CONTINUE to better handle when we stop the last node
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      add new controls to make it possible to enable/disable individual eventscripts
      document enable/disablescript
      if no timeout at all is specified to the ctdb tool, neither using -T nor by setting CGTDB_TIMEOUT, then use 120 seconds as a default timepout before the ctdb command will exit with an error.
      reduce the loglevel for the message that we switch to a different recmaster while waiting for ipreallocate to finish
      new version 1.0.88
      skip any persistent databases ending in .bak
      remove a check for the reclock file we dont need
      redirect stderr to dev null since the rule might not exist when we try to unconditionally delete it
      overwrite the state file, dont append to it.
      new prototype banning code
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      make it possible to have ctdb manage (start/stop/monitor) winbind without having samba
      new version 1.0.89
      lower the loglevel for the info messages that a public ip is not hosted locally for takeip/releaseip
      dont force an election just because the ban flag differs across the cluster.
      dont check if commit failed, we do allow the commit to fail sometimes
      Merge commit 'martins/master'
      allow the transaction commit to fail
      new version  1.0.90
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Merge commit 'obnox/master-rebase'
      try to restart statd everytime it fails, not just the first time
      Revert "try to restart statd everytime it fails, not just the first time"
      try restarting ststd indefinitely   not just once
      dont mark the recovery daemon as a ban culprit just because a node in the cluster was set to recvoery mode == ACTIVE.
      Merge commit 'martins/master'
      with the new banning logic with one struct for each node we no longer "forget" the other culprits as often as we used to do, which means that things like "ctdb recover" can now actually lead to a node becomming banned if we perform too many recoveries too frequently.
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Merge commit 'obnox/master-rebase'
      add machinereadable output for the ctdb getreclock command
      add a new eventscript 01.reclock
      change the reclock fail count to 19 monitor intervals before we shut down ctdbd
      From Wolfgang Mueller-Friedt
      New version 1.0.91
      add a new notification to trigger on when ctdb has started
      document how to use the notification script
      Revert "Revert "allow the transaction commit to fail""
      dont exit on a commit failure
      Merge commit 'martins/master'
      we should close this file on exec
      version 1.0.92
      When adding a public ip to a node, make sure to push the assignment of ip addresses out to all nodes so all nodes become aware who currently holds the ip.
      allocate takeoverip state as a child of vnn and also make the takeocerip context a child of vnn
      add a new function to collect a list of all active nodes EXCEPT a certain node
      change some loglevels and also pront the pnn of the ip for takeip/releaseip logging
      update addip/moveip/delip to make it less likely to trigger an accidental recovery
      add a new message to ask the recovery daemon to temporarily disable checking ip address consistency.
      always send the release/take ip controls to make sure all nodes are updated
      update natgw eventscript to allow you to fore it to update and / or to remove the configuration at runtime
      version 1.0.93
      if a node fails to become frozen during recovery, mark it up with as a culprit so it will soon get banned
      version 1.0.94
      Fix bug spotted by Metze,
      verify the DISABLED flag and compare with the previous flag we have registered for that node and not what the node says is the difference.
      add a control to set a database priority. Let newly created databases default to priority 1.
      add a control to read the db priority from a database
      during recovery, update all remote nodes so they use the same priorities
      uptade the freeze/thaw commands to be able to send the requested database priority to freeze/thaw to the daemon.
      initial attempt at freezing databases in priority order
      allow setting the recmode even when not completely frozen.
      add a new control for explicitely cancelling recovery transactions, i.e. the
      Merge commit 'martins/master'
      add a dispatch to the recovery transaction cancel call
      use the correct expected size for thew _cancel control
      new version 1.0.95
      we must break the loop as soon as we find a suitable recmaster does exist
      Port Volkers deadlock avoidance patch to HEAD.
      always create the nfs state directories during the monitor event.
      allow a pre .95 version of a recovery master to freeze databases on a post .95 node by remapping priority numbers and log this to log.ctdb
      when we change state between healthy/unhealthy, make sure we ask the recovery
      move the logging of the warning "No reclock file used" to the startup case so we only print this warning on "service ctdb start" and not for "service ctdb *"
      add more debugging output to eventscripts and when a script has timed out,
      version 1.0.96
      Merge commit 'martins/onnode_options'
      new version 1.0.97
      add logging everytime we create a filedescriptor in the main ctdb daemon
      dont shutdown a node when the reclock file is temporarily unavailable.
      Dont run eventscript monitor when the databases are frozen.
      Revert "dont shutdown a node when the reclock file is temporarily unavailable."
      wait a bit longer before shutting down when the reclock file is missing
      add a direcotry where multiple local scripts can be added to run when executing eventscripts
      From wolfgang Mueller
      From Wolfgang Mueller
      version 1.0.98
      treat interfaces with the name ethX* as bond devices
      mprove the log message when we skip the ip allocation check from the recovery daemon.
      dont restart ctdb when installing the rpm
      When clients have blocked, perhaps because the node is banned or stopped and the client is blocked trying to tdb_fetch() a record, make sure we dont queue up too many REQ_MESSAGES.
      lower the debug levels for the "create FD messages" so we dont fill up the logs.
      During tests it is common to add/delete test eventscripts at runtime.
      From Wolfgang M.
      From Volker L
      if a lock wait child died/finished, we could have released the lockwait handle and set it to NULL before we call the destructors for releaseing the waiters.
      new version 1.0.99
      Merge commit 'martins/master'
      set the eventscripts to timeout after 20 seconds
      when scripts timeout, log pstree to a file in /tmp and just log the filename in the messages file
      Add a mechanism where we can register notifications to be sent out to a SRVID when the client disconnects.
      lower the log level of a debug message
      automatically re-activate the reclock file check if we set the reclock file to something
      update the manpage for ctdb setreclock
      disabel the multipath eventscript by default
      Suggestion from Volker,
      patch the event loop so we read the current time every iteration.
      for debugging
      dont run the monitor event so frequently after a event has failed.
      temporarily try allowing clients to attach to databases even if the node is banned/stopped or inactive in any other way.
      add a check that winbind can actually talk to teh dc during the startup event
      Enhance the logging fromeventscripts.
      change the eventscript handling to allow EventScriptTimeout for each individual script isntead of for the entire set of scripts
      new version   1.0.100
      return 0 in the event script callback if it was aborted by a different script
      create a separate context for non-monitor eventscripts so they dont collide
      version 1.0.101
      update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover.
      update the manpage for "update" to indicate the "time since last" indicates
      Revert "update the "uptime" command to indicate the "time since last" is the time since the last recovery OR failover."
      update the uptime command to indicate that time since last is either from alst recovery or from last failover
      make the error logged when winbindd fails to access the dc during startup more scary and easier to spot in the logs
      Revert "From Wolfgang M."
      new version 1.0.102
      create a child process to write to syslog.
      start the syslog child a little later, after we have forked and detached from the local shell
      move the check to skip vacuuming on persistent database to the ctdb_vacuuming_init() function
      new version 1.0.103
      dont verify winbindd is running properly at startup
      add an extra test for the bond devices and check that there is an active slave.
      From Rusty
      dont use the pointer after it has been talloc_free()d.
      suggestion from Christian,
      sugegstion from metze,
      version 1.0.104
      Merge commit 'martins/master'
      test of a change to make ctdbd use "status" event instead of the "monitor" event.
      set up a pipe betweent he main daemon and the child we use for syslogling so that we can clean up the childprocess when we stop ctdbd
      create a new event context for the syslog daemon
      add an in memory ringbuffer where we store the last 500000 log entries regardless of log level.
      make the ringbuffer logging more efficient and marshall the data by writing to a tmpfile instead of continously talloc resizing a blob
      dont reset the event script context everytime we start a new "ctdb eventscript ..."
      new version 1.0.105
      rework and simplify the eventscript handling
      reduce the log level for three vacuuming related log messages
      rework and simplify the eventscript handling
      iIt is better to plainly disallow clietnts from connecting here
      use a binary tree and sort all ipv4/v6 addresses before we assign them out on nodes.
      change the lock wait child handling to use a pipe isntead of a socketpair
      resolve some conflicts from merging from martins branch
      Merge commit 'martins/status-test' into status-test-2
      Merge commit 'martins/status-test' into status-test-2
      dont use talloc_steal() on a object that is already a child of ctdb.
      remove a stray )   so we compile
      Merge commit 'martins/status-test-2'
      When starting up ctdbd, wait until all initial recoveries have finished
      when we detect a ip-allocation mismatch, just force a new ip reassignment
      version 1.0.106
      version 1.0.107
      Use the PID we pick up from the domain socket when a client connects
      Add a double linked list to the ctdb_context to store a mapping between client pids and client structures.
      Add a proper function to process a process-exist control in the daemon.
      lower the loglevel for the message that a client has attached through a domian socket
      lower the loglevel for the message that a client has attached to a persistent database
      Document the procedure to remove/change the NATGW configuration at
      Use statically allocated ringbuffer to store the last 500k log entries
      Dont store debug level DEBUG_DEBUG in the in-memory ringbuffer.
      Use wbinfo --ping-dc isntead of wbingo -p sicne this is a more reliable way to determine if winbindd is in a useful state.
      version 1.0.108
      make sure to also check that interfaces used for NATGW are ok
      Bond devices can have any name the user configures, so
      Merge commit 'rusty/script-report'
      From: Volker Lendecke <vl at samba.org>
      remove the variable "disable when unhealthy"
      cleanup:   remove a tunable we no longer use in the eventscripts any more :
      Rename the tunable EventScriptBanCount to EventScriptTimeoutCount
      From rusty:
      When setting up the logging, set the event to trigger a read of a log message from a child process as a child of the "log" structure and not the ctdb structure,
      ctdb_fetch requires the number of nodes being specified.
      add a new test tool that just locks and releases the same record over and over
      Merge commit 'obnox/ctdb-wip-trans3' into trans3
      Revert "Make fetch_locked more scalable"
      This is a dodgy patch.
      Author: Rusty Russell <rusty at rustcorp.com.au>
      Merge branch 'trans3'
      Revert "cleanup:   remove a tunable we no longer use in the eventscripts any more :"
      fix conflict in merge from metze
      fix a conflict in the merge from rusty
      version 1.0.109
      Version 1.0.110
      New version 1.0.111
      Merge commit 'metze/master-for-ronnie'
      new version 1.0.113
      Make the size of the in memory ringbuffer for keeping the recent log messages
      document the in-memory ringbuffer for logging and the commands
      source the nfs sysconfig file from the 61.nfstickles script
      Drop the debug level for logging fd creation to DEBUG_DEBUG
      add two new debug controls to send and receive messages
      We only queued up to 1000 packets per queue before we start dropping
      When trying to enable/disable a node.
      dont just exit(0) upon successful completion of waiting for an ipreallocate to finish.
      commands that relate to manual failover of ip addresses (moveip)
      Merge commit 'martins/master'
      Add a new variable : CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK
      lower the loglevel for a debug message for redundant releases of public ips
      Add a variable CTDB_CHECK_SWAP_IS_NOT_USED="yes"
      Reduce the log level for two debug messages
      Reducing the log level for a debug message
      Reduce loglevel for two eventscript related debug messages
      try to restart rpc-rquotad if it is not running
      Ignore any scripts that timesout for most events, except startup.
      From Elia Pinto <gitter.spiros at gmail.com>
      From Sumit Bose <sbose at redhat.com>
      ctdb regsrvids is much more useful for testing if it sleeps once it has registered its srvid.
      Make sure that the natgw eventscript also triggers on the "stopped" event
      In ctdb_control_end_recovery,
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Merge commit 'obnox/master-rebase'
      new version 1.0.114
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Reduce the loglevel for two log messages for Registering and Deregistering server ids.
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      When we forcefully abort a running eventscript, dont log this as is
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      Lower the loglevel for "Recovery lock successfully taken"
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      In the recovery daemon, keep track of which node we have assigned public ip
      Fix a compiler warning
      Merge root at 10.1.1.27:/shared/ctdb/ctdb-git
      add a missing ||
      add an example script that can be called from crontab to cleanup
      In the example script to remove all ip addresses after a ctdb crash,
      Add a setting where CTDB will monitor and warn for low memory conditions.
      If the admin makes a configuration mistake and configures NATGW to use the
      In the log message when we have found an inconsistent ip address allocation,
      Make create_merged_ip_list() a static function since
      The recent change to the recovery daemon to keep track of and
      Dont check ip assignment across the cluster while ip-verification
      Add a new eventscript 62.cnfs to integrate better with gpfs/cnfs
      when performing a recovery,
      Add the number of performed recoveries to the "ctdb statistics" output.
      Enhance the "ctdb restoredb" command so you can restore a backup into a different database.
      In control_ipreallocate() we wait at most 5 tries before aborting the command
      It was possible for ->recovery_mode to get out of sync with the new three db priorities in such a way that
      in 62.cnfs, lines in /etc/exports can have hte exports quoted,
      Add monitoring of quorum and make the node UNHEALTHY when quarum is lost
      new version 1.9
      Merge commit 'rusty/libctdb2'
      make sure we build libctdb for "make all"
      make install to install libctdb.a
      move the header files and libctdb.a out into a separate ctdb-devel rpm
      check if vnn is a valid pointer before dereferencing it
      add a gplv3 boilerplate to the example application for libctdb
      Prevent clients from connecting to the natgw address.
      Dont check linkstatus for loopback. This interface never has
      When adding an ip at runtime, it might not yet have an iface assigned to it, so ensure that the next takover_ip call will fall through to accept the ip and add it.
      rename ccan/typesafe_cb.h to ctdb_typesafe_cb.h and
      Update the tst.c example application for libctdb to
      Dont link with libctdb
      rename ctdb_send_message to ctdb_client_send_message to resolve colission with the function of the same name in libctdb
      rename ctdb_set_message_handler to ctdb_client_set_message_handler
      rename ctdb_message_fn_t to ctdb_msg_fn_t to avoid a conflict with the type of the same name used in libctdb
      rename ctdb_remove_message_handler to ctdb_client_remove_message_handler
      add a function to read the current socketname from the ctdb structure
      add a sync wrapper for the getpnn control
      link ctdb with libctdb and connect to the daemon both the old way and by using libctdb
      Add a variable for start/current time to ctdb statistics
      Automatically free the request once the callback has returned.
      Make the call to free the request explicit in the callback
      Add the offsetof macro to libctdb
      ctdb_req_control contains 4 padding bytes. Create an explicit pad variable here and set it to 0 when creating a control to keep valgrind happy.
      When we say "current time of statistics" in the "ctdb statistics" output,
      remove the global rrl_cb_called from the libctdb example
      Readrecordlock changes:
      Update the ctdb tool to use the new signature for ctdb_connect()
      Must initialize ctdb->locks or else bad things happen
      update "ctdb pnn" to use the new return value for _recv() where
      Split ctdb_release_lock() into a function to release the locvk and another function to free the data structures.
      In ctdb_writerecord()
      Additional log messages when tdb databases can no longer be chainlocked or chainunlocked
      Some "ctdb ..." commands can be run without having the main daemon running.
      when tdb_chainunlock() fails, print the tdb error that occured
      print the db name qwhen a chainunlock fails too
      add additional logging when tdb_chainunlock() fails
      add extra logging for failed ctdb_ltdb_unlock() for a few more places
      We can not be holding a chainlock at this stage, so the tdb_chainunlock() call is bogus
      idr can timeout and wrap/be reused quite quickly.
      fix a debug message
      Wrap the IDR early, but not too early.
      Merge commit 'rusty/master'
      Add a code-style document.
      remove the "ctdb freeze" debugging command
      iupdate the docs that ctdb freeze is no more
      Merge remote branch 'martins/master'
      Update a log message to reflect that this does no longer only happen
      Create a new command "ctdb sync"   that isd just an alias for "ctdb ipreallocate"
      Merge commit 'rusty/libctdb-new' into foo
      We use eventloop nesting in a couple of places, notably the sync
      update the example for the new signature of
      Add a new "ctdb addtickle" command to manually add tickles to ctdbd
      Remove the structure ctdb_control_tcp_vnn since this is identical to the structure ctdb_tcp_connection.
      Add machinereadable output for the "ctgdb gettickles <ip>" command
      On RHEL,    "service nfs stop;service nfs start"  and "service nfs restart"
      Merge commit 'rusty/vacuum-fix-master'
      Merge commit 'rusty/ports-from-1.0.112' into foo
      We need the deprecated talloc_append_string() for now
      Dont use the deprecated talloc_append_string()
      make it possible to "ctdb gettickle" to only list tickles for a certain
      add a new commandline flag -v to enable verbose output
      ctdb ip is very busy.
      Dont set next_interval to 0.
      move the directives to build the devel file to the end of the specfile
      Add a command "ctdb pfetch <db> <record>" to read a record from
      get rid of two compiler warnings
      add a command to write a record to a persistent database
      change "ctdb pfetch" to take an optional third argument
      run the "init" event before we freeze the databases
      When "ctdb pfetch" creates a new file, make sure we set some initial sane mode bits
      add a new command "ctdb tfetch" that can read a record straight out of the
      the tfetch command can be used without the daemon running, so flag it as such.
      Add a configuration database, implemented as a persistent database.
      Add a new event "ipreallocated"
      Remove the dependency on the underlying cluster filesystem for handling
      remove the mention of a tickle and statd directory in shared storage now that we are removing these and migrating to store the data inside ctdbd or persistent databases
      Merge commit 'martins/master'
      we no longer have a 61.nfstickle script
      remove 61.nfstickles from the makefile
      ouch,   the ordering of the constants and the strings must be kept in sync
      ouch, remove a dummy debug printout that snuck in there somehow
      dont print a lot of log information about shutting down vsftpd
      make sure all statd state directories exist before we try to reference them
      When memory allocations for recovery fails,
      Dont store temporary runtime data in $CTDB_BASE/state
      Change how NATGW is configured to allow special nodes that do not have
      Dont try to read the nodemap from the daemon for "ctdb listnodes"
      remove an unused variable
      Implement a new function GETNODEMAP in libctdb.
      Add two new server types to the server_id structure.
      define and reserve a range of ctdb message ports for use by nfs and iscsi servers
      Update the comment for the range reserved for SAMBA and
      add a new serverid to send a message everytime an ip address is taken on the local node
      adda GETPUBLICIPS control to libctdb and use this in the test example
      set up a handler to catch and log debug messages from the tevent layer
      update/improve the log message related to rerecovery timeouts
      Add back monitoring for time skips, forward as well as backward.
      Create macros to update the statistics counters and use these macros
      Add a new statistics structure to keep the current running statistics
      Add rolling statistics that are collected across 10 second intervals.
      Create a tunable for how often to collect rolling statistics and initialize it to 1 second
      add a machinereadable version of ctdb stats/statistics
      when printing machinereadable statistics only print the header with the fieldnames once
      Dont log a normal vacuuming message about a missing record and using default vacuuming intervals as an error.
      get rid of the "ctdb setflags" command since
      Merge commit 'rusty/tdb-update'
      change the hash function to use the much better Jenkins hash
      Spotted by rusty.
      dont stop checking interfaces after the first bond device
      Revert "change the hash function to use the much better Jenkins hash"
      Update the default hash size to be 100001 instead of 10000
      Update latency countes to show min/max and average
      move extracting the config from config.tdb for public addresses
      Make sure the statd directory exist before trying to access the
      Remove a debug message "Timed out waiting ..."
      try to restart NFS LOCKD if it failed to start
      If tdb_open() fails when trying to open the vacuuming database,
      new version 1.10
      Add support to create TDB databases using the new jenkins hash.
      Drop the loglevel of the "reqid wrap" developer debug message to DEBUG
      Redirect the output from 00.ctdb pfetch to stdout.
      When shuttind down, we always unconditionally try to remove the natgw address
      during shutdown there is a window after we have stopped TCP and disconnected from all other nodes but before we have stopped all processing.
      Both nfs and nfslock scripts can fail under redhat in very rare situations.
      when creating/adding a public ip, set the initial interface to be the first interface specified
      dont delete all ips from the system during the initial "init" event
      change the default for how long to waqit before dropping all ips to 120 seconds
      Add a new tunable : DisableIPFailover that when set to non 0
      dont check the public ip assignment or if even we are hosting them and shouldnt
      when we load the public address file,  at the same time check if we are already hosting the public address, if so, set ourselves up as the pnn for that address
      delay loading the public ip address file until after we have started the transport and discovered ouw own pnn number
      delete from old interface before adding to new interface
      this stuff is just so fragile  that it will enter infinite recovery and fail loops
      Dont check remote ip allocation if public ip mgmt is disabled
      change the takeover script timeout to 9 seconds from 5
      Dont exit the update ip function if the old and new interfaces are the same
      initialize the statistics to the current time, not start of epoch
      add a new support function ctdb_check_counter_equal()
      Dont pollute the logs with a "file not found" message
      add an explicit _is_managed_service to iscsi eventscript
      update autostart/stop to work for samba
      When we are no longer the natgw master, dont put the natgw ip on loopback.
      dont try starting samba through the "init" event
      during ip allocation, there are failure modes where a node might hold a ip address
      add a missing part of the import of the previous ganesha patch
      Add 60.ganesha to what gets installed by make install as well as by the RPM
      add a new ctdb_ltdb function to delete a record in a normal database
      add new command line functions
      Add a new header flag for "migrated with data" and set this to 1
      only run "serverid wipe" if we are actually running samba.
      LibCTDB
      libctdb
      Revert "Add a new header flag for "migrated with data" and set this to 1"
      Revert "server: when we migrate off a record with data, set the MIGRATED_WITH_DATA flag"
      When assigning the single-public-ip during startup,
      LVS
      ctdb addip:
      50.samba
      Dont run net serverid wipe in the background
      60.nfs
      41.HTTPD
      60.nfs Check if we have rpc.statd and if not, skip checking for statd
      Revert scheduling back to use real-time processes
      Add ctdb_fork(0 which will fork a child process and drop the real-time
      recoverd: avoid triggering a full recovery if just some ip allocation
      LIBCTDB uninitialized inqueue element
      STATD is 100027    not 1000247
      TYPO
      IPALLOCATION : If the node is held pinned down in "init" state
      ADDIP failure
      We can not always rely on the recovery daemon pinging us in a timely manner
      db_exists() takes 3 arguments, not two.
      LIBCTDB: add support for traverse
      change Christinas previous patch to only perform the check/logging
      ctdb: hold transaction locks during freeze, mark during recover.
      Add a new test tool that fetch locks a record and then blocks until it receives
      Compile fix
      LockWait congestion.
      If the node is stopped,   put a log entry in /var/log/* to indicate this is why we never become ready
      We default to non-deterministic ip now where ips are "sticky" and dont change
      change the hash function to use the much better Jenkins hash
      Remove LACOUNT and LACCESSOR and migrate the records immediately.
      60.nfs
      remove checking for filesystems and filesystem health from the cnfs script.
      Add two new flags for the ltdb header.
      50.samba : Tell winbind about every time we add/remove and ip from the node
      ctdb_req_dmaster from non-master
      Dont return error if trying to set db priority on a db that does not yet exist.
      Deferred attach : at early startup, defer any db attach calls until we are out of recovery.
      ATTACH_DB: simplify the code slightly and change the semantics to only
      If/when the recovery daemon terminates unexpectedly, try to restart it again from the main daemon instead of just shutting down the main deamon too.
      Restart recovery dameon if it looks like it hung.
      Dont allow clients to connect to databases untile we are well past and through
      Vacuuming: initialize a variable to avoid a harmless valgrind hit
      IP reallocation. If a public address is already hosted on the node when we startup, log a warning message but do not cause the recovery to fail.
      Deferred attach: create the timed event as a child context of the da context we want to delete.
      This needs more testing first
      NATGW: dont set arp_ignore in 11.natgw anymore since we no longer
      IFACE handling. Assume links are always good on nstartup (they almost always
      If the eventscript is finished but state->ctdb is NULL,
      bonding mode 4 monitoring:
      Cleanup of logging messages/spamming
      Dont call the UPDATE event if both old and new interface is the same.
      Remove logging of spam/errors from the 10.interfrace
      Dont exit from checking interfaces once we have found one interface that is not
      If samba fails to start for some reason, make this cause the startup event to fail too,   so that ctdbd will re-try the startup event later.
      Remove all checking of GPFS from ctdb_diagnostics
      When using multiple VLANs, some funky stuff can sometimes happen when
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      change the name for the key for the record where we stoire the public address config from public-addresses... to public_addresses...
      Add log output to wipedb and backupdb
      When trying to re-balance the ip assignment and shuffle ips from
      Add a text about "ban" "unban" not being permanent and htat recovery daemon can auto unban nodes. Suggest using "stop" / "continue" instead.
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      Update the delip command
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      make test: add two missing events to the special test eventscript
      Merge remote branch 'martins/lcp2_sim'
      Merge remote branch 'martins/onnode_tests'
      Merge remote branch 'martins/test_suite'
      Change the message when we start the daemon to "CTDB starting on node"
      remove a log message we dont need about "allow clients to attach to databases"
      remove a non-error logmessage about persistent databases being healthy, as expected
      remove log message we dont need
      Remove a log message about setting linkstate for an unknown interface.
      Merge remote branch 'martins/test_suite'
      Merge remote branch 'martins/eventscripts_relative'
      Merge remote branch 'martins/eventscript_tests'
      Merge remote branch 'martins/eventscript.13.per_ip_routing'
      Merge remote branch 'martins/eventscript.62.cnfs'
      Merge remote branch 'martins/eventscript.20.multipathd'
      Merge remote branch 'martins/eventscript.00.ctdb'
      check the shares if they are available before we decide to try to restart nfs
      increase the persistent timeout to make people happier
      make the persistent even longer for lvs to make people even happier
      Add new eventscript 40.fs_use that can be used to monitor file system use and flag a node unhealthy when they become full
      Add documentation for the new filesystem use monitoring
      When starting and stopping ctdb through the init-script, make sure we first clear all public ips bvefore we start the daemon, in case they are still hanging around since a previous kill -9   and also make sure we drop them after we have stopped the deamon when shutting down
      Merge remote branch 'martins/eventscript_infrastructure'
      Merge remote branch 'martins/eventscript.10.interface'
      Change the default for ip failover to be LCP2 and not DeterministicIPs
      Merge remote branch 'martins/eventscript_tests'
      Merge remote branch 'martins/test_suite'
      Merge remote branch 'martins/eventscript.60.nfs.rpc'
      Merge remote branch 'martins/60_nfs_regression'
      Merge remote branch 'martins/eventscript.10.interface'
      Merge remote branch 'martins/eventscript_tests'
      Change the errors for 10.interface to clearly state ERROR: for error messages
      dont use a too big persistence timeout value
      Add a new command 'ctdb checktcpport <port>'
      Merge remote branch 'martins/eventscripts'
      ReadOnly records: Add a new RPC function FETCH_WITH_HEADER.
      ReadOnly: Add helper functions to manipulate a TDB_DATA as a bitmap for nodes that we are tracking as having a readonly delegation
      ReadOnly: Add test tool to validate the functions to manipulate and enumerate the bitmap of nodes to where we have readonly delegations
      ReadOnly: Add clientside functions to send the UPDATE_RECORD control
      ReadOnly: add a new test tool that does a fetchlock on a record, then bunps the RSN by 10 and writes the new content to the record as sprintf("%d", rsn)
      ReadOnly: Add 4 new record flags to handle read only delegation and revoking of delegations
      ReadOnly: Add printing of the record flags when we are traversing a database to print its content.
      ReadOnly: Add a new command 'ctdb cattdb'. This fucntion differs from 'ctdb catdb' in that 'cattdb' will always traverse the local tdb file only, while 'catdb' does a cluster traverse.
      Add the missing "persistent" argument to db_exist()
      ReadOnly: After performing a recovery, clear out all flags related to readonly delegations and revoke
      ReadOnly: Add "readonly" flag to the ctdb_db_context to indicate if this database supports readonly operations or not. Add a private lock-less tdb file to the ctdb_db_context to use for tracking delegarions for records
      ReadOnly: After recovering all databases, make sure to clear out the tracking database used to track delegations and revoke. This is because the recovery will implicitely result in a revoke of all delegations.
      ReadOnly: Add an extra flag to ctdb_call_local to specify whether we want to write the record and header back to the tdb (for example we do when performing dmaster migrations)
      ReadOnly: Add functions to register CALLs to a context used to handle deferal of processing of CALL commands.
      ReadOnly: Add a function to start a revoke of all delegations for a record.
      ReadOnly: Add a new flag to call request packet to indicate that the client wants a readonly delegation
      ReadOnly: When releasing all deferred calls that blocked during revoke of all previous delegations, add a 1 second grace/delay for any new readonly delegation requests so that the read-write fetch-lock porcess has a chance to make progress
      ReadOnly: Once recovery has finished, make sure to free all revoke child processes and trigger the destructors for all deferred calls to re-queue the original packets to the input packet processing function
      ReadOnly: Add processing for ReadOnly delegation requests and revoke requests to the processing loop for CALL packets we receive from different nodes.
      ReadOnly: Add handlign of readonly requests readwrite requests, delegations and revoking of delegation to the processing loop for CALL requests coming in from a local client via domain socket
      ReadOnly: Add a ctdb_ltdb_fetch_readonly() helper function
      ReadOnly: Add clientside code to fetch readonly records
      ReadOnly: Add a test tool to fetch a record, requesting a readonly delegation and lock the record once
      ReadOnly: Add a test tool that requests a readonly delegation in a loop
      ReadOnly: Change the update_record test tool to use the new fetchlock routine that can do either normal or readonly fetchlock
      ReadOnly: When the client wants a readwrite lock but the local node is the dmaster and also have delegations active we must send a CALL to the local daemon to trigger it to revoke the delegations
      ReadOnly: clear out the tracking record once a revoke is completed
      ReadOnly: add description of readonly records
      ReadOnly: Check the readonly flag instead of whether the tdb pointer is NULL or not
      LibCTDB: add commands where an application can query how many commands are active
      LibCTDB : add support for getrecmode
      LibCTDB : change the ctdb_fetch_lock_once test tool to use libctdb instead of the old client
      LibCTDB : add support for getrecmode
      LibCTDB : change the ctdb_fetch_lock_once test tool to use libctdb instead of the old client
      LibCTDB : initialize ctdb->pnn to -1 when we create a new context
      LibCTDB : initialize ctdb->pnn to -1 when we create a new context
      LibCTDB : uptade the ctdb tool to use libctdb to query for the recmaster
      LibCTDB : update the ctdb tool to use libctdb to read the recovery mode
      Logging:  when we log stdout/stderr messages from eventscripts to the system log, prefix every line of output with the name of the eventscript.
      Merge remote branch 'martins/eventscripts'
      Merge remote branch 'martins/tests'
      ReadOnly: Change the ctdb_db structure to keep a uint8_t for flags instead of a boolean for
      ReadOnly: add a readonly flag to the getdbmap control and show the readonly setting in ctdb getdbmap output
      ReadOnly: add a new control to activate readonly lock capability for a database.
      ReadOnly: update the documentation about readonly locks
      New version 1.11
      tests: Link ctdb_fetch_lock_once with @TDB_OBJ@ not -ltdb so we dont create an unneeded dependency on having a standalone tdb library installed
      tests:ctdb_fetch_lock_once   we must link with @POPT_OBJ@ in case -lpopt is not available
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      Check interfaces:  when reading the public addresses file to create the vnn list
      Interface monitoring: add a event to trigger every 30 seconds to check that all interfaces referenced by the public address list actually exists.
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Merge remote branch 'ddiss/master_pmda_and_client_timeouts'
      Drop loglevel for a tevent message from FATAL to ERROR
      Merge branch 'master-readonly-records' into foo
      Fix additional breakage from the merge for change in signature for ctdb_cmdline_client() and ctdb_attach()
      ReadOnly: Rename the function ctdb_ltdb_fetch_readonly() to ctdb_ltdb_fetch_with_header() since this is what it actually does.
      fix some compiler warnings for the test tools
      Document 'cattdb' more clearly that it dumps the content of the local TDB and not the CTDB database
      ReadOnly: revokechild_active is a list, not a context.
      when checking that the interfaces exist in ctdb_add_public_address()
      Change the 'This Node' column of the machinereadable output for 'ctdb status -Y' to Y/N instead of 1/0
      One of the entry points to release an ip reset the pnn field before invoking the eventscript.
      Merge branches 'master' and 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      Merge remote branch 'martins/tests'
      Remove debug message
      ReadOnly: Dont update the record header from the calling client. While it is convenient since it avoids having to create a child process from the main dameon for writing the updated record it makes the cleitn more complex.
      ReadOnly DOCS: update the docs for readonly delegations to remove the passage that records are written/updated by the client
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      ReadOnly: fix bug writing incorrect amount of data in delegated record
      ReadOnly: add readonly record lock requests to libctdb
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      ReadOnly: If record does not exist, upgrade to write-lock
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      libctdb: dont allow ctdb_writerecord() for readonly records
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Tests: convert test tool for fetching a readonly lock to libctdb
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Merge remote branch 'ddiss/master_pmda_namespace'
      RB_TREE: Add mechanism to abort a traverse
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Merge remote branch 'martins/lcp2fix'
      Record Fetch Collapse: Collapse multiple fetch request into one single request.
      New version 1.12
      SRVID ranges: Change the ranges for SRVIDs to allow 8 bit prefixes
      Eventscripts: Add special -ECANCELED status for monitor events that are cancelled
      Merge remote branch 'martins/warnings'
      Merge remote branch 'martins/hashinclude'
      Merge remote branch 'martins/ctdb_control_oom'
      Merge remote branch 'martins/scriptstatus'
      Merge remote branch 'martins/eventscripts'
      This breaks the build since the recovery loop is different in master
      DB Seqnum: must provide a ctdb_ltdb_header when calling ctdb_ltdb_fetch()
      LibCTDB: add get persistent db seqnum control
      Recover Persistent database DB by DB and not record by record
      DOC: describe the RecoverPDBBySeqNum tunable
      check_srvids: remove the <pnn> from the commandline so that we only specify the list of <srvids>
      LibCTDB: add support for the check-srvids control
      ctdb: use libctdb version of check-srvids call
      DOC: document the check_srvids debugging command
      Fix the build that broke in 8281bb210858ed04992eacea7f6d02261e0fc1b1
      LibCTDB: Add support for the 'get interfaces' control and update the ctdb tool to use this interface
      Return the peer_pid properly to the caller
      typo
      DOC: Update the manpage to describe all relevant tunables
      Merge remote branch 'martins/nodestatus'
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      explain why we use FIONREAD
      Niceify the readonlyrecord API. Dont force clients to be exposed to the featch_with_header function
      ReadOnly: update the loop test tool to print number of fetches per second
      ReadOnly  update documentation
      Add a hoook to the ctdb initscript that we can call out to for applications that want to
      Merge remote branch 'martins/takeover'
      Merge remote branch 'martins/tests'
      TESTS: ctdb_fetch needs to allow tevent nesting
      CTDB: update tfetch so we can specify a hexadecimal string as key
      TFETCH add verbose flag to print also the record ltdb heaer
      Ad test tool to store data and ctdb header into a local tdb file
      TESTS: Add a test that verifies that RecoverPDBBySeqNum works as expected.
      STATISTICS: add total counts for number of delegations and number of revokes
      ReadOnly: add per-database statistics to view how much delegations/revokes we have
      READONLY:  allow specifying the db name for setdbreadonly instead of just the hash
      READONLY: document the command to activate readonly record support
      READONLY: Update the fetch-readonly-once test tool to use CTDB_SOCKET if set
      READONLY: add test for creating and revoking delegations
      TESTS: Add test for wipedb command
      Merge branch 'master' of ssh://git.samba.org/data/git/ctdb
      ReadOnly: Make sure we dont try to fast-vacuum records that are set for readonly delegation
      ReadOnly: We can not use ctdb_ltdb_store from a client/child context since
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Revert "ReadOnly: We can not use ctdb_ltdb_store from a client/child context since"
      READONLY: dont schedule for fast vacuum deletion if any of the readonly record flags are set
      READONLY: only send a control to schedule fast-vacuuming from child context iff we have a connection open to the main daemon
      Merge branch 'master' of 10.1.1.27:/shared/ctdb/ctdb-master
      Log the "Received SHUTDOWN ..." first in the shutown process instead of last.
      when shutting down ctdb, allow it 30 seconds instead of 10 before will -9 the daemon
      change TDB to be valgrind nice
      Eventscripts: remove the horrible horrible circular reference between state and callback since these two structures do not even share the same parent talloc context.
      Make KILLTCP structure a child of VNN so that it is freed at the same time
      When adding ips to nodes, set up a deferred rebalance for the whole node to trigger after 60 seconds in case the normal ipreallocated is not sufficient to trigger rebalance.
      Add a tunable variable to control how long we defer after a ctdb addip until we force a rebalance and try to failback addresses onto this node
      Vacuuming: change default timeout to 120 seconds
      READONLY: skip vacuuming or deleting records with readonly delegations.
      New version 1.13
      READONLY: when updating a remote node to revoke a delegation, make sure we dont create the record if it doesnt already exist
      ReadOnly: Only restrict the readonly sanity/paranoia check that only allows
      Test: add test tool and test that UPDATE_RECORD works on persistent databases
      Merge remote branch 'martins/master'
      add max hop count buckets to see how bad hopcounts are
      FETCH COLLAPSE : Change the fetch-lock collapse to collapse ALL fetches, including fetch-locks into a single command in flight per record. Also add a tunable to enable/disable this optimization for hot records
      DOC document the FetchCollapse tunable
      CTDB: change how the hop count buckets are displayed in ctdb statistics
      STATISTICS: add per-db hop count statistics
      LACOUNT:  Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node
      DOC: Document the MaxLACount tunable variable
      STICKY: add prototype code to make records stick to a node to "calm" down if they are found to be very hot and accessed by a lot of clients.
      STICKY   document the sticky record parameters
      DOC  regenerate the manpage
      Make NoIPFailback a node local setting. Nodes that have NoIPFailback set to !0 can not takeover new ip addresses during failover.
      NoIPFailback: Exclude nodes which have NoIPFailback as failback targets during reallocation
      NoIPTakeover: change the tunable name for the "dont allow failing addresses over onto the node" to NoIPTakeover
      DOC: regenerate manpages
      Merge remote branch 'martins/policy_routing'
      CTDB: add back the "rebalanceip" command
      Add test for NoIPTakeover
      Merge remote branch 'martins/master'
      Merge remote branch 'amitay/talloc-sync'
      Merge remote branch 'amitay/tevent-sync'
      Merge remote branch 'amitay/tdb-sync'
      Add new control to reload the public ip address file on a node
      RELOADIPS: simplify the reloadips code a bit
      DOC: document the reloadips command
      Track all child process so we never send a signal to an unrelated process (our child died  and kernel wrapped the pid-space and reused the pid for a different process
      We dont need to serialize the "probe which address this node is" if we have given an explicit --node-ip on the commandline
      Debug: When scripts hang, we may need to collect additional data in order to debug why the script hung.
      Merge remote branch 'martins/ganesha'
      GANESHA: make the ganesha script executable by default
      TEVENT: Add back tracking of long runnig  events to the local copy of tevent library
      DEBUG: Add checks for and print debug messages when 1) a database contains very many records, 2) when a database is very big, 3) when a single record is very big.
      DOCS: Document the new tunables to produce warnings if databases grow unexpectedly big.
      RECOVER: When we pull databases during recovery, we used to reallocate the databuffer for each entry added. This would normally not be an issue, but for cases where memory is fragmented, this could start to cost significant cpu if we need to reallocate and move to a different region.
      RECOVERY: Increase the time we allow before timing out recovery related tasks.
      Run the shutdown eventscript before we tear down the transport
      STATISTICS: Add tracking of the 10 hottest keys per database measured in hopcount
      Add new command to find which interface is located on
      When we release an ip, get the interface name from the kernel
      When we find an ip we shouldnt host, just release it

Ronnie sahlberg (80):
      Split CTDB into sub contexts to handle multiple concurrent databases within the same context.
      tridge
      first test of forced migration of records.  compiles but not tested.
      When we create a tcp connection to a remote ctdb node  do an explicit bind() to set our source side to the same ip address as we use to listen to ctdb traffic.
      merge from tridge
      dispatcher daemon   first try.
      make normal/deamon mode controllable by a ctdb flag so that the api looks the same in both modes to a client.
      change ctdb_client_read() to use the ctdb_read_pdu() helper
      add a atexit() call to remove the domain socket when the daemon exits
      add a CONNECT_WAIT flag to replace the call ctdb_connect_wait() since
      restore the test script that was updated by mistake in the previous checkin
      move the checking of the CONNECT_WAIT flag into the start method for tcp
      change the tcp code to call ctdb_read_pdu() instead of doing the partial read thing explicitely
      remove old ifdef that remained from when this was a header file
      updates from tridges tree
      add a call to register the pid for a messengin service
      rename client.id to client.messenger_id to make the purpose of the field more obvious
      merge from tridge
      add a test that sends messages between clients connected to the same ctdb
      merge from tridge
      create a standalone ctdb daemon and a script ./direct/ctdbd.sh to start two such daemons in a 2 node cluster.
      add a vnn field to the ctdb_reply_connect_wait pdu so that we can tell
      add call/reply parsing of the cluster connect-wait call to the test daemon.
      add an example on how to send a message to the daemon
      merge from ridge and vl
      add a test message to the messaging test so we can see that the message data is also passed from originator to receiver
      do an infinite loop calling event_loop_once() in the ctdbd parent process instead of event_loop_wait()  since the latter will return and thus take down the daemon
      add an example on how to read a message from the domain socket
      merge from volker
      initial support for two new pdus for the domain socket to do fetch_lock
      dont hardcode gdb in the test script.     ooops
      merge from tridges tree
      when sending back a fetch lock reply to a client
      add a beginning of a new test
      add the two missing file from the previous commit
      merge from tridge
      add store_unlock pdu's for the domain socket.
      add more elaborate test to fetch1 test
      add missing code to store_unlock so that the data that a client writes is stored in ltdb
      merge from tridge
      merge from tridge
      update to fetch1.sh test
      add examples for volker on how to do fetchlock/storeunlock
      add code to fetch1 test to tell the two child processes one at a time to fetch_lock the same record
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      change some error printouts to make it easier to determine whether the error occured in the client or in the daemon
      initial change to remove store_unlock pdu and use tdb chainlock in the client
      remaning code to finish lock_fetch/store_unlock clientside helpers
      do not use a ctdb_record_handle for client fetch_lock/store_unlock any more
      finalize fetch lock changes to get rid of the record handle
      create symbols for fetch lock response status
      merge from tridge
      merge from tridge
      merge from tridge
      merge from tridge
      merge from volker to prevent some valgrind errors
      merge from tridge
      enhance fetch1 test to verify that a lock is released when a client terminates while holding the lock  and the next blocked waiting client is assigned the lock
      merge from tridge
      initial shutdown function where a client can request an orderly shutdown of a ctdb cluster
      add/finish the ctdb_shutdown() function.
      merge from tridge
      merge from tridge
      we dont need the structure ctdb_reply_shutdown since we dont implement that pdu any more
      merge from tridge
      merge from tridge
      ctdbd does no longer take a --daemon parameter since we no longer do non-daemon mode
      merge from tridge
      merge from tridge
      add some tests in the daemon that a REQ_CALL that a client sent us has valid srcnode and destnode
      remove a comment that is no longer valid
      the checks for srcnode and destnode from the client are redundant since the daemon will sort these out itself before it sends the call of to either the local handler or a remote daemon
      Merge commit 'rusty/tdb-update'
      Merge commit 'rusty/signal-fix'
      Merge commit 'obnox/master-rebase'
      document how to restore a backup into a different database
      Merge commit 'rusty/idtree'

Rusty Russell (200):
      Port from SAMBA tdb:
      Port from SAMBA tdb: commit 42c0931441ef53a3f977e1334355fa83f05ac184 Author: Tim Prouty <tprouty at samba.org> Date: Tue Mar 31 16:24:07 2009 -0700
      Port from SAMBA tdb: commit a91bcbccf8a2243dac57cacec6fdfc9907580f69 Author: Jim McDonough <jmcd at samba.org> Date: Thu May 21 16:26:26 2009 -0400
      Port from SAMBA tdb: commit 4b4fec65db4e202afa13b2d15867f4d8a54d154e Author: Andrew Tridgell <tridge at samba.org> Date: Thu May 28 16:08:28 2009 +1000
      Port from SAMBA ctdb: commit 936d76802f98d04d9743b2ca8eeeaadd4362db51 Author: Andrew Tridgell <tridge at samba.org> Date: Tue Dec 16 14:38:17 2008 +1100
      Port from SAMBA tdb: commit a386173fa1c7c5bcc11ea9260d84b6c52c154b3d Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:11:39 2009 +1000
      Port from SAMBA tdb: commit a6cc04a20089e8fbcce138c271961c37ddcd6c34 Author: Andrew Tridgell <tridge at samba.org> Date: Mon Jun 1 13:13:07 2009 +1000
      Port from SAMBA tdb: commit 54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 Author: Rusty Russell <rusty at rustcorp.com.au> Date: Sat Jul 18 15:28:58 2009 +0930
      If the record is at the end of the database, pretending it has length 1 might take us out-of-bounds. Only pretend to be length 1 for the malloc.
      realloc() has that horrible overloaded free semantic when size is 0: current code does a free of the old record in this case, then fail.
      tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop".
      tdb: don't alter tdb->flags in tdb_reopen_all()
      eventscript: clean up forked handler event code
      eventscript: clean up forked handler event code
      eventscript: fix bug in timeouts on forced eventscripts.  Again.
      eventscript: fix bug in timeouts on forced eventscripts.  Again.
      eventscript: typo cleanups
      eventscript: cleanup ctdb_event_script_v
      eventscript: put timeout inside ctdb_event_script_callback_v
      eventscript: put timeout inside ctdb_event_script_callback_v
      eventscript: introduce enum for different event script calls.
      eventscript: introduce enum for different event script calls.
      eventscript: put call type into state struct.
      eventscript: put call type into state struct.
      eventscript: remove call name from state->options
      eventscript: remove call name from state->options
      eventscript: check that internal script events are being invoked correctly
      eventscript: check that internal script events are being invoked correctly
      eventscript: check that ctdb forced script events correct
      eventscript: check that ctdb forced script events correct
      ctdb_io: fix use-after-free on invalid packets
      eventscript: reduce code duplication for ending a script, and fix bug
      eventscript: marshall onto last_status immediately
      eventscript: use -ETIME for timeout status value
      talloc: save errno over talloc_free
      eventscript: check_executable() to centralize stat/perm checks
      eventscript: enhance script delete race check
      eventscript: use -ENOEXEC for disabled status value
      eventscript: handle and report generic stat/execution errors
      eventscript: simplify ctdb_run_event_script loop
      eventscript: replace other -1 returns with -errno
      eventscript: handle v. unlikely timeout race
      eventscript: expost ctdb_ban_self()
      eventscript: handle banning within the callbacks
      eventscript: don't make ourselves healthy if we're under ban_count
      eventscript: hoist work out of child process, into parent
      eventscript: split ctdb_run_event_script into multiple parts
      eventscript: make current_monitor_status_ctx serve as monitor_event_script_ctx
      eventscript: use direct script state pointer for current monitor
      eventscript: store from_user and script_list inside state structure
      eventscript: fork() a child for each script.
      eventscript: refactor forking code into fork_child_for_script()
      eventscript: remove unused ctbd_ctrl_event_script*
      eventscript: pass struct ctdb_log_state directly to ctdb_log_handler().
      eventscript: ctdb_fork_with_logging()
      eventscript: use scripts array directly, rather than separate list
      eventscript: record script status for all events
      eventscript: use an array rather than a linked list of scripts
      eventscript: get_current_script() helper
      eventscript: rename ctdb_monitoring_wire to ctdb_scripts_wire
      eventscript: use wire format internally for script status.
      eventscript: cleanup finished to take state arg
      eventscript: save state for all script invocations
      eventscript: get rid of ctdb_control_event_script_finished altogether
      ctdb: support --machinereadable (-Y) for scriptstatus
      eventscript: lock logging on timeout.
      eventscript: expost call names and enum
      ctdb: scriptstatus can now query non-monitor events
      eventscript: fix monitoring when killed by another script command
      ctdb: don't print OUTPUT: for DISABLED scripts
      There is one signedness issue in tdb which prevents traverses of TDB records over the 2G offset on systems which support 64 bit file offsets. This fixes that case.
      lib/tdb: don't overwrite TDBs with different version numbers.
      lib/tdb: TDB_TRACE support (for developers)
      lib/tdb: wean off TDB_ERRCODE.
      lib/tdb: add -t (always use transactions) option to tdbtorture
      lib/tdb: add tdb_check()
      lib/tdb: make tdbtool use tdb_check() for "check" command
      Add --valgringing flag instead of --nosetsched
      Remove RT priority, use niceness.
      ctdb: use mlockall, cautiously
      eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
      eventscript: fix cleanup path when setting up script list
      eventscript: remove cb_status, fix uninitialized bug when monitoring aborted
      eventscript: fix bug when script is aborted
      event scripts: add logging for low memory conditions
      Leave sequence number alone when merely migrating records.
      eventscript: fix case where we fail to create child for some reason
      eventscript: don't do debugging system() from inside signal handler
      eventscript: wait for debugging dump before killing timedout script
      eventscript: simplify script timeout handling
      tdb: give a name to the invalid recovery area constant (0)
      tdb: fix recovery reuse after crash
      tdb: cleanup: split brlock and brunlock methods.
      tdb: make _tdb_transaction_cancel static.
      tdb: cleanup: rename GLOBAL_LOCK to OPEN_LOCK.
      tdb: cleanup: rename global_lock to allrecord_lock.
      tdb: cleanup: tdb_nest_lock/tdb_nest_unlock
      tdb: don't suppress the transaction lock because of the allrecord lock.
      tdb: cleanup: tdb_have_extra_locks() helper
      tdb: cleanup: tdb_release_extra_locks() helper
      tdb: cleanup: find_nestlock() helper.
      tdb: use tdb_nest_lock() for transaction lock.
      tdb: use tdb_nest_lock() for open lock.
      tdb: use tdb_nest_lock() for active lock.
      tdb: use tdb_nest_lock() for seqnum lock.
      tdb: remove num_locks
      tdb: cleanup: always grab allrecord lock to infinity.
      tdb: suppress record write locks when allrecord lock is taken.
      tdb: tdb_allrecord_lock/tdb_allrecord_unlock/tdb_allrecord_upgrade
      tdb: cleanup: remove ltype argument from _tdb_transaction_cancel.
      tdb: rename tdb_release_extra_locks() to tdb_release_transaction_locks()
      tdb: remove lock ops
      tdb: don't truncate tdb on recovery
      tdb: add -k option to tdbtorture
      patch tdb-refactor-tdb_lock-and-tdb_lock_nonblock.patch
      tdb: handle processes dying during transaction commit.
      tdb: define _PUBLIC_ so we can compile tdb.
      ctdb: use full range of IDR
      libctdb: reorganize headers: remove ctdb.h, add ctdb_client.h and ctdb_protocol.h
      libctdb: ctdb.h and tst.c from Ronnie
      libctdb: API changes from Ronnie's version
      libctdb: first cut, supports getrecmaster only
      libctdb: Ronnie's build changes, so we actually build libctdb with make.
      tst.c: update to Ronnie's latest
      patch libctdb-single-callback.patch
      libctdb: uniform callbacks, _recv functions to pull out data.
      libctdb: tweak interface for readrecordlock
      libctdb: fix wrong argument being handed to callback on attachdb fail
      libctdb: change callback for ctdb_readrecordlock.
      libctdb: add ctdb arg to more functions.
      libctdb: add logging infrastructure
      patch libctdb-use-logging.patch
      libctdb: track lock for each ctdb_db, complain if they hold too long.
      libctdb: use bool in API
      libctdb: use values from ctdb_protocol.h, don't re-declare
      libctdb: documentation
      libctdb: use magic to detect free/invalid locks
      libctdb: clarify logging levels
      libctdb: more bool conversion, and accompany lock by ctdb_db in API
      libctdb: always check header hasn't changed on local tdb
      libctdb: connect TDB logging to our logging
      idtree: fix handling of large ids (eg INT_MAX)
      Delay reusing ids to make protocol more robust
      libctdb: removed unused lock field from struct ctdb_db
      libctdb: fix uninitialized field usage on ctdb_attach failure path
      libctdb: synchronous should be using ctdb_cancel to kill unfinished requests.
      libctdb: check ctdb_request_free & ctdb_cancel used appropriately.
      libctdb: ctdb_service() never returns < 0
      libctdb: fix writerecord() to actually write the record.
      libctdb: fix io_elem resource leak on realloc failure.
      libctdb: implement ctdb_disconnect and ctdb_detachdb
      libctdb: implement synchronous readrecordlock interface.
      libctdb: test infrastructure
      libctdb: test: logging enhancement
      libctdb: test: improve logging of failure paths
      libctdb: test: --no-failtest
      libctdb: test: add database save and restore
      libctdb: test: add readrecordlock support
      libctdb: test: run.sh script
      speed startup: alter recovery loop
      speed startup: immediately run first monitor event after startup.
      speed startup: don't wait a full recovery interval if we've already waited
      speed startup: run startup immediately after recovery finished.
      speed startup: add --sloppy-start.
      speed startup: with --sloppy-start, cut initial election timeout to 1/2 second.
      ctdb_freeze: extend db priority hack to cover serverid.tdb deadlock.
      tdb: improve logging
      Report client for queue errors.
      version: generate RPM version from git
      ctdb: fix crash on "ctdb scriptstatus --events=releaseip"
      config: wrap iptables in flock to avoid concurrancy.
      libctdb: add synchronous message handling and unregister, with tests.
      tdb: fix short write logic in tdb_new_database
      tdb: remove unused variable in tdb_new_database().
      tdb: Fix tdb_check() to work with read-only tdb databases.
      tdb: workaround starvation problem in locking entire database.
      talloc: update to 2.0.3 version from SAMBA
      event: Update events to latest Samba version 0.9.8
      freeze: abort vacuuming when we're going to freeze.
      vacuum: fix crash on vacuum abort
      vacuum: disabling vacuuming during a freeze
      takeover: prevent crash by avoiding free in traverse on RST timeout
      logging: give a unique logging name to each forked child.
      tdb: make check more robust against recovery failures.
      tdb: fix tdb_check() on read-only TDBs to actually work.
      tdb: fix tdb_check() on other-endian tdbs.
      tdb: put example hashes into header, so we notice incorrect hash_fn.
      tdb: increment version to 1.2.4
      tdb: add Bob Jenkins lookup3 hash as helper hash.
      tdb: automatically identify Jenkins hash tdbs
      tdb: TDB_INCOMPATIBLE_HASH, to allow safe changing of default hash.
      tdb: fix non-WAF build, commit 1.2.6 ABI file.
      idtree: fix right shift of signed ints, crash on large ids on AIX
      idtree: fix right shift of signed ints, crash on large ids on AIX
      idtree: fix overflow for v. large ids on allocation and removal
      tdb: expose transaction lock infrastructure for ctdb
      ctdb_lockwait: create overflow queue.
      ctdbd: fix lock held on error ("ctdb_req_dmaster from non-master.")
      ctdbd: call tdb_reopen_all() in freeze child.
      eventscript: fix callback after free

Samuel Cabrero (1):
      s4-dns: dlz_bind9: Create dns-HOSTNAME account disabled

Scott Lovenberg (1):
      docs: Fix typo in "max open files" description

Shekhar Amlekar (3):
      s3:smbd/session: add filters to gather_sessioninfo()
      s3:smbd/session: Added a routine find_sessions()
      s3: rpc_server/srvsvc: use find_sessions() in NetSessDel

Simo Sorce (5):
      Fix release script with newer versins of git
      tdb: raise version to 1.2.1
      release-scripts: parametrize scripts
      tdb: update exports and signatures files
      Reserve an OID space for external projects

Slava Semushin (1):
      lib/tdb/tools/tdbtorture.c: fixed memory leak.

Srikrishan Malik (2):
      Changes for unobtrusive recovery and new method for health check.
      eventscript: Fix link creation failure if the link already exist but the target path is missing

Stefan Metzmacher (255):
      Fix segfault in ip takeover fallback code.
      ctdb_sys_have_ip: don't overwrite input data (setting port to 0)
      tcp: don't log an error when we succefully bind to the desired address
      server: print out the full 64-bit srvid on 32-bit hosts
      server: if takeover runs when the recovery master becomes unhealthy
      ctdb_client: fix DEBUG statement in ctdb_ctrl_modflags()
      ctdb_diagnostics: don't use hardcoded path to iptables
      events/50.samba: only use wbinfo --ping-dc if available
      Fix all warnings in source3 with gcc4.3. Jeremy. (cherry picked from samba commit 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00)
      The msync manpage reports that msync *must* be called before munmap. Failure to do so may result in lost data. Fix an ifdef check, I really think we meant to check HAVE_MMAP here. (cherry picked from samba commit 74c8575b3f3b90ea21ae6aa7ccd95947838af956) (This used to be commit 8fd54bb55f0c23bd025d1719abcbe75c6a2ea8ac) (cherry picked from samba commit b39e332bd7803dd4ce8267f750c497b5deb837ee)
      Add simple manually written replacement for the tdb module. (cherry picked from samba commit 2a61fd41e9d4d2e3d7b47a816544c88bb369bc03)
      py: Properly increase the reference counter of Py_None. (cherry picked from samba commit d2c70d24e12293d9b4272eb310a6a4c4582b2d92)
      s3/s4 build: Fix Py_RETURN_NONE to work with python versions < 2.4 (cherry picked from samba commit 61a23c5eea2203721a70a4ad41bfdc6cd1d6a2a7)
      Avoid using a utility header for Python replacements included in Samba, since this will not be shipped with talloc/tdb/tevent/etc. (cherry picked from samba commit ba5d6e6d706ebf07640ee24d701255cbb4803525)
      lib/tdb: include replace.h and system/filesys.h in pytdb.c
      s3 build: Remove unused fstat check to fix a bunch of HAVE_FSTAT warnings (cherry picked from samba commit 2c2545d45af9c7479bf032fff1263e102926a495)
      lib/tdb: sync build files from samba master
      tdb: rename 'struct list_struct' into 'struct tdb_record'
      tdb: always set tdb->tracefd to -1 to be safe on goto fail
      tdb: add TDB_DISALLOW_NESTING and make TDB_ALLOW_NESTING the default behavior
      tdb: change version to 1.2.0 after adding TDB_*ALLOW_NESTING
      ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
      config: load 'ctdb' config before 'nfs' config in statd-callout
      server: create tdbs with 0600 permissions in ctdb_local_attach()
      server: add db_directory_state to ctdb_context
      server: only do the mkdir() calls for db_directory* once at the start
      server: create recdb.tdb.X in /var/ctdb/state/
      server: create vactun.tdb.X under /var/ctdb/state
      server: create vactune.tdb.X with 0600 permissions
      server: open /var/ctdb/state/persistent_health.tdb.X on startup
      server/recovery: update flags on nodes before syncing dbs
      server: move error handling to a 'fail' label in ctdb_control_transaction_commit()
      server: Use tdb_check to verify persistent tdbs on startup
      server: add CTDB_CONTROL_DB_SET_HEALTHY and CTDB_CONTROL_DB_GET_HEALTH
      client: add ctdb_ctrl_getdbhealth()
      tools/ctdb: display db health in "ctdb getdbmap"
      tools/ctdb: add "ctdb getdbstatus <dbname>"
      tools/ctdb: let "ctdb restoredb" and "ctdb wipedb" mark the db as healthy on all
      client: make ctdb_dumpdb_record() public
      client: add "ctdb dumpdbbackup <filename>"
      ctdb: disallow "ctdb backupdb" on unhealthy databases
      ctdb: add machinereadable output fot "ctdb -Y getdbmap"
      ctdb: print out some hints how to debug a "ctdb catdb" failure
      config: try to use tdbtool <tdb> check instead of tdbdump for persistent db checks
      config: add CTDB_MAX_PERSISTENT_CHECK_ERRORS option
      doc/ctdb.1: document "ctdb wipedb"
      doc/ctdb.1: document UNHEALTHY for "ctdb getdbmap"
      doc/ctdb.1: document -Y output fot ctdb getdbmap
      doc/ctdb.1: document "ctdb dumpdbbackup <file>"
      doc/ctdb.1: add "See also" for ctdb getdbmap
      doc/ctdb.1: document "ctdb getdbstatus <dbname>"
      doc/ctdb.1: make clear the database is specified by name for "ctdb backupdb"
      doc/ctdb.1: update example "ctdb listvars" output
      doc: fix docbook warnings for ctdb.1 and onnode.1 manpages
      doc: regenerate manpages
      ctdb: pass TDB_DISALLOW_NESTING to all tdb_open/tdb_wrap_open calls
      server: fix fd leaks in the new logging code
      server: add set_close_on_exec() on more fds
      ctdb_logging: simplify ctdb_fork_with_logging a lot and reduce the syscall usage
      server: call event_add_fd at the end of ctdb_set_child_logging()
      lib/events: finish "Run only one event for each epoll_wait/select call"
      server: add missing goto again after do_recovery()
      tools/ctdb: display INACTIVE status in "ctdb status" and "ctdb status -Y"
      move DEBUG* macros to one place
      configure: don't overwrite AC_CHECK_FUNC_EXT and AC_CHECK_LIB_EXT
      lib/util: import fault/backtrace handling from samba.
      lib/util: add pre and post panic action hooks
      server: setup fault handler to get the build-in backtrace support
      server: add "init" event
      config/functions: add tickle_tcp_connections()
      events/10.interfaces: move some parts to helper functions
      config: add interface_modify.sh and call it under flock to make modification on interfaces atomic
      config: add some ipv4 helper shell functions
      config: add 13.per_ip_routing event script
      server: add a ctdb_set_single_public_ip() helper function
      server: add a ctdb_vnn_iface_string() helper function to access vnn->iface
      server: allow multiple interfaces comma separated in public_addresses
      events: 10.interfaces allow multiple interfaces per public address
      server: we don't need to copy strings we pass as talloc_asprintf() arguments
      server: keep the interface information in a list of ctdb_iface structures
      reserve upper bits in ctdb_control->flags for opcode specific flags
      client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags()
      server: implement CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE behavior
      server: use CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE during a takeover run
      controls: add stups for GET_PUBLIC_IP_INFO, GET_IFACES and SET_IFACE_LINK_STATE
      client: implement ctdb_ctrl_get_public_ip_info()
      client: implement ctdb_ctrl_get_ifaces()
      client: implement ctdb_ctrl_set_iface_link()
      server: implement ctdb_control_get_public_ip_info()
      server: implement ctdb_control_get_ifaces()
      server: implement ctdb_control_set_iface_link()
      tools/ctdb: add "ctdb ifaces"
      tools/ctdb: add "ctdb setifacelink <iface> <status>"
      tools/ctdb: add "ctdb ipinfo <ip>"
      tests/simple/11_ctdb_ip.sh: be more strict in checking ctdb ip -Y output
      tests: add a all_ips_on_node() helper function that wraps ctdb ip -Y
      tools/ctdb: display interfaces in "ctdb ip" and "ctdb ip -Y" outputs
      tools/ctdb: add PartiallyOnline state for "ctdb status" and "ctdb status -Y"
      server: only trigger one takeover run in verify_ip_allocation()
      server: monitor interfaces in verify_ip_allocation()
      events: splitout a monitor_interfaces function in 10.interface
      config: 10.interfaces call ctdb ifaces and ctdb setifacelink for monitoring
      config: 10.interfaces call monitor_interfaces on startup
      server: start with disabled interfaces and let the event scripts enable the interfaces explicit
      config: add CTDB_PARTIALLY_ONLINE_INTERFACES to ctdb.sysconfig
      server: add updateip event
      events: 10.interface handle updateip event
      events: add updateip event to 13.per_ip_routing
      server: split out a ctdb_announce_vnn_iface() function
      server: split out a ctdb_do_takeover_ip() function
      server: add a ctdb_do_updateip()
      server: be less verbose on redundant release_ip events
      server: debug redundant takeover ip events with level INFO
      server: print node number as signed integer on release ip event
      server: return an error if we get an takeover ip event and we cannot serve the ip
      server: give an error if we're getting an takeover_ip event with a wrong pnn
      server: ban ourself if the ctdb and kernel knowledge of a public ip differs
      server: reload the public addresses before doing a takeover run
      config: 10.interface: search "ethtool" in $PATH instead of using a hardcoded path
      config: readd ips with a broadcast address in delete_ip_from_iface()
      config: add setup_iface_ip_readd_script() helper function
      config: interface_modify states in a $CTDB_BASE/state/interface_modify directory
      config: make remove_ip() a wrapper of delete_ip_from_iface()
      config/11.natgw: use delete_ip_from_iface() instead of remove_ip()
      config/10.interface: use delete_ip_from_iface also in the "init" event
      server: add "setup" event
      config/13.per_ip_routing: add a setup_per_ip_routing() function
      config/13.per_ip_routing: register the setup script with setup_iface_ip_readd_script()
      config/13.per_ip_routing: use better names for release_script and setup_script
      config/13.per_ip_routing: fix typo in error message
      doc/ctdb.1.xml: document PARTIALLYONLINE status
      doc/ctdb.1.xml: document "ctdb ifaces"
      doc/ctdb.1.xml: update "ctdb ip" documentation
      doc/ctdb.1.xml: document "ctdb ipinfo <ip>"
      doc/ctdb.1.xml: document "ctdb setifacelink <iface> <status>"
      doc: regenerate ctdb.1*
      config: let 13.per_ip_routing use a flock for generate_auto_link_local()
      config/interface_modify.sh: before calling a script check if it exists and is executable
      config/interface_modify.sh: do the echo before running the script
      events/10.interface: we need to mark interfaces as "up" if we don't know how to monitor them
      server/monitor: ask for a takeoverrun after propagating our new flags
      server/recoverd: do takeover_run after verifying the reclock file
      server/recoverd: if we can't get the recovery lock, ban ourself
      server/banning: also release all ips if we're banning ourself
      events.d/11.routing: handle "updateip" event
      tools/ctdb: let "ctdb catdb" pass the persistent flag to ctdb_attach()
      tools/ctdb: add 'persistent' flag to "ctdb attach"
      tools/ctdb: allow "ctdb pfetch" only on persistent databases
      doc/ctdb.1: document "persistent" flag for "ctdb atttach"
      doc/ctdb.1: fix "ctdb restore <filename> [<dbname>]" cmdline
      doc: regenerate docs
      web: fix link to tdb README
      recoverd: let async_getcap_callback() also update ctdb->capabilities
      recoverd: try to become the recovery master if we have the capability, but the current master doesn't
      recoverd: try to become the recovery master if we have the capability, but the current master doesn't
      lib/tevent/testsuite: no longer use 'compat' symbols
      tevent: expose tevent_context_init_ops
      tevent: change version to 0.9.16
      libcli/smb: add SMB3_DIALECT_REVISION_302
      libcli/smb: add PROTOCOL_SMB3_02
      libcli/smb: negotiate SMB3_DIALECT_REVISION_302 if PROTOCOL_SMB3_02 is requested
      lib/param: add PROTOCOL_SMB3_02 handling
      s3:torture: add PROTOCOL_SMB3_02 handling
      docs-xml: document SMB3_02 as available protocol for the client side
      libcli/smb: use SMB1 MID=0 for the initial Negprot
      libcli/smb: fix non mendatory signing against some vendor SMB2 servers.
      libcli/smb: only check the SMB2 session setup signature if required and valid
      librpc/ndr: make ndr_pull/push_DATA_BLOB NDR64 aware
      librpc/ndr: make use of ndr_dump_data() in ndr_print_array_uint8()
      drsuapi.idl: change the range for attribute values to 26214400 bytes.
      frstrans.idl: add flag(NDR_PAHEX) to frstrans_BytePipe
      s3:smb2_server: don't rely on the SMB2_HDR_FLAG_SIGNED if signing is required
      Revert "Support UPN_DNS_INFO in the PAC"
      dsdb/tests/ldap: fix test_ldapServiceName against w2k8r2
      s4:dsdb/rootdse: report 'dnsHostName' instead of 'dNSHostName'
      dsdb/tests/ldap: fix test_distinguished_name against w2k8r2
      ldb:rdn_name: reject 'distinguishedName' depending of the MOD flags
      provision/sambadns: CN=MicrosoftDNS,CN=System, is relative to DOMAINDN
      librpc/rpc: add dcerpc_binding_handle_auth_info()
      s3:rpc_client: implement dcerpc_binding_handle_auth_info()
      s4:librpc: implement dcerpc_binding_handle_auth_info()
      s3:rpc_client: pass object and table to rpccli_bh_create()
      s4:torture/samba3rpc: let rpc.authcontext be more robust against low level code changes (part1)
      s4:torture/samba3rpc: let rpc.authcontext be more robust against low level changes (part2)
      s4:tortore:raw/qfileinfo: don't use dcerpc_pipe_open_smb() to open a named pipe
      s3:rpcclient: introduce global rpcclient_cli_state
      s3:rpcclient: make use of rpcclient_cli_state
      s4:librpc/rpc: remove unused dcerpc_smb_fnum()
      s4:librpc/rpc: add dcerpc_secondary_smb_send/recv()
      s4:librpc/rpc: make use of dcerpc_secondary_smb_send/recv() in dcerpc_secondary_context()
      s4:librpc/rpc: remove unused dcerpc_smb_tree()
      s3:winbindd: don't hide the error in cm_connect_lsa()
      s3:include: add forward declaration for struct messaging_context; in g_lock.h
      s3:include: fix messaging_send_buf() protype in messages.h
      s3:auth_domain: remove dead code in check_trustdomain_security()
      s3:libsmb: remove unused change_trust_account_password()
      s3:libsmb: inline trust_pw_change_and_store_it() into trust_pw_find_change_and_store_it()
      s4:librpc: make dcerpc_schannel_key_send/recv static
      s4:librpc: let dcerpc_schannel_key_recv() return netlogon_creds_CredentialState
      auth:credentials: avoid talloc_reference in cli_credentials_set_netlogon_creds()
      s3:libsmb: make use of smb1cli_tcon_set_values()
      libcli/smb: add smbXcli_tcon_is_dfs_share()
      libcli/smb: add smbXcli_tcon_{set,get}_fs_attributes()
      libcli/smb: add FLAGS2_DFS_PATHNAMES for SMB1 operations against dfs shares
      libcli/smb: move Filesystem Attributes defines to smb_constants.h
      libcli/smb: add FLAG_CASELESS_PATHNAMES based on FILE_CASE_SENSITIVE_SEARCH to smb1 requests
      libcli/smb: add SMB2_HDR_FLAG_DFS for SMB2 Create operations on dfs shares
      s3:libsmb: call smbXcli_tcon_{get,set}_fs_attributes() from cli_set_case_sensitive()
      s3:libsmb: don't pass down FLAG_CASELESS_PATHNAMES and FLAGS2_DFS_PATHNAMES anymore
      s3/libsmb: make use of smbXcli_tcon_is_dfs_share()
      s3:libsmb: add SMB2/3 support to cli_dfs_get_referral()
      s3:libsmb: remove unused cli_state->dfsroot
      s3:libsmb: remove unused cli_state->case_sensitive
      s3:libsmb: call smbXcli_tcon_set_fs_attributes() directly
      script/mks3param_ctx_table.pl: fix tabs/whitespaces in generated output.
      librpc-idl: replace int32 by uint32 as the values are always > 0
      libcli/smb: fix smb2cli_ioctl*() against Windows 2008.
      CVE-2013-4476: selftest/Samba4: use umask 0077 within mk_keyblobs()
      remove partial ctdb/ import
      script: add ctdb-import.* scripts
      Merge branch 'master' of ctdb into 'master' of samba
      script: prepare librelease.sh for ntdb releases
      s3:smb2_server: fix drain_socket error handling
      s3:smb2_server: for performance reasons we use tevent_fd and readv/writev directly
      s3:smb2_server: use tevent_req_notify_callback() in smbd_smb2_request_pending_queue()
      s3:smb2_server: allocate smbd_smb2_request on talloc_tos()
      s3:smb2_server: generate a header blob for the sendfile path
      s3:smb2_server: avoid calling set_current_user_info() for each request
      CVE-2013-4408:librpc: check for invalid frag_len within dcerpc_read_ncacn_packet_done()
      CVE-2013-4408:librpc: check for invalid frag_len within dcerpc_read_ncacn_packet_next_vector()
      CVE-2013-4408:s3:rpc_client: check for invalid frag_len in dcerpc_pull_ncacn_packet()
      CVE-2013-4408:s3:rpc_client: verify frag_len at least contains the header size
      CVE-2013-4408:s4:dcerpc: check for invalid frag_len in ncacn_pull()
      CVE-2013-4408:s4:dcerpc_smb: check for invalid frag_len in send_read_request_continue()
      CVE-2013-4408:s4:dcerpc_smb2: check for invalid frag_len in send_read_request_continue()
      CVE-2013-4408:s4:dcerpc_sock: check for invalid frag_len within sock_complete_packet()
      CVE-2013-4408:async_sock: add some overflow detection to read_packet_handler()
      CVE-2013-4408:s3:util_tsock: add some overflow detection to tstream_read_packet_done()
      CVE-2013-4408:libcli/util: add some size verification to tstream_read_pdu_blob_done()
      CVE-2013-4408:s3:ctdb_conn: add some length verification to ctdb_packet_more()
      selftest/Samba3: export ENVNAME
      selftest: setup {NMBD,WINBINDD,SMBD}_VALGRIND
      tevent: cancel the timeout timer when the request is finished
      tevent: let tevent_req_received() clear the private_cancel function
      tevent: tevent_req_create() already uses ZERO_STRUCT(req)
      tevent: use talloc_get_type_abort() in the documentation examples
      tevent: make use of talloc_get_type_abort() in tevent_queue.c
      tevent: make use of talloc_get_type_abort() in tevent_req.c
      tevent: make use of talloc_get_type_abort() in tevent_select.c
      tevent: make use of talloc_get_type_abort() in tevent_signal.c
      tevent: make use of talloc_get_type_abort() in tevent_epoll.c
      tevent: tevent_epoll_set_panic_fallback() can be a void function
      tevent: change TEVENT_SA_INFO_QUEUE_COUNT from 64 to 256
      tevent: give the user the chance to ask for TEVENT_NUM_SIGNALS and TEVENT_SA_INFO_QUEUE_COUNT
      tevent: version 0.9.20

Steven Siloti (1):
      waf: parse LDFLAGS from python

Sumit Bose (12):
      added a missing dependency
      fix a configure warning while checking for netfilter.h
      structure member logfile is not used anywhere
      structure member node_list_file is not used anywhere
      add missing checks on so far ignored return values
      fix re pattern to accept the new recovery lock times in the statistics output
      build: Fix for tevent autoconf check
      Check return value of tdb_delete()
      Fixes for various issues found by Coverity
      Fix memory leak in ctdb_send_message()
      IPv6 neighbor solicit cleanup
      Print deleted nodes as well

Tim Prouty (2):
      tdb: Fix some recently introduced warnings in tdbtool (cherry picked from samba commit c299833bf8e6506c793d6e8283743949aaac9ef4)
      s3/s4: Fix "shadows a global declaration" warning (cherry picked from samba commit e48a5cd5d4fc2626b09af16a0ac68c638d081437)

Volker Lendecke (221):
      Fix uninitialized variable warnings
      Handle a client that exited correctly: We need to ignore SIGPIPE and when the
      merge
      Add a test to read back the message
      Merge tridge's tree
      Rename "private" to "private_data"
      ZERO_STRUCT writes one byte too many here.
      Add timestamps to debug output.
      typo
      Some more debug and two memleak fixes
      Be less verbose
      Clean up the call_states correctly
      Add --dbdir to ctdbd. Necessary for shared operation between ctdbd and smbd.
      The remote node needs to get the IMMEDIATE_MIGRATION flag to actually send the
      Fix http://ctdb.samba.org/download.html
      Fix a segfault in the eventscript timeout handler.
      Run only one event for each epoll_wait/select call
      Rename a struct member for clarity
      Tiny simplification of ctdb_queue_packet()
      Import "talloc_array_length" from upstream talloc
      Make fetch_locked more scalable
      Attempt to fix bug 5684
      tdb: Fix a C++ warning (cherry picked from samba commit be88a126ea50ea7e41583f402013c63234305e48)
      tdb: fix an early release of the global lock that can cause data corruption
      Fix a typo in run_startrecovery_eventscript
      In ctdb catdb, print the payload data length without the ctdb header length
      Fix a typo in run_startrecovery_eventscript
      In ctdb catdb, print the payload data length without the ctdb header length
      tdb: Apply some const, just for clarity
      tdb: If tdb_parse_record does not find a record, return -1 instead of 0
      tdb: Fix bug 7248, avoid the nanosleep dependency
      Fix some nonempty blank lines
      tdb: Fix indentation in tdb_new_database()
      tdb: Add a non-blocking version of tdb_transaction_start
      Correctly set docdir
      tdb: add restore
      Add missing #include to libctdb/ctdb.c
      libctdb: Correct 4bfdfda, stddef.h is needed by libctdb_private.h
      libctdb: Reorder set_message_handler
      libctdb: Reorder attachdb
      libctdb: Add license header to messages.c
      libctdb: Fix a few format warnings
      libctdb: Ensure 0-termination of sun_path
      libctdb: Make sure ctdb_request->ctdb is filled correctly
      libctdb: "ctdb_request_free" does not need the ctdb_connection parameter
      libctdb: "unpack_reply_call" does not need the ctdb_connection parameter
      libctdb: "unpack_reply_control" does not need the ctdb_connection parameter
      Remove an unused variable
      Fix a const warning
      Fix some typos
      Add CTDB_CONTROL_CHECK_SRVID
      Add "ctdb check_srvid"
      Fix a cut&paste error
      Make CTDB_CURRENT_NODE work with CTDB_REQ_MESSAGE
      FreeBSD does not define s6_addr32, only s6_addr
      Add includes required on FreeBSD
      Add common/system_freebsd.c
      Fix some documentation typos
      Correct include for ctdb_protocol.h
      Avoid a bashism in 60.ganesha
      Add a \n to an error message
      build: Fix the build with old system-installed tevent
      vacuum: Avoid some tallocs in ctdb recovery
      Fix a comment typo
      fix a typo
      common/messaging: use tdb_parse_record in message_list_db_fetch
      common/messaging: Use the jenkins hash in ctdb_message
      smbd: Use talloc_pooled_object in cp_smb_filename
      tevent: Use talloc_pooled_object for tevent_req_create
      gencache: Avoid a duplicate call to string_term_tdb_data
      lib: serverid.h needs "struct db_record" declaration
      smbd: Fix blank line endings
      smbd: Make brl_same_context static
      smbd: Make brl_lock_failed static
      smbd: Fix a typo
      smbd: Use ZERO_STRUCT instead of memset
      smbd: Add brl_num_locks access function
      smbd: Add brl_fsp access function
      smbd: Move "struct byte_range_lock" definition to brlock.c
      smbd: Convert br_lck->lock_data to talloc
      smbd: Properly protect against invalid lock data
      idmap_autorid: Use fstr_sprintf in idmap_autorid_build_keystr()
      net idmap: add utility function parse_uint32()
      libndr: Fix ndr_print_bitmap_flag for value=0
      librpc: Fix blank line endings
      smbd: Avoid calling serverid_exists twice
      smbd: Fix confusing comments
      smbd: Fix a comment
      torture: Fix a typo
      libcli: Add const to smb2_lease_pull
      libcli: Correct smb2_lease_pull
      torture: Continue buffer check after NOT_IMPLEMENTED infolevels
      torture: Remove an unused variable
      smbd: Convert some dbgtxt to DEBUG
      smbd: Remove unused "brl->key" struct element
      smbd: Avoid an if-statement per read/write in the non-clustered case
      smbd: Restructure brl_get_locks_readonly
      smbd: brl_get_locks_internal is always called r/w now
      smbd: Remove the brl_get_locks wrapper
      smbd: Remove byte_range_lock->read_only
      smbd: Change parameter from unsigned to uint32_t
      smbd: Make add_share_mode return bool
      smbd: Convert set_share_mode to return bool for success
      smbd: Simplify find_share_mode_entry callers
      smbd: Simplify set_share_mode
      smbd: Fix an error path in open_directory
      pidl: fix an error message typo
      torture: Extend the raw.oplock.doc1 test
      torture: Extend the smb2.oplock.doc1 test
      smbd: Fix the extended *.oplock.doc1 tests
      smbd: Remove name_hash param from open_mode_check
      smbd: Remove unused create_options from open_mode_check
      libcli4: Remove an unused variable
      auth4: Remove an unused variable
      smbd: Put "have_read_oplocks" into brlock.tdb
      smbd: Remove FAKE_LEVEL_II_OPLOCK
      torture: Extend raw.oplock.batch10
      smbd: Add debugs to brlock.c
      smbd: Remove some FAKE_LEVEL_II comments
      smbd: Remove a special case for level2 break
      smbd: Inline break_level2_to_none_async
      smbd: Simplify find_oplock_types a bit
      smbd: Unify delay_for_*_oplocks
      smbd: Make loop index type match loop limit
      smbd: Make find_oplock_types return bool
      smbd: Factor out remove_stale_share_mode_entries
      smbd: Reduce the complexity of open_file_ntcreate
      smbd: Decouple grant_fsp_oplock_type from oplock validation
      smbd: Remove "file_existed" handling from open_mode_check
      smbd: Simplify open_file_ntcreate
      ctdbd_conn: Lift the cluster_fatal call in get_cluster_vnn
      ctdbd_conn: Remove one call to cluster_fatal
      ctdbd_conn: Remove one call to cluster_fatal
      smbd/winbindd: Do an early check if ctdbd is functional
      winbind3: Fix CID 1107229 Uninitialized pointer read
      lsasd: Fix CID 1107233 Double close
      nsswitch: Fix short writes in winbind_write_sock
      ntvfs: Fix Coverity ID 1107224 Resource leak
      ntvfs: Fix CID 1107225 Resource leak
      winbind3: Fix CID 241468 Resource leak
      ldb: Fix CID 240798 Uninitialized pointer read
      smbd: Fix bug 10216
      torture: Add reproducer for bug 10216
      smbd: validate oplock types even for internal and stat opens
      torture: Check break level in raw.oplock.exclusive5
      torture: Add oplock break to l2/none tests
      smbd: Remove unused "oplock_request" arg from send_break_message
      smbd: Simplify send_break_message
      smbd: Don't send op_mid in a BREAK message
      smbd: Remove unused "mid" from delay_for_oplock
      smbd: Fix raw.batch.exclusive[59]
      torture: Add a test showing we have to break L2 at open time
      smbd: Fix breaking level2 on OVERWRITE create_disposition
      smbd: Use MSG_SMB_BREAK_REQUEST for async l2 breaks
      smbd: Remove MSG_SMB_ASYNC_LEVEL2_BREAK
      torture: Extend the raw.oplock.level_ii_1 test
      smbd: Use remove_oplock() in close_normal_file
      smbd: Make release_file_oplock static
      smbd: Unify parameters to set_oplock_type
      smbd: Remove separate oplock_type parameter from set_file_oplock
      smbd: Move oplock/sharemode ops into one place
      smbd: Move oplock handling together
      torture: Add smb2.oplock.levelII501 test
      Revert "smbd: Move oplock handling together"
      Revert "smbd: Move oplock/sharemode ops into one place"
      rpc_server: fix a typo
      rpc_server: Fix some uses of tevent_req_nomem
      rpc_server: Remove rpc_ep_register_state->mem_ctx
      rpc_server: Fix a memleak on error exit
      rpc_server: Fix a typo
      smbd: Support multiple dfs targets for msdfs proxy shares
      torture: Add smb2.rename.rename_dir_bench
      smbd: Fix DEBUG in do_break_to_none
      README.Coding: Add __func__
      oLschema2ldif: Add some NULL checks
      dsdb: Fix Coverity ID 1034907 Dereference before null check
      registry: Fix Coverity ID 1034916 Wrong sizeof argument
      registry: Fix Coverity ID 1034917 Wrong sizeof argument
      registry: Fix Coverity ID 1034918 Wrong sizeof argument
      net: Fix CID 1035403 Unchecked return value
      netapi: Fix CID 1127344 Uninitialized scalar variable
      libsmb: Fix CID 1127343 Dead default in switch
      iniparser: Fix CID 241908 Copy into fixed size buffer
      smbd: Fix CID 1035434 Same on both sides
      libsmb: Fix CID 241313 Array compared against 0
      ldb: Fix CID 241329 Array compared against 0
      heimdal: Fix 241482 Resource leak
      samdb: Fix CID 241968 Uninitialized pointer read
      smbd: Fix CID 1035478 Negative array index read
      smbd: Use fstring in conn_tdb.h
      smbd: Use fstring in conn_tdb.c
      smbd: Fix CID 1035366 Buffer not null terminated
      smbd: Fix CID 1035365 Buffer not null terminated
      backupkey: Fix CID 1034885 Resource leak
      ntvfs: Fix CID 1034883 Resource leak
      gpo: Fix CID 1034881 Resource leak
      gpo: Fix CID 1034880 Resource leak
      libsmb: Fix CID 242665 Out-of-bounds access
      heimdal: Fix CID 241943 Uninitialized pointer read
      tls: Fix some noblank line endings
      tls: Fix CID 242014 Uninitialized scalar variable
      heimdal: Fix CID 240779 Allocation size mismatch
      autorid: Correctly init range_index for "delete range"
      heimdal: Fix CID 745516 Use after free
      torture3: Use tevent_req_nterror properly
      smbd: Fix a talloc hierarchy problem in msg_channel
      smbd: Factor out get_share_mode_write_time of get_file_infos
      smbd: Point reply_open at the correct stat struct
      smbd: Pull mtime handling into open_file_ntcreate
      smbd: Fix bug 10284
      torture3: Reproducer for bug 10284
      smbd: Remove a "set but unused" variable
      smbd: Fix a typo
      replace: Don't run over dst in strlcat
      pam_winbind: Use strlcat in safe_append_string
      smbd: Avoid calling notify_filter_string for low debuglevels
      messaging3: Do not go through messages.tdb for self-sends
      idmap_cache: Use an fstring instead of talloc_asprintf
      idmap_cache: Use gencache_parse
      smbd: Fix a panic when a smb2 brlock times out
      smbd: Fix regression for the dropbox case.

Wolfgang Mueller-Friedt (7):
      added event repacking
      remove repack from eventscript
      repack limit tunable
      vacuuming needed additional check before getting rid of the record; there is a gap between selecting the records and deleting them, therefore we have to check if the records still can be deleted when we actually are about to delete them
      ensure tdb names end with .tdb. and any number of digits
      ctdb_setstatus in /etc/ctdb/functions was not working correctly because it was called with a wrong parameter list
      ctdb_setstatus in /etc/ctdb/functions was not working correctly because it was called with a wrong parameter list

jmcd at samba.org (4):
      Inital rpm build files
      updates from tridge
      updates from tridge
      Next round of packaging updates:

root (33):
      check the static-routes file   if it exists
      collect net conf list in ctdb_diagnostics
      the while loop in the startup event runs as a subshell so we need an extra || exit 1 at the end
      Merge commit 'ronnie-ctdb/master' into tridge
      listen_fd is auto-closed
      debuglevel is a signed int, not usnigned.
      fix an incorrect path
      some platforms are very picky about the third argument passed to bind().
      redo and update how we synchronize flags across the cluster.
      return -1 if ctdb ping failed
      If ctdbd was started with the --socket option then we also set the CTDB_SOCKET variable so that the eventscripts can pick up the name proper
      update to the flags handling
      add a helper that waits until the clueter is no longe rin recovery mode and return the generation number.
      make sure we return an errorcode when the ctdb command has hung  and is timeodout by the -T <timeout> setting
      add a CTDB_TIMEOUT variable for the ctdb tool.
      update the "ctdb recover" command.
      add better errorchecking that nodes we try to talk to using the "ctdb" tool actually exist and that it is connected.
      finish the ipv6 support.
      new version
      use netstat to check first and only fall back to netcat if netstat is unavailable
      make it possible to disable checking all samba shares.
      Add a variable CTDB_NFS_SKIP_SHARE_CHECK to sysconfig that can disable the check that all shares are accessable.
      make sure we can collect proper mmfs data
      NAT-GW updates. Describe the functionality in the sysconfig file
      change the NATGW_ example in sysconfig to make it more realistic
      redo how the natgw is done. just use a default route with a high metric instead of fancy policyrouting
      create a helper function that converts a ctdb instance in daemon mode to become
      add a new command "ctdb scriptstatus"
      Add a new variable VerifyRecoveryLock which can be used to disable the test that the recovery daemon holds the lock properly when performing a recovery
      when tracking the ctdb statistics,    only decrement num_clients and pending_calls IFF the counter is >0
      new version 1.0.80
      fixed a problem with clients disconnecting during a traverse
      change the talloc hierarchy for the main transaction_start context and the individual transaction_all handles

-----------------------------------------------------------------------


-- 
Samba Shared Repository


More information about the samba-cvs mailing list