1 # Defines basic Tcl procs for OpenOCD server modules
3 # Handle GDB 'R' packet. Can be overridden by configuration script,
4 # but it's not something one would expect target scripts to do
6 proc ocd_gdb_restart {target_id} {
7 # Fix!!! we're resetting all targets here! Really we should reset only
12 lappend _telnet_autocomplete_skip prevent_cps
13 lappend _telnet_autocomplete_skip POST
14 lappend _telnet_autocomplete_skip Host:
16 echo "Possible SECURITY ATTACK detected."
17 echo "It looks like somebody is sending POST or Host: commands to OpenOCD."
18 echo "This is likely due to an attacker attempting to use Cross Protocol Scripting"
19 echo "to compromise your OpenOCD instance. Connection aborted."
23 proc POST {args} { prevent_cps }
24 proc Host: {args} { prevent_cps }
26 # list of commands we don't want to appear in autocomplete
27 lappend _telnet_autocomplete_skip _telnet_autocomplete_helper
29 # helper for telnet autocomplete
30 proc _telnet_autocomplete_helper pattern {
31 set cmds [info commands $pattern]
33 # skip matches in variable '_telnet_autocomplete_skip'
34 foreach skip $::_telnet_autocomplete_skip {
35 foreach n [lsearch -all -regexp $cmds "^$skip\$"] {
36 set cmds [lreplace $cmds $n $n]