Commit Graph

3304 Commits

Author SHA1 Message Date
stanevt
5a4f7382d2 THRIFT-2998: Set Content-Type for HTTP request in Node.js wrapper.
Client: nodejs

This closes #378
2017-10-28 17:54:17 -04:00
James E. King, III
43f4bf2fdd THRIFT-4376: fix a few high impact coverity defects:
1458947: memory leak in compiler
1458787: resource leak in c_glib led to discovery of assert() abuse
1459090: fix string.find result check in JSON processor (unlikely)

This closes #1404
2017-10-28 16:44:09 -04:00
Jens Geyer
d4df91709b THRIFT-4372 Pipe write operations across a network are limited to 65,535 bytes per write
Client: Delphi, C#
Patch: Jens Geyer

This closes #1402
2017-10-26 20:36:28 +02:00
Robert Lu
e54945551f add stdc++ back for php extension build
Client: php

This closes #1400
2017-10-26 12:02:20 -04:00
James E. King, III
350fe7531f THRIFT-4370: build generated code before running static code analysis;
fix E722 flake8 issues identified in python code

This closes #1399
2017-10-26 11:37:02 -04:00
Robert Lu
9dff0efc1e THRIFT-4356: fix segment fault for thrift_protocol
NOTE: drops php5 support for PHP extension (thrift_protocol)
however library still can support PHP5 as evidenced by CI build
Client: php

This closes #1385
This closes #1391
2017-10-25 08:57:04 -04:00
董菲
1df2d9b801 THRIFT-4353: support php ext read data after message begin
Client: php

This closes #1383
2017-10-25 08:56:40 -04:00
christianc
a39ba7f294 THRIFT-4362 check "read length" in readStringBody(int)
Client: Java

This closes #1398
2017-10-25 08:40:51 -04:00
James E. King, III
e7611d0f3e THRIFT-4367: Fix missing positional argument in python
TProcessor.process
Client: py
Patch: Qyetfu

This closes #1392
2017-10-23 16:44:45 -04:00
James E. King, III
0ad20bdbfe THRIFT-4351: use travis build stages to optimize build,
avoiding duplicate rebuilds of the same image, and also
allow personal docker hub repositories for private fork
builds to be optimized. Move ubsan build to artful image
because it catches more stuff and fix what was found.

THRIFT-4345: solidify docker build strategy for maximum
coverage: trusty, xenial, artful as stock as they can be

THRIFT-4344: add top level language summary markdown and
update readme with a new image on the layered architecture

THRIFT-3847: remove VERSION macro from config.h which
was causing a conflict on artful builds.

THRIFT-4359: fix haxe map/set decode when key is binary,
as a missing break statement caused it to use an int
during decode

This closes #1389
2017-10-19 11:29:04 -04:00
James E. King, III
b62873686f THRIFT-4350: enable dotnet-2.0.0-sdk in ubuntu xenial, update netcore
projects, get them running with make cross
Client: netcore

This closes #1379
2017-10-10 08:35:48 -07:00
Martin Haimberger
9f9e30b51e THRIFT-4331: C++ TSSLSocket fixes for huge message handling
Client: C++

fixed issue with large messages, where waitForEvent was called
mutliple times waiting for SSL_read() to get bytes and running
in the retry timeout.

fixed issue where poll was not using the right flags.

This fixes #1363
2017-10-06 05:22:13 -07:00
Yuri Khrustalev
39310dad79 THRIFT-4346: Allow go ZlibTransportFactory to wrap other factories
Client: go

This closes #1375
2017-09-27 12:46:19 -07:00
James E. King, III
65efdff10b build both ubuntu xenial as well as trusty to get more language level
coverage, force C++98 in one of the C++ builds to guarantee compat,
and update docker readme

This closes #1377
2017-09-26 06:48:54 -07:00
Carwyn Moore
d7720f4363 THRIFT-4348 - Allow custom HTTP headers to be set in Perl HTTP client.
Client: Perl

This closes #1376
2017-09-26 06:42:14 -07:00
Elvis Pranskevichus
2d1fe88db3 THRIFT-4206: Fix decoding of strings in containers with py:dynamic and py:utf8strings
Client: py

_read_by_ttype and _write_by_ttype must be using the *element* spec
and not the container spec when determining the correct read/write
handler.

This closes #1273
2017-09-25 17:11:33 -07:00
James E. King, III
48ba736a58 THRIFT-4131: js / WebSocket / fix handling oneway methods
Client: js
Patch: Martin Hejnfelt <mh@newtec.dk>

This closes #1372
2017-09-24 20:35:01 -07:00
cclauss
4bd3682c79 THRIFT-4309: Python print() function
Client: py

This closes #1339
2017-09-24 06:04:15 -07:00
James E. King, III
9ce1fd9aee THRIFT-4049, THRIFT-4053: when skipping, if field type is invalid, throw a
protocol exception of invalid data instead of doing nothing which could
cause a loop
Client: C++, java

This closes #1371
2017-09-24 05:59:35 -07:00
James E. King, III
eb7b76d32c add perl coding standard of perlstyle
Client: perl
2017-09-23 20:35:29 -07:00
Equim
c8e0207053 THRIFT-4288: Implement logging levels in node.js properly
Client: nodejs

This closes #1334
2017-09-23 06:11:34 -07:00
James E. King, III
aded00b617 THRIFT-3821: make memory buffer size configurable so unit test does
not need 2GB to run; add unit test to prove THRIFT-3480
Client: C++

This closes #1369
2017-09-22 15:17:25 -07:00
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
James E. King, III
847fae9388 THRIFT-3959: document that the go simple server is not simple
Client: go
Patch: JodeZer <jeffery1993@hotmail.com>

This closes #1213
2017-03-22 15:17:30 -04:00
Changli Gao
75386db8c0 THRIFT-4129: Fix fd leak when failing to dispatch new connections
Client: C++

This closes #1210
2017-03-22 15:03:37 -04:00
Yao Jin
6582757752 THRIFT-4029: add MANIFEST.in to include the extension files
Client: py

This closes #1206
2017-03-10 06:24:31 -05:00
James E. King, III
07f59971bd THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process
This closes #1205
2017-03-10 06:18:33 -05:00
Gonzalo Aguilar Delgado
b79396f799 THRIFT-4108: c_glib ssl implementation fixes - remove global ssl context and more
Client: glib

This closes #1208
2017-03-06 19:09:06 -05:00
Buğra Gedik
36d1b0dea5 THRIFT-3891 TNonblockingServer configured with more than one IO threads does not always return from serve() upon stop()
Client: C++
Patch: additional changes by jking@apache.org to improve the test and stop clean in all cases

This closes #1080
This closes #1196
2017-02-27 23:44:35 -05:00
Christopher Tubbs
5038466e5e THRIFT-1805 Provide option for handling RTEs
Client: Java

Adds a Java option to the generator to generate code which lets Thrift
handle RuntimeExceptions from a service, and present them as
TApplicationException to the client.

This closes #1186
2017-02-27 23:38:44 -05:00
Yao Jin
e2bc972750 THRIFT-4102 remove useless code cause performance problem
Client: python

This closes #1203
2017-02-24 10:28:27 -05:00
Håkon Hitland
e66b8fcde3 THRIFT-3984 PHP7 extension causes segfault
The PHP 7 extension can sometimes free strings it does not own,
when serializing string map keys, or the name of called methods.
The latter case was somewhat migitated since the double-free has no
effect on interned strings.
Using ZVAL_STR_COPY instead of ZVAL_STR will increment the reference
count, making the following destructor call correct.

Fix memory leak in PHP 7

Fix memory leak when deserializing maps or sets.
zend_hash_update will add its own reference to the key, so we need to
destruct the key zval to not leak.
We don't need to destruct the value, the hash table will take ownership
of it.

This closes #1152
2017-02-23 11:43:45 -05:00
James E. King, III
37aac3bb58 THRIFT-3706: added cross test support for backwards compatible multiplexed server, added c_glib testBinary, fixed a number of glib object reference issues
Client: c_glib, java

This closes #1200
2017-02-22 12:46:04 -05:00
Adam Curtis
4361ecc3a1 THRIFT-3801 - Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer
Client: nodejs

This closes #773
This closes #1063
This closes #1202
2017-02-22 11:24:41 -05:00
D. Can Celasun
43fb34df28 THRIFT-4011 Sets of Thrift structs generate Go code that can't be serialized to JSON
Client: Go
Patch: D. Can Celasun <dcelasun@gmail.com>

This closes #1156
2017-02-21 22:32:49 +01:00
Gonzalo Aguilar Delgado
bc0082e023 THRIFT-3706: Implement multiplexed protocol client and test client for c_glib; test server for java; integrate into crosstest
Client: c_glib

This closes #1191
This closes #1199
2017-02-20 14:04:17 -05:00
James E. King, III
06190874c8 THRIFT-4084: Add a SSL/TLS negotiation check to crossfeature to verify SSLv3 is not active and that at least one of TLSv1.0 through 1.2 are accepted.
Client: csharp, d, go, nodejs, perl

This closes #1197
2017-02-20 08:52:11 -05:00
James E. King, III
239233afb6 THRIFT-4077: fix Appveyor warnings (VS2015) in PlatformSocket.h
Client: C++

This closes #1198
2017-02-20 08:04:12 -05:00
Vivek Jain
655b9b6ef8 THRIFT-3921: Add ostream operator<< functions for enums (working with THRIFT-4060)
Client: C++

This closes #1083
This closes #1194
2017-02-18 14:30:46 -05:00
Aleksey Pesternikov
400b346db2 THRIFT-2504: Add default processor to java multiplexed processor to handle older clients
Client: Java

This closes #114
This closes #1195
2017-02-18 13:58:21 -05:00
James E. King, III
377719c2d8 THRIFT-3272 (THRIFT-4066) fix perl SSL authentication support; fixed error in erlang test client using wrong key file and added CA
Client: Perl

This closes #1189
2017-02-15 14:33:20 -05:00
James E. King, III
b28160b9c3 THRIFT-2364: use oasis to build thrift for ocaml
Client: OCaml
Patch: Spiros Eliopoulos <seliopou@gmail.com>

This closes #1193
2017-02-15 14:23:44 -05:00
James E. King, III
0a660ee285 THRIFT-4084: only join threads if joinable
Client: cpp
Patch: Chris Grebeldinger <cgrebeld@gmail.com>

This closes #1188
2017-02-13 18:25:56 -05:00
James E. King, III
b4c190b6ea THRIFT-4060 add better support in the cpp generator for custom ostream operators on structures
Client: C++

This closes #1172
2017-02-13 16:39:59 -05:00
James E. King, III
36628a28e9 THRIFT-3369 Provide SSL/TLS client for c_glib
Client: c_glib
Patch: Gonzalo Aguilar Delgado <gaguilar@level2crm.com>

This closes #1185
2017-02-13 15:25:41 -05:00
Nobuaki Sukegawa
e8ba7877ba THRIFT-4026 TSSLSocket doesn't work with Python < 2.7.9
This closes #1166
2017-02-12 21:14:48 +09:00
Nobuaki Sukegawa
4626fd889d THRIFT-3938 Python TNonblockingServer does not work with SSL
This closes #1100
2017-02-12 21:11:36 +09:00
James E. King, III
bff044667c THRIFT-4075: better support for headers-only boost with mingw
Client: C++

This closes #1184
2017-02-11 01:18:03 -05:00
James E. King, III
e1832c3543 THRIFT-3622: remove auto_ptr use in the codebase because it is deprecated
Client: C++

This closes #1183
2017-02-10 13:03:10 -05:00
Swati Kumar
3590f1e7ca THRIFT-4072 php: TCurlClient - Add the possibility to send custom headers
Client: php

This closes #1178
2017-02-09 15:12:47 -05:00
James E. King, III
9019b280ea THRIFT-4065 fix SIGCHLD handling for perl ForkingServer and document restrictions
Client: perl

This closes #1176
2017-02-08 20:53:09 -05:00