Commit Graph

3232 Commits

Author SHA1 Message Date
James E. King, III
d3013f3fb5 THRIFT-3766: add zlib getUnderlyingTransport method
Client: C++

This closes #1370
2017-09-22 15:15:30 -07:00
James E. King, III
4a6bff1c5b THRIFT-4283: fix TNamedPipeServer race condition in interrupt
Client: C++
Patch: jn.goor@evs.com

This closes #1368
2017-09-22 10:11:06 -07:00
Anthony Molinaro
2d8b17890c THRIFT-4340: Fix a crash on client close
Client: erl

This closes #1367
2017-09-22 05:30:22 -07:00
Dmitry Volodin
28eb9d98ef THRIFT-4233: Make THsHaServer.invoker available (get method only) in inherited classes
Client: hs

This closes #1366
2017-09-21 14:55:50 -07:00
Deniss Afonin
d3cda9c2f3 THRIFT-3357: Generate EnumSet/EnumMap where elements/keys are enums
Client: Java

This closes #1253
2017-09-21 13:57:09 -07:00
Johnny-Liao
9ffb41d94c THRIFT-4251: Fix JDK Epoll Bug in Thrift of TThreadedSelectorServer model.
Client: Java

This closes #1313
2017-09-21 12:48:48 -07:00
Francois Ferrand
69603709ed THRIFT-4327: add API to efficiently remove a single timer
Client: C++

This closes #1353
2017-09-21 09:54:47 -07:00
Gonzalo Aguilar Delgado
ac61a42112 THRIFT-4212: Fix flush on invalid socket
Client: c_glib

This closes #1279
2017-09-21 09:09:20 -07:00
Gonzalo Aguilar Delgado
acbb616192 THRIFT-4211: Fix logging in c_glib
This closes #1278
2017-09-21 08:25:44 -07:00
Gonzalo Aguilar Delgado
cbd9759245 THRIFT-4205: Make sure gobject+glib are correctly linked
This closes #1272
2017-09-21 08:18:17 -07:00
James E. King, III
699b5bc47a THRIFT-4064: update node dependencies
This closes #1359
2017-09-21 07:02:51 -07:00
James E. King, III
81cdcd3dd7 THRIFT-4328: split binary cross tests into their own build job to resolve
timeouts in travis; enable newly reliable cross tests (ran 5 times clean)

This closes #1351
2017-09-13 19:36:00 +00:00
Thomas Petazzoni
1744cdcb67 configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation
The thrift build system currently assumes that the thrift compiler is
always available in $(top_builddir)/compiler/cpp/thrift. However, in a
cross-compilation context, this location contains the thrift compiler
built for the target... which obviously will not run on the build
machine.

In order to support such cross-compilation situation, we introduce the
THRIFT variable as a an argument for the configure script (using
AC_ARG_VAR). If not specified, it defaults to the existing value of
using compiler/cpp/thrift from the build directory, but it can be
overridden when calling ./configure.

Note that $(top_builddir) cannot be used within the configure script,
so we simply use `pwd`, which is the same as the top_builddir.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

This closes #1336
This closes #1350
2017-09-09 07:50:54 -07:00
Jens Geyer
cf892d46f6 Testcase for THRIFT-4323 range check errors or NPE in edge cases
Client: Delphi
Patch: Jens Geyer
2017-09-09 10:11:10 +02:00
Francois Ferrand
cc2d558e2d THRIFT-4292: Implement TimerManager::remove()
Client: C++

This closes #1337
2017-09-08 20:23:50 -07:00
Jens Geyer
078281dcd3 THRIFT-4324 field names can conflict with local vars in generated code
Client: Delphi
Patch: Jens Geyer
2017-09-08 23:55:02 +02:00
Jens Geyer
a76e6c7920 THRIFT-4323 range check errors or NPE in edge cases
Client: Delphi
Patch: Jens Geyer
2017-09-08 23:55:01 +02:00
Jens Geyer
a62efa4109 THRIFT-4319 command line switch for "evhttp" incorrectly resolved to anon pipes
Client: Delphi
Patch: Jens Geyer
2017-09-07 22:25:50 +02:00
Jens Geyer
17c3ad9c8a THRIFT-4318 Delphi performance improvements
Client: Delphi
Patch: Jens Geyer

This closes #1348
2017-09-07 22:14:00 +02:00
walter-weinmann
f8e62fbe73 THRIFT-4273 erlang:now/0: Deprecated BIF.
Client: erlang

This closes #1346
2017-09-07 10:53:36 -07:00
walter-weinmann
811f73a661 THRIFT-2733 Erlang coding standards
Client: erlang

This closes #1345
2017-09-07 10:20:17 -07:00
James E. King, III
7d211b8d2d THRIFT-4106: fix errors concurrency_test was identifying
Client: C++

This closes #1343
2017-09-07 10:13:29 -07:00
gx9702
d862c2fd7b THRIFT-4316: fix read size in TByteBuffer.java
Client: java

This closes #1290
2017-09-05 21:33:42 -07:00
damnever
1b20b18ec0 Add default message for TApplicationException since some implementations may not set message field
Client: go

This closes #1335
2017-09-05 20:00:38 -07:00
tudyzhb
78b71851fc THRIFT-4307: Make ssl-open timeout effective in golang client
Client: go

This closes #1341
2017-09-05 13:19:39 -07:00
Victor Boivie
9235bec082 THRIFT-4246 Multiplexed clients sequence id fix
Client: nodejs

Previously, all clients would use the latest created multiplexer
for generating sequence numbers which would create a mismatch
between the mapping of sequence number->service in the connection.

This makes the client instances use the multiplexer that is
bound to it.

This closes #1322
2017-09-04 21:46:24 -07:00
Josip Sokcevic
722f8e9506 THRIFT-4247: Fix compilation with OpenSSL 1.1
Client: c_glib

This closes #1308
2017-09-04 18:22:03 -07:00
James E. King, III
d7142b7e4f THRIFT-4295: rework the docker build images, updating them and tuning the travis builds
This closes #1340
2017-09-04 18:09:34 -07:00
Roy Sindre Norangshol
ec64f23d23 THRIFT-4263: Fix use after free bug for thrown exceptions
Client: php

Exceptions thrown through PHPExceptionWrapper are prematurely freed at the end
of the catch block, even though zend_throw_exception_object expects to take
ownership of the value.

Ensure we free return_value in case of exceptions

Patch: Håkon Hitland <hakon.hitland@zedge.net>
Patch: Roy Sindre Norangshol <norangshol@zedge.net>

This closes #1314
2017-08-12 20:11:26 -07:00
Alex Şuhan
20116c6c0c THRIFT-3821 Check for overflow on buffer resize in TMemoryBuffer
Client: C++

This closes #1326
2017-08-12 20:03:19 -07:00
James E. King, III
c60b69b376 THRIFT-4284: remove extraneous character
Client: js

This closes #1330
2017-08-12 16:19:04 -07:00
James E. King, III
237a394add THRIFT-3974: fix ThreadSanitizer identified issues
Client: C++

This closes #1331
2017-08-12 16:15:59 -07:00
Gregor Reitzenstein
a718ad4837 Renames Thrift.cabal to fix THRIFT-3963
Client: hs

This closes #1265
2017-08-10 23:21:30 -04:00
Josip Sokcevic
3f07967a79 THRIFT-4248: Import cstring in TSSLSocket
Client: C++

strncpy, memcmp, memset are used in TSSLSocket so cstring needs to be
imported.

This closes #1307
2017-08-10 23:12:51 -04:00
Håkon Hitland
2f03618a6c THRIFT-4274: Catch OSError in TSSLServerSocket.accept()
Client: py

This closes #1321

wrap_socket can raise OSError instead of SSLError when receiving an
invalid connection attempt, which if not caught crashes TSimpleServer
and causes the feature tests to fail.
2017-08-10 15:39:09 -04:00
James E. King, III
82ae9575cd THRIFT-2221: detect C++11 and use std namespace for memory operations (smart_ptr)
Client: C++

This closes #1328
2017-08-10 13:27:21 -04:00
Divya Thaluru
808d143245 THRIFT-4276:Add SSL support to the C++ Nonblocking Server
Client: C++ Lib
Patch: Divya Thaluru

Github Pull Request:

    This closes #1251
2017-08-06 16:36:36 -07:00
David Hull
e544a89924 THRIFT-4266 Erlang library throws during skipping fields of composite type (maps, lists, structs, sets)
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1316
2017-08-05 14:04:21 +02:00
David Hull
0eda909573 THRIFT-4270 Generate Erlang mapping functions for const maps and lists
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1320
2017-08-02 22:20:42 +02:00
David Hull
ec2a252136 THRIFT-4269 Don't append '.' to Erlang namespace if it ends in '_'.
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1319
2017-08-01 00:38:55 +02:00
David Hull
ed9e75f625 THRIFT-4268 Erlang library emits debugging output in transport layer
Client: Erlang
Patch: David Hull <david.hull@openx.com>

This closes #1317
2017-07-27 23:02:02 +02:00
Jens Geyer
f790445d7c THRIFT-4262 Invalid binding to InterlockedCompareExchange64() with 64-bit targets Client: Delphi Patch: Jens Geyer 2017-07-26 22:16:09 +02:00
taozle
5c302e02c4 THRIFT-4260 Go context generation issue. Context is parameter in Interface not in implementation
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1312
2017-07-25 00:17:30 +02:00
taozle
c0d384a38c THRIFT-4236 Support context in go generated code
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1309
2017-07-22 19:42:48 +02:00
D. Can Celasun
0dd823580c THRIFT-4219 remove http GET functions, Thrift only uses POST
Client: Go
Patch: D. Can Celasun <dcelasun@gmail.com>

This closes #1287
2017-07-11 23:10:05 +02:00
Zachary Wasserman
5e9209ff0f THRIFT-4237 Fix effective deadlock introduced by original patch
Client: Go
Patch: Zachary Wasserman <zachwass2000@gmail.com>

This closes #1304
2017-07-08 15:35:42 +02:00
Eric Conner
b56ead3115 THRIFT-2642 Recursive structs don't work in python
Client: Python
Patch: Eric Conner <eric@pinterest.com>

Fix whitespace for flake8.

This closes #1305
2017-07-07 20:51:00 +02:00
Eric Conner
c34653f751 THRIFT-2642 Recursive structs don't work in python
Client: Python
Patch: Eric Conner <eric@pinterest.com>

This closes #1293
2017-07-06 22:59:10 +02:00
liduo04
49e5103920 THRIFT-4245 Golang TFramedTransport's writeBuffer increases if writes to transport failed
Client: Go
Patch: liduo04 <pirdol@qq.com>

This closes #1303
2017-07-05 21:59:07 +02:00
taozle
5b4c6bfc62 THRIFT-4236: Add context support for go server.
Client: Go
Patch: taozle <zhangliyang26@gmail.com>

This closes #1298
2017-07-01 17:23:56 +02:00
Zachary Wasserman
c0a7050c0a THRIFT-4237 Fix data races in Go TServerSocket
Client: Go
Patch: Zachary Wasserman <zachwass2000@gmail.com>

This closes #1300
2017-07-01 16:05:10 +02:00
Zachary Wasserman
c1794358bb THRIFT-4243 Fix Go TSimpleServer race on wait in Stop() method
Client: Go
Patch: Zachary Wasserman <zachwass2000@gmail.com>

This closes #1302
2017-07-01 16:01:12 +02:00
Zachary Wasserman
b771cbedd6 THRIFT-4240 Fix use of sync.Once in Go TSimpleServer Stop() method
Client: Go
Patch: Zachary Wasserman <zachwass2000@gmail.com>

This closes #1301
2017-07-01 16:00:02 +02:00
Stig Bakken
c0e353500d THRIFT-4238 JSON generator: make annotation-aware
Client: json
Autor: Stig Bakken <stig@zedge.net>

This closes #1299
2017-07-01 15:51:14 +02:00
Zachary Wasserman
b8ee72de5b THRIFT-4222 Support Unix Domain Sockets in Golang TServerSocket
Client: Go
Patch: Zachary Wasserman <zachwass2000@gmail.com>

This closes #1284
2017-06-07 22:45:54 +02:00
Klaus Trainer
48ea3cde08 THRIFT-4218: Set TCP_NODELAY for PHP client socket
Client: PHP
Patch: Klaus Trainer

This closes #1283
2017-06-06 13:59:53 +02:00
D. Can Celasun
8da0e720bb THRIFT-4215 Golang TTransportFactory Pattern Squelches Errors
Client: Go
Patch: D. Can Celasun <can@dcc.im>

This closes #1285
2017-06-05 14:22:06 +02:00
Jens Geyer
197b062993 THRIFT-4217 HttpClient should support gzip and deflate
Client: C#
Patch: Jens Geyer
2017-05-31 11:44:34 +02:00
Jens Geyer
695115952d THRIFT-4217 HttpClient should support gzip and deflate
Client: C#
Patch: Jens Geyer

This closes #1282
2017-05-31 09:07:26 +02:00
Jens Geyer
c71bdf85c9 THRIFT-4210 include Thrift.45.csproj into CI runs
Client: C#
Patch: Jens Geyer

This closes #1277
2017-05-27 21:10:32 +02:00
Jens Geyer
5608e43ec8 THRIFT-4208 C# NamedPipesServer not really working in some scenarios Client: C# Patch: Jens Geyer 2017-05-27 11:26:20 +02:00
Jens Geyer
888b577ea6 THRIFT-4209 warning CS0414 in T[TLS]ServerSocket.cs
Client: C#
Patch: Jens Geyer
2017-05-27 11:26:19 +02:00
libinbin
a576896398 THRIFT-4203 thrift server stop gracefully
Client: Go
Patch: libinbin <libinbin@17paipai.cn>

This closes #1271
2017-05-18 23:24:52 +02:00
Jens Geyer
d1380d5299 THRIFT-4190 Improve C# TThreadPoolServer defaults (part 2 of 2)
Client: C#
Patch: Jens Geyer

This closes #1268
2017-05-14 12:57:11 +02:00
D. Can Celasun
b67cad46e4 THRIFT-4197 Implement transparent gzip compression for HTTP transport
Client: Go
Patch: D. Can Celasun <can@dcc.im>

This closes #1266
2017-05-13 13:58:02 +02:00
Sho Nakatani
9a745aa4a9 THRIFT-4198 Ruby should log Thrift internal errors to global logger
Client: Ruby
Patch: Sho Nakatani <lay.sakura@gmail.com>

This closes #1252
2017-05-13 00:28:32 +02:00
Allen George
5862099f37 THRIFT-4196 Support recursive types in Rust
Client: rs
Patch: Allen George <allen.george@gmail.com>

This closes #1267
2017-05-13 00:01:05 +02:00
Allen George
bc1344d55f THRIFT-4186 Add travis build for Rust
Client: rs
Patch: Allen George <allen.george@gmail.com>

This closes #1260
2017-05-11 01:35:33 +02:00
Roshan George
3966a56a87 THRIFT-4193 Lower the default maxReadBufferBytes for non-blocking servers
Client: Java
Patch: Roshan George <rgeorge@liveramp.com>

This closes #1264
2017-05-11 01:26:22 +02:00
Jens Geyer
224c334e50 THRIFT-4190 Improve C# TThreadPoolServer defaults
Client: C#
Patch: Jens Geyer

This closes #1262
2017-05-08 16:53:15 +02:00
Jens Geyer
c54a90d12d THRIFT-4189 Framed/buffered transport Dispose() does not dispose the nested transport
Client: C#
Patch: Jens Geyer
2017-05-06 00:58:05 +02:00
Allen George
0e22c362b9 THRIFT-4176: Implement threaded server for Rust
Client: rs

* Create a TIoChannel construct
* Separate TTransport into TReadTransport and TWriteTransport
* Restructure types to avoid shared ownership
* Remove user-visible boxing and ref-counting
* Replace TSimpleServer with a thread-pool based TServer

This closes #1255
2017-04-27 08:46:02 -04:00
Jens Geyer
9db23b7be3 THRIFT-4183: Named pipe client blocks forever on Open() when there is no server at the other end
Client: C#
Patch: Jens Geyer

This closes #1258
2017-04-27 00:29:52 +02:00
Deniss Afonin
3311a9b237 THRIFT-4177 fix java deep copy
Client: Java

Java compiler produces deep copy constructor that could make shallow copy accidentally.

This closes #1254
2017-04-19 12:38:14 -04:00
771545803@qq.com
2d65c2365f THRIFT-3832: fix lnk 200 error on windows when compile as lib
This closes #1250
2017-04-10 08:55:19 -04:00
Mario Emmenlauer
3db41faf4e THRIFT-4159: enable some Windows sources also on MSYS2
This closes #1248
2017-04-08 00:31:35 -04:00
Allen George
92e1c409c7 THRIFT-4099: Derive Hash trait for Rust structs
Client: rs

This closes #1246
2017-04-07 09:24:41 -04:00
Kazuki Matsuda
b909a3897b THRIFT-3627 fix missing basic code style consistency of JavaScript.
Client: js

This closes #858
This closes #1243
2017-04-06 19:12:28 -04:00
James E. King, III
3641b54352 THRIFT-4170: fix lua backwards compatibility
Client: lua
Patch: wlgys8 <147668916@qq.com>

This closes #669
This closes #1241
2017-04-06 17:49:05 -04:00
James E. King, III
33df4eb77a THRIFT-4166: fix recent VC2010 build regression and prevent it in the future
Client: cpp

This closes #1237
2017-04-06 08:45:17 -04:00
Changli Gao
257dceff5e THRIFT-4160 (pt. 2): Fix wrong numActiveProcessors_ when failing to notify any IO thread
Client: cpp

This closes #1239
We should decrease numActiveProcessors_ when failing to notify any
IO thread.
2017-04-05 19:29:24 -04:00
James E. King, III
7f5a8c28bc THRIFT-4164: update openssl cleanup to match current requirements and document TSSLSocketFactory lifetime requirements
Client: cpp

This closes #1235
2017-04-04 09:36:38 -04:00
James E. King, III
00d4252392 THRIFT-3978: tighten up pthread mutex implementation, removing asserts and replacing them with exceptions
Client: cpp

This closes #1228
2017-04-04 09:32:45 -04:00
Changli Gao
7e7a1a7c10 TSocket: Don't close connections when failing to read/write
Client: cpp

Sockets maybe registered to a event base of libevent, so the
following epoll_ctl(2) may fail due to EBADF, or may
delete other sockets. Chaos occurs.

This closes #1217
2017-04-02 23:37:14 -04:00
Changli Gao
bf42d55189 THRIFT-4161: TNonblockingServer: Fix using uninitialized event_
Client: cpp

When there are more than one IO threads, and we have failed to notify
one IO threads, then we have to close the connection. But the event_
in that connection isn't initialized. We should use setIdle() instead.

This closes #1216
2017-04-02 23:30:04 -04:00
Changli Gao
d4fa706dca THRIFT-4160: Fix use closed(freed) connections in non-blocking server
Client: cpp

When failing to add tasks into the thread manager, we close the
corresponding connections, then set the flags of these connections,
which have been already freed.

We should decrease the number of active processors.

This closes #1211
2017-04-02 23:24:54 -04:00
Chris Vasselli
df3223c85d THRIFT-3859: Add support for Unix Domain Sockets to TSocketServer and TSocketTransport.
Client: cocoa

TSocketServer and TSocketTransport have been refactored to support sockets created using either a port or a path.
Existing behavior for port-based socket transport is unchanged by this commit.

This closes #1031
2017-04-02 23:14:29 -04:00
Jens Geyer
90b6304901 THRIFT-4157 outdated readme about Haxe installation on Linux
Client: Haxe
Patch: Jens Geyer

This closes #1234
2017-04-02 16:06:08 +02:00
James E. King, III
c6ded922c5 THRIFT-4154: properly close socket whether it is persistent or not on close()
Client: php

This closes #1011
This closes #1233
2017-04-01 23:26:54 -04:00
James E. King, III
d5536d1ea0 THRIFT-3730: go server errors are logged twice
Client: go
Patch: zhujun2006 <stone1342006 at gmail dot com>

This closes #940
2017-04-01 11:21:12 -04:00
Jim Apple
117a5cca77 THRIFT-4138: Remove undefined behavior imported from Boost
Client: C++

There is undefined behavior in boost::lexical_cast that was fixed in
https://github.com/boostorg/lexical_cast/issues/21, but that fix is
only available in recent Boost releases. This patch removes all uses
of lexical_cast instead.

That removes the last undefined behavior, so this patch also makes
ubsan.sh unconditionally fail on undefined behavior.

This closes #1232
2017-04-01 10:51:48 -04:00
James E. King, III
5c3de6d3d2 THRIFT-4140: fix unsafe call to gmtime
Client: C++
Patch: Adriaan Schmidt <adriaan.schmidt@siemens.com>

This closes #1231
2017-04-01 10:46:25 -04:00
tpcwang
bede86a032 THRIFT-3944 TSSLSocket has dead code in checkHandshake
Client: C++

This closes #1110
2017-04-01 10:14:16 -04:00
James E. King, III
7bc943196d THRIFT-4151: disable pthread concurrency analysis code in standard builds
Client: C++

This closes #1229
2017-03-31 21:25:20 -04:00
Chao Sun
c063b30ecd THRIFT-4147: Rust: protocol should accept transports with non-static lifetime
Client: rs

This closes #1226
2017-03-30 17:28:58 -04:00
Flier Lu
1187060183 THRIFT-4113: export thrift::mem::TBufferTransport
Client: rs

This closes #1218
2017-03-30 17:25:10 -04:00
James E. King, III
177c37ce85 THRIFT-4069: perl library cleanup - namespaces, versioning, exception fixes
Client: perl

This closes #1220
2017-03-30 17:09:04 -04:00
kufd
1360270eb8 THRIFT-4126: implement required fields validation in php extension when validate compiler option is enabled
Client: php

This closes #1215
2017-03-30 16:42:11 -04:00
Jim Apple
147c2849af THRIFT-2026: Eliminate some undefined behavior in C/C++
Clients: glib, C++
Patch: Jim Apple <jbapple-impala@apache.org>

This closes #1214

This patch fixes some undefined behavior were found using Clang's
UndefinedBehaviorSanitizer (UBSan). To check for undefined behavior,
run /build/docker/scripts/ubsan.sh. This is run during CI builds, as
well.

The examples of the types of undefined behavior fixed in this commit
are:

1. Enumerations exhibit undefined behavior when they have values
   outside of a range dependent on the values of their enumerators, as
   specified in C++14's chapter 7.2 ("Enumeration declarations"),
   paragraph 8.

2. Left shift of negative values, used in zigzag encoding, is
   undefined behavior. See 5.8 ("Shift operators"), paragraph 2 for
   C++ and 6.5.7 ("Bitwise shift operators"), paragraph 4 for C99 and
   C11.
2017-03-25 08:16:18 -04:00
Jonathan Pearlin
6c08ac72c6 THRIFT-4130: Release connection back to managed pool.
Client: C++

This closes #1212
2017-03-22 20:33:20 -04:00