From 3d74a0cb68084237e4ddb66e32660b8f6808a7a5 Mon Sep 17 00:00:00 2001 From: mkhan Date: Fri, 4 Aug 2017 10:47:42 +1000 Subject: [PATCH] more updates --- CHANGELOG.md | 124 ++++++--------------------------------------- CREDITS.md | 3 -- LICENCE => LICENSE | 1 + README.md | 41 ++++++++++++++- src/README.md | 9 ---- 5 files changed, 57 insertions(+), 121 deletions(-) rename LICENCE => LICENSE (95%) delete mode 100644 src/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index c775d85..da4cd5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,116 +1,48 @@ # Change Log ## [1.0.0-beta.14] - 03-08-2017 -### Library Changes +### Fixes - Fixed issue with logging DEBUG when built with Release build (use Easylogging++ v9.95.0+) + +### Added - Use of `CHECK_TOKENS` server flag to reduce overhead of pulling token when not needed - Ability to re-estabilish connection if disconnected from remote -- Increased `TOUCH_THRESHOLD` to 2 minutes - -## [1.0.0-beta.13] - 02-08-2017 -### Updated -- Removed `allow_pinging_dead_client` config -- New configs `timestamp_validity` and `requires_timestamp` ### Changed -- Changed `authorize_loggers_with_no_access_code` to `allow_default_access_code` +- Increased `TOUCH_THRESHOLD` to 2 minutes +## [1.0.0-beta.13] - 02-08-2017 ### Fixed -- Healing the connection will respond with flags and other connection response items -- Fixed release build - -### Library Changes - Fixed compression flag + +### Added - Internal logging level helper enum class ## [1.0.0-beta.12] - 27-07-2017 ### Added -- Ability to specify key size for each client -- Added `max_token_age` configuration - -### Updated -- Performance update for I/O operation on public key -- Default token age for known loggers is now value of global `token_age` configuration -- `server_rsa_secret` should be hex-encoded value now - -### Library Changes - Ability to set internal logging level via configuration using `internal_logging_level` -- Fixed issue with pinging client when client_age < 60 - -## [1.0.0-beta.11] - 22-07-2017 -### Library Changes -- Provide RSA key secret with `secret_key` - -### Fixes -- Fixed issue with plain connection - -## [1.0.0-beta.10] - 21-07-2017 -### Added -- New configuration `known_clients_endpoint` and `known_loggers_endpoint` ### Fixed -- Issue with clean start and reloading configuration fixed - -## [1.0.0-beta.9] - 16-07-2017 -### Added -- Loggers map for `known_clients` - -### Changes -- Changed `CHECK_LOGGING_FILE` to support searching by multiple logging levels and by `client_id` -- Removed references for `max_file_size` as we do not need it because of log rotation. - -### Library Changes -- Doc fix for `setKeySize` - -## [1.0.0-beta.8] - 15-07-2017 -### Added -- New admin request `CHECK_LOGGING_FILE` to get known logger file for specified level - -### Fixes -- Issue with timestamp validation check when timestamp is newer than date received - -### Changes -- Changed licence to Apache 2.0 - -## [1.0.0-beta.7] - 14-07-2017 -### Fixes -- Fix logging failure issue from some client libraries -- Build with `g++-5` - -## [1.0.0-beta.6] - 13-07-2017 -### Fixes -- Prevent replay attack using `_t` request item -- Some inaccessible variables issue fixes +- Fixed issue with pinging client when client_age < 60 -## [1.0.0-beta.5] - 12-07-2017 +## [1.0.0-beta.11] - 22-07-2017 ### Added -- `accept_input` configuration +- Provide RSA key secret with `secret_key` ## [1.0.0-beta.4] - 07-07-2017 -### Library Changes +### Fixed - Fixed dead lock on `reset()` -### Added -- Fixed admin request handler and decryption -- Ability to save configuration -- Ability to add and remove known clients using admin requests -- Ability to reset the server using CLI -- Ability to reset the server using admin request - ## [1.0.0-beta.3] - 09-05-2017 -### Library Changes +### Fixed - Fixed issue with failing to connect to token and/or logging server. Now throws exception - Error text on failure - Fixed exception throwing in `connect()` - Fixed issue with re-connecting broken socket -### Changes -- Fixed typo in documentation - ## [1.0.0-beta.2] - 20-04-2017 -### Library Changes +### Added - Ability to specify server public key -- By default `AutoBulkParams` is now enabled - Added `Residue::setThreadName` (wrapper for `el::Helpers::setThreadName`) - Added `Residue::setInternalLoggingLevel` for internal logging - Added `Residue::setApplicationArgs` (wrapper for `START_EASYLOGGINGPP`) @@ -120,39 +52,15 @@ - Added `Residue::enableCrashHandler` - Added JSON configuration helper `Residue::loadConfiguration` -### Added -- Ignore interrupt signal with message to use `quit` command -- Quarter and year units for log rotation -- Added `default_key_size` configuration - -### Fixed -- Log successful with dead client #24 -- Resetting connection deadlock #25 -- [api] Obtain token and pinging fails #26 -- [api] Fixed issue with `disconnect()` and `connect()` again -- Dead lock on client integrity task -- Added mutex for session join/leave to prevent race-condition and crash - ### Changes -- Removed `DISCONNECT` and `SAFE_DISCONNECT` connection types -- Moved node client to separate repo -- Known client ID can only be alpha-numeric with few exceptional symbols +- By default `AutoBulkParams` is now enabled ## [1.0.0-beta] - 31-03-2017 ### Added -- Send server flags with final connection #14 -- Support sending plain log requests in lib #13 -- Code refactor #4 -- Support compression #19 -- Compression for archived log files should be async process #2 -- New helper `enableAutoBulkParams` to support auto setting bulk parameters -- Implement archived log compression #1 - -### Changes -- Ignore archiving empty log files #20 +- Support sending plain log requests in lib ### Fixed -- Issue with dead client and resetting connection caused issue with dispatcher thread in client lib #22 +- Issue with dead client and resetting connection caused issue with dispatcher thread in client lib ## [1.0.0-alpha] - 19-03-2017 ### Added diff --git a/CREDITS.md b/CREDITS.md index 1020fa5..3e4b2b0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -118,6 +118,3 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ``` -## `Tar.cc` and `Tar.h` -Code was originally written by @lindenb (github) and did not have any associated licence with it. It was changed to suit our needs - diff --git a/LICENCE b/LICENSE similarity index 95% rename from LICENCE rename to LICENSE index a05b5d1..1d65b3a 100644 --- a/LICENCE +++ b/LICENSE @@ -2,6 +2,7 @@ Copyright 2017 Muflihun Labs https://github.com/muflihun/ https://muflihun.com +https://muflihun.github.io Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index f30ec4d..1ced1cf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,45 @@ ‫بسم الله الرَّحْمَنِ الرَّحِيمِ # Residue C++ Client +Official C++ client library with feature-rich API to interact with residue seamlessly. It uses [Easylogging++](https://github.com/muflihun/easyloggingpp) to interact and take input from the user. Easylogging++ is highly efficient, well-tested library. -[We are working on separating c++ client library from the server repository] +It is developed separately because of different license +[![Build Status](https://img.shields.io/travis/muflihun/residue-cpp/master.svg)](https://travis-ci.org/muflihun/residue-cpp) (`master`) + +[![Build Status](https://img.shields.io/travis/muflihun/residue-cpp/develop.svg)](https://travis-ci.org/muflihun/residue-cpp) (`develop`) + +[![Version](https://img.shields.io/github/release/muflihun/residue.svg)](https://github.com/muflihun/residue/releases/latest) + +[![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](https://muflihun.github.io/residue) + +[![GitHub license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/muflihun/residue-cpp/blob/master/LICENCE) + +[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/MuflihunDotCom/25) + +## Getting Started +This library is based on single source file. It automatically includes `` header and expect it to be available on developer's system. Please refer to [documentation page](https://muflihun.github.io/residue/docs/class_residue.html) to check the API. + +Please refer to [samples directory](/samples/) to get started + +## License + +``` +Copyright 2017 Muflihun Labs + +https://github.com/muflihun/ +https://muflihun.github.io +https://muflihun.com + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +``` \ No newline at end of file diff --git a/src/README.md b/src/README.md deleted file mode 100644 index 12ced1e..0000000 --- a/src/README.md +++ /dev/null @@ -1,9 +0,0 @@ - ‫بسم الله الرَّحْمَنِ الرَّحِيمِ - -# Libraries -This directory contains official client library for C++ applications. - -You can integrate residue with your C++ application using C++ client library built alongside with the server. For API and documentation please refer to [CLIENT_API.md](/docs/CLIENT_API.md) - -## Other Languages -Our aim is to support as many languages as possible. Please [search](https://github.com/search?utf8=%E2%9C%93&q=org%3Amuflihun+residue-&type=) github for language of your choice. If you can't find it, please feel free to [write it](/docs/CLIENT_DEVELOPMENT.md)