Commit Graph

472 Commits

Author SHA1 Message Date
skarg a8ad8f4d5c Changed error code from SERVICE/NO_SPACE_FOR_OBJECT to ABORT/SEGMENTATION_NOT_SUPPORTED to be consistent with the BACnet standard. Thank you, lo pe! [bugs:#41] 2016-08-12 20:45:08 +00:00
skarg 1302c1be7b Nikola Jelić implemented the Access Objects for BACnet (Access Door, Access Point, Access Credential, Access Rights, Access User, Access Zone, and Credential Data Input). 2016-07-17 19:23:19 +00:00
skarg 80a720b431 [Bug #46] Fixed potential buffer overflow in BVLC BACnet/IP forwarded NPDU encoding. 2016-06-29 20:20:27 +00:00
skarg f8bcd58cea Fixed some warnings detected by CSTAT.
Consolidated some unit tests and added a single test prototype to header file.
2016-06-08 21:55:12 +00:00
skarg b47afd500d Added UnconfirmedEventNotification demo application to generate Wireshark captures 2016-05-19 02:18:41 +00:00
skarg 3362eecdff Added security for BACnet stack, based on the BACnet 2012 standard, clause 24.
Implemented the majority of functionalities presented in the standard, but there are several features that this patch currently lacks:
- Set-Master-Key message has a specific order of key adding and decoding which is not covered
- There is no general secure-apdu-handler function
- Checks for the type of keys used for signing/encryption of specific messages is not implemented
- The status of encrypted flag during the calculation of the signature is ambiguous
There is a Linux implementation using the OpenSSL library, with function prototypes broad enough to allow for different implementations.
Thank you, Nikola Jelić!
2016-04-20 17:00:51 +00:00
skarg 0f2399fd21 BTL found the issue with proplist.c: When the number of required array elements are counted, the 3 excluded mandatory properties are subtracted from ”count”, but ”count” is later overwritten, causing the encoded to miss the ”correct by 3” part of the code. - Thank you, Rasmus B. Nielsen! 2016-01-21 17:35:40 +00:00
skarg 0697065030 Fixed some warnings flagged by IAR C-STAT static analysis tool. 2016-01-07 21:31:38 +00:00
skarg cce0df1a7c Removed max-master timeout in NO TOKEN state as this was causing issues and didn't have any basis in the standard. Thank you, Michael Hall. 2015-12-15 17:31:20 +00:00
skarg 94dbe3d429 Added BACnetTimeValue functions. Added demo Schedule object. Integrated new objects with demo server and unit tests. Thank you, Nikola Jelić! 2015-11-24 22:22:17 +00:00
skarg 23fb73fefc Added Date Time Wildcard compare functions and unit tests. Thank you, Nikola Jelić! 2015-11-24 20:34:54 +00:00
skarg 8a48241e14 Fixed the unit tests after integration of property-list property and device-object-property-reference properties. Thank you for noticing it was broken, Nikola Jelić, and for sending in fixes. 2015-11-04 16:53:21 +00:00
skarg b5e860dbe4 Fixed the AtomicReadFile unit test for Record Access. 2015-11-04 16:21:14 +00:00
skarg 4db370cc3a Un-refactored property-list module to lower resource requirements on small devices. 2015-10-18 03:39:28 +00:00
skarg 5a0ed5a9e0 Merged revision(s) 2898 from branches/releases/bacnet-stack-0-8-0:
Cleanup of unit test exports.
........
2015-10-18 00:27:09 +00:00
ekh 38a723bafb Committing minor changes (comments only) as an exercise in contributing.. 2015-09-26 19:45:56 +00:00
skarg 504b7c3713 Added BVLC to dynamic datalink module. Thanks, Kim Taylor! 2015-09-17 17:12:23 +00:00
skarg 07bf4eba3b Deprecated Ringbuf_Alloc, and replaced with Ringbuf_Data_Peek() and Ringbuf_Data_Put() functions. Ringbuf_Alloc() was not interrupt or thread safe. 2015-09-09 14:54:02 +00:00
skarg 458d563aaf Improved AtomicReadFile and AtomicWriteFile error detection. Eliminated redundancy in the octetstring_init function. 2015-09-01 22:24:34 +00:00
skarg 80b628453d Fixed AUTHENTICATION_STATUS Property name. Thank you, F. Chaxel. 2015-09-01 14:10:33 +00:00
skarg 8c17721dcd Fixed compile warnings in datetime library. 2015-06-28 20:40:40 +00:00
skarg fad91ca9ce Merged revision(s) 2826 from branches/releases/bacnet-stack-0-8-0:
Expose some datetime internal functions in the API.
........
2015-06-28 13:14:48 +00:00
skarg e98f74424d Fixed address_cache handling of hex DADR addresses for MS/TP or ARCNET devices. Thank you, Marshal! 2015-03-06 21:55:58 +00:00
skarg 98207470f4 Adds network address translation (NAT) handling to BVLC when the device is BBMD.
When the device is behind a NAT enabled IP router, the local subnet is not accessible from the WAN side. This means that the device's local IP address cannot be used by other devices to communicate with it. The router can port forward BACnet packets to one device in the local network, but to do so other devices need to use the global IP for communication. The considerations and limitations for NAT usage are specified in BACnet standard Annex J.7.8. Thank you, Sami Pietikäinen, for the contribution!
2015-02-24 21:54:19 +00:00
skarg efdb70b7f9 Added simple local interface to manage entries in the broadcast distribution table. Using this interface, the BDT can be supplied by local means, e.g. device's local user interface as stated in Annex J.4.4. Thank you, Sami Pietikäinen, for the contribution! 2015-02-24 20:01:18 +00:00
petermcs d7b40e0d8b Added explicit values for denoting optional device id not present
Modified bacapp_decode_device_obj_property_ref() and bacapp_decode_device_obj_ref() to use above values.
2015-02-16 10:49:50 +00:00
skarg 3ad8eaba9c added Integer Value object example 2014-09-10 04:01:53 +00:00
skarg ccad9165c5 Refactored address decoding from demo command line function into address library. 2014-08-15 13:17:46 +00:00
skarg 0be5ddce65 Fixed BACnet/IP to handler remote network broadcast that is unicast to the router. 2014-08-02 00:05:00 +00:00
skarg 53ee8f309a Added COV unit test to check linked list of values, and added helper function to create the linked list. 2014-07-31 15:14:58 +00:00
skarg 3264623953 Extended COV so that it is possible to encode and decode CovNotifications that consist of more than one BACNET_APPLICATION_DATA_VALUE. Thank you, Wolfgang! 2014-07-30 16:37:15 +00:00
skarg 8cdd480cc5 Added some enum extensions for the lighting output and life safety object. Thank you, Wolfgang! 2014-07-30 16:34:21 +00:00
tbrennan3 db224e7f0b Revised BACnetObjectTypes to match Clause 21 (and the expectations of the newly revised VTS); changed format, eg, from "Analog Input" to "analog-input" for all. 2014-07-27 01:16:04 +00:00
skarg 63288d062c Added parser for command line parsing of a BACnet BitString. This is nice if you want to write Event Enable, for example. Expects the ASCII bits as "1011001" or "1,0,1,1,0,0,1" or "1 0 1 1 0 0 1". 2014-06-13 21:25:40 +00:00
skarg 3835dc8998 Merged revision(s) 2707 from branches/obvius/bacnet-stack:
Fix: As a BBMD, when forwarding NPDU to the local subnet (as an IP broacast)
  we omit BVLC header, resulting in corrupt packet.

  bvlc_send_mpdu(&dest, &npdu[4 + 6], npdu_len); // bad
  bvlc_send_mpdu(&dest, &npdu[0], npdu_len+4+6); // good

Also added some debug_prints. To test, start bacserv, use VTS to add
yourself to the BDT, then send a Who-Is to bacserv as a Forwarded-NPDU.
Will be rebroadcast on local subnet but w/o BVLC header.

........
2014-01-17 04:29:20 +00:00
skarg 1738701f81 Merged revision(s) 2706 from branches/obvius/bacnet-stack:
Fix: BVLC-Delete-Foreign-Device always returns NAK.
    uninitialized 'port' var. Use sin.sin_port instead.

........
2014-01-16 20:01:18 +00:00
skarg c3326b324c Cleaned up some warnings found when compiling with Visual Studio Express 2010. 2014-01-14 20:03:00 +00:00
skarg bfa26b769f New code for alarms and events: new functions get_alarm_summary_encode_apdu, Send_Get_Alarm_Summary_Address, Send_Get_Alarm_Summary, Send_Get_Event_Information_Address, Send_Get_Event_Information, get_event_ack_handler. Thank you Daniel Blazevic! 2014-01-14 19:49:39 +00:00
skarg 85aed6b123 Fixed compile error exposed by unit test. Thanks, Morten! 2013-12-09 19:30:19 +00:00
skarg b8267024d7 fixed compile warning with a cast 2013-11-19 04:49:44 +00:00
skarg 94cf94b09d added text printing for property-list property. Added property-list property to analog-input object. 2013-11-16 21:49:06 +00:00
skarg cedaa5a944 added Lighing Output object to property lists 2013-11-16 00:14:55 +00:00
skarg 2f0bf7744a Added property-list property to Lighting Output and Channel objects (untested). Fixed some compiler warnings. 2013-11-15 20:51:38 +00:00
skarg b363f9dedb Added unit test for lighting command encoding and decoding. 2013-11-14 20:21:46 +00:00
skarg 4d79c26a8c Updated Lighting Output object. Added Channel object. Not complete and not fully tested. 2013-11-11 22:27:55 +00:00
skarg 55599cafaa Added apdu length checking in who-is decode. Now returning standard error define. 2013-10-31 15:50:35 +00:00
skarg 1b9d85e7e7 Added some optional channel properties to the proplist module. 2013-10-30 22:17:05 +00:00
skarg 9b5c46966a ran comment.sh script on files to clean up cpp comments. 2013-10-29 01:59:22 +00:00
skarg 56b65e9694 indented using indent.sh script. 2013-10-29 01:55:49 +00:00
skarg a43ef066b7 Removed unused device.h includes in src files. Thanks, Miguel! 2013-10-28 20:55:58 +00:00