aboutsummaryrefslogtreecommitdiff
path: root/src/server/startup.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/startup.tcl')
-rw-r--r--src/server/startup.tcl20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/startup.tcl b/src/server/startup.tcl
index dd1b31e..447b57c 100644
--- a/src/server/startup.tcl
+++ b/src/server/startup.tcl
@@ -9,6 +9,9 @@ proc ocd_gdb_restart {target_id} {
reset halt
}
+lappend _telnet_autocomplete_skip prevent_cps
+lappend _telnet_autocomplete_skip POST
+lappend _telnet_autocomplete_skip Host:
proc prevent_cps {} {
echo "Possible SECURITY ATTACK detected."
echo "It looks like somebody is sending POST or Host: commands to OpenOCD."
@@ -19,3 +22,20 @@ proc prevent_cps {} {
proc POST {args} { prevent_cps }
proc Host: {args} { prevent_cps }
+
+# list of commands we don't want to appear in autocomplete
+lappend _telnet_autocomplete_skip _telnet_autocomplete_helper
+
+# helper for telnet autocomplete
+proc _telnet_autocomplete_helper pattern {
+ set cmds [info commands $pattern]
+
+ # skip matches in variable '_telnet_autocomplete_skip'
+ foreach skip $::_telnet_autocomplete_skip {
+ foreach n [lsearch -all -regexp $cmds "^$skip\$"] {
+ set cmds [lreplace $cmds $n $n]
+ }
+ }
+
+ return [lsort $cmds]
+}