Giter VIP home page Giter VIP logo

libvmod-digest's People

Contributors

aondio avatar cst152 avatar daghf avatar dhobsd avatar dmatetelki avatar dridi avatar fgsch avatar gquintard avatar kristianlyng avatar mbgrydeland avatar nigoroll avatar piotrczapla avatar rezan avatar slimhazard avatar stevendore avatar zmousm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libvmod-digest's Issues

Build is failing on FreeBSD

HI,

4.1 branch build is failing on FreeBSD 10.1-REL

cd . && /bin/sh /root/work/varnish-vmods/libvmod-digest/missing automake-1.15 --foreign
/bin/sh ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
/usr/local/share/varnish/vmodtool.py ../src/vmod_digest.vcc
/bin/sh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include/varnish -Wall -Werror -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
libtool: compile: cc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include/varnish -Wall -Werror -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c -fPIC -DPIC -o .libs/vmod_digest.o
vmod_digest.c:42:10: fatal error: 'mhash.h' file not found

include <mhash.h>

     ^

1 error generated.
*** Error code 1

Stop.
make[2]: stopped in /root/work/varnish-vmods/libvmod-digest/src

However mhash.h is present:
❯ la /usr/local/include/mhash.h [4:41:14 PM]
-rw-r--r-- 1 root wheel 223B Nov 5 16:30 /usr/local/include/mhash.h

And I added includedir /usr/local/include to the configure command

Any ideas?

Compile broken on FreeBSD

The latest commit to src/vmod_digest.c seems to have broken compile on FreeBSD

libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include/varnish -Wall -Wextra -Werror -I/usr/local/include -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c -fPIC -DPIC -o .libs/vmod_digest.o
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:186:1: error: "PACKAGE" redefined
In file included from vmod_digest.c:34:
../config.h:50:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:189:1: error: "PACKAGE_BUGREPORT" redefined
In file included from vmod_digest.c:34:
../config.h:53:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:192:1: error: "PACKAGE_NAME" redefined
In file included from vmod_digest.c:34:
../config.h:56:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:195:1: error: "PACKAGE_STRING" redefined
In file included from vmod_digest.c:34:
../config.h:59:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:198:1: error: "PACKAGE_TARNAME" redefined
In file included from vmod_digest.c:34:
../config.h:62:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:201:1: error: "PACKAGE_VERSION" redefined
In file included from vmod_digest.c:34:
../config.h:68:1: error: this is the location of the previous definition
In file included from /usr/local/include/mutils/mincludes.h:34,
from /usr/local/include/mhash.h:6,
from vmod_digest.c:45:
/usr/local/include/mutils/mhash_config.h:213:1: error: "VERSION" redefined
In file included from vmod_digest.c:34:

Clean up compiler warnings

There are several compiler warnings in master:

vmod_digest.c:354:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (j = 0; j < blocksize; j++) {
                ^
vmod_digest.c:357:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   assert((hexptr-hexenc)<(2*blocksize + 3));
                         ^
/opt/varnish/varnish-4.1.0/include/varnish/vas.h:58:8: note: in definition of macro 'assert'
  if (!(e)) {       \
        ^
vmod_digest.c:425:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (i = 0; i<mhash_get_block_size(hash);i++) {
               ^

Optionally return hash_*() and hmac_*() functions as base64 encoded values

As far as I can tell the only format returned by the various digest methods is a hex encoded string. Is it easy to retrieve a base64 encoded version of the same data? Perhaps either:

a) an additional parameter to each hash/hmac function that indicates the desired string format

-- or --

b) a new set hex/base64 util functions

Error using Alpine on Mac M1 Pro

Sorry for this issue, but I have to use an alpine version of Varnish, because I can't find have varnish-dev installed on M1, I have this error:

Package 'varnish-dev' has no installation candidate

I tried many things.... but no success. So I am trying to use an alpine version of varnish Docker image (7.0-alpine).

For now I have:

FROM varnish:7.0-alpine

RUN apk update && apk add --no-cache \
    python3 \
    py3-docutils \
    py3-sphinx \
    varnish-dev \
    curl \
    libtool \
    make \
    automake \
    git \
    autoconf \
    libmhash-dev --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
    openssl-dev

# install libvmod-digest
ENV LIBVMOD_DIGEST_BRANCH=master

RUN cd /usr/local/bin/ && \
    git clone -b ${LIBVMOD_DIGEST_BRANCH} https://github.com/varnish/libvmod-digest.git && \
    cd libvmod-digest && \
    ./autogen.sh && \
    sh ./configure --disable-dependency-tracking && \
    make install && \
    cd /usr/local/bin && \
    rm -rf libvmod-digest && \
    ldconfig

It seems to work, but it ends with this message:

#7 6.275 ----------------------------------------------------------------------
#7 6.275 Libraries have been installed in:
#7 6.275    /usr/lib/varnish/vmods
#7 6.275 
#7 6.275 If you ever happen to want to link against installed libraries
#7 6.275 in a given directory, LIBDIR, you must either use libtool, and
#7 6.275 specify the full pathname of the library, or use the '-LLIBDIR'
#7 6.275 flag during linking and do at least one of the following:
#7 6.275    - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
#7 6.275      during execution
#7 6.275    - add LIBDIR to the 'LD_RUN_PATH' environment variable
#7 6.275      during linking
#7 6.275    - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
#7 6.275 
#7 6.275 See any operating system documentation about shared libraries for
#7 6.275 more information, such as the ld(1) and ld.so(8) manual pages.
#7 6.275 ----------------------------------------------------------------------
#7 6.276 make[2]: Leaving directory '/usr/local/bin/libvmod-digest/src'
#7 6.276 make[1]: Leaving directory '/usr/local/bin/libvmod-digest/src'
#7 6.278 make[1]: Entering directory '/usr/local/bin/libvmod-digest'
#7 6.278 rst2man README.rst vmod_digest.3
#7 6.519 make[2]: Entering directory '/usr/local/bin/libvmod-digest'
#7 6.519 make[2]: Nothing to be done for 'install-exec-am'.
#7 6.520  ./install-sh -c -d '/usr/local/share/doc/libvmod-digest'
#7 6.526  /usr/bin/install -c -m 644 README.rst LICENSE '/usr/local/share/doc/libvmod-digest'
#7 6.529  ./install-sh -c -d '/usr/local/share/man/man3'
#7 6.536  /usr/bin/install -c -m 644 vmod_digest.3 '/usr/local/share/man/man3'
#7 6.539 make[2]: Leaving directory '/usr/local/bin/libvmod-digest'
#7 6.539 make[1]: Leaving directory '/usr/local/bin/libvmod-digest'
------
executor failed running [/bin/sh -c cd /usr/local/bin/ &&     git clone -b ${LIBVMOD_DIGEST_BRANCH} https://github.com/varnish/libvmod-digest.git &&     cd libvmod-digest &&     ./autogen.sh &&     ./configure --disable-dependency-tracking &&     make install &&     cd /usr/local/bin &&     rm -rf libvmod-digest &&     ldconfig]: exit code: 1
ERROR: Service 'varnish' failed to build : Build failed

I am not an expert in make files... is there a way to make it 'silent' ? to avoid any output ?

digest.base64 not working

Hi,

I have compiled your digest module and trying to use base64 in my vcl but it fails. I have a vcl file say mymodule.vcl and it has very simple logic within a subroutine say initiate_request. This subroutine is called in my main.vcl file and it checks for a keyword in url and encodes the ip address when true else not.
When i hit a request containing the keyword i see 502 error and varnish logs are also exiting. i see log abandoned log reacquired lines in the end.
Provided vcl file content and logs below. please provide us a solution and root cause of this issue.
my varnish version is 5.1.3
and i installed this module as instructed in readme file.

// mymodule.vcl
vcl 4.0;

import digest;

sub initiate_request {
    if (req.url ~ "/site1/") {
        set req.http.digest = digest.base64(client.ip);
    } else {
        set req.http.digest = client.ip;
    }
}

on hitting the url the logs are

*   << Session  >> 1         
-   Begin          sess 0 HTTP/1
-   SessOpen       119.xxx.xx.186 53778 :80 10.xx.xx.7 80 1555407000.057236 22
-   Link           req 2 rxreq
-   VSL            flush
-   End            synth

*   << Request  >> 2         
-   Begin          req 1 rxreq
-   Timestamp      Start: 1555407000.058357 0.000000 0.000000
-   Timestamp      Req: 1555407000.058357 0.000000 0.000000
-   ReqStart       119.xxx.xx.186 53778
-   ReqMethod      GET
-   ReqURL         /site1/index.html
-   ReqProtocol    HTTP/1.1
-   ReqHeader      Host: 35.xx.xx.27
-   ReqHeader      Cache-Control: max-age=0
-   ReqHeader      Upgrade-Insecure-Requests: 1
-   ReqHeader      User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.86 Chrome/73.0.3683.86 Safari/537.36
-   ReqHeader      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
-   ReqHeader      Accept-Encoding: gzip, deflate
-   ReqHeader      Accept-Language: en-GB,en-US;q=0.9,en;q=0.8,da;q=0.7
-   ReqHeader      Via: HTTP/1.1 forward.http.proxy:3128
-   ReqHeader      Connection: keep-alive
-   VCL_call       RECV
-   VSL            flush
-   End            synth

Log abandoned
Log reacquired

i have commented out the ips for security reasons.

libvmod-digest cannot be make

Hi all,

Can anybody help me, libvmod-digest can be make?
Varnish version:
varnish (modified varnish-4.1.11 61367ed17d08a9ef80a2d42dc84caef79cdeee7a)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) Varnish Software 2006-2019 AS

Compile issue on RHEL7

varnishd -V
varnishd (varnish-4.0.2 revision bfe7cd1)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2014 Varnish Software AS

make[2]: Entering directory `/root/libvmod-digest-libvmod-digest-1.0.1/src'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/share/varnish/include -I/usr/include/varnish -Wall -Wextra   -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/share/varnish/include -I/usr/include/varnish -Wall -Wextra -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c  -fPIC -DPIC -o .libs/vmod_digest.o
vmod_digest.c:95:24: error: expected ‘)’ before ‘struct’
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                        ^
vmod_digest.c:286:28: error: expected ‘)’ before ‘hashid’
 vmod_hmac_generic(VRT_CTX, hashid hash, const char *key, const char *msg)
                            ^
vmod_digest.c:333:30: error: expected ‘)’ before ‘enum’
 vmod_base64_generic(VRT_CTX, enum alphabets a, const char *msg, int is_hex)
                              ^
vmod_digest.c:356:37: error: expected ‘)’ before ‘enum’
 vmod_base64_decode_generic(VRT_CTX, enum alphabets a, const char *msg)
                                     ^
vmod_digest.c:379:28: error: expected ‘)’ before ‘hashid’
 vmod_hash_generic(VRT_CTX, hashid hash, const char *msg)
                            ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:410:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(sha1,SHA1)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:411:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(sha224,SHA224)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:412:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(sha256,SHA256)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:413:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(sha384,SHA384)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:414:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(sha512,SHA512)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:415:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(gost,GOST)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:416:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(md2,MD2)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:417:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(md4,MD4)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:418:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(md5,MD5)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:419:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(crc32,CRC32)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:420:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(crc32b,CRC32B)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:421:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(adler32,ADLER32)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:422:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(haval128,HAVAL128)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:423:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(haval160,HAVAL160)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:424:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(haval192,HAVAL192)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:425:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(haval224,HAVAL224)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:426:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(haval256,HAVAL256)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:427:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(ripemd128,RIPEMD128)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:428:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(ripemd160,RIPEMD160)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:429:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(ripemd256,RIPEMD256)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:430:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(ripemd320,RIPEMD320)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:431:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(tiger,TIGER)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:432:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(tiger128,TIGER128)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:433:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(tiger160,TIGER160)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:434:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(snefru128,SNEFRU128)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:435:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(snefru256,SNEFRU256)
 ^
vmod_digest.c:403:29: error: expected ‘)’ before ‘const’
 vmod_hash_ ## low (VRT_CTX, const char *msg) \
                             ^
vmod_digest.c:436:1: note: in expansion of macro ‘VMOD_HASH_FOO’
 VMOD_HASH_FOO(whirlpool,WHIRLPOOL)
 ^
vmod_digest.c:440:30: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low (VRT_CTX, const char *msg) \
                              ^
vmod_digest.c:463:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64,BASE64)
 ^
vmod_digest.c:448:38: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _hex (VRT_CTX, const char *msg) \
                                      ^
vmod_digest.c:463:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64,BASE64)
 ^
vmod_digest.c:456:41: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _decode (VRT_CTX, const char *msg) \
                                         ^
vmod_digest.c:463:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64,BASE64)
 ^
vmod_digest.c:440:30: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low (VRT_CTX, const char *msg) \
                              ^
vmod_digest.c:464:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url,BASE64URL)
 ^
vmod_digest.c:448:38: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _hex (VRT_CTX, const char *msg) \
                                      ^
vmod_digest.c:464:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url,BASE64URL)
 ^
vmod_digest.c:456:41: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _decode (VRT_CTX, const char *msg) \
                                         ^
vmod_digest.c:464:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url,BASE64URL)
 ^
vmod_digest.c:440:30: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low (VRT_CTX, const char *msg) \
                              ^
vmod_digest.c:465:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url_nopad,BASE64URLNOPAD)
 ^
vmod_digest.c:448:38: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _hex (VRT_CTX, const char *msg) \
                                      ^
vmod_digest.c:465:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url_nopad,BASE64URLNOPAD)
 ^
vmod_digest.c:456:41: error: expected ‘)’ before ‘const’
 vmod_ ## codec_low ## _decode (VRT_CTX, const char *msg) \
                                         ^
vmod_digest.c:465:1: note: in expansion of macro ‘VMOD_ENCODE_FOO’
 VMOD_ENCODE_FOO(base64url_nopad,BASE64URLNOPAD)
 ^
vmod_digest.c:474:29: error: expected ‘)’ before ‘const’
 vmod_hmac_ ## hash(VRT_CTX, const char *key, const char *msg) \
                             ^
vmod_digest.c:484:1: note: in expansion of macro ‘VMOD_HMAC_FOO’
 VMOD_HMAC_FOO(sha256,SHA256)
 ^
vmod_digest.c:474:29: error: expected ‘)’ before ‘const’
 vmod_hmac_ ## hash(VRT_CTX, const char *key, const char *msg) \
                             ^
vmod_digest.c:485:1: note: in expansion of macro ‘VMOD_HMAC_FOO’
 VMOD_HMAC_FOO(sha1,SHA1)
 ^
vmod_digest.c:474:29: error: expected ‘)’ before ‘const’
 vmod_hmac_ ## hash(VRT_CTX, const char *key, const char *msg) \
                             ^
vmod_digest.c:486:1: note: in expansion of macro ‘VMOD_HMAC_FOO’
 VMOD_HMAC_FOO(md5,MD5)
 ^
vmod_digest.c: In function ‘vmod_version’:
vmod_digest.c:490:1: warning: type of ‘VRT_CTX’ defaults to ‘int’ [enabled by default]
 vmod_version(VRT_CTX)
 ^
vmod_digest.c:490:1: error: argument ‘VRT_CTX’ doesn’t match prototype
In file included from vmod_digest.c:57:0:
vcc_if.h:55:12: error: prototype declaration
 VCL_STRING vmod_version(const struct vrt_ctx *);
            ^
vmod_digest.c:492:8: error: ‘ctx’ undeclared (first use in this function)
  (void)ctx;
        ^
vmod_digest.c:492:8: note: each undeclared identifier is reported only once for each function it appears in
vmod_digest.c:490:1: warning: unused parameter ‘VRT_CTX’ [-Wunused-parameter]
 vmod_version(VRT_CTX)
 ^
vmod_digest.c: At top level:
vmod_digest.c:75:3: warning: ‘alphabet’ defined but not used [-Wunused-variable]
 } alphabet[N_ALPHA];
   ^
vmod_digest.c:81:1: warning: ‘vmod_digest_alpha_init’ defined but not used [-Wunused-function]
 vmod_digest_alpha_init(struct e_alphabet *alpha)
 ^
vmod_digest.c:131:1: warning: ‘base64_decode’ defined but not used [-Wunused-function]
 base64_decode(struct e_alphabet *alpha, char *d, unsigned dlen, const char *s)
 ^
vmod_digest.c:205:1: warning: ‘base64_encode’ defined but not used [-Wunused-function]
 base64_encode(struct e_alphabet *alpha, const char *in,
 ^
make[2]: *** [vmod_digest.lo] Error 1
make[2]: Leaving directory `/root/libvmod-digest-libvmod-digest-1.0.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/libvmod-digest-libvmod-digest-1.0.1'
make: *** [all] Error 2

Don't work digest.base64_decode

I've tried to use digest.base64_decode in default.vcl, but not work.
set req.http.x-url = digest.base64_decode("dGVzdHVybA==");
But x-url is empty.
And when use base64(), it's crashed.
Please let me know what I mistake in the code.

hash_md5 failing

Hi there,

I just compiled your vmod on my Mac Os X 10.6.8

$varnishd -V
varnishd (varnish-3.0.2 revision 55e70a4)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2011 Varnish Software AS

I tried using the digest.hash_md5() function in my VCL, the VCL compiles with no error, but when I make an HTTP request, nothing is returned to the browser.

I then tried using digest.hash_sha1, and it works.

VCL Config

import digest;

sub vcl_deliver
{
    set resp.http.whatever = digest.hash_md5("test");
}

Varnishlog

0 CLI          - Rd ping
0 CLI          - Wr 200 19 PONG 1349724370 1.0
8 BackendOpen  b default 127.0.0.1 49639 127.0.0.1 8080
8 TxRequest    b GET
8 TxURL        b /
8 TxProtocol   b HTTP/1.1
8 TxHeader     b Host: xxx.dyndns.org
8 TxHeader     b Pragma: no-cache
8 TxHeader     b User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4
8 TxHeader     b Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
8 TxHeader     b Accept-Language: en-US,en;q=0.8,fr;q=0.6
8 TxHeader     b Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
8 TxHeader     b Cookie: __unam=d8cb8fc-1373474e385-fb57489-1; __utmx=61625407.; __utmxx=61625407.; __utmx=1.; __utmxx=1.; __utma=1.55154200.1338591865.1339534723.1340041951.9; __utmz=1.1338591865.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=61625407.20100163
8 TxHeader     b ABTest: TESTa
8 TxHeader     b X-Device: desktop
8 TxHeader     b X-Varnish: 1830513611
8 TxHeader     b Accept-Encoding: gzip
8 RxProtocol   b HTTP/1.1
8 RxStatus     b 200
8 RxResponse   b OK
8 RxHeader     b Date: Mon, 08 Oct 2012 19:26:11 GMT
8 RxHeader     b Server: Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
8 RxHeader     b X-Powered-By: PHP/5.3.1
8 RxHeader     b Expires: Thu, 19 Nov 1981 08:52:00 GMT
8 RxHeader     b Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
8 RxHeader     b Pragma: no-cache
8 RxHeader     b Set-Cookie: frontend=6de3c6b09cb15240fba3e718f92abc34; expires=Tue, 09-Oct-2012 19:26:11 GMT; path=/; domain=.xxx.dyndns.org; httponly
8 RxHeader     b X-Magento-Doesi: 1
8 RxHeader     b Transfer-Encoding: chunked
8 RxHeader     b Content-Type: text/html; charset=UTF-8
8 Fetch_Body   b 3(chunked) cls 0 mklen 1
8 Length       b 8708
8 BackendReuse b default
0 WorkThread   - 0x100586ae0 start
0 CLI          - Rd vcl.load "boot" ./vcl.osJuJwUo.so
0 CLI          - Wr 200 36 Loaded "./vcl.osJuJwUo.so" as "boot"
0 CLI          - Rd vcl.use "boot"
0 CLI          - Wr 200 0 
0 CLI          - Rd start
0 Debug        - "Acceptor poll space increased to 512"
0 Debug        - "Acceptor is poll"
0 CLI          - Wr 200 0 
0 WorkThread   - 0x106703ae0 start
0 WorkThread   - 0x106786ae0 start
0 WorkThread   - 0x107880ae0 start
0 WorkThread   - 0x107903ae0 start
0 WorkThread   - 0x107986ae0 start
0 WorkThread   - 0x107a09ae0 start
0 WorkThread   - 0x107a8cae0 start
0 WorkThread   - 0x107b0fae0 start
0 WorkThread   - 0x107b92ae0 start
0 CLI          - Rd ping
0 CLI          - Wr 200 19 PONG 1349724375 1.0
0 CLI          - Rd ping
0 CLI          - Wr 200 19 PONG 1349724378 1.0

Am I missing something?

-Hugues

distcheck fails against Varnish 6.4

v1.0.2, both master & 6.3 branches.

**   top  === varnishtest "Test digest vmod out of workspace"
*    top  VTEST Test digest vmod out of workspace
**   top  === server s1 { } -start
**   s1   Starting server
**** s1   macro def s1_addr=127.0.0.1
**** s1   macro def s1_port=41415
**** s1   macro def s1_sock=127.0.0.1 41415
*    s1   Listen on 127.0.0.1 41415
**   top  === varnish v1 -arg "-p workspace_client=9k" -vcl+backend {
**   s1   Started on 127.0.0.1 41415 (1 iterations)
**** dT   0.003
**   v1   Launch
***  v1   CMD: cd ${pwd} && exec varnishd  -d -n /tmp/vtc.680297.1ba7e879/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -a '127.0.0.1:0' -M '127.0.0.1 42579' -P /tmp/vtc.680297.1ba7e879/v1/varnishd.pid  -p workspace_client=9k
***  v1   CMD: cd <VMOD DIR>/src && exec varnishd  -d -n /tmp/vtc.680297.1ba7e879/v1 -l 2m -p auto_restart=off -p syslog_cli_traffic=off -p sigsegv_handler=on -p thread_pool_min=10 -p debug=+vtc_mode -p vsl_mask=+Debug -a '127.0.0.1:0' -M '127.0.0.1 42579' -P /tmp/vtc.680297.1ba7e879/v1/varnishd.pid  -p workspace_client=9k
***  v1   PID: 680303
**** v1   macro def v1_pid=680303
**** v1   macro def v1_name=/tmp/vtc.680297.1ba7e879/v1
**** dT   0.010
***  v1   debug|Debug: Version: varnish-6.4.0 revision 13f137934ec1cf14af66baf7896311115ee35598
***  v1   debug|Debug: Platform: Linux,5.4.0-28-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit
***  v1   debug|200 317     
***  v1   debug|-----------------------------
***  v1   debug|Varnish Cache CLI 1.0
***  v1   debug|-----------------------------
***  v1   debug|Linux,5.4.0-28-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit
***  v1   debug|varnish-6.4.0 revision 13f137934ec1cf14af66baf7896311115ee35598
***  v1   debug|
***  v1   debug|Type 'help' for command list.
***  v1   debug|Type 'quit' to close CLI session.
***  v1   debug|Type 'start' to launch worker process.
***  v1   debug|
**** dT   0.109
**** v1   CLIPOLL 1 0x1 0x0
***  v1   CLI connection fd = 7
**** dT   0.110
***  v1   CLI RX  107
**** v1   CLI RX|kyaachywehmvrbdjdomfppgkwbmhbdot
**** v1   CLI RX|
**** v1   CLI RX|Authentication required.
**** v1   CLI TX|auth 872a5869837b2888273e00245b71d3f237b40dfe1a0ab60cc5cd279bb39a8878
**** dT   0.111
***  v1   CLI RX  200
**** v1   CLI RX|-----------------------------
**** v1   CLI RX|Varnish Cache CLI 1.0
**** v1   CLI RX|-----------------------------
**** v1   CLI RX|Linux,5.4.0-28-generic,x86_64,-jnone,-sdefault,-sdefault,-hcritbit
**** v1   CLI RX|varnish-6.4.0 revision 13f137934ec1cf14af66baf7896311115ee35598
**** v1   CLI RX|
**** v1   CLI RX|Type 'help' for command list.
**** v1   CLI RX|Type 'quit' to close CLI session.
**** v1   CLI RX|Type 'start' to launch worker process.
**** v1   CLI TX|vcl.inline vcl1 << %XJEIFLH|)Xspa8P
**** v1   CLI TX|vcl 4.1;
**** v1   CLI TX|backend s1 { .host = "127.0.0.1"; .port = "41415"; }
**** v1   CLI TX|
**** v1   CLI TX|
**** v1   CLI TX|\timport digest from "<VMOD DIR>/src/.libs/libvmod_digest.so";
**** v1   CLI TX|\timport vtc;
**** v1   CLI TX|
**** v1   CLI TX|\tsub vcl_recv {
**** v1   CLI TX|\t\tvtc.workspace_alloc(client, -5);
**** v1   CLI TX|\t\tif (req.url == "/hmac_sha256") {
**** v1   CLI TX|\t\t\tset req.http.hmac_sha256 = digest.hmac_sha256("key", "The quick brown fox jumps over the lazy dog");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/hmac_sha1") {
**** v1   CLI TX|\t\t\tset req.http.hmac_sha1 = digest.hmac_sha1("key", "The quick brown fox jumps over the lazy dog");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/hmac_md5") {
**** v1   CLI TX|\t\t\tset req.http.md5 = digest.hmac_md5("key", "The quick brown fox jumps over the lazy dog");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64") {
**** v1   CLI TX|\t\t\tset req.http.base64 = digest.base64("TeSTTeSTTeST");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64_hex") {
**** v1   CLI TX|\t\t\tset req.http.base64_hex = digest.base64_hex("0x54655354");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64_decode") {
**** v1   CLI TX|\t\t\tset req.http.base64_decode = digest.base64_decode("zprOsc67z47PgiDOv8+Bzq/Pg86xz4TOtQ==");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64url") {
**** v1   CLI TX|\t\t\tset req.http.base64url = digest.base64url("Interesting!");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64url_hex") {
**** v1   CLI TX|\t\t\tset req.http.base64url = digest.base64url("496E746572657374696E6721");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/base64url_decode") {
**** v1   CLI TX|\t\t\tset req.http.base64url_decode = digest.base64url_decode("MHg4MDA3MDcxMzQ2M2U3NzQ5YjkwYzJkYzI0OTExZTI3NQ");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/hash_sha1") {
**** v1   CLI TX|\t\t\tset req.http.hash_sha1 = digest.hash_sha1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/hash_md4") {
**** v1   CLI TX|\t\t\tset req.http.hash_md4 = digest.hash_md4("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|
**** v1   CLI TX|\t\tif (req.url == "/hash_whirlpool") {
**** v1   CLI TX|\t\t\tset req.http.hash_whirlpool = digest.hash_whirlpool("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq");
**** v1   CLI TX|\t\t}
**** v1   CLI TX|\t}
**** v1   CLI TX|
**** v1   CLI TX|
**** v1   CLI TX|%XJEIFLH|)Xspa8P
**** dT   0.211
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.259
***  v1   CLI RX  200
**** v1   CLI RX|VCL compiled.
**** v1   CLI TX|vcl.use vcl1
***  v1   CLI RX  200
**   v1   Start
**** v1   CLI TX|start
**** dT   0.261
***  v1   debug|Debug: Child (680317) Started
**** dT   0.285
***  v1   CLI RX  200
***  v1   debug|Info: Child (680317) said Child starts
***  v1   wait-running
**** v1   CLI TX|status
***  v1   CLI RX  200
**** v1   CLI RX|Child in state running
**** v1   CLI TX|debug.listen_address
***  v1   CLI RX  200
**** v1   CLI RX|127.0.0.1 38163
**** v1   CLI TX|debug.xid 999
***  v1   CLI RX  200
**** v1   CLI RX|XID is 999
**** v1   CLI TX|debug.listen_address
***  v1   CLI RX  200
**** v1   CLI RX|127.0.0.1 38163
**   v1   Listen on 127.0.0.1 38163
**** v1   macro def v1_addr=127.0.0.1
**** v1   macro def v1_port=38163
**** v1   macro def v1_sock=127.0.0.1 38163
**** dT   0.312
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.412
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.512
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.612
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.712
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.812
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   0.913
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.013
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.113
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.213
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.313
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.413
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.513
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.613
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.714
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.814
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   1.914
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.014
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.114
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.214
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.315
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.415
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.515
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.615
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.715
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.815
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   2.916
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.016
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.116
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.216
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.316
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.416
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.516
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.617
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.717
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.817
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   3.917
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.017
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.117
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.218
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.318
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.418
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.518
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.618
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.718
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.818
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   4.919
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.019
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.119
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.219
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.319
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.419
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.520
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.620
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.720
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.820
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   5.920
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.020
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.120
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.221
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.321
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.421
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.521
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.621
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.721
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.822
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   6.922
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.022
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.122
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.222
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.322
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.423
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.523
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.623
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.723
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.823
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   7.923
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.023
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.124
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.224
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.324
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.424
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.524
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.624
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.725
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.825
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   8.925
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.025
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.125
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.225
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.325
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.425
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.526
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.626
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.726
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.826
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   9.926
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.026
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.126
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.226
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.327
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.427
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.527
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.627
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.727
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.827
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   10.927
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.028
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.128
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.228
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.328
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.428
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.528
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.629
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.729
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.829
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   11.929
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.029
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.129
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.229
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.330
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.430
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.530
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.630
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.730
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.830
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   12.930
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.030
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.131
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.231
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.331
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.431
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.531
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.631
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.732
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.832
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   13.932
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.032
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.132
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.232
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.333
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.433
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.533
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.633
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.733
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.833
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   14.934
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.034
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.134
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.234
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.334
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.434
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.534
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.635
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.735
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.835
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   15.935
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.035
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.136
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.236
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.336
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.436
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.536
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.636
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.736
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.837
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   16.937
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.037
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.137
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.237
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.337
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.438
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.538
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.638
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.738
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.838
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   17.938
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.038
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.139
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.239
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.339
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.439
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.539
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.639
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.740
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.840
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   18.940
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.040
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.140
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.241
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.341
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.441
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.541
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.641
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.741
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.841
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   19.942
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.042
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.142
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.242
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.342
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.442
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.543
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.643
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.743
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.843
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   20.943
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.043
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.143
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.244
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.344
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.444
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.544
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.644
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.744
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.844
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   21.945
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.045
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.145
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.245
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.345
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.445
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.546
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.646
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.746
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.846
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   22.946
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.046
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.146
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.247
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.347
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.447
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.547
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.647
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.747
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.847
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   23.948
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.048
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.148
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.248
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.348
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.449
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.549
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.649
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.749
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.849
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   24.949
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.049
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.150
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.250
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.350
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.450
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.550
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.650
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.751
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.851
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   25.951
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.051
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.151
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.251
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.352
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.452
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.552
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.652
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.752
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.852
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   26.952
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.053
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.153
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.253
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.353
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.453
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.553
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.653
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.754
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.854
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   27.954
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.054
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.154
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.254
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.354
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.455
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.555
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.655
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.755
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.855
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   28.955
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.055
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.156
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.256
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.356
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.456
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.556
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.656
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.757
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.857
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   29.957
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.057
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.157
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.257
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.358
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.458
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.558
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.658
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.758
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.858
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   30.959
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.059
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.159
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.259
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.359
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.459
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.560
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.660
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.760
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.860
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   31.960
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.060
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.160
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.261
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.361
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.461
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.561
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.661
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.761
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.862
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   32.962
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.062
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.162
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.262
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.362
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.463
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.563
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.663
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.763
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.863
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   33.963
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.063
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.164
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.264
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.364
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.464
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.564
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.664
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.765
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.865
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   34.965
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.065
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.165
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.265
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.365
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.466
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.566
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.666
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.766
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.866
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   35.966
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.067
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.167
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.267
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.367
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.467
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.567
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.668
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.768
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.868
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   36.968
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.068
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.168
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.269
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.369
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.469
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.569
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.669
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.769
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.869
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   37.970
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.070
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.170
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.270
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.370
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.470
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.571
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.671
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.771
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.871
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   38.971
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.071
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.171
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.272
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.372
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.472
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.572
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.672
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.772
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.873
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   39.973
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.073
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.173
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.273
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.373
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.474
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.574
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.674
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.774
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.874
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   40.974
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.074
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.175
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.275
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.375
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.475
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.575
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.675
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.776
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.876
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   41.976
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.076
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.176
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.276
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.377
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.477
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.577
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.677
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.777
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.877
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   42.978
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.078
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.178
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.278
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.378
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.478
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.579
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.679
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.779
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.879
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   43.979
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.079
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.179
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.280
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.380
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.480
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.580
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.680
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.780
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.881
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   44.981
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.081
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.181
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.281
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.381
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.481
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.582
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.682
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.782
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.882
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   45.982
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.082
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.182
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.283
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.383
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.483
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.583
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.683
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.783
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.884
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   46.984
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.084
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.184
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.284
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.384
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.485
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.585
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.685
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.785
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.885
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   47.985
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.085
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.186
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.286
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.386
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.486
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.586
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.686
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.787
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.887
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   48.987
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.087
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.187
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.287
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.388
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.488
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.588
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.688
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.788
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.888
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   49.989
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.089
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.189
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.289
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.389
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.489
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.589
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.690
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.790
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.890
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   50.990
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.090
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.190
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.291
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.391
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.491
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.591
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.691
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.791
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.891
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   51.992
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.092
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.192
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.292
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.392
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.492
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.593
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.693
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.793
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.893
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   52.993
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.093
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.194
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.294
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.394
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.494
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.594
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.694
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.794
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.895
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   53.995
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.095
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.195
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.295
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.395
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.495
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.596
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.696
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.796
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.896
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   54.996
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.096
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.196
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.297
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.397
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.497
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.597
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.697
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.797
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.898
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   55.998
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.098
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.198
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.298
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.398
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.498
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.599
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.699
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.799
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.899
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   56.999
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.099
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.200
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.300
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.400
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.500
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.600
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.700
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.800
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   57.901
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.001
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.101
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.201
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.301
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.401
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.502
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.602
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.702
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.802
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   58.902
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.002
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.102
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.203
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.303
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.403
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.503
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.603
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.704
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.804
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   59.904
***  v1   vsl|No VSL chunk found (child not started ?)
**** dT   60.004
***  v1   vsl|No VSL chunk found (child not started ?)
#    top  TEST ../src/tests/test02.vtc TIMED OUT (kill -9)
#    top  TEST ../src/tests/test02.vtc FAILED (60.061) signal=9

Compile issue on CentOS 7

./autogen.sh runs fine
./configure runs fine
make gives me the following. Sorry I'm sure where to begin troubleshooting this.

[root@ip-xxx-xxx-xxx-xxx libvmod-digest]# make
make  all-recursive
make[1]: Entering directory `/root/libvmod-digest'
Making all in src
make[2]: Entering directory `/root/libvmod-digest/src'
/usr/share/varnish/vmodtool.py ../src/vmod_digest.vcc
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include/varnish -Wall -Wextra   -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Wextra -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c  -fPIC -DPIC -o .libs/vmod_digest.o
vmod_digest.c:95:53: warning: 'enum vcl_event_e' declared inside parameter list [enabled by default]
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                                                     ^
vmod_digest.c:95:53: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
vmod_digest.c:95:65: error: parameter 3 ('e') has incomplete type
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                                                                 ^
vmod_digest.c: In function 'init_function':
vmod_digest.c:100:11: error: 'VCL_EVENT_LOAD' undeclared (first use in this function)
  if (e != VCL_EVENT_LOAD)
           ^
vmod_digest.c:100:11: note: each undeclared identifier is reported only once for each function it appears in
vmod_digest.c:95:65: warning: unused parameter 'e' [-Wunused-parameter]
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                                                                 ^
make[2]: *** [vmod_digest.lo] Error 1
make[2]: Leaving directory `/root/libvmod-digest/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/libvmod-digest'
make: *** [all] Error 2

Digest crashes with md5

When I use digest.hash_md5 with any value Varnish crashes:

(gdb) bt
#0 0x0000000801caa5d7 in strlen () from /lib/libc.so.7
#1 0x0000000000440f0f in VRT_StringList (

d=0x8083ce3e8 '0' <repeats 33 times>, "`??\t\bɵ(d\001Expect:", dl=63616, 
p=0x800 <Error reading address 0x800: Bad address>, ap=0x7fffedb5a390)
at cache_vrt.c:151

#2 0x00000000004410a9 in VRT_String (ws=0x8083cd080,

h=0x807502c56 "X-WURFL-Device:", p=0x8083ce3b0 '0' <repeats 32 times>, 
ap=0x7fffedb5a390) at cache_vrt.c:186

#3 0x0000000000441431 in VRT_SetHdr (sp=0x8083cd008, where=HDR_REQ,

hdr=0x807502c55 "\017X-WURFL-Device:", 
p=0x8083ce3b0 '0' <repeats 32 times>) at cache_vrt.c:230

#4 0x0000000807502338 in ?? ()
#5 0x00000008083cd398 in ?? ()
#6 0x000000000068272e in H_Expect ()
#7 0x0000000000000800 in ?? ()
#8 0x00007fffedb5a4d0 in ?? ()
#9 0x0000000802008400 in ?? ()
#10 0x000000000043faf7 in VCL_recv_method (sp=0x0) at vcl_returns.h:23

Previous frame inner to this frame (corrupt stack?)
(gdb) quit

My setup:

  • the latest digest vmod from github (I pulled it today)
  • varnish 3.0.3
  • FreeBSD/amd64 9.1-RC1
  • also using wurfl vmod by Scienta Mobile which I am testing
  • digest.sha1 works fine. No crash.

Building with varnish 4.0.3

Evening,

Struggling to get this to build with Varnish 4.0. The 3.0 and 4.0 branch complains my varnish source is invalid like they are both only 3.0 compatible?

The master branch gets further and when it makes it yields this error:

make all-recursive
make[1]: Entering directory trunk/libvmod-digest' Making all in src make[2]: Entering directorytrunk/libvmod-digest/src'
/bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Wextra -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Wextra -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c -fPIC -DPIC -o .libs/vmod_digest.o
vmod_digest.c:91: warning: ‘enum vcl_event_e’ declared inside parameter list
vmod_digest.c:91: error: parameter 3 (‘e’) has incomplete type
vmod_digest.c: In function ‘init_function’:
vmod_digest.c:96: error: ‘VCL_EVENT_LOAD’ undeclared (first use in this function)
vmod_digest.c:96: error: (Each undeclared identifier is reported only once
vmod_digest.c:96: error: for each function it appears in.)
vmod_digest.c:91: warning: unused parameter ‘e’
vmod_digest.c: In function ‘vmod_hmac_generic’:
vmod_digest.c:284: warning: comparison between signed and unsigned integer expressions
vmod_digest.c:287: warning: comparison between signed and unsigned integer expressions
vmod_digest.c: In function ‘vmod_hash_generic’:
vmod_digest.c:355: warning: comparison between signed and unsigned integer expressions
make[2]: *** [vmod_digest.lo] Error 1
make[2]: Leaving directory trunk/libvmod-digest/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directorytrunk/libvmod-digest'
make: *** [all] Error 2

Is master 4.1 only?

How to install?

I'm trying to follow http://redcrackle.com/blog/how-install-varnish-module-ubuntu-1204 instruction.

I installed varnishd source from github into ../varnish-cache
and ran ./configure VARNISHSRC=../varnish-cache VMODDIR=/usr/lib/x86_64-linux-gnu/varnish/vmods/

I get error (journalctl -xe)
it shows varnished version is 3.1 although I see

$ varnishd -V
varnishd (varnish-5.1.2 revision 6ece695)
 6월 13 12:45:43 devserver-MS-7758 varnishd[4875]: CLI telnet 127.0.0.1 40264 127.0.0.1 6082 Rd ping
 6월 13 12:45:43 devserver-MS-7758 varnishd[4875]: CLI telnet 127.0.0.1 40264 127.0.0.1 6082 Wr 200 PONG 1497325543 1.0
 6월 13 12:45:43 devserver-MS-7758 varnishd[4875]: CLI telnet 127.0.0.1 40264 127.0.0.1 6082 Rd vcl.load 59f1a456-f067-49a4-9391-340e2301a54a /etc/varnish/default.vcl
 6월 13 12:45:43 devserver-MS-7758 varnishd[4875]: CLI telnet 127.0.0.1 40264 127.0.0.1 6082 Wr 106 Message from VCC-compiler:
                                                    Incompatible VMOD digest
                                                            File name: /usr/lib/x86_64-linux-gnu/varnish/vmods/libvmod_digest.so
                                                            VMOD version 6.0
                                                            varnishd version 3.1
                                                    ('/etc/varnish/default.vcl' Line 3 Pos 8)
                                                    import digest;
                                                    -------######-

                                                    Running VCC-compiler failed, exited with 2
                                                    VCL compilation failed
 6월 13 12:45:43 devserver-MS-7758 reload-vcl[8735]: Command failed with error code 106

WS_ReserveAll Error

When trying to make on Ubuntu 20.04 / Debian Buster (4.19.208-1):

libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Wextra -Werror -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c -fPIC -DPIC -o .libs/vmod_digest.o vmod_digest.c: In function 'vmod_base64_generic': vmod_digest.c:351:6: error: implicit declaration of function 'WS_ReserveAll'; did you mean 'WS_Reserve'? [-Werror=implicit-function-declaration] 351 | u = WS_ReserveAll(ctx->ws); | ^~~~~~~~~~~

Cannot compile for Varnish 6.4 (or any other version)

I feel like I'm missing a last step.
The build goes through, but Varnish wouldn't start up complaining about a version mismatch:
image

For context, I'm using the official varnish docker image, specifically 6.4:
image

My goal is simply to add this VMOD to it, as I need to parse JWT tokens.

To do so, I've set the following up:
image
Note that I'm checking out "2b7f74b8897765372f2c7d7c760229bd8740fea2" of this repo, because the latest commit which replaces the WS_Reserve() call to WS_ReserveAll() fails the build.

This builds fine, but when I try to start varnish, I get the above error:

ABI mismatch, expected <Varnish 6.4.0 13f137934ec1cf14af66baf7896311115ee35598>, got <���@>

Any help would be much appreciated.
I feel like I'm really close to getting this to work. :)

Build errors (mhash redefinitions)

When building the master branch with gcc 4.8.3 on CentOS 7.1 with Varnish 4.0.3, I get the following errors:

In file included from vmod_digest.c:50:0:
../config.h:51:0: error: "PACKAGE" redefined [-Werror]
 #define PACKAGE "libvmod-digest"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:186:0: note: this is the location of the previous definition
 #define PACKAGE "mhash"
 ^
In file included from vmod_digest.c:50:0:
../config.h:54:0: error: "PACKAGE_BUGREPORT" redefined [-Werror]
 #define PACKAGE_BUGREPORT ""
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:189:0: note: this is the location of the previous definition
 #define PACKAGE_BUGREPORT "[email protected]"
 ^
In file included from vmod_digest.c:50:0:
../config.h:57:0: error: "PACKAGE_NAME" redefined [-Werror]
 #define PACKAGE_NAME "libvmod-digest"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:192:0: note: this is the location of the previous definition
 #define PACKAGE_NAME "MHASH"
 ^
In file included from vmod_digest.c:50:0:
../config.h:60:0: error: "PACKAGE_STRING" redefined [-Werror]
 #define PACKAGE_STRING "libvmod-digest trunk"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:195:0: note: this is the location of the previous definition
 #define PACKAGE_STRING "MHASH 0.9.9"
 ^
In file included from vmod_digest.c:50:0:
../config.h:63:0: error: "PACKAGE_TARNAME" redefined [-Werror]
 #define PACKAGE_TARNAME "libvmod-digest"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:198:0: note: this is the location of the previous definition
 #define PACKAGE_TARNAME "mhash"
 ^
In file included from vmod_digest.c:50:0:
../config.h:69:0: error: "PACKAGE_VERSION" redefined [-Werror]
 #define PACKAGE_VERSION "trunk"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:201:0: note: this is the location of the previous definition
 #define PACKAGE_VERSION "0.9.9"
 ^
In file included from vmod_digest.c:50:0:
../config.h:97:0: error: "VERSION" redefined [-Werror]
 #define VERSION "trunk"
 ^
In file included from /usr/include/mutils/mhash.h:30:0,
                 from /usr/include/mhash.h:10,
                 from vmod_digest.c:42:
/usr/local/include/mutils/mhash_config.h:213:0: note: this is the location of the previous definition
 #define VERSION "0.9.9"
 ^

I had no problem building with Varnish 4.0.2/CentOS 7.0 a few months ago...
Tried to un/re-install mhash + mhash-devel with no effect.

Compile issue against Varnish 4.0.3

Hi there,

I tried to compile against varnish 4.0.3 (which is more stable in my view than 4.1), but I got an issue:

cdn@da-pm01:~/libvmod-digest$ make
make  all-recursive
make[1]: Entering directory `/home/cdn/libvmod-digest'
Making all in src
make[2]: Entering directory `/home/cdn/libvmod-digest/src'
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -I/usr/include/varnish -Wall -Wextra   -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/include/varnish -Wall -Wextra -g -O2 -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c  -fPIC -DPIC -o .libs/vmod_digest.o
vmod_digest.c:91:53: warning: 'enum vcl_event_e' declared inside parameter list [enabled by default]
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                                                     ^
vmod_digest.c:91:53: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
vmod_digest.c:91:65: error: parameter 3 ('e') has incomplete type
 init_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e e)
                                                                 ^

Could you please check it?

KR
Tamás

VCL compilation fails with current varnish (6.2.0)

Hi,

I'm currently having issues starting varnish with the digest module. import digest; causes the following error during VCL compilation:

Error:
Message from VCC-compiler:
Could not load VMOD digest
	File name: /usr/lib/varnish/vmods/libvmod_digest.so
	dlerror: /usr/lib/varnish/vmods/libvmod_digest.so: undefined symbol: vmod_init_function
('/etc/varnish/default.vcl' Line 16 Pos 8)
import digest;
-------######-

Running VCC-compiler failed, exited with 2
VCL compilation failed

I'm using a self-compiled varnish at version 6.2.0 and the master branch of libvmod-digest on Debian. I noticed this issue about a month ago with Varnish 6.1.1, though.

Unknown types in file included from vmod_digest

It seems that in the latest commit c42b9fa62a4fba2d861d87b9699d9f591198249c some change was made that is incompatible with Varnish v. 5.2.1.

When I run the make install command on this latest version, I get the following error:
In file included from vmod_digest.c:53:0:\nvcc_if.h:12:1: error: unknown type name 'vmod_event_f'\n vmod_event_f event_function;\n ^\nvcc_if.h:14:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha256(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:14:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha256(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:14:50: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha256(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:15:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha1(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:15:36: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha1(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:15:48: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_sha1(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:16:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_md5(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:16:35: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_md5(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:16:47: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hmac_md5(VRT_CTX, VCL_STRING, VCL_STRING);\n ^\nvcc_if.h:17:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:17:33: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:18:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:18:37: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:19:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:19:40: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:20:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:20:36: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:21:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:21:40: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:22:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:22:43: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:23:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:23:42: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:24:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:24:46: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad_hex(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:25:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:25:49: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_base64url_nopad_decode(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:26:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha1(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:26:36: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha1(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:27:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha224(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:27:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha224(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:28:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha256(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:28:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha256(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:29:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha384(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:29:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha384(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:30:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha512(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:30:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_sha512(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:31:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_gost(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:31:36: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_gost(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:32:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md2(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:32:35: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md2(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:33:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md4(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:33:35: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md4(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:34:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md5(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:34:35: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_md5(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:35:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_crc32(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:35:37: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_crc32(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:36:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_crc32b(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:36:38: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_crc32b(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:37:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_adler32(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:37:39: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_adler32(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:38:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval128(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:38:40: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval128(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:39:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval160(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:39:40: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval160(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:40:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval192(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:40:40: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval192(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:41:1: error: unknown type name 'VCL_STRING'\n VCL_STRING vmod_hash_haval224(VRT_CTX, VCL_STRING);\n ^\nvcc_if.h:41:40: error: unknown type name 'VCL_STRING'\n

But, when I run it on the previous sha 4ca2b4713c57d5fe2c5525862e3dbeb02ae8d748 it works successfully.

centos 6.4 compile error due to dependency

I'd like to use this vmod but am not familiar with compiling c code.
"./configure" fails with this error

checking for mhash_count in -lmhash... no
configure: error: libvmod-digest requires libmhash.

i have the libmhash rpm and the .so files in my system, do I just need to "link" to the libmhash or copy them to certain dir and re-run configure?.

mhash-0.9.9.9-3.el6.x86_64
-rwxr-xr-x 1 root root 180808 Jul  8  2010 /usr/lib64/libmhash.so.2.0.1

build fails with Varnish 5.2/master, @ '# error "include vrt.h before vcl.h"'

with

	/usr/local/varnish/sbin/varnishd -V
		varnishd (varnish-trunk revision 9e5dfacd0)
		Copyright (c) 2006 Verdens Gang AS
		Copyright (c) 2006-2015 Varnish Software AS

building varnish5-libvmod-digest

	git log | head
		commit 09978549a8abb07d84e0492621580f3209378dc3
		Author: Piotr Czapla <[email protected]>
		Date:   Sat Feb 18 13:51:57 2017 +0100

fails

	./autogen.sh
	./configure ...
	make V=1
		make  all-recursive
			make[1]: Entering directory '/usr/local/src/varnish5-libvmod-digest'
			Making all in src
			make[2]: Entering directory '/usr/local/src/varnish5-libvmod-digest/src'
			/bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc-7 -DHAVE_CONFIG_H -I. -I..  -I/usr/local/varnish/include/varnish -Wall -Wextra -Werror -I/usr/local/include  -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c -o vmod_digest.lo vmod_digest.c
			libtool: compile:  /usr/bin/gcc-7 -DHAVE_CONFIG_H -I. -I.. -I/usr/local/varnish/include/varnish -Wall -Wextra -Werror -I/usr/local/include -O3 -Wall -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 -grecord-gcc-switches -march=native -mtune=native -MT vmod_digest.lo -MD -MP -MF .deps/vmod_digest.Tpo -c vmod_digest.c  -fPIC -DPIC -o .libs/vmod_digest.o
			In file included from vmod_digest.c:54:0:
			/usr/local/varnish/include/varnish/vcl.h:14:4: error: #error "include vrt.h before vcl.h"
			 #  error "include vrt.h before vcl.h"
			    ^~~~~
			/usr/local/varnish/include/varnish/vcl.h:69:2: error: unknown type name ‘vcl_event_f’
			  vcl_event_f   *event_vcl;
			  ^~~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:70:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *recv_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:71:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *pipe_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:72:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *pass_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:73:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *hash_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:74:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *purge_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:75:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *miss_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:76:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *hit_func;
			  ^~~~~~~~~~
			/usr/local/varnish/include/varnish/vcl.h:77:2: error: unknown type name ‘vcl_func_f’
			  vcl_func_f *deliver_func;
			  ^~~~~~~~~~
			...

New release (for varnish 6.2+) anytime soon?

Hi,

First, we've been using this module in our production setup and it works really well. Thank you for such a nice module.

We're currently using varnish 6.1.1 and I thought maybe it's time to upgrade, but then I found that the latest release (1.0.2) wouldn't work with varnish 6.2 and above. It looks like the issue is already fixed in master branch - so is there any plan to create a new release? 😄

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.