drivers/ftdi: prevent misleading error msg when more vid/pids configured
[openocd.git] / src / server / startup.tcl
blob1d30b1dd37782a77a210540abf34535929fa4215
1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # Defines basic Tcl procs for OpenOCD server modules
5 # Handle GDB 'R' packet. Can be overridden by configuration script,
6 # but it's not something one would expect target scripts to do
7 # normally
8 proc ocd_gdb_restart {target_id} {
9 # Fix!!! we're resetting all targets here! Really we should reset only
10 # one target
11 reset halt
14 lappend _telnet_autocomplete_skip prevent_cps
15 lappend _telnet_autocomplete_skip POST
16 lappend _telnet_autocomplete_skip Host:
17 proc prevent_cps {} {
18 echo "Possible SECURITY ATTACK detected."
19 echo "It looks like somebody is sending POST or Host: commands to OpenOCD."
20 echo "This is likely due to an attacker attempting to use Cross Protocol Scripting"
21 echo "to compromise your OpenOCD instance. Connection aborted."
22 exit
25 proc POST {args} { prevent_cps }
26 proc Host: {args} { prevent_cps }
28 # list of commands we don't want to appear in autocomplete
29 lappend _telnet_autocomplete_skip _telnet_autocomplete_helper
31 # helper for telnet autocomplete
32 proc _telnet_autocomplete_helper pattern {
33 set cmds [info commands $pattern]
35 # skip matches in variable '_telnet_autocomplete_skip'
36 foreach skip $::_telnet_autocomplete_skip {
37 foreach n [lsearch -all -regexp $cmds "^$skip\$"] {
38 set cmds [lreplace $cmds $n $n]
42 return [lsort $cmds]