Commit graph

7 commits

Author SHA1 Message Date
Thomas Haller
ea49b50651
all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00
Thomas Haller
3587cbd827
all: rename nm_utils_strsplit_set*() to nm_strsplit_set*() 2021-08-02 09:26:47 +02:00
Thomas Haller
61029d4064
libnmt-newt: use cleanup macro in nmt_newt_button_build_component() 2021-05-11 13:56:50 +02:00
Thomas Haller
853f411567
libnmt-newt: fix leak in nmt_newt_button_build_component()
Found by Coverity:

  Error: RESOURCE_LEAK (CWE-772): [#def274] [important]
  NetworkManager-1.31.3/src/libnmt-newt/nmt-newt-button.c:118: alloc_fn: Storage is returned from allocation function "g_strdup_printf".
  NetworkManager-1.31.3/src/libnmt-newt/nmt-newt-button.c:118: var_assign: Assigning: "label" = storage returned from "g_strdup_printf(" <%s>", priv->label)".
  NetworkManager-1.31.3/src/libnmt-newt/nmt-newt-button.c:119: noescape: Resource "label" is not freed or pointed-to in "nmt_newt_locale_from_utf8".
  NetworkManager-1.31.3/src/libnmt-newt/nmt-newt-button.c:125: leaked_storage: Variable "label" going out of scope leaks the storage it points to.
  #  123|       }
  #  124|
  #  125|->     return co;
  #  126|   }
  #  127|

Fixes: 3bda3fb60c ('nmtui: initial import of nmtui')
2021-05-11 13:56:49 +02:00
Thomas Haller
79903065e4
nmtui: cleanup includes in "nmt-newt-utils.c" 2021-04-08 16:03:35 +02:00
Vojtech Bubela
6c9728d0d5
nmtui: support setting nmtui colors via environment variables
Previously, nmtui would set the newt color "checkbox" to a hard coded
value. This made it impossible to override the color via "$NEWT_COLORS".
With this change, nmtui also parses "$NEWT_COLORS" to allow setting
newt colors:

  $ NEWT_COLORS='
      window=white,red
      border=white,red
      checkbox=white,red
      actcheckbox=white,green
    ' nmtui

Custom nmtui colors can now also be set via "$NMT_NEWT_COLORS":

  "badLabel"
  "plainLabel"
  "disabledButton"
  "textboxWithBackground"

For example:

  $ NMT_NEWT_COLORS='plainLabel=green,lightgray' nmtui

The environment variables "$NEWT_COLORS_FILE" and "NMT_NEWT_COLORS_FILE"
are honored too.

The code is based on libnewt code ([1]), authored by Miroslav Lichvar.
That patch is originally LGPL-2.0-only licensed, but for inclusion in
NetworkManager we require it to be LGPL-2.1-or-later. Miroslav kindly
agreed to use his original contribution in NetworkManager.

[1] https://pagure.io/newt/c/34e56d12931a25222d7debb22f95bb2f9fa696a0

Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/653

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/793
2021-04-08 16:00:28 +02:00
Thomas Haller
7e81f4478d
build: move "clients/tui/newt/" to "src/libnmt-newt/" 2021-03-02 08:38:26 +01:00