Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. ========= Compiling ========= You need Apache maven 3.0 or more, Java 7 or more (both Oracle and OpenJDKshould work). > mvn install and you are done ! Refer to the examples in the examples sub projet or the documentation at http://mina.apache.org for more details. ========= License ========= See the LICENCE file.
Apache MINA is a network application framework which helps users
Overview
Comments
-
[DIRMINA-1169] Fix unbinding a serverSocketChannel
Since Java 11, closing a ServerSocketChannel may release the socket only on the next select() call. If we try to register a new binding for an unbound socket before the next select, a BindException may be thrown.
Ensure that there is a select() call between unbinding some sockets and binding new sockets. Mark the unbind futures as "done" only after that intervening select().
Test plan:
- check out this PR
- replace NioSocketAcceptor by the 2.0.23 version
- run the SocketAcceptorTest on a JVM 11 (or newer). It should fail with a BindException.
- git reset --hard
- run the SocketAcceptorTest on a JVM 11 (or newer) again. It should pass.
Note that if SocketAcceptorTest is run on a JVM 8, it will succeed in either case.
-
Fixed IoBuffer.Pointer.setPosition to work in O(1) instead of O(n) in the common case
IoBuffer.Pointer.setPosition used to always iterate through the singly linked list starting from the very beginning. Here is a fix and a test to reproduce the issue.
There are also some other small refactorings and javadoc fixes (that IntelliJ IDEA's static analysis found - you should try running it also for the rest of the project).
P.S: org.apache.mina.codec.IoBuffer#mark is broken. I'll file an issue for that.
-
Bump protobuf-java from 2.5.0 to 3.16.3 in /protobuf
Bumps protobuf-java from 2.5.0 to 3.16.3.
Release notes
Sourced from protobuf-java's releases.
Protobuf Release v3.16.3
Java
- Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
- Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
- Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
- Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
- Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
- This release addresses a Security Advisory for Java users
Protocol Buffers v3.16.1
Java
- Improve performance characteristics of UnknownFieldSet parsing (#9371)
Protocol Buffers v3.16.0
C++
- Fix compiler warnings issue found in conformance_test_runner #8189 (#8190)
- Fix MinGW-w64 build issues. (#8286)
- [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#8296)
- Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
- Delete StringPiecePod (#8353)
- Fix gcc error: comparison of unsigned expression in '>= 0' is always … (#8309)
- Fix cmake install on iOS (#8301)
- Create a CMake option to control whether or not RTTI is enabled (#8347)
- Fix endian.h location on FreeBSD (#8351)
- Refactor util::Status (#8354)
- Make util::Status more similar to absl::Status (#8405)
- Fix -Wsuggest-destructor-override for generated C++ proto classes. (#8408)
- Refactor StatusOr and StringPiece (#8406)
- Refactor uint128 (#8416)
- The ::pb namespace is no longer exposed due to conflicts.
- Allow MessageDifferencer::TreatAsSet() (and friends) to override previous calls instead of crashing.
- Reduce the size of generated proto headers for protos with
string
orbytes
fields. - Move arena() operation on uncommon path to out-of-line routine
- For iterator-pair function parameter types, take both iterators by value.
- Code-space savings and perhaps some modest performance improvements in RepeatedPtrField.
- Eliminate nullptr check from every tag parse.
- Remove unused _$name$cached_byte_size fields.
- Serialize extension ranges together when not broken by a proto field in the middle.
- Do out-of-line allocation and deallocation of string object in ArenaString.
... (truncated)
Commits
b8c2488
Updating version.json and repo version numbers to: 16.342e47e5
Refactoring Java parsing (3.16.x) (#10668)98884a8
Merge pull request #10556 from deannagarcia/3.16.x450b648
Cherrypick ruby fixes for montereyb17bb39
Merge pull request #10548 from protocolbuffers/3.16.x-202209131829c18f5e7
Updating changelog6f4e817
Updating version.json and repo version numbers to: 16.2a7d4e94
Merge pull request #10547 from deannagarcia/3.16.x55815e4
Apply patch152d7bf
Update version.json with "lts": true (#10535)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
-
workaround for Reproducible Builds
XBean Spring produces non reproducible output, as seen when rebuilding Mina releases https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/mina/README.md
waiting for XBean to fix the issue, we can do a workaround: detect and remove the timestamp
then next Mina release will be fully Reproducible
-
Bump libthrift from 0.9.0 to 0.14.0 in /thrift
Bumps libthrift from 0.9.0 to 0.14.0.
Release notes
Sourced from libthrift's releases.
Version 0.14.0
For release 0.14.0 head over to the official release download source: http://thrift.apache.org/download
The assets below are added by Github based on the release tag and they may therefore not match the checkums.
Version 0.13.0
For release 0.13.0 head over to the official release download source: http://thrift.apache.org/download
The assets below are added by Github based on the release tag and they may therefore not match the checkums.
Version 0.12.0
Apache Thrift Release 0.12.0
Version 0.9.3.1
This release is a backport of the security fix for CVE-2018-1320 as documented in THRIFT-4506. The only code change is in Java, and a 0.9.3-1 package was released to Maven Central.
This is marked in GitHub as a pre-release so that it does not become the "latest" release.
Changelog
Sourced from libthrift's changelog.
0.14.0
Deprecated Languages
- THRIFT-5229 - Deprecate ActionScript 3 support
Removed Languages
- THRIFT-4980 - Remove deprecated C# and netcore bindings from the code base
- THRIFT-4981 - Remove deprecated netcore bindings from the code base
- THRIFT-4982 - Remove deprecated C# bindings from the code base
Breaking Changes
- THRIFT-4981 - Remove deprecated netcore bindings from the code base
- THRIFT-4982 - Remove deprecated csharp bindings from the code base
- THRIFT-4990 - Upgrade to .NET Core 3.1 (LTS)
- THRIFT-5006 - Implement DEFAULT_MAX_LENGTH at TFramedTransport
- THRIFT-5069 - In Go library TDeserializer.Transport is now typed *TMemoryBuffer instead of TTransport
- THRIFT-5072 - Haskell generator fails to distinguish between multiple enum types with conflicting enum identifiers
- THRIFT-5116 - Upgrade NodeJS to 10.x
- THRIFT-5138 - Swift generator does not escape keywords properly
- THRIFT-5164 - In Go library TProcessor interface now includes ProcessorMap and AddToProcessorMap functions.
- THRIFT-5186 - cpp: use all getaddrinfo() results when retrying failed bind() in T{Nonblocking,}ServerSocket
- THRIFT-5233 - go: Now all Read*, Write* and Skip functions in TProtocol accept context arg
- THRIFT-5152 - go: TSocket and TSSLSocket now have separated connect timeout and socket timeout
- c++: dropped support for Windows XP
- THRIFT-5326 - go: TException interface now has a new function: TExceptionType
- THRIFT-4914 - go: TClient.Call now returns ResponseMeta in addition to error
Known Open Issues (Blocker or Critical)
- THRIFT-3877 - C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
- THRIFT-5098 - Deprecated: "The high level Network interface is no longer supported. Please use Network.Socket." and other Haskell issues
- THRIFT-5245 - NPE when the value of map's key is null
- THRIFT-4687 - Add thrift 0.12.0 to pypi and/or enable more maintainers
Build Process
- THRIFT-4976 - Docker build: Test failure for
StalenessCheckTest
on MacOS - THRIFT-5087 - test/test.py fails with "AssertionError: Python 3.3 or later is required for proper operation."
- THRIFT-5097 - Incorrect THRIFT_VERSION in ThriftConfig.cmake
- THRIFT-5109 - Misc CMake improvements
- THRIFT-5147 - Add uninstall function
- THRIFT-5218 - Automated Github release artifacts do not match checksums provided
- THRIFT-5249 - travis-ci : Failed to run FastbinaryTest.py
C glib
- THRIFT-4873 - Memory leak in c_glib
... (truncated)
Commits
8411e18
Version 0.14.00be1b7d
Version 0.14.0705f377
Version 0.14.0ebfa771
THRIFT-5274: Enforce Java 8 compatibility518163a
Update README.mdde523c7
Updated CHANGES to reflect Version 0.14.07ae1ec3
THRIFT-5297: Improve TThreadPoolServer Handling of Incoming Connectionsebc2ab5
THRIFT-5345: Allow the ServerContext to be Unwrapped Programmatically55016bf
THRIFT-5343: TTlsSocketTransport does not resolve IPv4 addresses or validate ...4aaef75
THRIFT-5337 Go set fields write improvement- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
-
DIRMINA-1126 : filterWrite in ProtocolCodecFilter can send corrupted writeRequest message to the next filter
This change in 2.1.1 introduced new errors coming from clients that they can decode messages. More details in the task: https://issues.apache.org/jira/browse/DIRMINA-1126
A network core plugin for the Spigot which best Experience for Minecraft Servers.
tCore The core plugin for Spigot. (Supports 1.8.8<=) 大規模サーバー、ネットワーク等の中核となるプラグインです。プロトコルバージョン 1.8 未満での動作は確認していません。かなりの量のソースになりますが、様々な機能が実装されています。中身自体は過
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.
PROJECT STATUS: RETIRED The Simian Army project is no longer actively maintained. Some of the Simian Army functionality has been moved to other Netfli
Pcap editing and replay tools for *NIX and Windows - Users please download source from
Tcpreplay Tcpreplay is a suite of GPLv3 licensed utilities for UNIX (and Win32 under Cygwin) operating systems for editing and replaying network traff
A High Performance Network ( TCP/IP ) Library
Chronicle-Network About A High Performance Network library Purpose This library is designed to be lower latency and support higher throughputs by empl
Simulating shitty network connections so you can build better systems.
Comcast Testing distributed systems under hard failures like network partitions and instance termination is critical, but it's also important we test
Lunar Network SoupPvP gamemode replica
SoupPvP Lunar Network SoupPvP gamemode replica Disclaimer This is a work-in-progress, for that reason, a lot of features and essential parts of Lunar'
Magician is an asynchronous non-blocking network protocol analysis package, supports TCP, UDP protocol, built-in Http, WebSocket decoder
An asynchronous non-blocking network protocol analysis package Project Description Magician is an asynchronous non-blocking network protocol analysis
JNetcat : a tool to debug network issues or simulate servers
JNetcat A tool to easily debug or monitor traffic on TCP/UDP and simulate a server or client No need of telnet anymore to test for a remote connection
Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by your network
Intra Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by y
VelocityControl is a BungeeControl-fork plugin enabling ChatControl Red to connect with your Velocity network.
VelocityControl is a BungeeControl-fork plugin enabling ChatControl Red to connect with your Velocity network.
Apache Dubbo is a high-performance, java based, open source RPC framework.
Apache Dubbo Project Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit official site for quick start and document
A networking framework that evolves with your application
ServiceTalk ServiceTalk is a JVM network application framework with APIs tailored to specific protocols (e.g. HTTP/1.x, HTTP/2.x, etc…) and supports m
Experimental Netty-based Java 16 application/web framework
Experimental Netty-based application/web framework. An example application can be seen here. Should I use this? Probably not! It's still incredibly ea
Book Finder application is a client-server application (gRPC) for educational purposes.
Book-Finder Book Finder application is a client-server application (gRPC) for educational purposes. Instalation These projects (Client/Server) are Mav
Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later.
Socket.IO-client Java This is the Socket.IO Client Library for Java, which is simply ported from the JavaScript client. See also: Android chat demo en
BAIN Social is a Fully Decentralized Server/client system that utilizes Concepts pioneered by I2P, ToR, and PGP to create a system which bypasses singular hosts for data while keeping that data secure.
SYNOPSIS ---------------------------------------------------------------------------------------------------- Welcome to B.A.I.N - Barren's A.I. Natio
A simple minecraft mod for 1.12.2 which logs sent and received packets.
Packet-Logger A simple minecraft mod for 1.12.2 which logs sent and received packets. Usage You must have Forge 1.12.2 installed. Download the jar fro
A simple Discord bot, which shows the server status of the Lost Ark server Beatrice
Beatrice A simple Discord bot, which shows the server status of the Lost Ark server Beatrice. Example Usage Clone the repository. Edit the property fi
Apache Thrift is a lightweight, language-independent software stack for point-to-point RPC implementation
Apache Thrift Introduction Thrift is a lightweight, language-independent software stack for point-to-point RPC implementation. Thrift provides clean a