Commit Graph
427 Commits
Author SHA1 Message Date
Zaid Abdulla 0cae1485b5 Fix query unpacking issue with $not operator 2018-04-30 17:11:05 -07:00
Zaid Abdulla 09defce511 Stricter number parsing when unpacking query 2018-04-30 17:10:01 -07:00
Zaid Abdulla e6caa36aa0 Fix instances being created with undefined values
Happens when creating instances using object templates with nested
parameters.

Resolves: #294
2018-04-16 03:38:46 -07:00
Zaid Abdulla d7997988db Tolerate missing trailing dot in GPN responses
Treat any parameter with children as object even if the device
incorrectly reports it as a regular parameter.
2018-04-16 03:36:58 -07:00
Zaid Abdulla c7cc4c9d5b Check object attribute = 0 when generating GPV 2018-04-16 03:35:39 -07:00
Zaid Abdulla 344f4270f2 Fix infinite loop bug in previous commit 2018-03-28 16:56:49 -07:00
Zaid Abdulla 445b01e895 Prevent redundant extension calls 2018-03-24 00:45:12 -07:00
Zaid Abdulla 52bec5b46f Add config option for max commit iterations 2018-03-24 00:41:17 -07:00
Zaid Abdulla eb806342b8 Fix bug with overlapping timestamp declarations 2018-03-24 00:39:58 -07:00
Zaid Abdulla bc8619e199 Fix error trying to trim a partial stack trace 2018-03-19 23:17:39 -07:00
Zaid Abdulla 365234d49a Fault when vparam returns invalid value or type 2018-02-22 01:21:14 -08:00
Zaid Abdulla 0d6f9265f7 Trim stack trace from extension errors 2018-02-21 15:28:47 -08:00
Zaid Abdulla 75ddfc38b1 Fault when ext function doesn't exist 2018-02-21 15:22:12 -08:00
Zaid Abdulla 06508d1797 Fix timeout faults after extension crash 2018-02-21 15:07:30 -08:00
Zaid Abdulla 521907fa7d Exit main process after too many exceptions 2018-01-11 06:20:25 -08:00
Zaid Abdulla 2f276c7ce2 Remove retryNow after preset_loop fault 2018-01-11 06:20:25 -08:00
Zaid Abdulla f10056ec2e Can't write exception after response was sent 2018-01-11 06:20:25 -08:00
Zaid Abdulla 779cb1b7a2 Enforce session state
A fix for a security vulnerability reported by Maximilian Hils.
2018-01-11 06:20:25 -08:00
Zaid Abdulla bbe4def5cf No Basic auth for connection requests by default
A fix for a security vulnerability reported by Maximilian Hils.
2018-01-11 06:20:25 -08:00
Zaid Abdulla 88a50a3387 Disable XXE processing in Libxml
A fix for a security vulnerability reported by Maximilian Hils.
2018-01-11 06:20:25 -08:00
Robert Drake 3b2a09a1da Fix IPv6 ping in NBI (#278) 2018-01-05 14:57:23 -08:00
Zaid Abdulla c99496527d Optimize GPN nextLevel heuristic 2017-12-12 16:17:15 -08:00
Zaid Abdulla 32b2d721e5 Avoid extra query caused by unsaved event codes
Since not all event codes are saved (for compatibility reasons), such
event codes (e.g. "2 PERIODIC") causes a new param to be created which
results in a DB query to perform clear() operation.
2017-11-27 16:13:46 -08:00
Zaid Abdulla 945323a7da Avoid extra declare cycle when refreshing vparams 2017-11-27 16:13:15 -08:00
Zaid Abdulla 8b400a45b5 Fix preset_loop fault introduced in #93452d4 2017-11-26 12:40:05 -08:00
Zaid Abdulla 3adee03533 Fix bug where declare returns wrong value 2017-11-21 01:11:44 -08:00
Zaid Abdulla 4288fd5980 Reimplement parsing auth header
Resolves #257
2017-11-13 22:52:14 -08:00
Zaid Abdulla ec57131d51 Log only non-default config 2017-11-12 13:01:39 -08:00
Zaid Abdulla 6bfe590b0d Config to use 1/0 for booleans 2017-11-12 12:56:41 -08:00
Zaid Abdulla f7c1857b6a Config to strip milliseconds from dateTime 2017-11-12 12:29:18 -08:00
Zaid Abdulla 6a9c62b639 Support time discretization in scripts
This can be used to ensure parameter refresh times are aligned (as
opposed to using Date.now() - X). It also allows for possible future
optimizations by exploiting the fact that the value of Date.now(X)
remains static for a given amount of time.

The variance value can be used to shift the discretization threshold
points based on the hash of the device ID for load distribution.

The djb2 hashing algorithm has been replaced with MD5 for better
distribution.
2017-11-10 14:34:24 -08:00
Zaid Abdulla ed873cdd4a Only invalidate syncState after read stage
This is in order to reduce the number of commit iterations especially
during the initial discovery of the data model.
2017-11-04 22:09:52 -07:00
Zaid Abdulla 14bf276112 Clamp param timestamp values to session timestamp 2017-11-04 22:02:22 -07:00
Zaid Abdulla 93452d445f Fix bug updating tags not triggering preset rerun 2017-11-04 20:47:55 -07:00
Zaid Abdulla a436f17888 Replace endless_cycle with more specific faults 2017-10-31 12:58:00 -07:00
Zaid Abdulla 947b4d7118 Fix bug adding duplicate provisions in session 2017-10-29 12:45:26 -07:00
Zaid Abdulla b152071085 Fix exception when logging invalid session
Resolves #269
2017-10-23 17:09:37 -07:00
Zaid Abdulla 9dcd55a84f Log XML parse errors 2017-10-09 00:28:02 -07:00
Zaid Abdulla 342138d92e Log session timeout and connection drop 2017-10-09 00:25:32 -07:00
Zaid Abdulla ef712de9e3 Fix concurrent requests counter leak 2017-09-18 13:51:22 -07:00
Zaid Abdulla b2c5f5ecc9 Handle overload spikes gracefully 2017-09-16 22:43:17 -07:00
Zaid Abdulla f0b9c32ab4 Improve service shutdown process 2017-09-16 22:38:21 -07:00
Zaid Abdulla 3fc13317a2 Include PID in exception logs 2017-09-16 22:36:42 -07:00
Zaid Abdulla 73295729c8 Fix exception when TCP connection drops abruptly 2017-09-16 22:35:46 -07:00
Zaid Abdulla ed3239e4db Fix exception when setting invalid bool value 2017-09-16 22:19:10 -07:00
Zaid Abdulla f2d64d7676 Fix bug deleting specific object instances 2017-09-16 22:16:44 -07:00
Zaid Abdulla 1a83dcc1de Fix issue with declaring values using wildcards
When declaring parameter values using a wildcard path, overlapping
declarations are not applied correctly according to their weight and
execution order. The fix is to unpack first then apply the declarations
to the individual parameters.
2017-09-16 22:14:51 -07:00
Zaid Abdulla 4b17c3c9c3 Fix bug when deleting tags from script 2017-08-22 16:07:04 -07:00
Zaid Abdulla 9cb623c096 Expose random seed function to scripts 2017-08-06 16:56:58 -07:00
Zaid Abdulla 7306f7a8a5 Improve set and clear data model functions 2017-08-04 19:29:25 -07:00