aboutsummaryrefslogtreecommitdiff
path: root/src/binlog.c
AgeCommit message (Collapse)AuthorFiles
2014-11-01Support for VCL 4.0Sergey Poznyakoff1
* 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-05-29Further thread-safety fixes.Sergey Poznyakoff1
* 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.
2014-05-29Use per-thread environment for packet construction.Sergey Poznyakoff1
* 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-10-18BugfixSergey Poznyakoff1
* src/binlog.c (vmod_init): Set umask from init parameters.
2013-10-15Minor changeSergey Poznyakoff1
Use 'format' instead of 'dataspec'
2013-10-15Fix compiler warnings.Sergey Poznyakoff1
2013-10-15Change default log naming.Sergey Poznyakoff1
* 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-13Fix error checking, add pack tests.Sergey Poznyakoff1
* 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.
2013-10-13Improve error reporting.Sergey Poznyakoff1
* 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.
2013-10-12Fix processing repeat counts in packinnext.Sergey Poznyakoff1
* 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.
2013-10-12Handle eventual out-of-memory conditions.Sergey Poznyakoff1
2013-10-12Rewrite using opaque record data.Sergey Poznyakoff1
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-11Add testsuite.Sergey Poznyakoff1
2013-10-11Initial commitSergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.