2014-11-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.0

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

	Report version of varnish at the end of configure

	Update copyright years

	Support for VCL 4.0

	* configure.ac: Version 1.0.91
	Detect varnish version and set variables and conditionals accordingly.
	* NEWS: Update.
	* src/.gitignore: Update.
	* src/Makefile.am: Always build vcc_if.c and vcc_if.h.  Don't
	distribute them.
	* src/binlog.c: Use VCL data type.  Define them for VCL 3.0.
	(vmod_init): Fix premature memory deallocation.
	* src/vmod.vcc: Rewrite in VCL 4.0 syntax.
	* tests/atlocal.in (ret_vcl_recv): New variable.
	* tests/test01.at (vcl_recv): Return $ret_vcl_recv.
	* tests/test02.at: Likewise.

2014-06-01  Sergey Poznyakoff  <gray@nxc.no>

	Bugfixes in binlogsel

	* src/binlogsel.c (selmem): Fix operation in case when all
	records are earlier than start_time.
	(read_status_fp): Set start_time 1 second later than the
	status file time.
	Set last_ts.

	Fix -d (timediff) option in binlogsel.

	* src/binlogsel.c (selmem): Don't attempt to modify rec.

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

	Bugfixes.

	* src/binlogsel.c (mkfilename): Return a copy of file name if dir is NULL.
	(main): Directory (-D) defaults to cwd.

2014-05-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	binlogsel: dry-run and incremental mode.

	* src/binlogsel.c (last_ts): New variable.
	(module_init): Change signature (incompatible change!)
	(interval) <descr>: New member.
	(interval_count): New variable.
	(interval_add): Take descr as argument. Fill in interval->descr.
	(interval_add): Increment interval_count.
	(interval_add_str): Construct descr.
	(selmem): Update last_ts
	(selidx_day,selidx_month,selidx_year): Silently ignore non-existing
	directories. Don't bail out if no matching file was found.
	(selidx_year): Clear the START_TIME flag after the first iteration.
	(read_status_fp,read_status_file)
	(write_status_file): New functions.
	(main): New option -n.
	Use interval_add_str to parse intervals.
	Pass flags to module_init.
	Process status file, if requested.

2014-05-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Further thread-safety fixes.

	* NEWS: Version 1.0.90
	* configure.ac: Likewise.

	* src/binlog.c (binlog_env) <inst_head>: New member.
	(binlog_env_init): Initialize inst_head and use it
	instead of conf->inst_head.
	(env_free): Free inst_head.
	* src/pack.c (packdup): New function.
	* src/pack.h (packdup): New proto.

	Use per-thread environment for packet construction.

	* src/binlog.c (binlog_config) <inst_cur>
	<env,state,timestamp>: Remove.
	(binlog_env): New struct.
	(thread_once.thread_key): New statics.
	(binlog_env_get,binlog_env_init): New functions.
	(vmod_init): Don't create env here.
	Register make_key.
	(vmod_start): Use binlog_env
	(vmod_pack): Likewise.
	(vmod_commit): Likewise.
	* src/binlogsel.c (interval_add): Update timemask if START_TIME
	or STOP_TIME are set on tmask.

2013-11-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix interval initialization from the module_init function.

	* doc/vmod-binlog.3: Update.
	* src/binlogsel.c (interval) <name>: Remove const.
	(interval_add): duplicate the name.
	* src/xalloc.c (xstrdup): New function.
	* src/xalloc.h: Likewise.

2013-10-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix

2013-10-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix version number in the docs.

	Version 1.0

	Require automake 1.14 or newer.

2013-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor improvement.

	* src/err.h (error,packerror): Mark as printflike.
	* doc/binlogsel.1: Update.

	Bugfix

	* src/binlog.c (vmod_init): Set umask from init parameters.

	Get rid of the --with-vmod-dir option.

	* Makefile.am: Add default options for distcheck.
	* configure.ac: Remove --with-vmod-dir, default to
	the standard Varnish module location,  Provide
	the --without-vmoddir option for use in distcheck.
	* README: Write it.
	* doc/vmod-binlog.3: Minor change,

2013-10-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	binlogsel: add loadable module support

	* Makefile.am (SUBDIRS): Add libltdl
	* configure.ac: Configure ltdl
	* src/Makefile.am (binlogsel_LDADD): Add LIBLTDL.
	(binlogsel_CPPFLAGS): New variable.
	* src/binlogcat.c (catlog): Bugfix.
	* src/binlogsel.c: Allow for multiple intervals. Support loadable
	modules.
	* doc/binlogcat.1: Update.
	* doc/binlogsel.1: Update.
	* doc/vmod-binlog.3: Update.

	Add multiple interval support to binlogsel.

	* src/binlogsel.c (FROM_TIME,TO_TIME): Rename to
	START_TIME, STOP_TIME.
	(from_time,to_time): Rename to start_time,to_time.
	(CLEAR_START_TIME,CLEAR_STOP_TIME): New macros.
	(interval): New struct.
	(interval_head, interval_tail): New variables.
	(interval_add): New function.
	(selmem): Iterate over available intervals and output records for
	those that match the time limits.
	(main): New option -I.
	Build interval list from multiple -I,-F,-T options.

2013-10-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor change.

	* src/binlogsel.c (main): Fix argument consistency check.

	Add manpages.

2013-10-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor change

	Use 'format' instead of 'dataspec'

	Fix compiler warnings.

	Add version and help output to command line utilities.

	Change default log naming.

	* configure.ac: Call AM_PROG_CC_C_O
	* src/binlog.c (BLF_TRUNCATE): New flag.
	(vmod_init): Change pattern initialization.
	New parameter "reuselog".
	(createfile): Remove O_TRUNC.
	(checkheader): New function.
	(newfile): Reuse existing file, if it is the first file
	to be opened after varnish startup and its header matches
	exactly our data.
	* src/binlogsel.c: Use indexed directory structure to speed up
	searches.
	* src/vmod-binlog.h (BINLOG_PATTERN): Change pattern.
	(BINLOG_GLOB_PATTERN,BINLOG_INDEX): New defines.

2013-10-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	New utility binlogsel

	* configure.ac: Check for yacc.
	* src/.gitignore: Update.
	* src/Makefile.am (libbinlog_a_SOURCES): Add new files.
	Build binlogsel.
	* src/binlogcat.c: Use xmalloc.
	* src/binlogsel.c: New file.
	* src/parse-datetime.h: New file.
	* src/parse-datetime.y: New file.
	* src/xalloc.c: New file.
	* src/xalloc.h: New file.

2013-10-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix error checking, add pack tests.

	* src/binlog.c (vmod_init): Fix error checking after packcomp.
	* src/binlogcat.c (catlog): Likewise.
	* tests/binpack.c (main): Likewise.

	* src/pack.c (Z_unpacker): Fix output format.
	(packcomp): allow for whitespace between specifiers.  On error
	set errno and return NULL.
	* tests/Makefile.am: Add pack.at
	* tests/testsuite.at: Likewise.
	* tests/pack.at: New file.
	* tests/test02.at: Fix name pattern.

	* src/Makefile.am: New convenience library libbinlog.a * src/binlogcat.c: Use functions from libbinlog.a * src/err.h: New file. * src/err.c: New file. * tests/.gitignore: Add binpack.c * tests/Makefile.am: Build binpack.c * tests/binpack.c: New file.

	Improve error reporting.

	* src/pack.c: Use packerror to report errors.
	* src/pack.h (packerror): New proto.
	* src/binlog.c (packerror): New function.
	* src/binlogcat.c (packerror,error,verror): New functions.

	Implement n, N, v, V, f, and d conversions.

	Simplify packer API

	* src/pack.c (packspec) <size>: Remove
	<packer,unpacker>: kick off struct packspec from the arglist.
	All uses updated.

2013-10-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix

	* src/binlogcat.c: Fix help output.

	Fix processing repeat counts in packinnext.

	* src/binlog.c (vmod_start): call packinit.
	* src/pack.c (packinst) <cur>: New member.
	(packinnext): Correctly process repeat counts.
	(packout): Likewise.
	(packinit): New function.
	* src/pack.h (packinit): New proto.

	Fix integer conversions.

	Handle eventual out-of-memory conditions.

	Rewrite using opaque record data.

	Records can carry arbitrary data, whose format is defined using
	teplate strings similar to those of Perl's pack() function.  The
	teplate string is stored in the logfile header and is used by
	binlogcat to render a human-readable representation.

	* src/.gitignore: New file.
	* pack.c: New file.
	* pack.h: New file.
	* src/Makefile.am: Add pack.c, pack.h
	* src/binlog.c: Rewrite.  Use pack routines to construct each
	record.
	* src/binlogcat.c: Likewise.  Use packout to unpack each record.
	* src/vmod-binlog.h (struct binlog_record): Remove nid,aid.
	(struct binlog_file_header): Add hdrsize.
	(BINLOG_HEADER_SIZE,union binlog_header): Remove
	(binlog_recnum): Remove.
	(binlog_size): Rewrite.
	* src/vmod.vcc (append,sappend): Remove.
	(init): Change signature.
	(start,commit,pack): New functions.
	* tests/test01.at: Rewrite.
	* tests/test02.at: Rewrite.

2013-10-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add testsuite.

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