This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goserver. commit 54b3c3eee8108e39396f8011b8539580651d2ca7 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu Mar 9 08:58:58 2017 +0100 x2goserver/bin/x2gosetkeyboard: only match up the first ending quote character in a non-greedy way. This will not support nested quotes within values, but we probably don't need this feature anyway. Cherry-picked from release/4.0.1.x branch. --- debian/changelog | 3 +++ x2goserver/bin/x2gosetkeyboard | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 8dab29b..d2f1eb1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -261,6 +261,9 @@ x2goserver (4.0.1.21-0x2go1) UNRELEASED; urgency=medium the first match. In the $BASH_REMATCH array, index 0 contains the *full* match, while indices 1+ only contain the partial matches. We're only interested in the first partial match. + - x2goserver/bin/x2gosetkeyboard: only match up the first ending quote + character in a non-greedy way. This will not support nested quotes + within values, but we probably don't need this feature anyway. * x2goserver.spec: - Add mandatory perl-generators Build-Requires as per https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl diff --git a/x2goserver/bin/x2gosetkeyboard b/x2goserver/bin/x2gosetkeyboard index ed8b1e7..483767e 100755 --- a/x2goserver/bin/x2gosetkeyboard +++ b/x2goserver/bin/x2gosetkeyboard @@ -72,7 +72,10 @@ read_keyboard_file() { # Extract the keys, their values and add to setxkbmap_opts. typeset key='' for key in "rules" "model" "layout" "variant" "options"; do - typeset regexp='^[[:space:]]*'"${key}"'[[:space:]]*=[[:space:]]*"?(.*)"?[[:space:]]*' + # This does not support quotes characters within values. Shouldn't be necessary, anyway. + # Matching escaped quote characters is possible, but complicated and not worth the effort. + # Probably. + typeset regexp='^[[:space:]]*'"${key}"'[[:space:]]*=[[:space:]]*"?([^"]*)"?[[:space:]]*' if [[ "${line}" =~ ${regexp} ]]; then typeset value="${BASH_REMATCH[1]}" -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git