8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-29 06:43:03 +01:00
Commit Graph

1641 Commits

Author SHA1 Message Date
hvlad
7efe280e11 Fixed bug CORE-5911 : Connection could hung after no activity for 60 seconds 2018-09-18 22:34:27 +03:00
Alex Peshkoff
5522550eb7 Cleanup 2018-09-12 18:09:15 +03:00
Alex Peshkoff
459a2ae056 Comment 2018-09-12 16:09:18 +03:00
Alex Peshkoff
dc06a58a1a Fixed CORE-5860: Support auth_plugin_list dpb/spb item from application to client 2018-08-28 18:43:41 +03:00
hvlad
e5bbfadb2f This should fix a bug CORE-5902 : Add Firebird Event fails with error "While isc_que_events - Failed to establish a secondary connection for event processing." 2018-08-27 01:00:23 +03:00
hvlad
42ec33f1e8 Avoid race condition in cancel_operation() when client connection breaks immediately after op_detach.
Alex, please review.
2018-08-26 23:23:35 +03:00
Alex Peshkoff
87c306e966 Fixed CORE-5900: Banned during engine shutdown threads cause unwanted delays when shutting server 2018-08-22 19:15:08 +03:00
Alex Peshkoff
7a6c06a50b Minor changes in memory leaks debugging code 2018-08-22 16:29:36 +03:00
Alex Peshkoff
e5b0930d15 Postfix for CORE-5808: fixed code as suggested by Adriano 2018-08-06 14:20:10 +03:00
Adriano dos Santos Fernandes
a3e24613e8 Misc. 2018-08-05 22:39:28 -03:00
Alex Peshkoff
71b63156b1 Implemented CORE-5883: Services version 1 cleanup 2018-08-01 18:22:56 +03:00
Alex Peshkoff
9493802c1c Comment 2018-07-30 19:29:15 +03:00
Alex Peshkoff
7a7367e1a4 Fixed CORE-5881: Network server ignores any error that took place in KeyHolderPlugin when establishing initial callback with client 2018-07-30 14:08:44 +03:00
Adriano dos Santos Fernandes
ad720b6305 Fix code style and some warnings in Windows build. 2018-07-24 12:42:38 -03:00
Adriano dos Santos Fernandes
2a46f5023f Fix some compiler warnings (clang). 2018-07-09 14:19:20 -03:00
Alex Peshkoff
09e4678717 Fixed a number of memory leaks related with batch interface 2018-07-05 17:00:03 +03:00
Alex Peshkoff
69395df6e9 Fixed exception handling in wire crypt code - thanks to Vlad 2018-07-02 11:36:00 +03:00
hvlad
ca0c2823c3 Fixed usage of rem_port states.
Fixed potential crash in wnet\xnet code (see fix for CORE-5863).
2018-07-01 18:09:53 +03:00
hvlad
bdb7942a52 This should fix bug CORE-5863 : Classic process crashes when client disconnected 2018-07-01 17:57:42 +03:00
AlexPeshkoff
7de1b2ac9b Fixed CORE-5822: Wrong error returned to client when WireCrypt=Disabled is used 2018-05-10 15:59:01 +03:00
AlexPeshkoff
6863601af6 Fixed CORE-5815: Server hangs for 60/120 seconds if client exits during database encryption key transfer callback 2018-05-04 21:13:45 +03:00
AlexPeshkoff
0bf40a8453 Comments 2018-04-11 20:43:06 +03:00
Adriano dos Santos Fernandes
7f044bccf9 Misc. 2018-04-05 12:41:40 -03:00
Artyom Smirnov
d63ac10b21 If guard starts in daemon mode then close all fds to properly daemonize (#152)
Also in server detect if stdout/stderr fds were closed by guard and reopen
with redirecting to file or /dev/null
2018-03-28 18:57:23 +03:00
3bdee64445 Add inet6 protocol support for MacOS 2018-03-22 13:57:18 +02:00
Artyom Smirnov
21b42b2e8f Allow to redirect server's stdout and stderr to file (#143)
Before these changes guardian and server binary closed
stdin/stdout/stderr/... and server can reuse those
descriptors when opening files or using shmem for
example. So some stray stdout can introduce
unwanted data or even crash server. Server do not
emit any stdout/stderr in release build but
UDRs or external libraries can print to stdout.

After these changes stdout/stderr will be kept opened
and user have options to redirect it to /dev/null (by default)
or other file by choise or just allow server to print.

New config option OutputRedirectionFile was introduced to
allow user control server behavior.
2018-03-21 14:47:20 +03:00
AlexPeshkoff
e5ec4f534b Fixed CORE-5780: Server hangs when client tries to send too long DB encryption key(s) 2018-03-19 18:17:22 +03:00
hvlad
ccfea1c192 Avoid GetThreadId() which is not present in WinXP (see CORE-5772) 2018-03-19 09:54:01 +02:00
AlexPeshkoff
42dd67631d Postfix for CORE-5772 2018-03-15 15:59:52 +03:00
AlexPeshkoff
44c6463d07 Fixed CORE-5772: Client hangs when working with events under high load 2018-03-15 14:44:35 +03:00
AlexPeshkoff
1888eab6f3 Fixed CORE-5757: deadlock with events 2018-02-25 20:06:33 +03:00
Alexander Peshkov
a6d57fc4d8
Gbak (#139)
* Rewritten gbak using OO API
* Make gbak correctly work with wide records (if record format to be made > 64K)
* Improve gbak performance over network using batch interface
* Enhanced template AutoPtr to make use of it more comfortable
2018-02-19 13:38:28 +03:00
Adriano dos Santos Fernandes
bee3105b47 Revert wrong push (branch gbak) to master. 2018-02-16 15:42:41 -02:00
AlexPeshkoff
520a28fc19 Improve gbak performance over network using batch interface 2018-02-16 13:06:16 -02:00
AlexPeshkoff
54607bbce4 Build gbak using OO API 2018-02-16 13:06:16 -02:00
AlexPeshkoff
a372f319f6 Fixed CORE-5700: DECFLOAT underflow should yield zero instead of an error 2018-02-02 21:56:43 +03:00
AlexPeshkoff
a8473b0ee3 Frontported CORE-5735: Additional keyholder opens unauthorized connections to encrypted database 2018-02-01 18:10:09 +03:00
AlexPeshkoff
f863205cfe Fixed CORE-5730: Connection to server hangs when working with encrypted databases 2018-01-29 19:07:13 +03:00
Adriano dos Santos Fernandes
bfcc37e7eb Misc. 2018-01-01 12:38:34 -02:00
hvlad
f5fe33bf61 Allow XNET server to detect forced disconnect of XNET client when both client and server are at the same process. 2017-12-27 11:57:45 +02:00
hvlad
39c42c882e Avoid releasing of port reference - it prevents AV in client code. 2017-12-27 11:57:02 +02:00
hvlad
5f896e859b It should fix bug CORE-5685 : Sometime it is impossible to cancel\kill connection executing external query.
Also, implement fb_cancel_abort option at engine and unify handling of network errors a bit.
2017-12-27 11:56:05 +02:00
AlexPeshkoff
f8631ec5c8 Fixed CORE-5686: Firebird 3.0.2 allows any protocol version >= 10 to connect, including interbase protocol 14 2017-12-21 13:15:45 +03:00
044edb7068 Changed a lot of isc_random messages to new gds codes 2017-11-10 20:13:05 +03:00
Roman Simakov
9450d22f1d Simplified TCP_NODELAY setting by the same way for all platforms 2017-11-07 15:36:11 +03:00
Adriano dos Santos Fernandes
f141247dac Misc. 2017-11-05 22:22:00 -02:00
Roman Simakov
b31e373f7b CORE-5653: Very slow restore from gbak containing a huge small blobs via classic. I set TCP_NODELAY for listen socket in Linux always sinse other sockets inherit it. 2017-11-03 15:03:40 +03:00
Alexander Peshkov
f53c23c17a New interface Batch helping to efficiently implement JDBC prepared statement batches (#99)
Batch interface implementation
2017-10-23 17:10:49 +03:00
6198bc8ee1 High precision datatype support - Numeric(34,x) (#108)
* Raise underflow when close to 0 decfloat value casted to double
* High precision NUMERIC datatype based on DECFLOAT
* Fixed bulk insert mode in isql for decfloat values
* Enforce correct decQuad format after arithmetic operations
* Minimum docs for high precision NUMERIC/DECIMAL

* Some fixes of code suggested by Adriano:
- Use "const" keyword for Decimal128 constants declared internally
- Remove unneeded buffer initialization
- Remove unused function makeDecimalFixed()
- Follow firebird naming conventions to make code better readable and avoid possible conflicts with various .h files
- Added forgotten scale for DecimalFixed
2017-10-03 17:06:08 +03:00
ca6e9dc7fc Simplify code as suggested by Dmitry 2017-08-30 13:55:58 +03:00
ec9e4ac4e4 Postfix for CORE-5536 2017-08-15 15:57:24 +03:00
4e4be00b7d Implemented CORE-5536: Connections compressed and encrypted in MON$ATTACHMENTS table. Also added fb_info_conn_flags item to getInfo() call to return connection flags. 2017-08-14 20:16:59 +03:00
16649d488f Implemented CORE-5525: Create new datatype that will be used a base type for high precision NUMERIC 2017-04-21 18:58:31 +03:00
hvlad
de09fa3fcb This should fix bug CORE-5516 : Firebird service crashes when stopping 2017-04-17 01:42:45 +03:00
hvlad
368c552767 This should fix race condition when two different events could use same instance of unused Rvnt.
Details at fb-devel, thread "Concurrency bugs in posting events?" by Mark Rotteveel.
Thanks to Adriano for discovering issue.
2017-04-11 01:41:53 +03:00
1b8b7d37f5 Enhanced support of decimal float numbers in the client: use better names for SQL_ constants, added interfaces supporting access to decimal float fields in native format, use them in isql instead direct library access, added decimal float support in messages and a sample of it 2017-04-04 13:00:27 +03:00
hvlad
de191b78f9 Fixed bug CORE-5416 : FB does not release memory after load tests 2017-04-03 23:58:51 +03:00
f995ed4408 Merges changes from master 2017-04-02 19:12:18 +03:00
Roman Simakov
e18a30b433 Small correction suggested by Vlad 2017-03-27 13:38:46 +03:00
Roman Simakov
d87c731c78 Fixed CORE-5510: 3+ versions may send status vector with more then 20 items to old clients and cause disconnect 2017-03-27 11:09:17 +03:00
hvlad
9f7e241832 Fixed bug CORE-5508 : Problem with establishing connect using client 3.0.2.32708 to server 4.0.0.572 2017-03-24 10:16:09 +02:00
hvlad
d9e1ab6e28 Comments and definition to better explain recent fix for CORE-5498 2017-03-14 17:58:54 +02:00
hvlad
6780df6271 Fixed bug CORE-5498 : Cannot create connection for DB Events 2017-03-13 18:39:21 +02:00
bc997cf481 Misc - better var. names 2017-03-09 11:50:35 +03:00
Adriano dos Santos Fernandes
6b06320fdc Misc. 2017-03-09 00:49:23 -03:00
hvlad
2c49e6fcf2 New feature CORE-5488 : Timeouts for running SQL statements and idle connections 2017-02-22 14:30:57 +02:00
028248b194 Merged changes from master branch 2017-02-16 17:56:23 +03:00
4da3997b49 Fixed CORE-5472: Problems with dbcrypt key transfer 2017-01-31 17:38:53 +03:00
Adriano dos Santos Fernandes
cae7bdd658 Misc. 2017-01-15 12:53:50 -02:00
hvlad
6edb5af515 Improvement CORE-4563 : Add support for Windows 8/2012 fast/low-latency "TCP Loopback Fast Path" functionality 2017-01-07 12:16:23 +02:00
5aede150e3 Decimal floating point numbers - first draft 2016-11-11 17:59:55 +03:00
Adriano dos Santos Fernandes
937cb8dafd Misc. 2016-10-07 11:09:43 -03:00
d8d373435d Fixed CORE-5347: Races when initializing wire compression 2016-09-05 18:14:42 +03:00
182c172f4d Minor enhancements in debug output for wire compress 2016-08-24 13:28:27 +03:00
Jiri {x2} Cincura
a264b4ece0 Correct 'flush' spelling. 2016-08-23 08:28:51 +02:00
523882b980 Fixed CORE-5335: Segfault in remote server 2016-08-19 14:53:18 +03:00
ee105ddfe6 Fixed CORE-5294: Memory leak when use SHOW GRANTS on new empty database (3.0.1 & 4.0; SS & SC), also updated internal memleaks search tool 2016-07-05 15:04:27 +03:00
056164ab95 Fixed CORE-5296: Error in network protocol when performing callback to client for database crypt key 2016-06-29 13:41:03 +03:00
Dmitry Starodubov
6347882209 Simplified passing variables to sub-make. Move functions from "fb_io" namespace to "os_utils" (#30) 2016-05-30 17:50:02 +03:00
Dmitry Starodubov
c3722be6de Added LSB compliance (#28) 2016-05-25 15:14:01 +03:00
Adriano dos Santos Fernandes
c31769c46a Fixed problems reported by PVS-Studio - http://www.viva64.com/en/b/0396/ 2016-05-11 13:16:24 -03:00
Adriano dos Santos Fernandes
82b18b30f2 Misc. 2016-05-08 23:05:39 -03:00
Michal Kubecek
13aa5420f2 Allow to enforce IPv4 or IPv6 in URL-like connection string. 2016-05-04 21:38:36 +02:00
hvlad
3c80ce03c2 Fixed bug CORE-5120 : Firebird 3.0 + fbclient 3.0 - POST_EVENT won't work 2016-04-26 19:01:30 +03:00
hvlad
9ae426a757 Please MSVC14:
-add space before XXXFORMAT macros to not confuse it with user-defined literals

-use existing snprintf

This should fix part of the issues at CORE-5099 and CORE-5120
2016-03-17 12:33:26 +02:00
hvlad
7f73f02d80 Fixed "bug" CORE-5139 : mistake in comment "can't ise MutexLockGuard here" 2016-03-15 10:42:03 +00:00
alexpeshkoff
926e3d903e Fixed some asserts and segfaults in crypto manager
Disable simultaneous nbackup & encrypt/decrypt operation
2016-02-26 12:55:34 +00:00
alexpeshkoff
eacbf41269 Fixed CORE-5082: Server does not validate correctness of user/password pair provided in EXECUTE STATEMENT operator 2016-01-24 17:58:28 +00:00
alexpeshkoff
315332944b Use correct error code 2016-01-24 17:53:12 +00:00
asfernandes
052af7edd4 Misc. 2016-01-17 01:46:26 +00:00
hvlad
737b5f81ac IPv6 address could contain percent sign inside, therefore make sure error string not used as vfprintf format string by gds__log().
See also comments at CORE-2493.
2016-01-13 09:35:23 +00:00
hvlad
9e5c39acac Addition to the patch for CORE-2493.
Always ask for numeric form of service name
2016-01-11 13:46:41 +00:00
hvlad
2820ede430 Improvement CORE-2493 : Append the IP address of the remote host to error messages in firebird.log for TCP connections 2016-01-10 14:20:47 +00:00
alexpeshkoff
0558b970fe Fixed CORE-5047: mapUser() routine establish secondary attach using wrong provider 2015-12-29 14:39:00 +00:00
robocop
539fd4d80e Misc. 2015-12-25 01:08:17 +00:00
alexpeshkoff
df2fb331cf Fixed CORE-4964: Real errors during connect to security database are hidden by Srp user manager. Errors should be logged no matter what AuthServer is used. (taking into an account Sean's request re. special error for system-related problems) 2015-12-22 17:53:30 +00:00
alexpeshkoff
fde2d8fe85 Postfix for CORE-5032: error handling was broken, therefore checked for invalid error code 2015-12-17 15:14:51 +00:00
hvlad
f9d5a233e5 Let XNET client returns correct isc_network_error in case of not running XNET server.
Before it returns isc_unavailable and fools y-valve.
2015-12-17 11:28:52 +00:00
alexpeshkoff
3c3dbf657b Fixed CORE-5032: Cannot connect to a database which have own security database without security3.fdb 2015-12-16 17:12:53 +00:00
asfernandes
35dc963ebd Misc. 2015-12-06 22:49:24 +00:00
hvlad
12e47cc087 Avoid reporting of "SERVER/process_packet: broken port, server exiting" message for already detached port (affects CS only) 2015-11-23 16:08:38 +00:00
hvlad
14fb40a597 Refactor xnet module to separate client and server parts (endpoints).
It fixed bug CORE-5029 : AV in fbclient when multi-threaded application uses XNET protocol
and allows in the future to implement client ability to specify target server endpoint name 
at connection level (currently it is set in firebird.conf).
2015-11-23 16:06:10 +00:00
asfernandes
313bff3a8f Misc. 2015-11-20 00:33:06 +00:00
asfernandes
e757290c05 Fix bad indentation. 2015-11-20 00:25:32 +00:00
asfernandes
85cae875bf Misc. 2015-11-18 01:10:08 +00:00
alexpeshkoff
0642e9615e Fixed CORE-5017: Interrupt of aux connection during TCP setup phase causes server exit due to unhandled exception 2015-11-15 11:57:39 +00:00
alexpeshkoff
d395ac11eb Postfix for CORE-5014: not good to disconnject same port twice, looks like I and Vlad tried to fix same bug simultaneously 2015-11-13 12:45:32 +00:00
hvlad
9d6b93176c Fixed bug CORE-5015 : AV in engine could happen when ON DISCONNECT trigger posted event 2015-11-12 14:13:33 +00:00
alexpeshkoff
b8f65ccad4 Fixed CORE-5014: Interrupt of aux connection during TCP setup phase causes unclear error messages in firebird.log 2015-11-12 13:43:38 +00:00
hvlad
d0768b2664 Fixed bug CORE-4998 : Both client and server could not close connection after failed authentification 2015-11-09 13:26:52 +00:00
alexpeshkoff
a61fbdfd77 Fixed bug related with IntlParametersBlock noticed by Mark Rotteveel 2015-10-26 15:04:45 +00:00
hvlad
ed727453fa Avoid send over closing socket (it put errors 10058 (WSAESHUTDOWN) in firebird.log) 2015-10-25 13:48:20 +00:00
hvlad
7f5408d8b3 Revert some of my recent changes in socket closing sequence as it causes delays client side on Linux.
It also should fix CORE-4977 : Detach of 3.x database from 3.x Linux client takes much longer than from 3.x Windows client
2015-10-25 13:45:10 +00:00
robocop
1cbaeb9b13 Misc. 2015-10-23 02:50:36 +00:00
hvlad
22daf59b41 It should fix TCS issue with events reported privately by Alex 2015-10-22 10:15:22 +00:00
hvlad
f48a07e4bd Fixed logging WSAEINTR error on shutdown of Classic listener process (Windows-specific).
Error looks like
	INET_connect
	Unable to complete network request to host ...
	Failed to establish a connection.
	A blocking operation was interrupted by a call to WSACancelBlockingCall.
2015-10-19 14:55:09 +00:00
asfernandes
9c334ca1bd Misc. 2015-10-18 01:30:28 +00:00
hvlad
fc4063fa16 Fixed few issues in event's handling code which could lead to AV (CORE-4680).
Fixed few small memory leaks.
2015-10-16 15:30:19 +00:00
hvlad
4068a225b4 Implemented delayed closing of server sockets - it should fix server hang up (see CORE-4680).
Fixed socket disconnect handling to allow graceful shutdown of network connection and avoid a lot of network errors in firebird.log (mostly 10053\10054).
Misc changes.
2015-10-16 15:28:51 +00:00
alexpeshkoff
139331c7e3 Enhanced memory leaks search - changed FB_NEW to FB_NEW_POOL,
plain new to FB_NEW, making allocated with it blocks tagged with file/line.
Make related code slightly better readable.
2015-10-12 14:26:00 +00:00
hvlad
bb93ae8f2a Fixed small memory leak (happens on every auth request) 2015-10-11 08:58:18 +00:00
asfernandes
eb4a6c620c Fix debug code. 2015-10-09 14:47:52 +00:00
alexpeshkoff
2a53f5c9c5 op_crypt is not used here - avoid never executed code 2015-10-07 16:59:49 +00:00
hvlad
2ab15d1e5f It should fix deadlock in fbclient (see CORE-4680).
Thanks to Alex.
2015-10-05 12:59:29 +00:00
alexpeshkoff
8400f91796 Better statrtup error diags 2015-07-26 18:09:59 +00:00
dimitr
1776ee04ab This should fix CORE-4872: v3 fbclient cannot work with servers older than v2.5 via the remote protocol. 2015-07-15 12:07:25 +00:00
hvlad
8ccbb7fecf Windows-specific part for CORE-4871 2015-07-15 10:42:15 +00:00
alexpeshkoff
5376c0ed83 Do not use ancient "Connection lost to pipe server" message in local connections 2015-07-13 12:47:35 +00:00
alexpeshkoff
e420019cd4 Fixed CORE-4871: Merge SharedDatabase/SharedCache into single parameter ServerMode, affecting the way how server is started 2015-07-10 13:41:10 +00:00
alexpeshkoff
79541f7684 Fixed CORE-4854: Client library incorrectly handles non-UTF8 representation of international characters in SPB 2015-07-02 15:44:45 +00:00
alexpeshkoff
b692e85f56 Implemented CORE-4851: Apply methods, used for cross security database authentication, to the trace 2015-06-30 16:01:10 +00:00
asfernandes
e9ccc80f8c Misc. 2015-06-13 19:00:28 +00:00
alexpeshkoff
1b6632ac8b Fixed CORE-4811: Make user names behave according to SQL identifiers rules 2015-06-03 13:57:18 +00:00
dimitr
d72929c6e9 Restore the pre-v3 prefetch performance. 2015-06-02 10:44:34 +00:00
asfernandes
d58f343b2f Misc. 2015-05-31 23:38:17 +00:00
alexpeshkoff
488101c26d Fixed CORE-4756: Firebird 3 events broken 2015-05-15 16:11:34 +00:00
alexpeshkoff
28025c6c1c Fixed CORE-4788: Superclassic server hangs when receiving network packet 2015-05-12 12:17:24 +00:00
alexpeshkoff
1351b1107c Postfix for CORE-4760: it was bad idea to call upper() method for UTF string 2015-05-06 13:47:27 +00:00
alexpeshkoff
0ac40f77be Fixed CORE-4760: Can not create user with non-ascii (multi-byte) characters in the name 2015-04-30 13:44:43 +00:00
asfernandes
f1fa572e32 Warning. 2015-04-16 14:50:48 +00:00
asfernandes
f5a4ab8ab1 Misc. 2015-04-08 15:08:21 +00:00
egorpugin
44867c0dbb [build] [cmake] Add more cloop dependencies. 2015-04-07 10:29:14 +00:00
alexpeshkoff
8b7501f136 Added check for SOCK_CLOEXEC 2015-03-30 11:12:27 +00:00
alexpeshkoff
7adbe5a75a Use better flag name for sockets 2015-03-30 09:34:20 +00:00
asfernandes
336456d140 Misc. 2015-03-28 00:36:04 +00:00
alexpeshkoff
16768b177d Be more consistent putting IStatus into fast inline wrapper. Also some syntax sugar as suggested by Dmitry 2015-03-27 17:51:19 +00:00
hvlad
aeeca2812f Fixed Windows build 2015-03-27 15:41:36 +00:00
alexpeshkoff
e7663b6bc0 Use status interface instead plain status vector when working with exceptions.
Avoid use of circullar allocation for strings in status vector (except when unavoidable for ISC API backward compatibility).
Use TLS for circullar allocation buffer instead manually working with threads' list.
2015-03-27 14:36:30 +00:00
alexpeshkoff
6859f8a37d Cleanup 2015-03-23 15:52:30 +00:00
robocop
220446675b Misc. 2015-03-23 04:29:37 +00:00