Commit Graph

6331 Commits

Author SHA1 Message Date
Mario Emmenlauer
fa770f61e9 Use correct platform executable suffix for thrift compiler
Patch: Mario Emmenlauer

This closes #2139
2020-06-02 13:55:03 +02:00
Anton Filippov
68f2194dfa Fix STRERROR_R_CHAR_P cxx check (remove unused variable warning->error)
Client: cpp
Patch: Anton Filippov

This closes #2081
2020-05-30 15:07:56 +02:00
Nathan Breakwell
36bf0a491e Make named pipe security configurable by security descriptor string
Client: cpp
Patch: Nathan Breakwell

This closes #2083
2020-05-30 14:59:48 +02:00
Jens Geyer
b559359b0b THRIFT-5220 DeepCopy() extension methods not generated when the IDL contains no service
Client: netstd
Patch: Jens Geyer
2020-05-28 21:32:34 +02:00
Jens Geyer
98854c4874 Updated LICENSE file 2020-05-28 21:32:33 +02:00
Jens Geyer
affea7bee4 THRIFT-5216 generate DeepCopy methods
Client: netstd
Patch: Jens Geyer

This closes #2155
2020-05-27 01:32:14 +02:00
Yuxuan 'fishy' Wang
05023e81b2
THRIFT-5214: Connectivity check on go's TSocket
Client: go

Implement connectivity check on go's TSocket and TSSLSocket for
non-Windows systems.

The implementation is inspired by
https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/
2020-05-26 23:31:20 +01:00
Eric Chen
d28f39fbc7 THRIFT-5129: Fix swift TSocketTransport on Mac
Client: Swift
Patch: Eric Chen

This closes #2149
2020-05-26 21:57:13 +02:00
Eric Chen
0198542201 THRIFT-5195: Handle Thrift union type sending for Swift
Client: Swift
Patch: Eric Chen

This closes #2154
2020-05-26 21:52:05 +02:00
zeshuai007
797fe252e0 Supplement TNonblockingServer.py testcase
Client: py
Patch: Zezeng Wang

This closes #2150
2020-05-26 21:46:16 +02:00
James Lacey
e6d7d13c35 THRIFT-5215: Remove portable_endian.h
Client: cpp
Patch: James Lacey

This closes #2152
2020-05-26 21:35:19 +02:00
Jens Geyer
eb8e8437a5 addition to THRIFT-5185: Support for using WebSockets as a server transport
to satisfy https://www.apache.org/legal/src-headers.html#3party
2020-05-22 01:12:24 +02:00
zeshuai007
348790deaf THRIFT-5147: Add uninstall function
Patch: Zezeng Wang

This closes #2066
2020-05-21 12:49:57 +02:00
David Mollitor
528c22f59d THRIFT-5201: Use Apache Parent Pom for Thrift Maven Plugin
Client: Java
Patch: David Mollitor

This closes #2136
2020-05-21 12:34:46 +02:00
rel1ve
dd34c52813 When I use --with-zlib args for cross-compiling, it failed without "$(ZLIB_LDFLAGS)".
build system
Patch: rel1ve <rel1ve@hotmail.com>

This closes #2056
2020-05-21 12:32:27 +02:00
David Mollitor
f8103c69ea THRIFT-5202: TNonblockingMultiFetchClient Use SLF4J Parameterized Logging
Client: java
Patch: David Mollitor

This closes #2137

Use SLF4J API to log full Exception details.  Use SLF4J parameterized logging instead of String format.
2020-05-20 09:26:36 -04:00
Jens Geyer
7de1f5d7f3 Added breaking change notice for "THRIFT-5138 Swift keywords may be used as identifiers if escaped" because it is labelled as such in JIRA 2020-05-20 00:55:10 +02:00
Jano Svitok
4fd001c878 THRIFT-5138 Swift keywords may be used as identifiers if escaped
Client: Swift
Patch: Jano Svitok

This closes #2059
2020-05-20 00:48:35 +02:00
Jano Svitok
a082592d43 THRIFT-5128 Swift TFramedTransport does not work using present code
Client: Swift
Patch: Jano Svitok

This closes #2047
2020-05-20 00:39:49 +02:00
Jano Svitok
1edf32926d THRIFT-5125: Swift server does not work using present code
Client: Swift
Patch: Jano Svitok

This closes #2038
2020-05-20 00:28:58 +02:00
Jens Geyer
506e311c38 FIX: CI error at ./test/py/TestServer.py:178:26: F507 '...' % ... has 1 placeholder(s) but 6 substitution(s)
FIX: CI error at ./test/crossrunner/compat.py:11:21: E741 ambiguous variable name 'l'
Patch: Jens Geyer

This closes #2147
2020-05-19 00:00:29 +02:00
penenin
1ab096c80a
THRIFT-5185: Support for using WebSockets as a server transport
Client: cpp
2020-05-18 20:27:31 +01:00
Jens Geyer
dce229911c THRIFT-5210 further refactoring and performance optimizations
Client: netstd
Patch: Jens Geyer

This closes #2146
2020-05-17 22:34:10 +02:00
Philipp Hausmann
261de348fe THRIFT-5211 Handle incomplete reads correctly
Client: Haskell
Patch: Philipp Hausmann

This closes #2108

The read functions for handles promise to return *up* to the requested
number of bytes. This means in case we read less bytes, we should try
again to read some more bytes.
2020-05-17 14:44:59 +02:00
zeshuai007
53239655b7 THRIFT-3622 Fix deprecated uses of std::auto_ptr
Client: cpp
Patch: zeshuai007 <51382517@qq.com>

This closes #2135
2020-05-15 22:22:48 +02:00
Mario Emmenlauer
ad3e440955 TSocketTransport.cs: Fixed a problem with initializing IPAddress
Client: netstd
Patch: Mario Emmenlauer

This closes #2140
2020-05-15 21:59:15 +02:00
Yuxuan 'fishy' Wang
be3f7321cf
Make TTransportException unwrappable on Go 1.13+
Client: go

Go 1.13 introduced a new, optional, hidden interface for error
implementations to make them unwrappable [1]. We currently already kind
of support that (via TTransportException.Err), so just add a new
function to make it Go 1.13+ compatible.

[1] https://pkg.go.dev/errors@go1.13?tab=doc#pkg-overview
2020-05-14 08:28:44 +01:00
zeshuai007
26e6c84cde Add testcase for compactprotocol(python)
Client: py
Patch: zeshuai007 <51382517@qq.com>

This closes #2129
2020-05-13 23:56:08 +02:00
Tim Heilig
64ac65ea7e THRIFT-5199: Fix infinite loop writing to closed TSocket in PHP
Client: php
Patch: Tim Heilig

This closes #2134
2020-05-13 23:49:24 +02:00
Mario Emmenlauer
55680af8fa
Update NodeJS to oldest supported version on Ubuntu Xenial 2020-05-11 21:58:48 +01:00
David Mollitor
47e9d8f13e THRIFT-5197: TSSLTransportFactory Do Not Wrap NOT_OPEN Exception Type for Client
Client: java
Patch: David Mollitor

This closes #2131

The class TSSLTransportFactory is wrapping TTransportExceptions, which have a particular "type,"
in a type-less TTransportException and therefore the Exception type is lost.
2020-05-11 10:30:17 -04:00
max ulidtko
9b9567b233 THRIFT-5186: Don't pass AI_ADDRCONFIG to getaddrinfo()
Client: cpp,pas,py
Patch: Max Ulidtko

This closes #2124

If a host doesn't have assigned IPv4 or IPv6 addresses, thrift communication
over localhost-only is impossible due to thrift library bug. It happens
when making getaddrinfo syscall with AI_ADDRCONFIG flag.

From man getaddrinfo(3):
If  hints.ai_flags  includes  the  AI_ADDRCONFIG  flag,  then  IPv4  addresses
are returned in the list pointed to by res only if the local system has at least
one IPv4 address configured, and IPv6 addresses are returned only if the local
system has at least one IPv6 address configured.  The loopback address is not
considered for this case as valid as a configured address.

Upstream bug with AI_ADDRCONFIG ai_flags was fixed for cpp library and win32
platform only. See https://issues.apache.org/jira/browse/THRIFT-2539

Patch based on Thrift 0.13.0, commit cecee50308.
2020-05-08 09:23:47 +02:00
zeshuai007
bbc5e06a2e Supplement TZlibTransport.py testcase
Client: py
Patch: zeshuai007 <51382517@qq.com>

This closes #2132
2020-05-08 09:18:46 +02:00
Jens Geyer
abc2ec6096 THRIFT-5198 Fix certain Visual Studio hints in generated netstd code
Client: netstd
Patch: Jens Geyer

This closes #2133
2020-05-08 09:14:26 +02:00
Yuxuan 'fishy' Wang
0c173bf9e0
THRIFT-5164: Small cleanup on example code
Client: go

Godoc requires at least one other exported type/function to render the
whole example file in the example, so export
simpleProcessorLoggingMiddleware to make the example of
ProcessorMiddleware more helpful.

Currently it's rendered in a not very helpful way:
https://pkg.go.dev/github.com/apache/thrift@v0.13.1-0.20200430141240-5cffef964a08/lib/go/thrift?tab=doc#example-ProcessorMiddleware

Compare to the client middleware example rendering:
https://pkg.go.dev/github.com/apache/thrift@v0.13.1-0.20200430141240-5cffef964a08/lib/go/thrift?tab=doc#example-ClientMiddleware

While I'm here, also update CHANGES.md to mention ClientMiddleware.

[skip ci]
2020-05-01 07:49:29 +01:00
Duru Can Celasun
48730688fb
Update PR template
Clarify that [skip ci] needs to be in the commit message, not the PR text.
2020-04-30 17:00:24 +01:00
Andrew Boyle
5cffef964a
THRIFT-5164: Add middleware framework for Go clients
This commit adds a simple middleware framework for Go clients.

It provides:

 * A `ClientMiddleware` function interface used to define the actual middleware
 * `WrapClient`, the function that you use to wrap a `TClient` in a list of middleware
 * A helper `WrappedTClient` struct to help with developing middleware

Client: go
2020-04-30 15:12:40 +01:00
Jens Geyer
9c75797346 Configure Gitbox: It's notifications, not github [skip ci] 2020-04-28 22:42:55 +02:00
Jens Geyer
809403d544 Configure Gitbox [skip ci] 2020-04-28 22:36:36 +02:00
Zezeng Wang
39381695eb
Add file and memory buffer tests for Python
Client: py
2020-04-28 07:24:58 +01:00
Zezeng Wang
371d92f159
THRIFT-5179: Fix generated code for struct's named "a" or "b"
Client: cpp
2020-04-28 07:23:15 +01:00
Jens Geyer
8746291342 THRIFT-5188 Occasional ERROR_INSUFFICIENT_BUFFER at WinHttpQueryHeaders()
Client: Delphi
Patch: Jens Geyer
2020-04-27 22:56:21 +02:00
Andrew Boyle
00c039adeb
THRIFT-5164: Add middleware framework for Go servers
This commit adds a simple middleware framework for Go servers.

It provides:

 * A `ProcessorMiddleware` function interface used to define the actual middleware
 * `WrapProcessor`, the function that you use to wrap a `TProcessor` in a list of middleware
 * A helper `WrappedTProcessorFunction` struct to help with developing middleware

This is a breaking change for any custom implementations of the `TProcessor`
interface, but does not effect the code generated by compiling Thrift files. It
adds two functions to the interface that are a part of the generated `TProcessor`
code, but were not defined in the interface explicitly.
2020-04-27 19:32:24 +01:00
penenin
52655cec79
THRIFT-5159: Fix runtime ReferenceError in generated code
Client: nodejs
2020-04-27 16:19:55 +01:00
penenin
7c4bdf9914
THRIFT-5184: Fix header check for WebSocket connections
When establishing a WebSocket connection, Firefox sends Connection: keep-alive, Upgrade instead of just Connection: Upgrade. Check to see if Upgrade is in the header instead of checking to see if it is the entire header value.

Client: d
2020-04-27 09:11:47 +01:00
Zezeng Wang
c3728122d2
Supplement TBinaryprotocol module testcase
Client: py
2020-04-27 08:48:19 +01:00
Zezeng Wang
b416ffa72d
Mention Qt in README
[skip ci]
2020-04-27 08:18:26 +01:00
Jano Svitok
3127e4abd9
THRIFT-5150: Fix compilation with Swift 5.2
- (OS X and Linux) type 'TSet<Element>' does not conform to protocol 'Collection'
- (Linux only) kCFSocketCloseOnInvalidate has Int type

Client: swift
2020-04-27 08:12:42 +01:00
zeshuai007
b83ae2cedf supplementary testcase for TJSONProtocol
Client: py
Patch: zeshuai007 <51382517@qq.com>

This closes #2113
2020-04-26 13:29:48 +02:00
Dmitry Maluka
b94c166385 THRIFT-5177: getaddrinfo() should not be used for Unix sockets
Client: cpp
Patch: Dmitry Maluka

This closes #2102
2020-04-26 13:25:08 +02:00