-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #15 from jeremydumais/version_1_1_5
Version 1 1 5
- Loading branch information
Showing
70 changed files
with
5,615 additions
and
3,577 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
name: build | ||
|
||
on: [push] | ||
|
||
env: | ||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | ||
BUILD_TYPE: Release | ||
|
||
jobs: | ||
build: | ||
# The CMake configure and build commands are platform agnostic and should work equally | ||
# well on Windows or Mac. You can convert this to a matrix build if you need | ||
# cross-platform coverage. | ||
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
|
||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
# Install OS specific dependencies | ||
- name: Install Windows dependencies | ||
if: matrix.os == 'windows-latest' | ||
run: | | ||
choco install openssl | ||
refreshenv | ||
- name: Create Build Environment | ||
# Some projects don't allow in-source building, so create a separate build directory | ||
# We'll use this as our working directory for all subsequent commands | ||
run: cmake -E make_directory ${{runner.workspace}}/build | ||
|
||
- name: Configure CMake (Ubuntu) | ||
# Use a bash shell so we can use the same syntax for environment variable | ||
# access regardless of the host operating system | ||
shell: bash | ||
if: matrix.os == 'ubuntu-latest' | ||
working-directory: ${{runner.workspace}}/build | ||
# Note the current convention is to use the -S and -B options here to specify source | ||
# and build directories, but this is only available with CMake 3.13 and higher. | ||
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12 | ||
run: | | ||
source ~/.profile | ||
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=ON | ||
- name: Configure CMake (Windows) | ||
# Use a bash shell so we can use the same syntax for environment variable | ||
# access regardless of the host operating system | ||
shell: bash | ||
if: matrix.os == 'windows-latest' | ||
working-directory: ${{runner.workspace}}/build | ||
# Note the current convention is to use the -S and -B options here to specify source | ||
# and build directories, but this is only available with CMake 3.13 and higher. | ||
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12 | ||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_TESTING=ON -DOPENSSL_INCLUDE_DIRECTORY="C:/Program Files/OpenSSL-Win64/include" -DOPENSSL_LIBRARY_DIRECTORY="C:/Program Files/OpenSSL-Win64/lib/VC" -DOPENSSL_LIBRARIES_BY_MACHINE_TYPE="libssl64MD;libcrypto64MD" | ||
|
||
- name: Build | ||
working-directory: ${{runner.workspace}}/build | ||
shell: bash | ||
# Exeute the build. You can specify a specific target with "--target <NAME>" | ||
run: cmake --build . --config $BUILD_TYPE | ||
|
||
- name: Test | ||
working-directory: ${{runner.workspace}}/build | ||
shell: bash | ||
# Execute tests defined by the CMake configuration. | ||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | ||
run: ctest -C $BUILD_TYPE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,107 @@ | ||
# Changelog | ||
# Changelo | ||
|
||
All notable changes to this project will be documented in this file | ||
|
||
## [1.1.5] | ||
|
||
### Added | ||
|
||
- Added OpenSSL variables in CMakeLists to be able to specify include, | ||
library path and library files. | ||
- A set of new classes has been added to the jed_utils::cpp namespace | ||
to provide a pure C++ way to consume the library. This is the new | ||
standard from version 1.1.5. See the new class documentation in the wiki. | ||
|
||
### Updated | ||
|
||
- The ErrorResolver class now compiles on Windows. | ||
- Changed the ErrorResolver field mErrorMessage from an std::string to an | ||
char * to keep a Plain C Interface. | ||
- Code formatting applied throughout the project using cpplint and following | ||
Google's C++ style guide. | ||
- Configured Linux Socket connect function to non-blocking mode to make | ||
the SmtpClientBase timeout working as expected. | ||
- Added WSACleanup error return code to the communication log. | ||
|
||
### Bug fixes | ||
|
||
- Changed the size of the communication log buffer from static (4096 bytes) to an | ||
auto-growing dynamic buffer. | ||
|
||
### Security fixes | ||
|
||
- Replaced all insecure strcpy by functions that support length arguments like | ||
strncpy. | ||
|
||
## [1.1.4] | ||
|
||
### Added | ||
- Add the BUILD_TESTING flag in the CMake project so the unit tests are not build by default and Google Test is no | ||
longer required. | ||
|
||
- Add the BUILD_TESTING flag in the CMake project so the unit tests are not | ||
build by default and Google Test is no longer required. | ||
- Add a new uninstall target in the CMake project. | ||
- Add a new ErrorResolver class to get a string representation (error message) of a return code obtained by the | ||
- Add a new ErrorResolver class to get a string representation (error message) | ||
of a return code obtained by the | ||
sendMail method from the different classes of SMTP clients. | ||
- Two new methods has been added to the SMTPClientBase class : getErrorMessage and getErrorMessage_r. Those two methods | ||
can be used to get a string representation (error message) of a return code obtained by the sendMail method from the | ||
different classes of SMTP clients. | ||
- Two new methods has been added to the SMTPClientBase class : getErrorMessage | ||
and getErrorMessage_r. Those two methods can be used to get a string | ||
representation (error message) of a return code obtained by the sendMail | ||
method from the different classes of SMTP clients. | ||
|
||
### Updated | ||
|
||
- The Google Test dependency branch has been switched from master to main. | ||
- Code: The using namespace std; has been removed as it is considered bad practice. | ||
- The Windows documentation has been updated to explain how to use OPENSSL_ROOT_DIR variable. | ||
- The Windows documentation has been updated to explain how to use | ||
OPENSSL_ROOT_DIR variable. | ||
- Added documentation in all headers files for public methods. | ||
|
||
### Removed | ||
|
||
- The exception classes AttachmentError and CommunicationError has been removed. | ||
|
||
## [1.1.3] | ||
|
||
### Updated | ||
- Rename the class SSLSmtpClient to OpportunisticSecureSMTPClient but added a typedef and kept the sslsmtpclient.h for | ||
backward compatibility. | ||
|
||
- Rename the class SSLSmtpClient to OpportunisticSecureSMTPClient but added a | ||
typedef and kept the sslsmtpclient.h for backward compatibility. | ||
|
||
### Added | ||
- Add support for forced ssl connection (SMTP port 465) via the ForcedSecureSMTPClient class | ||
- Add the new base class SecureSMTPClientBase to centralize the common code of the classes ForcedSecureSMTPClient and | ||
OpportunisticSecureSMTPClient. | ||
|
||
--- | ||
- Add support for forced ssl connection (SMTP port 465) via the | ||
ForcedSecureSMTPClient class | ||
- Add the new base class SecureSMTPClientBase to centralize the common code of | ||
the classes ForcedSecureSMTPClient and OpportunisticSecureSMTPClient. | ||
|
||
## [1.1.2] | ||
|
||
### Updated | ||
|
||
- Refactor the code of the SmtpClient class to inherit the SmtpClientBase class. | ||
- You must now call the method getCommunicationLog() instead of getServerReply() | ||
--- | ||
|
||
## [1.1.1] | ||
|
||
### Added | ||
|
||
- Add support for the cc and bcc field in the sendMail method | ||
--- | ||
|
||
## [1.1.0] | ||
|
||
### Added | ||
|
||
- The SSL/TLS version of the SMTP Client (sslsmtpclient.cpp) | ||
- Authentication capabilities have been added to the new SSL/TLS client | ||
- Error code headers have been created so the return codes are now more descriptive (socketerrors.h and sslerrors.h) | ||
- Error code headers have been created so the return codes are now more | ||
descriptive (socketerrors.h and sslerrors.h) | ||
|
||
### Bug fixes | ||
|
||
- The MessageAddress class now support uppercase characters in the email address | ||
--- | ||
|
||
## [1.0.0] | ||
|
||
### Added | ||
|
||
- The initial version development |
Oops, something went wrong.