fleetctl, API, copy updates around host identifiers (#20220)

## Addresses #19127 
![Screenshot 2024-07-08 at 4 49
33 PM](https://github.com/fleetdm/fleet/assets/61553566/b4704eb9-9707-4cbf-8959-ec67dde57103)
- Also replace all ocurrences of "comma separated" with
"comma-separated"

- [x] Changes file added for user-visible changes in `changes/`
- [x] `SELECT *` is avoided, SQL injection is prevented (using
placeholders for values in statements)
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
This commit is contained in:
jacobshandling
2024-07-09 10:25:01 -07:00
committed by GitHub
co-authored by Jacob Shandling
parent 812140a760
commit ec11e3d1d0
29 changed files with 139 additions and 106 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ module Crypttab =
(************************************************************************
* View: comma_sep_list
* A comma separated list of options (opt=value or opt)
* A comma-separated list of options (opt=value or opt)
*************************************************************************)
let comma_sep_list (l:string) =
let value = [ label "value" . Util.del_str "=" . store optval ] in
+2 -2
View File
@@ -47,7 +47,7 @@ let integer = Rx.integer
(* View: member *)
let member = [ label "member" . store word ]
(* View: member_list
the member list is a comma separated list of
the member list is a comma-separated list of
users allowed to chgrp to the group without
being prompted for the group's password *)
let member_list = Build.opt_list member comma
@@ -55,7 +55,7 @@ let member_list = Build.opt_list member comma
(* View: admin *)
let admin = [ label "admin" . store word ]
(* View: admin_list
the admin_list is a comma separated list of
the admin_list is a comma-separated list of
users allowed to change the group's password
and the member_list *)
let admin_list = Build.opt_list admin comma
+1 -1
View File
@@ -8,7 +8,7 @@ module Opendkim =
(*
The Dataset spec is so broad as to encompass any string (particularly the
degenerate 'single literal string' case of a comma separated list with
degenerate 'single literal string' case of a comma-separated list with
only one item). So treat them as 'String' types, and it's up to the user to
format them correctly. Given that many of the variants include file paths
etc, it's impossible to validate for 'correctness' anyway
@@ -9,7 +9,7 @@ import (
)
// parseOptions parses the stdout returned from falconctl's displayed options. As far as we know, output is a single
// line, comma separated. We parse multiple lines, but assume data does not space that. Eg: linebreaks and commas
// line, comma-separated. We parse multiple lines, but assume data does not space that. Eg: linebreaks and commas
// treated as seperators.
func parseOptions(reader io.Reader) (any, error) {
results := make(map[string]interface{})
+1 -1
View File
@@ -207,7 +207,7 @@ func getCmdResponseData(outputCmd string) (string, error) {
continue
}
// results will be appended in a comma separated list
// results will be appended in a comma-separated list
if len(element.Item) > 0 {
// extracting the data from the result