Commit Graph
100 Commits
Author SHA1 Message Date
Kristóf Tóth ecec1cde59 Root out remaining ambiguous key arguments in EventHandlers 2018-04-14 10:45:23 +02:00
Kristóf Tóth 0cd11f9d64 Remove ambiguous key parameter from proxy module 2018-04-14 10:45:23 +02:00
Kristóf Tóth fe7bd4a678 Remove ambiguous key parameter from EventHanderConnector 2018-04-14 10:45:23 +02:00
Kristóf Tóth 3c12b5503e Mark old serialization methods as module internal 2018-04-14 10:45:23 +02:00
Kristóf Tóth 499b575adf Add module docstring to serialization.py 2018-04-14 10:45:23 +02:00
Kristóf Tóth 9eb6717972 Refactor 'mirror' message enveloping to use new serialization 2018-04-14 10:45:23 +02:00
Kristóf Tóth aabaadc4c4 Refactor proxying to use new deserialization 2018-04-14 10:45:23 +02:00
Kristóf Tóth cd36b6c22c Refactor ServerUplinkConnector to use new serializers 2018-04-14 10:45:23 +02:00
Kristóf Tóth 67a23166c6 Introduce [de]serialize_tfw_msg() methods to abstract away enveloping 2018-04-14 10:45:23 +02:00
Kristóf Tóth 18e9ee5f52 Rename make_response in networking to avoid confusion 2018-04-14 10:45:23 +02:00
Kristóf Tóth d04479157d Refactor ServerUplinkConnector.send() signature 2018-04-14 10:45:23 +02:00
Kristóf Tóth b8cdb30318 Add missing legal boilerplate to terminal_commands.py 2018-04-14 10:44:54 +02:00
Kristóf Tóth 512a965328 Update old logging code to use TFW global logging 2018-04-13 16:46:11 +02:00
Kristóf Tóth c33a2f8103 Add .pylintrc 2018-04-13 16:28:30 +02:00
Kristóf Tóth 9f4364ec10 Remove obsolete .pyenvrc from "compiling python3 cause ubuntu" times 2018-04-13 16:26:55 +02:00
Kristóf Tóth 7877e977ab Extract magic dict building to method in TerminalCommands 2018-04-13 10:01:45 +02:00
Kristóf Tóth 5d8d541394 Remove dead code from EventHandlerBase 2018-04-12 14:30:27 +02:00
Kristóf Tóth 16c1fe7b50 Implement appending command aliases to bashrc to avoid command not found 2018-04-12 11:07:56 +02:00
Kristóf Tóth 8caf879ffd Integrate terminal command magic class from test repo to TFW 2018-04-12 10:56:15 +02:00
Kristóf Tóth 73fa65c6e8 Implement triggering of FSM from ServerUplinkConnector 2018-04-11 15:22:54 +02:00
Kristóf Tóth 4842574cf3 Refactor LinearFSM triggers to have different names 2018-04-11 15:20:14 +02:00
Kristóf Tóth 6113149c58 Rework serialization module to work regardless of message format 2018-04-10 17:37:58 +02:00
Kristóf Tóth 87fa86d314 Refactor FSM triggering in TFWServer 2018-04-10 17:37:58 +02:00
Kristóf Tóth dbe6fe0f92 Add license boilerplate to linear_fsm.py 2018-04-10 12:48:53 +02:00
Kristóf Tóth 8a255053aa Update architectural diagram 2018-04-10 08:34:05 +02:00
Kristóf Tóth 29da0a7ca6 Implement first version of LinearFSM 2018-04-07 15:21:13 +02:00
Kristóf Tóth 1922050e87 Make semantics of whitelist and blacklist more explicit in webide 2018-04-07 15:00:31 +02:00
Kristóf Tóth 8bd6005b5d Refactor blacklisting into a method in webide 2018-04-07 14:35:42 +02:00
Kristóf Tóth 4a216d8875 Rename SourceCodeEventHandler to WebideEventHandler 2018-04-07 14:18:15 +02:00
Kristóf Tóth de8c2ae6e2 Implement FSMUpdates to EventHandlers 2018-04-06 17:14:37 +02:00
Kristóf Tóth b785b88af6 Pass processed message to FSM trigger predicates 2018-04-06 17:14:06 +02:00
Kristóf Tóth 96c322c17c Silence unjust critique by pylint 2018-04-06 16:52:23 +02:00
Kristóf Tóth 11743e830a Expose ServerUplinkConnector with a name understandable without TFW knowledge 2018-04-06 16:22:21 +02:00
Kristóf Tóth 0464acbdc4 Make error logs more explicit 2018-04-06 16:09:05 +02:00
Kristóf Tóth 64bd2f1ba0 Refactor handling of shared EventHandlerConnector ownership to nicen imports 2018-04-06 16:04:25 +02:00
Kristóf Tóth 1f2e1f0489 Refactor whole importing hell into a nice and clean API 2018-04-06 15:31:16 +02:00
Kristóf Tóth bd84e4fe06 Improve code formatting in webide 2018-04-05 17:19:56 +02:00
Kristóf Tóth bc340e2e19 Enforce webide whitelisting 2018-04-05 17:16:41 +02:00
Kristóf Tóth b73b7307bd Improve webide whitelisting by enforcing stricter rules (fix symlink attack) 2018-04-05 17:01:50 +02:00
Kristóf Tóth b74ff39438 Implement directory whitelisting in webide 2018-04-05 14:43:39 +02:00
Kristóf Tóth 35421649c9 Extract spawning bash as user to a variable 2018-04-05 14:43:07 +02:00
Kristóf Tóth b54c91848b Remove tfw server init from baseimage (part of child contract now) 2018-04-04 17:48:49 +02:00
Kristóf Tóth 19f819c142 Implement TFW & challenge solver user separation 2018-04-04 17:43:18 +02:00
Kristóf Tóth 68fc4ca050 Fix nginx on readonly filesystems 2018-04-04 14:18:37 +02:00
Kristóf Tóth ade0936c6f Provide high-level documentation of event handlers and FSM 2018-04-03 17:41:19 +02:00
Kristóf Tóth d072f9ee9c Extend documentation with framework basics 2018-04-03 16:20:12 +02:00
Kristóf Tóth eaa0eee4ca Add LICENSE file and include copyright notice in source files 2018-04-03 14:49:14 +02:00
Kristóf Tóth b8bcda134c Start rewriting README.md 2018-03-30 22:37:36 +02:00
Kristóf Tóth d5f11f9a08 Merge branch 'pylint' 2018-03-30 18:13:37 +02:00
Kristóf Tóth d850f55b86 Add pylint local excludes to silence false positives 2018-03-30 18:11:38 +02:00
Kristóf Tóth 3ae0995b95 Make project comply new coding standards and pylint 2018-03-30 17:50:20 +02:00
Kristóf Tóth c2375e9206 Remove supervisor components that should be in child images 2018-03-29 16:50:47 +02:00
Kristóf Tóth 2087294510 Implement simple HistoryMonitor for GDB monitoring 2018-03-29 15:19:00 +02:00
Kristóf Tóth ba41c0b505 Make initialization of historymonitor the responsibility of client 2018-03-29 11:34:08 +02:00
Kristóf Tóth c973b17141 Refactor HistoryMonitor to be customisable 2018-03-29 11:23:38 +02:00
Kristóf Tóth e832059526 Migrate baseimage to debian from ubuntu 2018-03-28 16:27:35 +02:00
Kristóf Tóth 43c46a7af2 Integrate ABC module where we have abstract classes 2018-03-27 17:49:32 +02:00
Kristóf Tóth 6bd0ba1450 Add VERSION file. First official TFW release 2018-03-27 13:36:25 +02:00
Kristóf Tóth 1982a3c869 Rename TFWENV and TAOENV constants to use capital letters 2018-03-25 16:38:39 +02:00
Kristóf Tóth ec469c6b75 Remove unnecessary super().__init__() call 2018-03-25 16:38:39 +02:00
Kristóf Tóth 8eded8cbac Make use of format string optimization in logging calls 2018-03-25 16:38:32 +02:00
Kristóf Tóth 73ed680298 Fix bad indentation 2018-03-25 16:20:49 +02:00
Kristóf Tóth 5c1431685e Remove unnecessary __init__() call 2018-03-25 16:10:55 +02:00
Kristóf Tóth aacdbcb0d1 Standardize log constant naming and declaration placement 2018-03-25 16:06:59 +02:00
Kristóf Tóth 1e2ea0ed17 Standardize imports: standard newline package newline tfw 2018-03-25 15:43:59 +02:00
Kristóf Tóth a3fa75b676 Make Dockerfile more bashy 2018-03-23 21:29:27 +01:00
Kristóf Tóth 3e77b30920 Move hack folder to test-tutorial-framework repo 2018-03-23 17:56:46 +01:00
Kristóf Tóth 2f1502eaeb Fix dev environment bootstrap script 2018-03-23 16:08:19 +01:00
Kristóf Tóth 2ae086d89c Move magic scripts to hack folder 2018-03-23 16:05:17 +01:00
Kristóf Tóth c0ac76c58c Add script to bootstrap TFW dev environment 2018-03-23 15:50:40 +01:00
Kristóf Tóth 0a1918ceb6 Remove obsolete information from README 2018-03-23 15:24:30 +01:00
Kristóf Tóth 7c9ffde932 Update magic starter to support new baseimage 2018-03-23 15:14:16 +01:00
Kristóf Tóth 82fb01e42e Refactor project into TFW baseimage 2018-03-23 14:44:02 +01:00
Kristóf Tóth abcf490019 Strip controller from TFW 2018-03-23 11:37:01 +01:00
Kristóf Tóth fda242d263 Fix EventHandlerConnector dying painfully on keyless messages 2018-03-21 17:23:18 +01:00
Kristóf Tóth 095c818a36 Move @with_monitor_paused decoartor to directory_monitor.py 2018-03-21 17:18:16 +01:00
Kristóf Tóth 6e391b6b2c Rename watchdog's EventHandlers to avoid confusion 2018-03-20 14:35:21 +01:00
Kristóf Tóth c8dca5f33b Change order of classes in directory_monitor.py 2018-03-20 14:32:27 +01:00
Kristóf Tóth 359e478069 Move DirectoryManagingEventHandler to seperate module 2018-03-20 14:29:14 +01:00
Kristóf Tóth 598cf6218a Remove duplicate name from logging 2018-03-20 12:20:13 +01:00
Kristóf Tóth 6c5361846b Adjust DirectoryMonitor rate limiting to filter multi-inotify events 2018-03-20 11:40:20 +01:00
Kristóf Tóth b1f4842dc7 Use now fixed DirectoryMonitor.ignore property in webide 2018-03-20 11:39:37 +01:00
Kristóf Tóth 08693d3ba2 Fix infinite recursive property in DirectoryMonitor 2018-03-20 11:31:29 +01:00
Kristóf Tóth 222143665c Implement DirManagingEH selectdir API 2018-03-20 09:02:05 +01:00
Kristóf Tóth 7b834f8f25 Expose DirManagingEH.directory as a property 2018-03-20 09:02:05 +01:00
Kristóf Tóth aaaad9c459 Add untested DirectoryMonitoringEventHandler implementation 2018-03-20 09:02:05 +01:00
Kristóf Tóth ccb076c885 Remove depecrated ioloop.install() calls 2018-03-15 16:11:53 +01:00
Kristóf Tóth 785edd56b9 Upgrade python packages 2018-03-15 16:11:35 +01:00
Kristóf Tóth cc87540171 Implement SourceCodeEventHandler blacklist manipulating API 2018-03-15 15:54:07 +01:00
Kristóf Tóth aa54e40f14 Refactor SourceCodeEventHandler blacklisting to use unix pattern matching 2018-03-15 15:50:52 +01:00
Kristóf Tóth 1b87863997 Refactor FileManager.select_file() to @filename.setter property 2018-03-15 12:18:39 +01:00
Kristóf Tóth 0ef502a680 Make property setup stuff in FileManager.__init__() more readable 2018-03-15 12:04:39 +01:00
Kristóf Tóth 4b8b71d967 Expose FileManager exclude as a property 2018-03-15 12:02:56 +01:00
Kristóf Tóth e3c533de76 Implement example command callback to toggle the next button 2018-03-14 18:05:19 +01:00
Kristóf Tóth f354fd73dc Rename response -> message in ServerConnector classes 2018-03-14 16:11:27 +01:00
Kristóf Tóth 98443dc588 Remove duplicate nginx chown from Dockerfile 2018-03-14 14:32:49 +01:00
Kristóf Tóth 1ea238e108 Remove duplicate nginx pidfile fix from Dockerfile 2018-03-14 14:31:34 +01:00
Kristóf Tóth 929ea905c5 Improve error handling in webide backend 2018-03-14 14:15:40 +01:00
Kristóf Tóth d4d6bdad0f Implement custom TFW command demo 2018-03-14 14:12:09 +01:00
Kristóf Tóth a5d0359ab8 Add helper method to ServerUplinkConnector for EH -> EH communication 2018-03-14 14:09:30 +01:00