Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
7f48e0f
Move malloc before starting unit tests
stephane Apr 5, 2020
0814ecf
Fix warning issues
jobol Sep 17, 2020
9d3b128
Add modbus_[get|set]_indication_timeout to doc build
stephane Sep 24, 2020
1d758ca
docs: fix simple typo, reponse -> response
timgates42 Nov 27, 2020
ae66153
Update README.md
anton-bondarev Mar 19, 2021
26c8516
Install the NEWS and AUTHORS files
richardash1981 Jun 22, 2020
486f277
Include the test LICENSE in tarball
richardash1981 Jun 22, 2020
bcfd111
Add .clabot
stephane May 10, 2021
1f84d40
typo
stefannilsson May 12, 2020
56d1d95
Replace .dir-locals.el (Emacs) by .editorconfig
stephane May 10, 2021
d25150a
Fix many typos
stephane May 10, 2021
31f7791
cosmetic changes in man page standardizing itemization
Nov 19, 2018
d22f72c
Add FUNDING.yml
stephane Oct 6, 2021
d9054d4
Add the baud rate of 256k for Windows (closes #603)
stephane Oct 18, 2021
4dbef35
Remove duplicate ';' (closes #602)
stephane Oct 18, 2021
ebc4f47
Fix position of CC flags in documentation (closes #599)
stephane Oct 18, 2021
410b148
Replace obsolete AC_PROG_CC_STDC by AC_PROG_CC
stephane Jan 7, 2022
89f5c50
Fix typo in comment (closes #588)
stephane Jan 7, 2022
bd1c85f
Add SECURITY.md (closes #613)
stephane Jan 7, 2022
b4ef4c1
modbus_reply: fix copy & paste error in sanity check (fixes #614)
mhei Jan 8, 2022
3da2d01
Bump version to 3.1.7
stephane Jan 8, 2022
b546de9
Minor changes to NEWS
stephane Jan 10, 2022
fb43eaa
Fix typos (closes #620)
stephane Jan 25, 2022
36075e2
Add many contributors to .clabot
stephane Jan 25, 2022
00ecdd2
Minor documentation correction
JetForMe Jan 10, 2022
ffa9e2c
Minor documentation correction
JetForMe Jan 10, 2022
a766f17
Fix network library detection on Haiku
Begasus Jan 9, 2022
976e7d6
Fix typo on connection (closes #586).
stephane Jan 25, 2022
7c8dbd2
Add rm5248 to .clabot
stephane Jan 28, 2022
1a503b7
Fix comment about EMBUNKEXC (closes #566)
stephane Feb 21, 2022
49af73d
Fix float endianness issue on big endian architecture.
szlin Dec 20, 2018
a2e0e45
Make sub-command more clear
ndunks Dec 31, 2021
27b90de
Swap CRC bytes in request data but not at CRC computing (#397)
stephane Oct 26, 2017
cfeca26
address check in single register / coil responses added (#463)
bachp Jul 19, 2022
e18875c
Add contributors to .clabot
stephane Jul 29, 2022
d7eeff9
VCLinkerTool version 1.0.0 to 1.0, NO link error
alongL Mar 7, 2022
c2cef2d
Add jcarrano to CLA
stephane Aug 12, 2022
bba193c
Update .gitignore
stephane Aug 12, 2022
f7461b9
Add build check to CI
stephane Aug 12, 2022
88af31c
Add autogen.sh call
stephane Aug 12, 2022
a8b9a39
Remove check target (duplicate of distcheck)
stephane Aug 12, 2022
be00a9c
Replace Travis CI badge by GitHub CI
stephane Aug 12, 2022
06dc37f
Merge NEWS with v3.0.x branch
stephane Aug 15, 2022
db1cbc5
Fixed MODBUS_ERROR_RECOVERY_LINK not working on Windows.
Jul 4, 2022
c0ee9df
Fixed a typo error in a comment.
Jul 4, 2022
9b679b7
Do not change the behavior for non-windows OS.
Aug 3, 2022
ef3c4bc
Reduce memory use of TCP PI backend (closes #621)
stephane Aug 17, 2022
da87669
Rewrite documentation with Material for mkdocs
stephane Aug 17, 2022
f5939cf
Bump version to 3.1.8
stephane Aug 17, 2022
c4875ed
Remove travis.yml
stephane Aug 17, 2022
b9488b2
Minor adjustments to MD files
stephane Aug 17, 2022
5ce6b8a
Remove year range in Copyright
stephane Aug 17, 2022
987d5af
Move migration content to libmodbus.org
stephane Aug 17, 2022
192fac7
Avoid negative value in FD_SET call
stephane Aug 18, 2022
6914cf9
Test socket against positive value instead of -1
stephane Aug 18, 2022
aea0b02
Add 0x34d to .clabot
stephane Aug 18, 2022
51d366f
Add jordanjohnson56 to CLA
stephane Oct 3, 2022
6ab18dd
Have autogen.sh fail if autoreconf fails
ndim Sep 7, 2022
14a4353
Have autoreconf fail if LT_INIT is not defined
ndim Sep 7, 2022
54c0923
Fix doc links
jordanjohnson56 Sep 4, 2022
014a9fc
test the protocol id for 0
metapsychologe Dec 15, 2019
b0c0566
Fix double negative in tests
stephane Aug 4, 2021
f0db03d
New quirks handler (closes #38 #533)
stephane Oct 3, 2022
59d34d2
Fix bitwise OR in documentation
stephane Oct 4, 2022
d5512d9
Improve doc about slave ID in RTU
stephane Oct 15, 2022
dd45f19
Add .clang-format and format code (closes #394)
stephane Oct 18, 2022
fa20798
Remove constraints on baud rate values
stephane Nov 27, 2022
842a0c2
Accept IP or device in arg of unit test progs
stephane Nov 27, 2022
aa84a0e
Avoid compilation issue with VS2022 with strdup
stephane Nov 27, 2022
1739911
Display created files in configure.js
stephane Nov 27, 2022
f807767
Use strcpy_s under Windows
stephane Nov 27, 2022
5a6efec
Replace inet_addr by inet_pton calls
stephane Nov 27, 2022
1b11745
Replace inet_ntoa by inet_ptop
stephane Nov 27, 2022
ae015c9
Update configure.ac/config.h.win32 for new inet functions
stephane Nov 27, 2022
9a7ea12
Instructions to build libmodbus in a VS project
stephane Nov 27, 2022
515960c
Updated CLA bot file
stephane Nov 28, 2022
c726c9d
Fix connection check for Windows RTU (closes #660, #662)
stephane Nov 28, 2022
96c06aa
Add CIFuzz Github action
DavidKorczynski Nov 22, 2022
92dca47
Convert a few int to unsigned int (#402)
stephane Nov 28, 2022
46c43ee
Fix wrong close on recent commit 5a6efec
stephane Nov 28, 2022
f6689ba
Adjust fuzzing to run on main branch only
stephane Nov 28, 2022
783e651
Bump version to 3.1.9
stephane Dec 3, 2022
cef86fc
fix modbus quirks function definition
20162026 Dec 3, 2022
cb69221
Split POSIX and Windows RTU connect functions
stephane Dec 7, 2022
ef7ae05
Fix setting baud rate for Linux (partial revert of fa20798)
stephane Dec 7, 2022
11411f5
Remove fuzzing action in waiting for a fix
stephane Dec 7, 2022
2cbafa3
Bump version to 3.1.10
stephane Dec 7, 2022
3a7923d
docs: small re-wordings, fix various small typos and style issues
mhei Dec 12, 2022
b25629b
Update CLA
stephane Jan 9, 2023
e6b71a8
Fix doc of modbus_mapping_new_start_address (#615)
stephane Nov 6, 2023
196ae76
Free addrinfo struct on getaddrinfo() errors
stephane Jan 24, 2024
3f9f17e
Minor to docs
stephane Jan 24, 2024
5c14f13
Add polar.sh to FUNDING
stephane Feb 15, 2024
6ae4a76
Fix errno value on timeout with TCP connect (closes #736, #756)
stephane Jul 15, 2024
1c1ccc3
Update CLA
stephane Jul 16, 2024
a6202ad
Log error in read input registers if debug (closes #755)
stephane Jul 16, 2024
10e33ec
Add checks for netinet/ip.h and gai_strerror
stephane Jul 16, 2024
087667a
Don't use gai_strerror if not available
stephane Jul 16, 2024
4d033a8
#675 fix wrong generated version for double number
yauyimsing Jun 9, 2023
180da3e
adding modbus_send_raw_request_tid
cedricboudinet Jan 27, 2023
849e179
doc
cedricboudinet Feb 3, 2023
1365023
doc
cedricboudinet Feb 3, 2023
082d532
Don't use loop initial declaration (closes #752)
stephane Jul 17, 2024
47ff9ef
Minor format
stephane Jul 17, 2024
dbb0766
Update docs about memory consumption (closes #715)
stephane Jul 17, 2024
9fb0283
Revert TCP checks for recovery (closes #711)
stephane Jul 17, 2024
05d9134
Link against socket and nsl libs when building on SunOS
lanurmi Apr 27, 2017
98f5764
Format
stephane Jul 17, 2024
13bd584
Fixes float encoding/decoding for both big and little endian (fixes #…
ghorwin Jul 17, 2024
3d34a64
Duplicate in .clabot
stephane Jul 17, 2024
8e769e7
Revert "Fixes float encoding/decoding for both big and little endian …
stephane Jul 17, 2024
dde16d5
Remove useless cast in setsockopt call (closes #721)
stephane Jul 17, 2024
957fa7b
Update CLA
stephane Sep 2, 2024
cbb0ab9
Fix insecure data handling
stephane Sep 2, 2024
ed5df3b
Add Coverity scan status
stephane Oct 17, 2024
9ffb43a
Remove duplicate warning flag
stephane Oct 17, 2024
df79a02
Check length passed to modbus_reply (write_bit)
stephane Oct 18, 2024
d8a971e
Check length passed to modbus_reply (write_register)
stephane Oct 20, 2024
7ea85f1
Small cleanups of unit test server
stephane Oct 20, 2024
7bc45fb
Rename warning flags variable
stephane Oct 20, 2024
0b40062
Do not build with debug flag active by default
stephane Oct 20, 2024
4227f12
Remove useless configure checks
stephane Oct 20, 2024
65dd08c
Update .clabot
stephane Oct 21, 2024
81bf713
Fix request length check in modbus_reply in RTU
stephane Oct 21, 2024
d0cb19a
Revert "Fix float endianness issue on big endian architecture." and f…
ghorwin Sep 19, 2024
7de0bcb
Prepare NEWS file for next release
stephane Oct 21, 2024
6a39116
Use port 502 instead of 1502 in documentation (closes #771)
stephane Oct 21, 2024
ae6f327
HAVE_NETINET_IN_H as guard around header (#765)
diplfranzhoepfinger Oct 21, 2024
70d0aca
RTU - Check CRC before filtering on slave ID
stephane Oct 22, 2024
b15e4b0
Minor
stephane Oct 22, 2024
5190e5e
Bump version to 3.1.11
stephane Oct 22, 2024
22ece0f
Document macros for error codes corresponding to Modbus exceptions (#…
kyllingstad Oct 22, 2024
452dc8b
Use O_NONBLOCK instead of deprecated O_NDELAY (closes #710)
stephane Oct 22, 2024
51f37e0
Fix example of modbus_rtu_set_serial_mode (closes #552)
stephane Oct 22, 2024
de0999f
Test filesystem provides symlink in autogen.sh (closes #414)
stephane Oct 22, 2024
bb13443
Update comments about old O_NDELAY
stephane Oct 22, 2024
644667d
Update .clabot
stephane Oct 28, 2025
734a37c
NULL check for src and nb < 1 validation
stephane Dec 16, 2025
b5925ad
Check dest pointer not null and nb in read functions
stephane Dec 16, 2025
642acfd
Fix typos in documentation
stephane Dec 16, 2025
804aa2b
Sync API signatures with the documentation
stephane Dec 16, 2025
f57a249
Fix small markup issues in docs
stephane Dec 16, 2025
450dbaa
Fix type of service in doc of modbus_tcp_pi_accept
stephane Dec 16, 2025
4722311
Fix should be close on socket in doc
stephane Dec 16, 2025
80062a2
Fix 2 self-references in docs
stephane Dec 16, 2025
a1b60f5
Fix typo
stephane Dec 16, 2025
15483a7
Update CI dependency
stephane Dec 17, 2025
11a5ad1
Add coverage target and helper script
stephane Dec 18, 2025
ca38c95
Explicitly tells Coverity return value is ignored
stephane Dec 18, 2025
3c5178e
Explicit cast for Coverity CID 416366
stephane Dec 18, 2025
8485667
Fix gcc warning about VLA
stephane Dec 18, 2025
14f5225
Only read address when meaningful in test server
stephane Feb 13, 2026
031293d
modbus_reply: don't compute address for FC 0x07/0x11
stephane Feb 12, 2026
b7ee556
Document required buffer size of modbus_receive
stephane Feb 13, 2026
7b13341
Fix FD_SET overflow when socket fd >= FD_SETSIZE
stephane Feb 13, 2026
ec5da0f
Rename NEWS to NEWS.md
stephane Feb 13, 2026
06a1de6
Updated .clabot
stephane Feb 13, 2026
5e309fd
Updated NEWS
stephane Feb 13, 2026
8d8786d
Remove check-news of Automake
stephane Feb 13, 2026
9af6c16
Bump version to v3.1.12
stephane Feb 13, 2026
9c4f214
Update doc of float functions (closes #838)
stephane Feb 13, 2026
a01439c
Use EMBXILVAL instead of EMBMDATA for illegal data value errors
stephane Feb 13, 2026
b2b37ef
Respect user-provided CFLAGS (closes #836)
stephane Feb 13, 2026
26dc8a5
Check if ai_list is null before freeing it (#831)
micrictor Feb 13, 2026
b15e017
WIN32 compatibility for setsockopt() in modbus-tcp.c (#800)
desteemy Feb 13, 2026
fd54782
Fix test ctx instead of invalid_ctx (closes #791, #792)
ghorwin Feb 13, 2026
e5cee8b
modbus-rtu: don't use O_EXCL when opening the device (#760)
mhei Feb 13, 2026
a1d00bf
Return exception response for READ EXCEPTION STATUS (0x07)
stephane Feb 13, 2026
ef5cb9e
Add CLA.txt and update agreements
stephane Feb 16, 2026
2a0057a
Add termios2 support (allows custom baud rates)
philj56 Jul 31, 2024
109ea48
Merge remote-tracking branch 'upstream/master'
edward-scott Jun 7, 2026
9ca6678
Add modbus_proxy() to bridge two Modbus backends (closes #70)
stephane Jun 16, 2026
7fdd691
modbus_reply: reject NULL req and mb_mapping arguments
stephane Jun 16, 2026
dd235f1
modbus_reply: validate request length before reading per-function fields
stephane Jun 16, 2026
5852b90
Fix CID 561619 - Remove dead code
stephane Jul 1, 2026
d694116
fix signed integer overflow in modbus_get_float_*()
stephane Jul 1, 2026
c6c730e
Fix undefined behavior in integer and float conversion helpers
stephane Jul 1, 2026
4660226
Updated and formated NEWS.md
stephane Jul 1, 2026
9097f2d
modbus_reply_exception: reject NULL request pointer
stephane Jun 16, 2026
80b3a5d
modbus_mask_write_register: validate ctx is not NULL
stephane Jun 16, 2026
f31c89b
modbus_write_and_read_registers: validate src/dest and counts
stephane Jun 16, 2026
1a887d3
modbus_report_slave_id: reject NULL dest buffer
stephane Jun 16, 2026
f453aef
modbus_get_*_timeout: validate output pointers are not NULL
stephane Jun 16, 2026
394d3ac
modbus_mapping_new_start_address: cap table dimensions
stephane Jun 16, 2026
f868df7
Add new Errors sections for recent changes
stephane Jul 1, 2026
5e13909
modbus_mapping_new: reject negative counts
stephane Jun 16, 2026
0446e37
modbus_rtu_set_custom_rts: reject NULL callback
stephane Jun 16, 2026
b816ae4
modbus-rtu: avoid integer overflow in RTS post-send delay
stephane Jun 16, 2026
3ddf8ab
modbus-rtu: check RTS ioctl return values
stephane Jun 16, 2026
ea1bef6
modbus-rtu: check return when saving termios settings on connect
stephane Jun 16, 2026
8a27186
modbus-rtu: report failure to restore termios settings on close
stephane Jun 16, 2026
5722412
modbus_new_rtu: reject negative baud rates
stephane Jun 16, 2026
a1edd13
modbus-tcp: guard freeaddrinfo against NULL on resolver failure
stephane Jun 16, 2026
e0baa7e
tests: bound-check descriptors before FD_SET in bandwidth server
stephane Jun 16, 2026
e3b57ad
Update again NEWS.md
stephane Jul 1, 2026
419139f
modbus_new_tcp: NUL-terminate IP string when ip is NULL
stephane Jul 2, 2026
9b99334
modbus_reply: validate FC22 request length before writing register
stephane Jul 2, 2026
b0012f3
modbus-tcp: keep ctx->s consistent across failed or repeated connects
stephane Jul 2, 2026
0c7a5ee
modbus-rtu: fix Windows serial handle lifecycle
stephane Jul 2, 2026
582ead5
modbus: preserve errno across Windows error-recovery paths
stephane Jul 2, 2026
49278b4
modbus-tcp: don't override user error recovery mode in flush overflow…
stephane Jul 2, 2026
e4a4d69
modbus-tcp: fully initialize sigaction struct for SIGPIPE handler on BSD
stephane Jul 2, 2026
9ecee9c
modbus_new_rtu: validate data_bit and stop_bit arguments
stephane Jul 2, 2026
8b3d5b7
modbus-rtu: sleep RTS turnaround delay in chunks portable with usleep
stephane Jul 2, 2026
5605250
modbus_get_byte_from_bits: remove always-false assert, clamp consiste…
stephane Jul 2, 2026
3e2de62
modbus_send_raw_request_tid: reject NULL raw_req with EINVAL
stephane Jul 2, 2026
6094e00
modbus_proxy: clarify transaction ID handling in comments
stephane Jul 2, 2026
a6848d2
tests: don't kill unit test server on RTU bad-CRC frame
stephane Jul 2, 2026
208a528
tests: fix integer overflow in bandwidth-client rate computation
stephane Jul 2, 2026
a9b025d
Bump to v3.2.0
stephane Jul 2, 2026
5c03eb0
Merge remote-tracking branch 'upstream/master' into merge-check
edward-scott Jul 27, 2026
f9ff7a7
XRT-3852: merge fix
edward-scott Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .clabot
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"contributors": [
"0x34d",
"20162026",
"2128506",
"alongl",
"arkapkaj",
"bobbybelieve",
"ccdmuro",
"cedricboudinet",
"DavidKorczynski",
"devotip",
"diplfranzhoepfinger",
"embeddedmz",
"fcntlcc",
"fedepell",
"franzhoepfinger",
"franzhollerer",
"ghorwin",
"jbysewski",
"jcarrano",
"jeroendoggen",
"jetforme",
"jiriki86",
"jordanjohnson56",
"kay30kim",
"kyllingstad",
"mek-x",
"merkag",
"mhei",
"msk-repo-0x4d",
"ndunks",
"peternewman",
"philj56",
"raymondbh",
"ringlej",
"rm5248",
"rongli-eaton",
"sebastianpsm",
"SergeyMy",
"sirsoweird",
"taikiakita",
"vancepym",
"vvck",
"woodsnake",
"EchterAgo",
"Su-Yuming",
"anrodlo",
"chowchin",
"desteemy",
"jimklimov",
"jonathanfleming135",
"mbeards",
"richardash1981",
"titania7777",
"micrictor",
"jyjsunny",
"ProtocolSpecChecker",
"raenray",
"hbrodin",
"PGZXB",
"philj56",
"diplfranzhoepfinger"
],
"message": "We require contributors to sign our Contributor License Agreement. In order for us to review and merge your code, please fill https://forms.gle/5635zjphDo5JEJQSA to get added. Your document will be manually checked by the maintainer. Be patient..."
}
56 changes: 56 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
BasedOnStyle: LLVM
AlignArrayOfStructures: Left
AlignOperands: true
AlignConsecutiveAssignments: false
AlignConsecutiveMacros: true
AlignEscapedNewlines: Left
AlignTrailingComments: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BinPackArguments: false
BinPackParameters: false
ColumnLimit: 90
ConstructorInitializerAllOnOneLineOrOnePerLine: true
IncludeBlocks: Preserve
IndentWidth: 4
ObjCBlockIndentWidth: 4
PointerAlignment: Right
ReferenceAlignment: Right
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatementsExceptForEachMacros
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SeparateDefinitionBlocks: Always
UseTab: Never
PPIndentWidth: 2
4 changes: 0 additions & 4 deletions .dir-locals.el

This file was deleted.

12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[Makefile]
indent_style = tab
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: [stephane]
polar: stephane
20 changes: 20 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Build libmodbus

on:
push:
branches: ["master"]
pull_request:
branches: ["master"]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6.0.1
- name: configure
run: ./autogen.sh && ./configure
- name: make
run: make
- name: make distcheck
run: make distcheck
29 changes: 18 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Temporary files
*~
*.swp
*.o
Expand All @@ -7,10 +8,14 @@
*.trs
.deps
.libs
GPATH
GRTAGS
GSYMS
GTAGS
.DS_Store

# Editors
/*.sublime-*
/.vscode
/.venv

# Generated by Autotools
INSTALL
Makefile
Makefile.in
Expand All @@ -22,25 +27,27 @@ Makefile.in
/configure.scan
/depcomp
/install-sh
/libmodbus.pc
/libtool
/ltmain.sh
/missing
/libmodbus.pc
/stamp-h1
/*.sublime-*
/.vscode
src/modbus-version.h
src/win32/modbus.dll.manifest
tests/unit-test.h

# mkdocs
/site

# Binary
tests/bandwidth-client
tests/bandwidth-server-many-up
tests/bandwidth-server-one
tests/random-test-client
tests/random-test-server
tests/proxy-test-client
tests/proxy-test-server
tests/unit-test-client
tests/unit-test.h
tests/unit-test-server
tests/version
tests/stamp-h2
doc/*.html
doc/*.3
doc/*.7
7 changes: 0 additions & 7 deletions .travis.yml

This file was deleted.

113 changes: 113 additions & 0 deletions CLA.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
libmodbus Contributor License Agreement

Thank you for your interest in contributing to libmodbus (the "Project") created
by Stéphane Raimbault.

In order to clarify the intellectual property license granted with Contributions
from any person or entity, the Project must have a Contributor License Agreement
(CLA) on file that has been signed by each Contributor, indicating agreement to
the license terms below. This license is for your protection as a Contributor as
well as the protection of the Project and its users; it does not change your
rights to use your own Contributions for any other purpose.

This Agreement allows an entity (the "Corporation") to submit Contributions to
The Project, to authorize Contributions submitted by its designated employees to
The Project, and to grant copyright and patent licenses thereto.

If you have not already done so, please complete and sign this Agreement using
the electronic signature portal made available to you by the Project or its
third-party service providers, or email a PDF of the signed agreement to
stephane.raimbault@gmail.com. Please read this document carefully before signing
and keep a copy for your records.

You accept and agree to the following terms and conditions for Your present and
future Contributions submitted to the Project. Except for the license granted
herein to The Project and recipients of software distributed by The Project, You
reserve all right, title, and interest in and to Your Contributions.

1. Definitions

"You" (or "Your") shall mean the copyright owner or legal entity authorized by
the copyright owner that is making this Agreement with The Project. For legal
entities, the entity making a Contribution and all other entities that control,
are controlled by, or are under common control with that entity are considered
to be a single Contributor. For the purposes of this definition, "control" means
(i) the power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty percent
(50%) or more of the outstanding shares, or (iii) beneficial ownership of such
entity.

"Contribution" shall mean the code, documentation or other original works of
authorship expressly identified in Schedule B, as well as any original work of
authorship, including any modifications or additions to an existing work, that
is intentionally submitted by You to The Project for inclusion in, or
documentation of, any of the products owned or managed by the Foundation (the
"Work"). For the purposes of this definition, "submitted" means any form of
electronic, verbal, or written communication sent to The Project or its
representatives, including but not limited to communication on electronic
mailing lists, source code control systems, and issue tracking systems that are
managed by, or on behalf of, The Project for the purpose of discussing and
improving the Work, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Contribution."

2. Grant of Copyright License. Subject to the terms and conditions of this
Agreement, You hereby grant to The Project and to recipients of software
distributed by The Project a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable copyright license to reproduce, prepare derivative
works of, publicly display, publicly perform, sublicense, and distribute Your
Contributions and such derivative works.

3. Grant of Patent License. Subject to the terms and conditions of this
Agreement, You hereby grant to The Project and to recipients of software
distributed by The Project a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable (except as stated in this section) patent license
to make, have made, use, offer to sell, sell, import, and otherwise transfer
the Work, where such license applies only to those patent claims licensable
by You that are necessarily infringed by Your Contribution(s) alone or by
combination of Your Contribution(s) with the Work to which such
Contribution(s) were submitted. If any entity institutes patent litigation
against You or any other entity (including a cross-claim or counterclaim in a
lawsuit) alleging that Your Contribution, or the Work to which You have
contributed, constitutes direct or contributory patent infringement, then any
patent licenses granted to that entity under this Agreement for that
Contribution or Work shall terminate as of the date such litigation is filed.

4. You represent that You are legally entitled to grant the above license. If
You are an individual, if Your employer(s) has rights to intellectual
property that You create that includes Your Contributions, You represent that
You have received permission to make Contributions on behalf of that
employer, that Your employer has waived such rights for Your Contributions to
The Project, or that Your employer has executed a separate CLA with The
Project. If You are a legal entity, You represent further that each employee
of the Corporation designated on Schedule A below (or in a subsequent written
modification to that Schedule) is authorized to submit Contributions on
behalf of the Corporation.

5. You represent that each of Your Contributions is Your original creation (see
section 7 for submissions on behalf of others).

6. You are not expected to provide support for Your Contributions, except to the
extent You desire to provide support. You may provide support for free, for a
fee, or not at all. Unless required by applicable law or agreed to in
writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

7. Should You wish to submit work that is not Your original creation, You may
submit it to the Foundation separately from any Contribution, identifying the
complete details of its source and of any license or other restriction
(including, but not limited to, related patents, trademarks, and license
agreements) of which You are personally aware, and conspicuously marking the
work as "Submitted on behalf of a third-party: [named here]".

8. You agree to notify The Project of any facts or circumstances of which You
become aware that would make these representations inaccurate in any respect.
If You are a legal entity, it is Your responsibility to notify The Project
when any change is required to the list of designated employees authorized to
submit Contributions on behalf of the Corporation, or to the Corporation's
Point of Contact with The Project.

9. Should You wish to submit work that is not Your original creation, You may submit it to the Project separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as “Submitted on behalf of a third-party: [named here]”.

10. You agree to notify the Project of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.
39 changes: 22 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,34 @@
How Do I Submit A Good Bug Report?
----------------------------------
# How Do I Submit A Good Bug Report?

Please, don't send direct emails to Stéphane Raimbault unless you want
commercial support.

Take care to read the documentation at http://libmodbus.org/documentation/.
Take care to read the documentation at http://libmodbus.org/.

- *Be sure it's a bug before creating an issue*, in doubt, post a message on
https://groups.google.com/forum/#!forum/libmodbus or send an email to
libmodbus@googlegroups.com
- _Be sure it's a bug before creating an issue_, in doubt, post a message on
<https://groups.google.com/forum/#!forum/libmodbus> or send an email to
<libmodbus@googlegroups.com>

- *Use a clear and decriptive title* for the issue to identify
- _Use a clear and descriptive title_ for the issue to identify

- *Which version of libmodbus are you using?* you can obtain this information
from your package manager or by running `pkg-config --modversion libmodbus`.
You can provide the sha1 of the commit if you have fetched the code with `git`.
- _Which version of libmodbus are you using?_ you can obtain this information
from your package manager or by running `pkg-config --modversion libmodbus`.
You can provide the sha1 of the commit if you have fetched the code with `git`.

- *Which operating system are you using?*
- _Which operating system are you using?_

- *Describe the exact steps which reproduce the problem* in as many details as
possible. For example, the software/equipement which runs the Modbus server, how
the clients are connected (TCP, RTU, ASCII) and the source code you are using.
- _Describe the exact steps which reproduce the problem_ in as many details as
possible. For example, the software/equipment which runs the Modbus server, how
the clients are connected (TCP, RTU, ASCII) and the source code you are using.

- *Enable the debug mode*, libmodbus provides a function to display the content
of the Modbus messages and it's very convenient to analyze issues
(http://libmodbus.org/docs/latest/modbus_set_debug.html).
- _Enable the debug mode_, libmodbus provides a function to display the content
of the Modbus messages and it's very convenient to analyze issues
(http://libmodbus.org/docs/modbus_set_debug/).

Good bug reports provide right and quick fixes!

## Contributor License Agreement

By submitting a contribution to libmodbus, you agree to the terms of the
[Contributor License Agreement](CLA.txt). Please read it before submitting a
pull request.
Loading
Loading