After this patchset http-connect works with pproxy [1]:
$ pproxy -l http://:8000/ -vvv &
$ http-connect //127.1:8000 http://kernel.org:80/
[1]: https://pypi.org/project/pproxy/
* http-connect:
http-connect: do not check connection on GET cb
http-connect: set Host header (for CONNECT and GET) (like curl)
http-connect: cleanup and helpers
http: do not close connection for CONNECT
http: do not assume body for CONNECT
Fixes: #946
(cherry picked from commit 462f2e97660cc2b6af563ab631050a83c3e0935b)
argv[1] is currently unconditionally passed as the docroot to
send_document_cb(). This is broken if any optional parameters are
provided, such as -p <port>.
Signed-off-by: David Disseldorp <ddiss@samba.org>
(cherry picked from commit 7d71214e02646a31eede66ad5badf695a2ab2058)
signal_int is uninitialized in the !base error path.
Signed-off-by: David Disseldorp <ddiss@samba.org>
(cherry picked from commit a0276292a5e783c30643992897c7597f0db2cc96)
When connecting to a non-existent HTTPS service, the "req" is not null
but the "evhttp_request_get_response_code(req)" is zero.
Closes: #822 (cherry-picked)
(cherry picked from commit 891dd1880fed8c5e1e98f122daeb1ae8414f6b1c)
* issue-807-accept4-getnameinfo-AF_UNIX:
http-server: add usage/help dialog
http: avoid use of uninitialized value for AF_UNIX/AF_LOCAL sockaddr
http-server: add ability to bind to unix-socket
build: struct sockaddr_un detection (sys/un.h, afunix.h)
Fixes: #807
(cherry picked from commit 76eded24d3b0c3fc48c5a888906cc9043223101b)
Some improvements for http-server sample:
- getopt
- persistent port via -p option
- IOCP for win32 via -I
- disable buffering
- enable debug logging via -v/EVENT_DEBUG_LOGGING_ALL
- cleanup (by signal and separate error path on errors)
* sample-http-server:
s/http-server: graceful cleanup
s/http-server: enable debug logging if EVENT_DEBUG_LOGGING_ALL env isset
s/http-server: turn off buffering (otherwise do output on win32)
s/http-server: add an option to use IOCP
s/http-server: add options (for persistent port)
Refs: #709
(cherry picked from commit 9a4b8ec1b64fab27544f154076261afdf1efac07)
According to evdns.c, the result not freed by libevent after
the callback runs:
evdns_getaddrinfo_gotresolve()
{
...
data->user_cb(0, data->pending_result, data->user_data);
data->pending_result = NULL;
...
}
To reproduce, build with -fsanitize=address, add -g to the getopt
list in dns-example.c like in the current commit and run
dns-example -g google.com
Closes: #681 # cherry-picked
(cherry picked from commit 855f0804305a545da6880850d16809969ce72edd)
LibreSSL 2.7 implements OpenSSL 1.1 API except for BIO_get_init()
See also: https://bugs.freebsd.org/226900
Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
Closes: #617 (cherry-pick)
(cherry picked from commit 28b8075400c70b2d2da2ce07e590c2ec6d11783d)
Before it depends from the caller #include appropriate headers (at least
for OPENSSL_VERSION_NUMBER), but let's make it independent.
Fixes: #574
(cherry picked from commit c2c08e0203da93938fe35234fa3a1be4d1c3c2e1)
if OpenSSL is in a non standard location, need to pass that information
to any sample that needs it
Closes: #550
(cherry picked from commit 0ec5edde503096a81831f36441a4115574ac45f0)
* fix-openssl-linking:
sample/https-client: use ERR_remove_*state() when we have them
Do not check for ERR_remove_thread_state() (do not link ssl into every library)
Closes: #476
(cherry picked from commit 98faf19895bd6aa41c68f7da050179e207f05ae1)
Currently a static (Debian) certificate path is used by default, which
can be overridden using the -crt parameter. This commit changes the
default behaviour such that the openssl default certificate store is
used, unless overridden by -crt.
Signed-off-by: David Disseldorp <ddiss@suse.de>
(cherry picked from commit e139cbac0a277cc4eff58bff345fbbcaf0858903)
==> netbsd: In file included from ../listener.c:57:0:
==> netbsd: ../util-internal.h:58:0: warning: "__func__" redefined [enabled by default]
==> netbsd: #define __func__ EVENT____func__
==> netbsd: ^
==> netbsd: In file included from /usr/include/amd64/types.h:39:0,
==> netbsd: from /usr/include/sys/types.h:45,
==> netbsd: from ../listener.c:30:
==> netbsd: /usr/include/sys/cdefs.h:394:0: note: this is the location of the previous definition
==> netbsd: #define __func__ __PRETTY_FUNCTION__
Like in `sockaddr_in` structure in /usr/include/netinet/in.h
@azat: convert all other users (bench, compat, ..) and tweak message
Fixes: #178Fixes: #196
Refs: 6bf1ca78
Link: https://codereview.appspot.com/156040043/#msg4
Now it included by openssl, but nfter
openssl/openssl@master-post-reformat-1494-g6329b60 it will print warning
(apparently they dropped <string.h> from the generic headers).