Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
7fadeb5
Bump golang.org/x/crypto from 0.15.0 to 0.17.0
dependabot[bot] Dec 18, 2023
d7f2968
Escape send queued when blocked on connection side
AlexandrosKyriakakis Jan 30, 2024
5dcde41
merge
AlexandrosKyriakakis Feb 1, 2024
de36465
add test for multiple repeating groups in a message
albertsundjaja Apr 10, 2024
8be2911
Preserve original body when resending
mgatny Apr 15, 2024
827728d
Parse message with no body fields
mgatny Apr 15, 2024
dc22c5d
Merge pull request #624 from mgatny/main
ackleymi Apr 16, 2024
04786a1
v0.9.1 release notes
ackleymi Apr 16, 2024
aa39aa8
Update linter
ackleymi Apr 16, 2024
a203213
Statify updated linter rules
ackleymi Apr 18, 2024
9886e68
Merge pull request #626 from ackleymi/main
ackleymi Apr 18, 2024
e155413
Merge pull request #623 from albertsundjaja/group-stack-advanced-inco…
ackleymi Apr 22, 2024
51e2cde
Merge pull request #615 from alpacahq/escape-send-queued-when-blocked
ackleymi Apr 22, 2024
96baad8
feat: change proxyproto pkg to support proxy proto v2
Apr 22, 2024
1518a20
fix: try to fix linter failed
Apr 22, 2024
b7e2597
Merge pull request #627 from haoyang1994/feat/proxy_v2
ackleymi Apr 22, 2024
ab04145
Merge branch 'main' into dependabot/go_modules/golang.org/x/crypto-0.…
ackleymi Apr 23, 2024
21eab6b
Merge pull request #628 from alpacahq/develop
ackleymi Apr 23, 2024
8304be5
Merge pull request #606 from quickfixgo/dependabot/go_modules/golang.…
ackleymi Apr 23, 2024
ad9438a
Update deps
ackleymi Apr 23, 2024
2f15490
v0.9.2 release notes
ackleymi Apr 23, 2024
2c25e08
Merge pull request #630 from ackleymi/v092-release
ackleymi Apr 23, 2024
e2a2f27
feat: AllowUnknownMessageFields & CheckUserDefinedFields
Apr 25, 2024
74fd67b
change options to keep same with quickfixj
Apr 25, 2024
b9e203b
Corrects ResetOnLogon for initiators
ackleymi Apr 25, 2024
c3c49cb
Merge pull request #632 from haoyang1994/tag_check_options
ackleymi Apr 26, 2024
0256864
Merge branch 'main' into initiator-logon-reset
ackleymi Apr 26, 2024
c187bdb
Merge pull request #635 from ackleymi/initiator-logon-reset
ackleymi Apr 30, 2024
d591447
Failing unit test for message with repeating group
ackleymi May 1, 2024
6659865
Unregistering sessions on initiator close
SNORRIS721 May 3, 2024
cf3fb98
Unregistering sessions on acceptor stop
SNORRIS721 May 3, 2024
1205f67
Merge pull request #637 from SNORRIS721/duplicatesession
ackleymi May 7, 2024
668e1f4
Changing filestore.offsets from map[int]msgDef to sync.Map
SNORRIS721 May 8, 2024
ff456d7
fixing msgdef type error
SNORRIS721 May 8, 2024
60846b9
adding error handling to type cast
SNORRIS721 May 8, 2024
807c9fe
Merge pull request #639 from SNORRIS721/mapcrash
ackleymi May 9, 2024
fbe0cd7
v0.9.3 release notes
ackleymi May 9, 2024
6889cf1
Adds proper parsing for repeating groups to keep group field order
ackleymi May 16, 2024
3517c8b
Linter fixes
ackleymi May 16, 2024
525b62c
Adds log to readLoop
ackleymi May 17, 2024
035d82e
Adds nullLog
ackleymi May 17, 2024
2da4180
Merge pull request #636 from ackleymi/repeating-grps
ackleymi May 30, 2024
7a5765f
Merge pull request #642 from ackleymi/add-log
ackleymi May 30, 2024
7e71cbc
v0.9.4 release notes
ackleymi May 30, 2024
c855c33
Do not increment targetMsgSeqNum for out of sequence logout and test …
momin-javed Jun 14, 2024
a60af80
Revert redundant TestRequest change
momin-javed Jun 25, 2024
358abef
Merge pull request #645 from momin-javed/increment-target-seq
ackleymi Jun 25, 2024
91700d1
Port config documentation into proper go doc format.
ackleymi Jul 2, 2024
a420261
Merge branch 'main' into cfg-fixes
ackleymi Jul 2, 2024
f6ff247
Merge pull request #649 from ackleymi/cfg-fixes
ackleymi Jul 2, 2024
1c2db3a
Adds resendreqchunksize and lastseqnumprocessed test suites, refactor…
ackleymi Jul 3, 2024
ab7cd32
Merge pull request #27 from ackleymi/add-missing-test-defs
ackleymi Jul 3, 2024
e3a2994
Merge pull request #650 from ackleymi/main
ackleymi Jul 3, 2024
3c66554
Use bytes.Count to count the number of message fields
sylr Jul 17, 2024
f725b98
Optimize tag value parsing
sylr Jul 17, 2024
af66cc8
Only lock fieldmap once during message parsing
sylr Jul 17, 2024
3939268
Fix stuck call to Dial when calling Stop on the initiator
abronan Jul 18, 2024
ad74d03
Introduce message iterator to avoid loading all messages into memory …
michaelwilner Jul 31, 2024
1289a47
Use the Go generated file convention.
smulube Aug 6, 2024
d3b4f98
Support TLS configuration as raw bytes
smulube Jun 17, 2024
7fe4ce2
Merge pull request #659 from michaelwilner/iterate-messages
ackleymi Aug 7, 2024
c07597e
Merge pull request #660 from appital/generated-code-comment
ackleymi Aug 7, 2024
e92fa68
Merge pull request #654 from abronan/mitigate-stuck-dial-on-initiator…
ackleymi Aug 9, 2024
f69f9f9
Merge pull request #655 from sylr/parse2
ackleymi Aug 9, 2024
f8a53b0
Merge pull request #657 from sylr/no-indexbyte
ackleymi Aug 9, 2024
6e564c1
Merge pull request #658 from sylr/parse-no-lock
ackleymi Aug 9, 2024
9191a58
Merge pull request #647 from appital/tls-bytes
ackleymi Aug 9, 2024
2e60bad
v0.9.5 release notes
ackleymi Aug 14, 2024
8a53aa9
Merge pull request #663 from quickfixgo/ackleymi-patch-1
ackleymi Aug 14, 2024
26dc502
allow the clients of acceptor to specify their own tls.Config
ekovacs Aug 29, 2024
aa31991
lint fix
ekovacs Aug 29, 2024
6e397ee
cleanup
ekovacs Aug 29, 2024
f4d6fe9
adjust comments
ekovacs Aug 29, 2024
aa15928
Adds nextexpectedseqnum test defs and refactors test server to suppor…
ackleymi Aug 30, 2024
fdcb6a1
Satisfies linter
ackleymi Aug 30, 2024
5ec1219
Merge pull request #667 from ekovacs/feature/allow-custom-tls-config-…
ackleymi Sep 4, 2024
0f3ec7b
Merge pull request #668 from ackleymi/add-missing-test-defs
ackleymi Sep 5, 2024
87eef54
Reinit stop sync to prevent deadlock on sequential start/stops
ackleymi Sep 5, 2024
fa2e438
Merge pull request #669 from ackleymi/prevent-deadlock
ackleymi Sep 6, 2024
7194eee
Check logon auth before resetting store
ackleymi Sep 6, 2024
2e7e077
Modify msg verify checks
ackleymi Sep 9, 2024
dc7a7bf
Resolve failing unit test
ackleymi Sep 10, 2024
fad0176
Linter
ackleymi Sep 10, 2024
f1f8c0e
Linter fix
ackleymi Sep 10, 2024
bb3e854
Adds unit test
ackleymi Sep 10, 2024
2903198
Merge pull request #670 from ackleymi/prevent-store-reset-unauth
ackleymi Sep 10, 2024
393a748
Reverts toadmin call sequencing
ackleymi Sep 20, 2024
b7fa96b
Merge pull request #674 from ackleymi/toadmin-fix
ackleymi Sep 20, 2024
b7d706f
Adds v0.9.6 release notes
ackleymi Sep 20, 2024
9c5d08c
Adds new log impls and renames files for consistency
ackleymi Sep 12, 2024
f01e28e
Adds more tests
ackleymi Sep 12, 2024
b781a85
Adds composite log
ackleymi Sep 24, 2024
c2cd79a
Merge pull request #672 from ackleymi/new-log-impls
ackleymi Sep 25, 2024
90867a2
Adds convenience getters for session log and store
ackleymi Sep 25, 2024
c7392e8
Merge pull request #675 from ackleymi/interface-getters
ackleymi Sep 25, 2024
5b44e1c
Test suite for message storage ensures ordered map iteration
michaelwilner Nov 25, 2024
00263ae
File store does not keep a gigantic map of every message offset in me…
michaelwilner Nov 25, 2024
5185ff8
Merge pull request #680 from michaelwilner/file-store-uses-files-excl…
ackleymi Nov 25, 2024
eedbfbf
Avoid unkeyed fields usage in generated code
shota3506 Nov 29, 2024
9d46c64
Merge pull request #683 from shota3506/avoid-unkeyed-fields-usage-in-…
ackleymi Jan 23, 2025
b898634
Protect concurrent usage of filestore
michaelwilner Jan 24, 2025
2ed31c3
Merge pull request #688 from michaelwilner/protect-concurrent-usage-o…
ackleymi Jan 24, 2025
764351f
Support udecimal library in code generation
michaelwilner Mar 7, 2025
bc1d3ac
Merge pull request #700 from michaelwilner/udecimal-support
ackleymi Mar 8, 2025
c93c8d9
Iterate messages in filestore opens a separate file to avoid deadlock
michaelwilner Mar 17, 2025
def5474
Merge pull request #703 from michaelwilner/resend-request-on-filestor…
ackleymi Mar 17, 2025
3a53036
Adding config option for ResetSeqTime
SNORRIS721 Apr 9, 2025
ad70b18
Merge pull request #705 from SNORRIS721/resetseqnum
ackleymi Apr 14, 2025
6daa220
Test ensuring session remains conencted on seqnumresset
SNORRIS721 Apr 21, 2025
fe8d3bb
Correct ordering in message trailer
hlibman-connamara Apr 21, 2025
9731429
Merge pull request #706 from SNORRIS721/logontest
ackleymi Apr 21, 2025
64212a2
Merge pull request #707 from hlibman-connamara/trailer_order
ackleymi Apr 21, 2025
4eeefdb
Adds v0.9.7 release notes
ackleymi Apr 24, 2025
9c6a733
fix race condition with acceptor.Start() and acceptor.Stop()
hlibman-connamara Apr 24, 2025
9449794
Merge pull request #709 from hlibman-connamara/race_condition
ackleymi Apr 24, 2025
326c1ae
support configuration for naming of DB Store tables
hlibman-connamara May 1, 2025
e946cff
add unit test
hlibman-connamara May 5, 2025
02d175e
fix linter
hlibman-connamara May 5, 2025
c8de907
change ResetSeqTime to time.Time based on the config's timeZone
hlibman-connamara May 7, 2025
d52789e
Merge pull request #711 from hlibman-connamara/db_name_config
ackleymi May 8, 2025
0379b05
add logic to block messages when a rResend Request is active
hlibman-connamara May 9, 2025
03c38dc
update logic to fix failing tests
hlibman-connamara May 9, 2025
e9e2c05
Merge pull request #713 from hlibman-connamara/resend_request_active
ackleymi May 12, 2025
91e6d76
Revert "Block messages when a Resend Request is active"
ackleymi May 12, 2025
41798d6
Merge pull request #714 from quickfixgo/revert-713-resend_request_active
ackleymi May 12, 2025
c527fc8
block messages during resend request
hlibman-connamara May 14, 2025
4d324d5
add resend mutex and unit test for blocking sends during resend request
hlibman-connamara May 15, 2025
bbefdb7
fix lint
hlibman-connamara May 15, 2025
1607e8b
update resendMutex and unit test
hlibman-connamara May 15, 2025
e954566
add comments around resendMutex logic
hlibman-connamara May 15, 2025
90fde31
Merge pull request #715 from hlibman-connamara/resend_request_active
ackleymi May 16, 2025
79154e8
fix time range on crossing midnight
Jun 9, 2025
6c00549
Merge pull request #712 from hlibman-connamara/reset_seq_time
ackleymi Jul 21, 2025
fae457e
Merge pull request #718 from haoyang1994/fix_timerange
ackleymi Jul 21, 2025
4b8da8b
Adds v0.9.8 release notes
ackleymi Jul 21, 2025
400c742
Adds missing tz for resetseqtime without starttime endtime
ackleymi Jul 31, 2025
b2ba9cf
Lint
ackleymi Jul 31, 2025
8307cfe
Merge pull request #723 from ackleymi/tz-fix
ackleymi Jul 31, 2025
41d23cc
v0.9.9 release notes
ackleymi Jul 31, 2025
b6a7958
add test for seq num not resetting when disconnected
JackChalmers Aug 6, 2025
29c47d4
cleanup test and add comments
JackChalmers Aug 6, 2025
7863300
Merge pull request #724 from JackChalmers/test-for-reset-seq-time
michaelwilner Aug 6, 2025
5b68992
reset seq numbers if elapsed in between checks
JackChalmers Aug 7, 2025
2fe3f12
Merge remote-tracking branch 'origin' into test-for-reset-seq-time
JackChalmers Aug 7, 2025
1899c8f
update comment desc
JackChalmers Aug 7, 2025
f83e8a8
local tz tests
JackChalmers Aug 7, 2025
a0e1f88
update go api documentation link
vvila-ardua Aug 7, 2025
cec0770
update conditional and add UT for multiple days after reset time was set
JackChalmers Aug 7, 2025
a101c32
Merge pull request #725 from JackChalmers/test-for-reset-seq-time
michaelwilner Aug 7, 2025
f22a5a1
v0.9.10 release notes
ackleymi Aug 8, 2025
73fc4cb
Merge pull request #726 from vvila-ardua/patch-1
michaelwilner Aug 8, 2025
c6a1750
Net listener callback
michaelwilner Sep 10, 2025
e4fe18c
Merge pull request #729 from michaelwilner/net-listener-callback
michaelwilner Sep 10, 2025
3f0e47d
merge upstream
AlexandrosKyriakakis Oct 21, 2025
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
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM mcr.microsoft.com/devcontainers/go:1.21
FROM mcr.microsoft.com/devcontainers/go:1.23
269 changes: 251 additions & 18 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,29 +21,142 @@ jobs:
name: Linter
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.21'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v4
with:
version: v1.51
version: v1.64.6

build:
name: build
name: Build Source
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Build
run: make build-src

unittest:
name: Unit Tests
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.8.0
with:
mongodb-replica-set: replicaset
- name: Unit test
env:
MONGODB_TEST_CXN: mongodb://localhost:27017
run: make test-ci

servermem:
name: Server MemoryStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: server
run: make generate-ci-udecimal && make build && make $FIX_TEST

serverfile:
name: Server FileStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: file
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: file
ACCEPTANCE_SET: server
run: make generate-ci-udecimal && make build && make $FIX_TEST

servermongo:
name: Server MongoStore Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
store-type:
-
- memory
- file
- mongo
fix-version:
-
- fix40
- fix41
- fix42
Expand All @@ -67,15 +180,135 @@ jobs:
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Unit test
- name: Acceptance test
env:
GO111MODULE: on
MONGODB_TEST_CXN: mongodb://localhost:27017
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: mongo
ACCEPTANCE_SET: server
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: ${{ matrix.store-type }}
run: if [ -z $FIX_TEST ] && [ -z $STORE_TYPE ]; then make build-src && make test-ci; fi
STORE_TYPE: mongo
ACCEPTANCE_SET: server
run: make generate-ci-udecimal && make build && make $FIX_TEST

resendreqchunksize:
name: ResendRequestChunkSize Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix40
- fix41
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
MONGODB_TEST_CXN: mongodb://localhost:27017
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: ${{ matrix.store-type }}
run: if [ $FIX_TEST ] && [ $STORE_TYPE ]; then make generate-ci && make build && make $FIX_TEST; fi
STORE_TYPE: memory
ACCEPTANCE_SET: resendreqchunksize
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: resendreqchunksize
run: make generate-ci-udecimal && make build && make $FIX_TEST

lastseqnumprocessed:
name: LastSeqNumProcessed Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix42
- fix43
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: lastseqnumprocessed
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: lastseqnumprocessed
run: make generate-ci-udecimal && make build && make $FIX_TEST

nextexpectedseqnum:
name: NextExpectedSeqNum Suite
runs-on: ubuntu-latest
strategy:
matrix:
go: [1.21]
fix-version:
- fix44
- fix50
- fix50sp1
- fix50sp2
steps:
- name: Setup
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go }}
- name: Check out source
uses: actions/checkout@v2
- name: Install ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Acceptance test
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: nextexpectedseqnum
run: make generate-ci && make build && make $FIX_TEST
- name: Acceptance test with udecimal
env:
GO111MODULE: on
FIX_TEST: ${{ matrix.fix-version }}
STORE_TYPE: memory
ACCEPTANCE_SET: nextexpectedseqnum
run: make generate-ci-udecimal && make build && make $FIX_TEST
8 changes: 7 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
run:
timeout: 10m
skip-dirs:
# deprecated config -
# skip-dirs:
# - gen
# - vendor

issues:
exclude-dirs:
- gen
- vendor

Expand Down
Loading