Commit Graph

3107 Commits

Author SHA1 Message Date
Steve Karg 7bcaa61f36 Updated SLOC count doc. Added McCabe complexity to Makefile. 2023-12-11 10:01:35 -06:00
Steve Karg cc84a16c14 Removed rx_fsm.c example which duplicated MSTPCAP features (#544)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-12-09 11:42:14 -06:00
Steve Karg 11add815a8 Updated CHANGELOG with latest changes. 2023-12-02 09:16:19 -06:00
Steve Karg 08bfd22d82 remove extraneous define which causes compile warning 2023-12-02 08:49:15 -06:00
Steve Karg b9a29d8093 add defines for each supported BACAPP_TYPES_EXTRA (#543)
* add defines for each supported BACAPP_TYPES_EXTRA

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-12-01 12:23:44 -06:00
Steve Karg c34e1a72b2 add install recipe for stm32f4xx port example 2023-11-30 23:02:26 -06:00
Steve Karg 9780f52640 Fix bacdevobjpropref module decode buffer overflow reads (#541)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-11-29 15:44:58 -06:00
bakmaria 241cd2994f Remove RefIndx == 0 condition, as BACnet norm allows this case (#539) 2023-11-25 07:30:10 -06:00
Steve Karg e1efca9d9e Fix MSTP slave FSM for Data-Expecting-Reply frames (#538)
* Fix MSTP subordinate nodes Data-Expecting-Reply handling

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-11-20 19:08:28 -06:00
Steve Karg 1a55bd7b08 remove duplicate cobs.c file in MSVC project (#535)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-11-16 07:48:10 -06:00
Steve Karg ce5a83ad31 fix CMake for code::blocks build (#533) 2023-11-13 11:48:34 -06:00
Steve Karg 3c94580bee Added MSTP extended frame transmit. (#531)
* Added MSTP extended frame transmit to bacnet/datalink/mstp.c and ports/stm32f4xx/dlmstp.c modules.

* Changed RS485_Send_Frame to MSTP_Send_Frame in mstp.c

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-11-12 09:49:37 -06:00
Steve Karg 1372e52aa7 Feature/mstp extended frames (#529)
* added MSTP extended frames to bacnet/datalink/mstp.c module. Thank you, Simon!

* auto-size some FIFO buffers for MSTP

* add COBS library to MSTP builds

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-11-08 15:54:18 -06:00
Steve Karg 2536d5a350 Fix BACnet/IP builds for BBMD clients without BBMD tables. (#523)
* Fix BACnet/IP builds for BBMD clients without BBMD tables.

* added BBMD=client to pipeline build

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-31 10:57:44 -05:00
Steve Karg c1464a1660 Change SubscribeCOV Cancellations to always reply with Result+ (#526)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-31 10:56:18 -05:00
Steve Karg 4991bb6156 Allow processing of Who-Has when DCC initiation is disabled 2023-10-31 10:55:08 -05:00
Ondřej Hruška 3f1d6fe3a9 Merge pull request #519 from bacnet-stack/fix/rpm-decode-empty-array
Fix decoding empty array of complex type in RPM
2023-10-23 10:09:32 +02:00
Steve Karg 657973d322 format code 2023-10-21 08:45:18 -05:00
Ondřej Hruška 3870bb3826 Fix decoding empty array of complex type in RPM 2023-10-20 15:27:44 +02:00
Steve Karg 0b5474d36e Ignore ReinitializeDevice and DeviceCommunicationControl service password (#518)
* Fix device object ReinitializeDevice service handling examples of no-password in the device. Add unit testing of device object ReinitializeDevice service.  Add API for setting ReinitializeDevice device object password.

* Fix DeviceCommunicationControl service handling example of no-password in the device.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-18 21:32:44 -05:00
Ondřej Hruška e143066b29 object/nc: Fix incorrect apdu_len calculation (#517)
* object/nc: Fix incorrect apdu_len calculation when encoding Recipient_List which had resulted in malformed APDU.

* enabled unit testing on notification-class object example

---------

Co-authored-by: Tomasz Kazimierz Motyl <butterfly_tm666@yahoo.com>
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-18 11:10:17 -05:00
Steve Karg 20029d3f7a Issues/issue 513 how to reinitialize a bacnet stack on windows (#514)
* Check init flag before cleaning up WSA for BACnet/IP

* Check for valid socket before cleaning up WSA for BACnet/IPv6

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-17 23:40:28 -05:00
Jonathan e945c948d1 vmac.c : Fix a warning that 'device_id' is not used (#510) 2023-10-12 08:53:40 -05:00
BACnetEd 4188f88694 Added new linear.c to Microsoft Visual Studio project (#507) 2023-10-10 07:39:19 -05:00
Steve Karg af65a7066f added menu to release script (#506)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-10-02 09:27:56 -05:00
Steve Karg 357c3f746e update release script to manage dirty folders and create a better zip layout 2023-09-29 11:35:50 -05:00
Steve Karg 0bf5027fc7 update version to 1.3.1 for release on 29-September-2023. Happy Birthday, Krista! 2023-09-29 11:18:52 -05:00
Steve Karg d0dba10ddf update the blinkt readme with info on systemd services (#505)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-29 10:54:48 -05:00
BACnetEd 693c149644 Upgrading Microsoft Visual Studio toolchain (#502)
* Microsoft Visual Studio 2022 Community Edition contribution ( ports/win )

* Incorporated MSVC 2022 into ports/win32 directory

* merge readme.txt into README.md

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-28 17:20:04 -05:00
Steve Karg c9a85a1282 Refactor/write property object name (#504)
* refactor WriteProperty of object-name property rules into device object.

* remove dependence on device object inside some dynamic objects

* improve device object unit test coverage

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-28 15:30:28 -05:00
Steve Karg 95c2a86041 updated version to 1.3.0 for release on 28-Sept-2023 2023-09-28 11:26:30 -05:00
Steve Karg da2dc9841a Feature/raspberry pi blinkt color objects (#503)
* fixed BACnetXYcolor and BACnetColorCommand encode and decoding and improved unit test coverage. Refactored BACnetXYcolor to/from ascii into lighting module.

* added to the color, color temperature, and lighting output objects a fade/ramp/step engine.  Added color and color command coercion into the channel object and enabled color temperature object coercion.  Added CreateObject and DeleteObject service handling to the color, color temperature, lighting output, and channel objects.

* added blinkt demo app for Raspberry Pi [WIP]

* updated gitignore to simplify handling of apps folder contents

* fixed piface demo build

* added RaspiOS to pipeline for piface and blinkt! demo builds

* added device object timer function for child object types into example Device object.  Refactored device object to increment database revision for create or delete object services.   Refactored example app/server to use mstimer library and device child object timers.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-28 10:50:32 -05:00
Steve Karg b0749572f6 Bugfix/fix write property decode deprecated (#499)
* fixed WriteProperty to use secure decode. Improve unit testing.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-16 10:23:08 -05:00
Steve Karg 75286cffe4 Bugfix/linux bip so bindtodevice error (#498)
* disable extraneous SO_BINDTODEVICE warning in Linux BIP

---------

Co-authored-by: Steve Karg <steve.karg@legrand.us>
2023-09-14 11:09:11 -05:00
Steve Karg 0cfe83d60b add support for building with deprecation bypass 2023-09-13 16:32:07 -05:00
Steve Karg 43db974e50 added [feature#14] EventTimeStamp decoding from ReadPropertyMultiple app (#496)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-13 09:08:35 -05:00
Steve Karg b14177672b Fixed datetime decode of invalid tag. (#495)
* Fixed datetime decode of invalid application tag.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-12 15:11:52 -05:00
Steve Karg e9bdb15684 update security promise for 1.2.x branch 2023-09-11 19:16:39 -05:00
Steve Karg 62982f9308 added release script 2023-09-11 14:20:24 -05:00
Steve Karg 08b28dd6f4 fix github release to sf.net workflow 2023-09-11 11:37:53 -05:00
Steve Karg 7f619e4245 fix github release to sf.net workflow 2023-09-11 10:40:29 -05:00
Steve Karg 40956dec10 Updated version to 1.2.0 for release on 11-September-2023 2023-09-11 10:07:19 -05:00
Steve Karg 94dd465e7b Change mstpcap to either write to pipe or file, not both. (#492)
* Change mstpcap to either write to pipe or file, not both.

Fixed bug#83 of mstpcap.exe Permission Denied in Wireshark

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-11 09:41:54 -05:00
bakmaria e4dd30ed89 Fix wrong calculation of frames in bacapp_data_len (#491)
* Fixed wrong calculation of data length.  In cases when 2 sets of opening & closing tags (first opening tag context tag is 3, second is 0) were sent, one of the frames wasn't added, and the resulted sum was wrong

* Added unit test for case with two sets of opening & closing tags
2023-09-11 09:41:06 -05:00
Steve Karg 55b8b3d93c fix BACnet/IP on OS to bind broadcast to specific port (#489)
* Fixes #346 by binding the broadcast socket to the port specific broadcast address rather than INADDR_ANY or INADDR_BROADCAST. Added additional compile and environment options for those who might need them. 

* Changed the define USE_CLASSADDR to BACNET_IP_BROADCAST_USE_CLASSADDR to help manage namespaces.

* Added BACNET_IP_BROADCAST_BIND_ADDR environment variable to override the default broadcast binding address.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-10 10:24:18 -05:00
Steve Karg 0001f85f29 Bugfix/network port object link speeds (#488)
* fix ports/xplained build under Linux

* fix network port object link-speeds property

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-08 17:41:56 -05:00
Steve Karg bd597082d2 Fix ReinitializeDevice service handling of optional password (#487)
* Fix ReinitializeDevice service handling of optional password

* Improve ReinitializeDevice service unit testing

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-08 14:58:04 -05:00
Steve Karg f641aacddb Bugfix/deprecate decode tag number and value (#481)
* added or updated secure the BACnet primitive value decoders - the core codecs - named bacnet_x_decode(), bacnet_x_application_decode() and bacnet_x_context_decode where x is one of the 13 BACnet primitive value names.  The updated API includes an APDU size to prevent over-reading of an APDU buffer while decoding.  Improved or added unit test code coverage for the BACnet primitive value decoders.

* marked the insecure decoding API as 'deprecated' which is defined in src/bacnet/basic/sys/platform.h and can be disabled during a build. 

* added secure decoders for BACnetTimeValue, BACnetHostNPort, BACnetTimeStamp, BACnetAddress, and Weekly_Schedule and improved unit test code coverage.

* improved test code coverage for BACnet objects and properties.

* secured AtomicReadFile and AtomicWriteFile service decoders and improved unit test code coverage.

* secured BACnet Error service decoder and improved unit test code coverage.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-08 11:39:27 -05:00
dependabot[bot] bc8c261153 Bump actions/checkout from 3 to 4 (#484)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 13:53:52 -05:00
Steve Karg f61f4300be Feature/add create object service (#476)
Added BACnet CreateObject and DeleteObject services

* refactored codec for BACnetPropertyValue into bacapp module
* added unit tests for BACnetPropertyValue
* refactored COV and Events to use BACnetPropertyValue codec API
* added unit tests for COV
* added overrun safe decoders for tag numbers and boolean context
* added unit tests and codecs for CreateObject and DeleteObject services
* added APDU service handers and senders for CreateObject and DeleteObject services
* added command line apps bacco and bacdo for CreateObject and DeleteObject services
* added CreateObject and DeleteObject service handling in example server app and device object
* added new BACnetRejectReason, Error Class, and BACnetAbortReason enumerations and conversions

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-08-28 13:02:35 -05:00