Commit Graph
46 Commits
Author SHA1 Message Date
Zaid Abdulla c4880b636b Fault when provisions repeat indefinitely 2016-12-10 16:01:25 -08:00
Zaid Abdulla 9f85ead558 Turn errors from scripts and extensions into faults 2016-12-04 19:04:22 -08:00
Zaid Abdulla 3d221afc27 Implement support for download RPC
This uses special parameters (Downloads.) to trigger file download
making it poossible to use from scripts declaratively.

Resolves: #171
2016-11-30 16:27:01 -08:00
Zaid Abdulla f9c5272ce0 A number of fixes in sandbox and declaration processing 2016-11-10 07:07:51 -08:00
Zaid Abdulla 044734b567 Some events related fixes 2016-11-03 14:42:38 -07:00
Zaid Abdulla 737266eae5 Replace Mongo query in preset precondition with flat filters 2016-11-01 18:20:19 -07:00
Zaid Abdulla 600ca58b99 Major restructuring and optimization 2016-10-24 18:26:19 -07:00
Zaid Abdulla 942d929476 Implement support for reboot and factory reset methods 2016-09-07 00:07:04 -07:00
Zaid Abdulla 46870db18d Some bug fixes 2016-09-06 23:53:46 -07:00
Zaid Abdulla ad38a7ccb1 Restructuring and optimization in provision processing 2016-09-06 02:38:08 -07:00
Zaid Abdulla 41fb97adef Use variable to store active sessions
Keep session data in process for as long as the TCP connectoin is
open. Use redis if connection closes before the session is over.
2016-08-29 00:17:01 -07:00
Zaid Abdulla e6aab4229d A few fixes 2016-08-26 00:14:29 -07:00
Zaid Abdulla 62fca64268 Include device ID and channel in faults 2016-08-23 21:01:03 -07:00
Zaid Abdulla 67bcd7e526 New and improved fault management
This introduces the concept of "channel". Presets may belong to different
channels such that if one preset causes a fault, only presets belonging
to the same channel will be paused. Presets in other channels will continue
to be applied.
2016-08-23 01:06:25 -07:00
Zaid Abdulla a1ce53bf03 Implement preset triggers on device events 2016-07-20 08:47:37 +03:00
Zaid Abdulla d9f8b1c695 Implement cron-like scheduling for presets 2016-07-20 07:03:24 +03:00
Zaid Abdulla 1537603945 Implement path alias unpacking 2016-07-20 03:29:19 +03:00
Zaid Abdulla e5a21d2b40 Massive restructuring to use flat data model representation
Good luck reading this commit!
2016-07-12 04:51:24 +03:00
Zaid Abdulla 4187b812f3 Implement compatibility shim for tasks
Tasks need to be deprecated and replaced with a better solution. This
patch adds support for tasks until a better approach is implemented.
2016-04-20 02:35:56 +03:00
Zaid Abdulla 48d9adbaff Scripting in presets
User defined scripts can now be used in presets allowing dynamic values
and complex provisioning workflow.
2016-03-26 02:16:37 +03:00
Zaid Abdulla 1bdfef1537 Fix crash caused by wrong variable name
Resolves #137.
2016-03-07 14:53:01 +03:00
Zaid Abdulla 19fea2ac72 Use the new session implementation 2016-03-06 04:41:10 +03:00
Zaid Abdulla 1beb872710 Fix bug causing constant refreshing of custom commands 2015-12-20 02:16:13 +03:00
Zaid Abdulla 1c5b100561 Ensure customCommand init tasks triggered by inform run after any refreshObject task. 2015-07-05 01:40:02 +03:00
Zaid Abdulla 141102908c Fixed device updates being processed twice potentially impacting performance. 2014-08-20 23:37:07 +03:00
Zaid Abdulla 76b67d9f54 Fixed crash in debug mode caused by incorrect debug directory path. 2014-08-16 09:23:14 +03:00
Zaid Abdulla 70b0dbad29 Added a config option to set Path attribute in Set-Cookie header. 2014-08-07 00:48:05 +03:00
Zaid Abdulla ee9a35b9b3 Ability to specify per device, per product class, or per oui configuration. Reimplemented Libxmljs options on the new configuration system. 2014-08-06 00:45:24 +03:00
Zaid Abdulla 97700eb6c8 Use OUI instead of manufacturer to identify firmware files. 2014-08-01 00:47:01 +03:00
Zaid Abdulla 32c56f8ff1 Accept configuration from environment variables or command line arguments. Unified cluster and HTTP server code for CWMP, NBI, and FS. 2014-07-31 01:44:53 +03:00
Zaid Abdulla db6eae2aee Queue device updates and commit them using fewer database queries for better performance. Partial updates caused by faulty tasks will no longer be committed in order to avoid messing the device model. 2014-07-24 01:49:04 +03:00
Zaid Abdulla 1c902af363 Wait for connections to MongoDB and redis to be established on startup. Added configuration option to specify redis DB. 2014-07-19 06:54:09 +03:00
Zaid Abdulla a4f1d0dc2a Added copyright and permission header to source files. 2014-07-12 23:53:01 +03:00
Zaid Abdulla ec2dd87693 Set timeout value for TCP connetion based on CWMP session timeout. Handle expired sessions gracefully. 2014-07-10 01:08:54 +03:00
Zaid Abdulla 3348139795 Moved detection of removed parameters to updateDevice function plus other organization and optimization changes 2014-07-07 23:32:42 +03:00
Zaid Abdulla b41e619a89 Storing session data in redis instead of cookies. Closes #10. Closes #20. 2014-06-30 02:35:22 +03:00
Zaid Abdulla 82b02ff175 Added config options to be passed to libxmljs when parsing request XML. Fixes #15. 2014-06-13 13:01:16 +03:00
Zaid Abdulla 343520f408 Do not automatically close TCP connection at end of session. The CPE should, as described in the standard. Fixes 12. 2014-06-07 01:26:48 +03:00
Zaid Abdulla 70ffd8b653 Support for MongoDB 2.6. Preset precondition is now stored as a JSON string. 2014-05-17 09:35:05 +03:00
Zaid Abdulla bf8fc877d4 Support for gzip and deflate content encoding 2014-05-05 01:14:41 +03:00
Zaid Abdulla 4048de35d0 Implemented GetPRCMethods ACS method 2014-05-02 19:38:47 +03:00
Zaid Abdulla fde4d7b6a9 Accept any CWMP namespace versions. Some code clean ups. 2014-05-02 11:48:03 +03:00
Zaid Abdulla 4eb7867695 Remove old pending tasks when the device sends bootstrap event 2014-04-21 23:24:21 +03:00
Zaid Abdulla 13960f9f20 Clear presets hash if needed based on changing inform parameters or bootstrap event 2014-03-14 12:35:40 +03:00
Zaid Abdulla febd6f6cd4 Fixed dump directory path 2014-03-10 14:52:01 +03:00
Zaid Abdulla 236a0241ba Better file structure and naming 2014-03-09 19:59:34 +03:00