May 24th, 2012· httest: New SSL command to set cipher suite.
· httest: Expect/match/grep SSL handshake messages.
· Changes with httest 2.2.1
· httest: New XPath command to query parts of the HTML document.
· httest: New variable scope GLOBAL. This variable are shared among all
· threads.
April 19th, 2012· httest: New XPath command to query parts of the HTML document.
· httest: New variable scope GLOBAL. This variable are shared among all threads.
April 17th, 2012· httest: Javascript BLOCK support
· httest: Improve formatings on output
· httest: Bugfix non working _SEQUENCE command and add a test for verify even the bad case
· httest: Add _ASSERT "" command for arithmetical assertions, cleaner and better readable than _IF ... _ELSE ... _END constructs.
April 6th, 2012· httest: Bugfix possible coredumps at temp file clean up and _EXEC.
February 27th, 2012· httest: Read trailing headers after chunked body.
· httest: Support for variable definition in command line. You can now call httest -Dyour=var or in long from httest --define your=var of course this is possible multiple time.
· httest: Started with a simple httest debuger. Can set breakpoint with _DBG:BP. On breakpoint a simple command line interpreter helps you investigate your test. There is "cont" to continue test, "quit" for quit test, "list" to geht list around breakpoint, "set =" to set a variable and a "get " to get the value of a variable even environment variables.
February 27th, 2012· httest: Use a generic tokenize to argv for most commands. Quoted tokens are threaded as one parameter.
· httest: Improve _LOOP with an invariant.
· httest: PATH directiv to define paths for INCLUDE of relative include files.
· httest: More safestack fixes for openssl stuff.
February 17th, 2012· httest: Add more functions for openssl x509 and dh stuff to Lua interface.
· httest: Bugfix variable substitution. With this bugfix you can emulate array and/or hash variables i.e. $my_array$i or $my_hash$entry. The substitution will resolve $i and $entry first which results in a new variable i.e $my_array0.
· httest: Bugfix safestack internals which leads to compile problems with openssl.
February 3rd, 2012· httest: Fixed _SSL:RENEG_CERT Again. Without "verify" option _SSL:RENEG_CERT get certificate but still verified it. Now it is possible to get a wrong client cert. It only do fail if there is no client certificate. You can inspect the received client cert with _SSL:GET_CERT_VALUE.
· htntlm: Fixed scannf call for 64 bit machines. On 64 bit machines uint64_t is no longer %llx but %lx
February 3rd, 2012· httest: Fixed _SSL:RENEG_CERT Bug. Without "verify" option _SSL:RENEG_CERT did not get certificate with its handshake and that was not the idea.
· packages: Nicolas Perrenoud will put httest into gentoos overlay system and corrected the ebuild for httest.
February 3rd, 2012· httest: Enhance Lua interface with coder functions like sha1 md5 base64.
· httest: Simple websocket support based on version 13. Testet against Chrome Browser with websocket version 8 and ws://echo.websocket.org.
February 3rd, 2012· httest: Enhance Lua interface with transport functions.
· configure: Solve sed problem with some unix derivates.
· httest: Fixed problems with the _ERROR body and failed SSL connections in there.
February 3rd, 2012· httest: Did not work without Lua is fixed.
· httest: Fixed shell problems with configure script. Hope this works now, could not reproduce the problem of missing -lm.
February 3rd, 2012· httest: Extend command _RES with a special parameter INGORE_MONITORS, which do activly ignore peeking connections without any data.
February 3rd, 2012· httest: Add setter/getter for log level. Old command still available.
· httest: Refactoring code and remove duplicated functions in worker.c and
· tcp_module.c.
· httest: Add define for openssl libraries without SSLv2 support, thanks to
· Eva Ramon for reporting this issue.
· httest: Add version command.
· httest: Embed an experimental httest interpreter into Lua.
February 3rd, 2012· configure: Correct --with-lua5.1 option.
February 3rd, 2012· plugins: Add embedded Lua syntax support.
· httest: Added experimental Lua module, for full Lua power in httest. This
· needs liblua5.1 and its development header files.
· plugins: Maintained the vim plugin and added all new commands.
· httest: Simplyfied syntax of _LOOP, _IF, _RPS, _BPS and all other local
· bodies. New you can close a local body with "_END" instead of
· "_END IF", "_END LOOP", ...
February 3rd, 2012· httest: Bugfix segfault on solaris.
· httest: Changed inline commands, they must start with $ and not @ and must have round braces with zero or more space separated arguments.
October 5th, 2011· Serious fix: Fixed include problem, wrong recursive include detection.
October 4th, 2011· Serious fix: Local variable scrambles line.
October 4th, 2011· Write an error if SERVER could not bind or listen.
May 30th, 2011· Removed compile warnings
· Automatic 100 continue support for requests.
· Ssl connect and accept command which can be run on a TCP connection. With this command even POP3 with TLS is possible either for server or client. The test pop3_tls.htt demonstrates the useage of this new commands.
· A global lock for synchronize CLIENT SERVER script parts.
· A global lock for synchronize CLIENT SERVER script parts.
· Add httest version
May 30th, 2011· Changed the - debug option for script debugging and add a
· debug-system for logging more system details.
· Bugfix coredump if using _SOCKET before any _RES or _REQ.
· Add a test for piplining requests.
· Use the new style safestack from openssl instead of the old
· stack. Compiles and works now also under openssl 1.0.0.
· Marked command _PEER_VERIFY as depreciated. Use "_RENEG verify"
· instead. This command will be removed in the next minor release.
· Syntax, structure and commands are documented.
April 26th, 2011· httest: Serious fix: _IF "" NOT EQUAL still not work.
· httest: Add local variable support with command _LOCAL +
· httest: Command list is now sorted, makes it easier to get an overview.
· httest: Improved the vim colour coding plugin.
· httest: Tabs before local commands are also allowed.
· httest: Serious fix: _EXEC echo "foo('bar')" do not work anymore.
April 26th, 2011· httest: Simplyfied the pool usage and more fixes to make it stable.
April 26th, 2011· httest: Serious fix: _IF "" NOT EQUAL "" is not equal
· the if condition do not execute its execute its body. This can lead to
· tests which should fail but do not.
· ) httest: Fixed memory consumption while reading files or piped _EXEC.
April 26th, 2011· httest: Fixed _IGNORE_BODY did not complain if not on or off. If wrong
· written default is "off". If set to "on " _IGNORE_BODY command do not
· turn this feature on because of the space after "on".
· ) httest: Fixed big chunked Data do consume much more memory than the size
· of the received data. This could lead into a out of memory situation.
· ) httest: SSL do log more infos on SSL handshake error.
· ) httest: SSL_OP_NO_TICKET is available in openssl 0.9.8f did add a compile
· check to avoid compile errors with older openssl versions.
April 26th, 2011· ) httest: Fixed sSL bugfixes and refactoring.
· ) httest: Fixed uninitialized variable in command _CHECK do cause false
· positive failures.
· ) httest: Fixed bug session reuse do work now. With older openssl the
· session id was empty.
· ) httest: New _IGNORE_BODY command.
April 26th, 2011· httest: New _READLINE and _RECV can turn off check match/expects. This
· check can be done with a separated command _CHECK.
· ) macros: New simple POP3 implementation.
· ) httest: Fixed bugfix icap encapsulated reader.
April 26th, 2011· httest: New syntax improvements for better DSL ability
· ) httest: New automatic cookie handling
· ) httest: New local variables useful for BLOCK
· ) httest: New bLOCK signatur with parameter and return values
· ) httest: New add missing _ELSE for _IF command
· ) httest: New add command _ERROR ... _END ERROR to define an error
· which must occure with in this body.
· ) macros: New simple get and post request for Application testing
· ) macros: New simple SMTP implementation
April 26th, 2011· httest: New _RESWAIT combines the _RES and _WAIT command ignoring TCP
· connections not sending any data.
April 26th, 2011· ) httest: New _PROCESS command to run a part of the script with in a
· separated process and wait with _PROC_WAIT for its termination. Only
· available on unix systems.
· ) httest: New global command PROCESS to run the same script in multiple
· processes, maybe usefull for performance testing. Only available on unix
· systems.
· ) httest: New automatic length information support for ICAP Encapsulated
· header
April 26th, 2011· httest: New openssl engine support to use crypto devices.
· ) httest: New _MATCH do also have "." as namespace, like _EXPECT.
· ) httest: New _EXPECT do also have "Headers" and "Body" as namespace, like
· _MATCH.
· ) httest: New _GREP works like _MATCH but do not fail if no match.
· ) httest: New global command AUTO_CLOSE to handle automatical Connection
· header value "close".
· ) httest: New _AUTO_CLOSE same as global command AUTO_CLOSE.
· ) httest: New _SSL_CERT_VAL getting values from a cert.
June 14th, 2010· New httest: _REQ/SERVER command supports IPV6 (address surrounded in square brackets).
· Fixed htproxy: does not record data any more.
· Fixed httest: Help text typo.
June 14th, 2010· Fixed httest: Coredump on receiving negative content length header
· Changes httest: Supports OpenSSL 0.9.8m Legacy TLS renegotiation is still enabled.
February 17th, 2010· Fixed httest: _IF condtions with GT/LT/EQ did ignore sign, i.e. -100 > 4
February 17th, 2010· New httest: _RPS request per second loop implemented
February 17th, 2010· Changed httest: Deal with new openssel 0.9.8l which do remove renegotiation because of a security hole (man in the middle attack). Httest should be still able doing renegotiation, it is a test tool.
October 30th, 2009· Changed httest: Only ON_ERROR is noisy, FINALLY block is silent
· Improved httest: System variable __LOG_LEVEL, can be used to make FINALLY block noisy if needed
October 30th, 2009· Fixed httest: Multithreaded client/server test terminate before all work is done, cause they are all started detached and uncontrolled
October 30th, 2009· Improved httest: Help text
· Changed httest: Block FINALLY and ON_ERROR are noisy again
· Improved httest: __STATUS system variable also available in ON_ERROR block
· Improved httest: __THREAD system variable for FINALLY and ON_ERROR block
· New httest: With ON_ERROR block error handling is hand over to user
· Changed httest: Removed depreciated command _IGNORE_ERRORS
October 30th, 2009· Fixed httest: Coredump while print debug info on _EXEC process termination
October 30th, 2009· Fixed httest: Do not url encode "+"
· Improved httest: if read huge lines, httest will grow exponentaly in memory
· Fixed httest: Socket eof reader do hold only the last 8KB
· Improved httest: Read _EXEC output in one peace instead line by line
· Fixed httest: Reading/writing file from/to pipe do not work properly
· Fixed httest: Data need to be null terminated for regex even binary data
· Improved httest: Base64 encoding/decoding support
October 30th, 2009· Fixed htntlm: Do not work on big endian machine
· Fixed httest: _URLENC do not understand x
· Fixed htntlm: No session-key and flags set in type 3 message
· Improved htntlm: Read given base64 message first before setting options
October 30th, 2009· Improved httest: Show command specific help
· Fixed htntlm: Windows do not understand LLU
· Fixed htntlm: Challenge hexd string used without translate to binary
· Fixed htntlm: incorrect LM2 and NTLM2 hash calculation
· New htntlm: NTLM2 signing and sealing scheme
October 30th, 2009· Fixed httest: If expects/matchs rules exist network error not visible
· Fixed htntlm: Add missed unicode support (very basic)
· Improved htntlm: Add lm2 and ntlm2 support
· Improved httest: Listener can be bound on a IP, scope id and port
· Fixed httest: Did not validate match and expect scope "VAR"
· Improved httest: Add command _URLDEC to decode encoded urls
August 10th, 2009· New htntlm: Can read/write NTLM messages
· Fixed htproxy: Crash on windows if read configuration file
· Fixed hturlext: Crash if called with no arguments
July 28th, 2009· Fixed httest: _BPS help text is incomplete
· Fixed httest: _BPS loops for ever if high bandwidth is defined
· Fixed httest: _EXEC suppress last char if not terminated with a
· Improved hturlext: Add a filter to exclude tags and/or attributes
· Improved httest: Improved usage and version text and add long options
· Improved htproxy: Improved usage and version text and add long options
· Improved htremote: Improved usage and version text and add long options
· Improved Add man pages for all binaries
July 9th, 2009· Fixed httest: Deadlock situation seen under window
July 9th, 2009· Fixed httest: _OP command did a wrong type cast
July 9th, 2009· Fixed httest: Client connect before server listener is up
· Fixed httest: Temp file leakage on failure
· New httest: _MATCH scope to match variables directly
· Fixed httest: Incorrect formated error output
· Improved httest: _EXEC| and _EXEC< also work for _READLINE and _RECV
· New htproxy: Setup with a configuration file
June 22nd, 2009· httest: If download huge files, httest will grow exponentaly in memory fixed
· httest: New command to print duration time [ms]
· httest: New system variables: __STATUS and __START_TIME
· httest: Do for each command implemented
· httest: Improved _IF command, can handle now [NOT]MATCH|EQ|LT|GT|LE|GE
· htpcap: Removed
June 22nd, 2009· httest: _BREAK to interrupt a loop
· httest: Extend _RECV with "Chunked" and "Close"
· httest: _PRINT_HEX command to print and match hex output
· httest: Write to file with a loop to be sure we realy write the hole buf
· httest: BLOCK / _CALL can handle arguments
· httest: Bugfixed _SOCKSTATE command, handle no peeklen correctly
· httest: Do handle Connection: close header incorrect on server side
· httest: Bugfix possible division by zero in the _BPS command
· httest: Bugfix the strftime command for windows
· Windows combatibilty patches for httest, htproxy, htremote and htpcap
June 22nd, 2009· httest: _RENEG command do not work, nor does _VERIFY_PEER work correctly
· htproxy: Do not compile on solaris
· htpcap: Do not compile on solaris
June 22nd, 2009· httest: Improved release build script
· httest: Add _READLINE command to read a line terminated with
· or
· httest: Add _RENEG command. Performs an SSL renegotiation.
· httest: Add _TUNNEL command. Build up a tunnel to another server.
· htproxy: Add _EXPECT before last _WAIT works now in all cases
· htremote: Control interactiv shell commands over TCP/IP for testing purpose
June 22nd, 2009· httest: Improved testsuite, more checks for release build
· httest: Bugfix all client/server called the finally block
· httest: Reformat the output of httest -L
June 22nd, 2009· httest: Bugfix command _WAIT
· httest: Add command to spawn a socket reader over a set of _WAIT/_RECV
June 22nd, 2009· httest: _STRFTIME can choose between Local and GMT
June 22nd, 2009· httest: Bugfix, use local time for STRFTIME
June 22nd, 2009· httest: Embedded file implementation
· httest: Add new expect scope exec to expect patterns from _EXEC stdout
· httest: Add new command _STRFTIME to print a number time formated
· httest: Command _OP operates now with long long instead of int, avoids overflow wiht time calculations
· httest: Overworked the testsuit, do tests more exactly more detailed
June 22nd, 2009· httest: Add check if include headers exist with APR_HAVE_XXX for windows build
· httest: Bugfix cordump in _URLENC
June 22nd, 2009· httest: Add _URLENC command to encode a string for post requests
· httest: Add _EXEC< command to filter a receiving http stream (i.e. deflate)
· httest: Bugfix missing file and line output on error, add a test
June 22nd, 2009· httest: Bugfix bug #2644424 segfault on solaris with the _EXEC command
· httest: Bugfix bug #2645093 _RECV POLL allways end with the incomplete error
June 22nd, 2009· httest: Bugfix body output, do not skip empty lines
June 22nd, 2009· httest: Bugfix missing null termination on file EOF
· httest: Reactivate displaying stdout of EXEC
· httest: Bugfix wrong chars in variables do not fail
June 22nd, 2009· httest: Throws incomplete error if content is incomplete.
· httest: _EXEC did not read last line without a newline
June 22nd, 2009· httest: Embedded shell scripts
· httest: Add new match scope exec to cut from _EXEC stdout
· httest: Bugfix the encapsulated content reader (ICAP)
· httest: Bugfix a problem if no HTTP headers (HTTP/0.9)
June 22nd, 2009· httest: Bugfix _ONLY_PRINTABLE
June 22nd, 2009· htproxy: Initial session only if requested via shell
· htproxy: If SSL tunneling via CONNECT method send back "400 Bad Request"
· httest: Can handle now plain HTML without HTTP headers at all (HTTP/0.9)
· httest: Add command _ONLY_PRINTABLE to replace non printable chars with a space
June 22nd, 2009· httest: Bandwidth restriction command
· httest: Inherit the enviroment variables to commands called through _EXEC
June 22nd, 2009· htproxy: Generate automated httest scripts
· htproxy: Support for automatical MATCH for cookies
· htproxy: Replace host and port with customized variable names
· htproxy: Admin interface over stdin to control the htproxy
· httest: Bugfix error code for _VERIFY_PEER is now EACCES and not EINVAL
· httest: Bugfix problem while reading headers with values containing ":"
June 22nd, 2009· Bugfix data loss while using _SOCKSTATE command
· Bugfix segfault if useing accidentaly the same port for plain and ssl connection
· Marked _IGNORE_ERR as depricated
· Bugfix spaces instead of tabs in the generated ebuild
June 22nd, 2009· Bugfix configure script
· Bugfix critical problem with sending data
June 22nd, 2009· Add --with-apr, --with-apr-util, --with-pcre and with-ssl to configure script to specify alternativ libs
· Add --enable-use-static to force the linker to use archives where ever possible instead of shared libraries
· Add --enable-full-static to build a static binary
June 22nd, 2009· Classical configure && make && install mechanisme added
· Load server certs in SERVER command only if they are there
· Overworked test suit to fit make check and make distcheck
June 22nd, 2009· Suppress start line with OK|FAILED option
· Check if SSL is enabled when calling _CERT
· Check if SSL port is set
June 22nd, 2009· Bugfix gentoo package
June 22nd, 2009· Extend REQ command with a tag to hold multiple connections to same target
· MATCH improved, ERROR added like EXPECT ERROR
· Bugfix error text for negated EXPECT clauses
· Peer certificate verification command _VERIFY_PEER
· Extend _REQ and _CERT to add a CA certificate
June 22nd, 2009· Bugfix line reader to get headers
· Bugfix error trace on failure
· Bugfix possible coredump on startup if server port is missing
June 22nd, 2009· Match/Expect regular expression can now be encolsed with any char, escaping support
· Close listener if server terminates (and all its started servers)
June 22nd, 2009· Match/Expect also supports single quotes to enclose the regular expression
· Match with more than one variable assignment
· _RECV POLL takes now the socket timeout set by _TIMEOUT
June 22nd, 2009· Add a final block called on exit
· Set cert/key for ssl used for example to set a alternativ server cert
June 22nd, 2009· Stability patches
June 22nd, 2009· Add getter method for workers concurrency number
· Add math operations: ADD, SUB, MUL, DIV
· Bugfix warnings appeare under solaris
· Bugfix problem with global EXEC on failure
June 22nd, 2009· Better log out
· Better syntax check
· LOOP statement with a FOREVER value
· Add scripts for distributed script calling
· Add scripts for rampup performance tests
· Bugfix problem with unknown Connection headers
June 22nd, 2009· Receive in polling mode
· Can manage more than one socket per CLIENT/SERVER
· Every command has now variable resolving
· Remove base64 encoding/decoding will do it external (later)
June 22nd, 2009· Overworked the help text
· Enviroment variable support
· Receive an amount of bytes, do not expect headers in this case
· Wait with optional expected bytes length
June 22nd, 2009· Bugfix variable declaration for solaris compiler (gcc has no problem with that)
· Bugfix base64 encode/decode did not work
· DAEMON for supervisor jobs
June 22nd, 2009· base64 encode/decode support
· Sync command to synchronise timeout tests
June 22nd, 2009· BLOCK now thread safe
· Bugfixed problems with the msdos line termination
· Error message now with correct filename
June 22nd, 2009· Set log level with in script
· Load client cert/key in _REQ command
· Removed _SET_CERT/_SET_KEY
· Bugfixed SET command
June 22nd, 2009· Load individual certs and keys for server/client
· Define simple blocks to call them later
· Nested LOOP and IF implemented
June 22nd, 2009· Listen on any host
· Bugfixes uninitalized variables
June 22nd, 2009· Add possibility to store time in ms to a variable
June 22nd, 2009· Fixed the help text again
· Bugfix a segfault in the _IF command
· Bugfix unknown Connection: keep-alive
· Reworked the log modes
June 22nd, 2009· Server _UP/_DOWN feature
· WAIT [] feature
June 22nd, 2009· Bugfix EXPECT ERROR handling
· Fixed stability problems
June 22nd, 2009· Improved EXPECT handling
June 22nd, 2009· ICAP support
June 22nd, 2009· Many fixes around the coredump problematic
· Imporved pool stragtegy and reduce memory usage
June 22nd, 2009· Pipe received data to a shell command line
· A simple _LOOP command
· _IF overworked
June 22nd, 2009· Improved server performance
· Improved error reporting
· Solved broken pipe problem by ignoring SIGPIPE signal
· Add a possibility to ignore all errors within a child or server
· Pipe binary data support
· Add possibility to force an exit and return OK or FAILED
· Improved header allow, add filter possibilty to force for example HTTP/1.0 client
June 22nd, 2009· Get the socket state for reconnect
· Cleaner variable processing
· Server side SSL support
· Segfault on a single 0 chunk fixed
June 22nd, 2009· Refactoring of the global commands
· Simple shell
· Cleaner log output
June 22nd, 2009· Allowed header filter (Client only)
· Pipe _EXEC output into the HTTP stream
· Use variables even in _EXPECT and _MATCH commands
· Send data without a CRLF at the end
June 22nd, 2009· If command
· Shell command execution
June 22nd, 2009· Can act as client and server
· Concurrency
· Looping - do one job many times for performance measurement
· Enhanced variable support
· Check response on defined expects
· Include files
· SSL support (SSL23, SSL3, SSL2, TLS1)
· Autocompletion for Content-Length
· Full chunked encoding data support