2014-12-01  Sergey Poznyakoff  <gray@gnu.org.ua>

	Optionally select only zones which list the current machine as one of their NSs.

	* src/iflist.c: New file.
	* src/Makefile.am (nssync_SOURCES): Add iflist.c
	* src/config.c: New configuration statement "check-ns".
	* src/nssync.c (main): Call get_host_addresses if check-ns is
	requested.
	* src/nssync.h (check_ns): New extern.
	(get_host_addresses, is_my_sockaddr): New protos.
	(nsdef): New struct.
	(nssync) <nsdef_head, nsdef_tail>
	<myzone>: New members.
	* src/output.c (format_ns_record): Remove.
	(save_ns_record): New function.  Replaces format_ns_record.
	(format_soa_record): Don't create zone file if myzone is false.

	* NEWS: Document check-ns
	* doc/nssync.8: Likewise.
	* doc/nssync.texi: Likewise.

2014-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Raise version number (1.1.90)

	* NEWS: Update version
	* configure.ac: Update version, set package home page.
	* THANKS:
	* src/Makefile.am: Update copyright years.
	* src/nssync.c: Likewise.
	* src/sqlop.c: Likewise.
	* doc/nssync.8: Update.

	Fix coredump if mysql is not in slave mode and slave status is requested.

	* src/nssync.c (check_slave_status): Return if no status file is defined,
	or if sql_get_slave_status returned 1
	(main): Call check_slave_status unconditionally. It will take care of
	the rest.
	* src/sqlop.c (sql_get_slave_status): Fail if any of file or off is NULL.

	Upgrade grecs, use recent Automake

	* grecs: Upgrade
	* src/Makefile.am: Use AM_CPPFLAGS instead of INCLUDES
	* src/bindcf.c (new_zone,bindcf_lookup): Update references to
	the members of grecs_locus_t
	* src/config.c: Update kw definitions.

2012-03-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix.

	* doc/nssync.texi: Add missing @chapter.

	Minor change.

	Provide documentation.  Set version number 1.1

2011-05-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide a way to supply additional statements for the generated zones.

	* grecs: Update.
	* src/nssync.h (nssync) <zone_add_stmt>: New field.
	* src/config.c (sync_kw)<add-statements>: New statement.
	* src/bindcf.c (output_zone): Output additional statements.

2011-05-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Updage grecs

2011-05-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve error handling.

	* src/bindcf.c (bind_working_dir): Remove static qualifier.
	(filetab): New static.
	(find_file): New static function.
	(bindcf_zone_name): New function.
	(bindcf_lookup): Rename existing zone file if zone_file_pattern
	has changed.
	(flush_zone_list): Handle file name clashes gratiously.
	Don't delete file if it is already used by another zone.
	* src/nssync.c (create_hierarchy,trycreate): New function.
	(copy_file): Call trycreate if open failed with ENOENT.
	(move_file): New function.
	(main): Print additional diagnostics before exiting on error.
	* src/nssync.h (bind_working_dir): New extern.
	(move_file): New proto.

2011-05-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide global zone-conf statement.

	* src/bindcf.c (zone_conf_file): New variable.
	* src/config.c (nssync_kw)<zone-conf>: New statement.
	(synclist_fixup): If sync-specific zone-conf is not set,
	use the global one.
	(cb_sync): Don't check zone_conf_file right away,
	wait until synclist_fixup instead.
	* src/nssync.h (zone_conf_file): New extern.

	Optionally check if there is a running instance already

	* src/config.c (nssync_kw) <pidfile>: New statement.
	* src/nssync.c (pidfile): New global.
	(create_pidfile, remove_pidfile, check_pidfile): New
	functions.
	(main): Call check_pidfile.
	* src/nssync.h (pidfile): New extern.

2011-05-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Use per-view file name patterns.

	* src/bindcf.c (bind_zonefile_dir): Remove.
	(zone_file_pattern): Change default value.
	(bindcf_lookup): expand $synctag.
	* src/config.c (sync_kw) <zonefile-pattern>: New statement.
	(nssync_kw) <zonefile-dir>: Remove.
	(config_help): Update for the latest grecs.
	(synclist_fixup): New function.
	(config_parse): Call synclist_fixup.
	* src/nssync.h (bind_zonefile_dir): Remove.
	(nssync)<zone_file_pattern>: New field.

2011-05-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Create individual zone files.

	* src/Makefile.am (EXTRA_DIST): Add cmdline.opt.
	* src/bindcf.c (bind_zonefile_dir)
	(zone_file_pattern): New variables.
	(source_named_conf): More checks.
	(bindcf_lookup): Rewrite.
	(flush_zone_list): New function.
	* cmdline.opt: New option: --force.
	* src/config.c (sync_kw)<path>: Remove keyword. All uses changed.
	<zone-conf>: New keyword.
	(nssync_kw) <slave-status-file>
	<zonefile-dir,zonefile-pattern>
	<reload-command>: New keyword.
	* src/nssync.c (copy_file): Increase changed_zones.
	Return immediately if in dry-run mode.
	(compare): Change signature.
	(synchronize): Rewrite.
	(check_slave_status): New function.
	(main): Check slave status.
	Update all changed zones. Reload bind, if needed.
	* src/nssync.h (slave_status_file)
	(reload_command, changed_zones): New externs
	(sql_get_slave_status): New proto.
	(nssync) <kwpath>: Remove.
	<zone_conf_file,zone_tree>: New members.
	(bindcf_lookup): Change signature.
	(flush_zone_list, compare): New protos.
	* src/output.c: Change logic to produce a single file per zone.
	* src/sqlop.c (sql_get_slave_status): New function.

	* configure.ac: Switch from foreign to gnu.
	* AUTHORS: New file.
	* COPYING: New file.
	* NEWS: New file.
	* README: New file.

2011-05-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide a default pp-setup file.

	Implement compare and update loop.

	* src/bindcf.c: New file.
	* src/Makefile.am (nssync_SOURCES): Add bindcf.c.
	* src/config.c (soa_query, rr_query)
	(rev_rr_query,ns_query): Remove globals.
	(synclist): New global.
	(sync_kw): New keywords (mostly moved from nssync_kw.
	(cb_sync): New callback.
	(nssync_kw): New statement "sync".
	New statements: tempdir, named-conf, bind-include-path,
	compare-command.
	(config_parse): More checks.
	* src/nssync.c (tempdir, compare_command)
	(error_count): New globals.
	(debug_printf): New function.
	(synchronize): New function.
	(main): Call synchronize for each element from synclist.
	* src/nssync.h (compare_command,tempdir)
	(named_conf_file,bind_include_path)
	(synclist, debug_level): New externs.
	(soa_query, rr_query)
	(rev_rr_query,ns_query): Remove.
	(debug): New macro.
	(debug_printf): New proto.
	(nssync): New struct.
	(format_soa): Remove.
	(format_zones)
	(source_named_conf,bindcf_lookup): New protos.
	* src/output.c: Rewrite using struct nssync as a closure.

	Print to a specified output file.

	Initial commit

Local Variables:
mode: change-log
version-control: never
buffer-read-only: t
End:
