Insights from the openSUSE Logo Contest
The past few weeks have been an exciting time for the openSUSE Project as discussions about the visual identity of the project offers a glimpse into people’s various views about the project and its brand identity.
The recent conclusion of the openSUSE logos contest has sparked extensive discussions among both members actively engaged in the openSUSE Project and those participating in it.
Our logo contest has provided us with a wealth of creative input and diverse perspectives that lay a strong foundation for deliberations on the future direction for the project.
The contest provided a voice for the many who aren’t as vocal as some about selecting a new logo. While there were some who were vocal on various platforms, the contest gave openSUSE Project members an opportunity to gauge how the broader community perceives the project.
The submissions and voting outcomes offered a glimpse into the collective vision of open-source enthusiasts who may not be directly involved in the project but are crucial stakeholders nonetheless.
As efforts move forward with the outcome of this, inclusivity and community involvement remain at the core of the decision-making process.
During the community meeting this week where the results were discussed, participants expressed the view that members of the openSUSE Project have an opportunity to participate in the selection of our new logo, and that SUSE, which holds the trademark to the openSUSE logo, be involved with the process for selecting a branding decision with regard to the results. After all, this decision impacts the collective identity.
To facilitate this, there is a plan to organize a vote between the current logo and the proposed new design, allowing our community to have a say in this important decision. Furthermore, members of the project are collaborating with SUSE on the implications of the branding initiatives and some have expressed the desire for SUSE’s input to ensure there is an aligned vision for the future of openSUSE.
A two-step approach to spearhead the discussions and decision-making processes with key stakeholders is crucial in driving a plan of action forward and implementing any changes to our branding strategy.
Outlined below are the proposed steps that will guide the project through this journey:
Step 1:
- Evaluation of Contest Results (completed)
- Assessing the Path Forward (completed)
- Engaging with SUSE for Brand Consideration & Assessing Contributions
- Presentation of Branding Strategy
- Community Voting Engagement
- Organizing a voting process for openSUSE Project members to choose between the Old and New Logo
Step 2:
- Collaboration with Stakeholders
- Aligning Logo Ownership with SUSE
- Trademarking and Implementation
The aim is to ensure transparency, inclusivity, and alignment with the collective goals of the openSUSE Project throughout this process.
For a detailed review of the survey results from the logo contest, visit our Logo Contest page.
People interested in becoming a member of openSUSE should visit our wiki on How to become a member.
Thank you for your continued support and enthusiasm. A big thank you to all the people who submitted a design and those who voted. Winners of the contests have been contacted about winning and will be shipped a Geeko Mystery Box.
The winners of the openSUSE logo contest across various categories are as follows:
budgie-extras: Multiple Predictable /tmp Path Issues in Various Applications
This report is about a range of predictable /tmp path issues in various applications in the budgie-extras repository. This repository contains a range of helper applications for the Budgie desktop environment.
During a routine review of applications that are autostarted in X11 environments I found the issues 1) to 4) outlined below. Upstream found two additional cases of predictable /tmp path uses that they addressed, as outlined in items 5) and 6). Upstream released version 1.7.1 today which fixes all the issues.
Introduction
The affected programs are mostly written in the Vala programming language, some are also scripted in Python. In all cases predictable paths in /tmp containing only the username or no variable components at all are used. In these paths regular files or directories are created. The paths are often used as a kind of inter-process-communication between two or more budgie-extras components.
The impact of the issues differs a lot depending on the actual affected program and ranges from denial-of-service to information leaks to integrity issues through manipulation of the data which is used e.g. for displaying images on the desktop. All the issues are restricted to local attackers, naturally.
Without the Linux kernel’s protect symlink sysctl setting the severity of the issues will in some cases be worse. Even with this protection enabled it is often possible to pre-create the files or directories as another local user, granting world read and write access, which will cause the budgie-extras applications to use them even though they are attacker controlled.
Without the Linux kernel’s symlink protection many of these findings where files are created look like they might allow symlink attacks to have files created in arbitrary locations. The Vala file creation calls I looked into are mostly translated into the following system call, though:
openat(AT_FDCWD, <path>, O_WRONLY|O_CREAT|O_EXCL|O_CLOEXEC, 0666)
Even tough this is missing the O_NOFOLLOW flag, symlinks would not be
followed, due to the combination of O_CREAT and O_EXCL. I will point
out cases where symlink attacks might still be possible in spite of
this.
As a quick fix for all of these issues I suggested to use
$XDG_RUNTIME_DIR instead of /tmp. This directory is private to the
logged in user and cannot be manipulated by other users in the system.
In the instances where these files are used as a simple communication
mechanism (“trigger” logic) it could be considered using sockets, the
D-Bus session bus or named FIFOs instead - also placed in safe
locations, of course.
Following is a detailed listing of all individual issues based on the budgie-extras Git repository tag for version 1.7.0.
1) budgie-window-shuffler (CVE-2023-49344)
1.1) Path /tmp/shufflerapplettrigger_<user>
In src/shuffler_control.vala line 1740
first an attempt is made to delete this path. Then it starts monitoring the
path, reacting to its creation, by automatically selecting (popping up) the
“Applet” listbox GUI entry.
The counterpart to this is found in applet/src/ShufflerApplet.vala line
91, where this file is created to let the
settings dialog open.
The worst that can happen here is likely confusing the victims GUI so it is low severity.
1.2) Path /tmp/<user>_shufflertriggers/layoutspopup
In src/toggle_layouts_popup.vala line 62
first an attempt is made to create the directory, ignoring any potential
errors - considering it to already exist. Then the “layoutspopup” file is
created within the directory. Depending on program evaluation logic the string
“fromcontrol” is written to the file, otherwise the file remains empty.
In src/layouts_popup.vala line 1384
monitoring for this file is setup, its content is read (it is checked whether
it contains “fromcontrol”) and then a popup window is either created or
destroyed, depending on the current program state.
Another user in the system can pre-create this directory and then control the creation and destruction of the popup dialog, thereby confusing the victim’s GUI. By placing a FIFO instead of a regular file at “layoutspopup”, the layout popup will be subject to denial-of-service (either by blocking it indefinitely or by feeding it large amounts of data, leading to an out-of-memory situation).
Without the Linux kernel’s symlink protection the issue can be used to
make the layouts_popup program read from arbitrary files, or to
operate in arbitrary directories.
1.3) Path /tmp/<user>_running_layout
In src/run_layout.vala line 203 this file
is created to “temporarily disable possibly set windowrules”. In line 379 this
path is (needlessly) constructed again and passed to function
create_busyfile(), although this parameter remains unused by the function.
In line 478 stat() and unlink() are attempted on the file.
In src/windowshufflerdaemon.vala line 831
an existence check for this file is made. If it exists then the run_rule
program will not be executed for any windows.
This path allows a local attacker to prevent the victim’s run_rule
ever to be executed.
1.4) Path /tmp/<user>_gridtrigger
In src/togglegui.vala line 33 an
existence check is made for this path and depending on the outcome it is
either created as an empty file, or deleted.
In src/windowshufflerdaemon.vala line
992 in function actonfile()
there is a reaction to the creation and deletion of this path. Depending
on this the gridguiruns boolean is set to true or false respectively.
If it is set to false then a window will be destroyed in line 1148.
In src/gridwindow.vala line 637 a
monitor is setup for this file and depending on it being created or being
deleted the gridwindow is being displayed or destroyed.
This path basically allows a local attacker to make the “grid window”
managed by the gridwindow program appear, thereby confusing the
victim’s GUI. The other way around windowshufflerdaemon can be
caused to destroy its “preview window” if this state file is under a
local attacker’s control.
1.5) Path /tmp/shuffler-warning.png
In src/windowshufflerdaemon.vala line 1017
in function create_warningbg() this path is used to write a programmatically
created PNG image into. In function show_awarning() in line 338 the program
sizeexceeds_warning is executed which in turn in
src/sizeexceeds_warning.vala line 68
displays the generated PNG image on the desktop.
A local attacker can attempt to place arbitrary PNG data in this path and have it displayed on the victim’s desktop. Placing crafted PNG data could allow to exploit further security issues in image processing libraries.
1.6) Path /tmp/<user>_istestingtask
This path is potentially created in src/layouts_popup.vala line
492. The file receives data from the GUI
interface. In src/run_layout.vala line
407 this path is picked up again and its
content is interpreted in extractlayout_fromfile().
Since this file’s content is evaluated and used for further program
logic there is a chance for a local attacker to massively break the
run_layout program’s logic or maybe even achieve code execution. The
Linux kernel’s protected_regular sysctl setting comes to the rescue
here, though. The open() with O_CREAT will fail. It can then
still present a denial-of-service vector, though.
Upstream Fix
This is fixed in upstream commit 11b0201. The public
/tmp directory has been replaced by the user’s private $XDG_RUNTIME_DIR,
with a fallback to the user’s home directory.
2) budgie-wpreviews (CVE-2023-49347)
2.1) Path /tmp/<user>_window-previews
This path is used for a directory. In src/separate_shot.vala line
43 it is created, errors are ignored. In line 105
screenshots of certain X11 windows are placed in the directory following the
name scheme <window-id>.<workspace-name>.png.
In src/previews_creator.vala line 74 an attempt to
create the directory the same way is found. In line 241 the directory is
iterated over and each file found there, independently of its name, will be
assembled in a file list. This file list is luckily only used for removing
files of non-existent windows in this program.
In src/previews_daemon.vala line 719 there is
another attempt to create the directory the same way as in the other two
locations. In line 523 the directory is again iterated over and a list of the
contained filenames is assembled, independently of their names. In line 404
the filenames are interpreted and split into X11 window IDs and workspace
names again. It seems the code expects all filenames to match the pattern, if
this is not the case then the program will likely crash. The resulting file
list is (luckily) matched against the existing X11 window IDs in line 421.
Even without exploiting the fixed temporary directory path this directory has security issues, since it is created world-readable. Any other users in the system can access the window screenshots that are created there and thus this is an information leak.
Since all errors trying to create the directory are ignored, another
local user can pre-create this directory world-writable, and the
wpreviews applications will still use the directory which is now under
attacker control. The attacker can place additional PNG image files
there, trying to confuse the victim’s GUI experience. A local DoS
against the previews_daemon seems also possible by placing
non-conforming files into the directory. Since the previews_daemon
only uses files from the directory for which an existing X11 window is
found, the complexity for a local attacker to inject arbitrary PNG files
into the preview logic is raised. It can still be possible by observing
the PNG files created by e.g. the separate_shot program and replacing
them with crafted data.
Without the Linux kernel’s symlink protection a local attacker can place a symlink there instead of a directory, causing the programs to operate in arbitrary other directory locations.
2.2) Paths /tmp/<user>_prvtrigger_*, /tmp/<user>_previoustrigger, /tmp/<user>_nexttrigger
This long list of trigger files:
/tmp/<user>_prvtrigger_all
/tmp/<user>_prvtrigger_current
/tmp/<user>_prvtrigger_all_hotcorner
/tmp/<user>_prvtrigger_curr_hotcorner
/tmp/<user>_previoustrigger
/tmp/<user>_prvtrigger_all
/tmp/<user>_nexttrigger
is used both in src/previews_triggers.vala line
43 and src/previews_daemon.vala line
664.
The previews_triggers program selects one of these trigger paths
depending on command line arguments, various logical evaluations and
depending on whether some of the paths already exist. The selected path
is then simply created with empty content.
In previews_daemon these paths are monitored and their existence is
evaluated in a complex fashion to display previews of existing windows.
In conjunction with the issues in 2.1) this can be used to display
attacker controlled images on the victim’s screen at arbitrary times,
provided that the victim user is running the previews_daemon.
Apart from the security related problems this group of files for controlling a daemons behaviour seems ill devised. Instead proper IPC mechanisms should be used.
Upstream Fix
This is fixed in upstream commit 588cbe6. The public /tmp
directory has been replaced by the user’s private $XDG_RUNTIME_DIR, with a
fallback to the user’s home directory.
3) budgie-takeabreak (CVE-2023-49345)
3.1) Path /tmp/nextbreak_<user>
This file is read in budgie_takeabreak.py line 245 and
the resulting string is split on “.”, the first element resulting from this is
used as the new “time” displayed in the GUI.
In takeabreak_run line 80 this path is created and the
next “break time” is written to it.
A local attacker can pre-create this file and have arbitrary string content displayed instead of the actual “next time”. A denial-of-service will also be possible e.g. by placing a FIFO there.
Upstream Fix
This is fixed in upstream commit 588cbe6. The public /tmp
directory has been replaced by the user’s private $XDG_RUNTIME_DIR, with a
fallback to the user’s home directory.
4) budgie-weathershow (CVE-2023-49346)
4.1) Path /tmp/<username>_weatherdata
In src/weathershow/WeatherShow.vala line 354 the
current “weather data” is written to this location. Before this an attempt is
made to delete an already existing file. Errors for both, deletion and
creation of the file, are ignored unconditionally.
In line 236 the content from this file is read and interpreted for updating GUI window data.
A local attacker can pre-create this file and thus manipulate the data displayed by the weather applet. Also a denial-of-service will be possible e.g. by placing a FIFO there.
Upstream Fix
This is fixed in upstream commit 0092025. The public
/tmp directory has been replaced by the user’s private $XDG_RUNTIME_DIR,
with a fallback to the user’s home directory.
5) budgie-clockworks (CVE-2023-49342)
This issue was not discovered by me but by upstream while working on the fixes for the other issues I reported. For completeness I mention it in this report as well.
5.1) Path /tmp/<user>_clockworks
This path is used as a directory in the Python script
cwtools.py. It
is reused if it already exists. The scripts generates SVG vector
graphics in there, converts them to the PNG image format and saving them
in the users home directory in ~/.config/budgie-extras/clockworks.
Here, again, the image data can be manipulated by a local attacker by pre-creating this directory. In this case the data will even be persisted in the user’s home directory. Crafted SVG of PNG data could be placed in the directory to try attacking the image processing libraries used.
Upstream Fix
This is fixed in upstream commit d030837. The public /tmp
directory has been replaced by the user’s private $XDG_RUNTIME_DIR, with a
fallback to the user’s home directory.
6) budgie-dropby (CVE-2023-49343)
Like issue 5), this issue was not discovered by me but by upstream while working on the other issues I reported. For completeness I mention it in this report as well.
6.1) Path /tmp/<user>_keepdropbywin
This path is used as a “timer” file in the checkonwin and
dropover Python scripts. The file’s content is not
evaluated, but the checkonwin script runs wmctrl -c dropby_popup if the
file doesn’t exist for more than six seconds.
The Python openat() call uses O_CREAT | O_EXCL flags so symlink
attacks are not a problem even without kernel symlink protection. Other
users in the system can shorten the “timer” logic of the checkonwin
script, though, by creating the file path at an arbitrary time.
6.2) Path /tmp/<user>_call_dropby
The script budgie_dropby.py creates this file as a trigger
for the dropover script which reacts to the creation of this path by
scanning the current list of USB block devices and their mount points in the
system. A GUI dialog is displayed or updated as a reaction to this.
A local attacker can cause this dialog to be displayed by creating this
file. It can also be used as a kind of local DoS vector to keep the
dropover script busy all the time, iterating over block devices.
6.3) Path /tmp/<user>_dropby_icon_copy
This is used as a trigger file in budgie_dropby.py. If the
file is created then a GUI dialog is changed and updated. In the
copy_flash Python script this trigger is created to signal
that some files have been copied.
A local attacker can cause this dialog to be displayed by creating this file at arbitrary times.
Upstream Fix
This is fixed in upstream commit e75c94a. The public /tmp
directory has been replaced by the user’s private $XDG_RUNTIME_DIR, with a
fallback to the user’s home directory.
7) Timeline
| 2023-10-16 | I reported the issues 1) - 4) to fossfreedom@ubuntu.com, offering coordinated disclosure. |
| 2023-10-17 | Upstream accepted coordinated disclosure aiming at a publication date towards the end of the year. |
| 2023-11-28 | Upstream communicated to us the CVEs they assigned for the issues plus for the two additional items 5) - 6) they discovered. They communicated that an upcoming version 1.7.1 will contain the fixes. |
| 2023-12-03 | Upstream communicated a preliminary publication date of 2023-12-14 for version 1.7.1 containing the fixes. They shared the individual patches for issues 1) - 6) with us. |
| 2023-11-14 | The publication date has been reached, the upstream version 1.7.1 as well as GitHub security advisories have been published. |
8) References
- budgie-extras GitHub repository
- budgie-extras v1.7.1 bugfix release
- budgie-extras v1.7.0 tag: this was the code based used in this review
- bugfix commit for window-shuffler application
- bugfix commit for the wpreviews application
- bugfix commit for the takeabreak application
- bugfix commit for the weathershow application
- bugfix commit for the clockworks application
- bugfix commit for the dropby application
Canned Responses and Moderator Decisions
Music of the week: the church organ
One of my favorite instruments is the church organ. A few weeks ago we already listened to organ and drums, but those were just covers of some popular songs. However, the church organ is also used in original music, including some really well-known songs.
Next to Bach, probably the best-known appearance of a church organ is in Andrew Lloyd Webber’s The Phantom of the Opera. As a kid, first, I copied it from vinyl to tape, after which I also bought it on CD. It was one of the very few CDs I ever sold from my collection: after a while, I started listening almost purely to instrumental music, and it did not fit that world… But, as a high school student I still listened to it a lot – at close to maximum volume :-)
TIDAL: https://listen.tidal.com/album/619259/track/619270
Talking about instrumental music. When I first visited my favorite CD shop, I was asked what kind of music I liked. When I told them I listened mostly to instrumental, I was told I was missing out on the really good part. But I also got some fantastic recommendations, one of which was the album “The Eight Wives Of Henry VI” by Rick Wakeman (did I mess up the numbers again?). It is one of my most listened to albums of all time. I have it on CD, and now also as high resolution FLAC files from HDtracks.
TIDAL: https://listen.tidal.com/album/40992779
Finally, one of my recent discoveries: music by Gary Ginsberg and Vitalij Kuprij. All songs have piano in them, and some even the church organ. Unfortunately, while it is available on YouTube and TIDAL, I could not find a CD version or downloadable FLAC files.
TIDAL: https://listen.tidal.com/album/104821378
As much as I like the church organ, there isn’t much contemporary music featuring it. A few more songs by Rick Wakeman,Gary Ginsberg, and Vitalij Kuprij. If you know any others, let me know! You can reach me on Twitter / Mastodon / etc., the links are in the upper right corner of my blog.
Severe Service Degradation: OBS Unavailable
Post-mortem: Backend Overload
openSUSE Tumbleweed – Review of the week 2023/48 & 49
Dear Tumbleweed users and hackers,
The last two weeks have been filled with Tumbleweed snapshots! A staggering 13 releases (1123…1206, without 1125) found their way over the ether to your computers. Even if you don’t do daily updates, you get all the updates whenever you want.
The following changes were applied to your system in this period:
- Python 3.11.6
- PHP 8.2.13
- Mozilla Firefox 120.0
- Pipewire 1.0.0
- Perl 5.38.2
- gpgme 1.23.2
- systemd: permissions tightened on DRM render nodes
- LLVM 17.0.6
- MariaDB 11.1.2
- Qt 6.6.1
- GNOME 45.2
- SQLite 3.44.1
- the package cnf-rs was renamed to cnf (matching the command name)
- Sudo/polkit changes introduce configurations for the sudo/wheel group to self auth. Use the two packages sudo-policy-sudo-auth-self and sudo-policy-wheel-auth-self to configure your system
Many things from the last review are still pending in the staging projects – and are likely to stay there for quite a bit longer unless somebody starts fixing the issues identified
- KDE Plasma 5.27.9
- KDE Gear 23.08.4
- cmake 3.28.0: breaks libzypp (fix in progress) and ceph
- libxml 2.12.0 – I can’t even start to list what is not building
- openSSL 3.2.0
- RPM 4.19
- c-ares 1.21.0: breaks nodejs
- wxWidgets 3.2.3: breaks wxPython bindings
- Testing of the two compiler flags -fcf-protection=full and -ftrivial-auto-var-init=pattern: not compatible with gcc13 on i586
- dbus-broker: no progress: openQA fails to launch the network stack in the installer
Tumbleweed gets LLVM, Sudo, GCC Updates
This week openSUSE Tumbleweed has been on a constant roll as consecutive snapshots arrive with fresh software updates.
MariaDB, GTK and gnome-software were part of a range of updates introduced this week, in addition to the ones highlighted in the headline.
Just two packages updated in snapshot 20231206. The Chinese lunar date library lunar-date has a new major version with the 3.0.1 update; it introduces a localized interface and changes the project option names. The package also updates its license as it has been changed to LGPL-2.1. The update of the rubygem-rubocop 1.58.0 package resolves issues like false negatives for various styles, improves some code quality and ensures more accurate autocorrections for different code patterns. The 1.58.0 rubygem-rubocop version was also updated in the Arm Tumbleweed 20231206 snapshot.
An update of snapshot gnome-shell 45.2 became available in snapshot 20231205. The release addresses several performance issues, improves GNOME’s application search function, and fixes bugs related to the on-screen keyboard. The update improves high-contrast styling, fixes tablet ring and strip mapping, addresses some crashes and updates translations. There were bug fixes that caused unnecessary reloading of the trip query with gnome-maps 45.2. Various enhancements were made with the fwupd 1.9.10 update along with bug fixes. Notable additions were support for not_hardware requirements and loongarch64 microprocessors. The update improves USB claim retry count configuration, enforces version requirements, hides sensitive information in debugging logs, and refines device-specific functionalities, such as Wacom USB device emulation. An update of sudo 1.9.15p2 addresses sudo -l command warning messages, enhances security against rowhammer attacks, and makes improvements to log messages for better user understanding and system security. An 123 version update of the application development toolkit for controlling system-wide privileges, polkit introduces enhanced safety measures, such as deeper restrictions on configuration files, owner restriction for the daemon under systemd, and improves sandboxing within systemd units with the aim to better system security. An update of sqlite3 3.44.2 rectifies issues such as CLI mistakes, Full-Text Search (FTS5) problems identified during internal testing and compiler warnings in debug builds with GNU Compiler Collection 16. The snapshot had updates for hwdata 0.377, ncurses 6.4.20231202 and more. Many of the same packages updated in the Arm Tumbleweed 20231205 snapshot.
Several Qt 6 subpackages updated in snapshot 20231204. The 6.6.1 version of qt6-base fixes QMenuBar functionality limitations and corrects errors related to QFont’s feature Application Programming Interfaces. The update of qt6-wayland 6.6.1 fixes crashes related to texture orphanage and fixes issues with drag and drop with a Wayland display. An update of ibus 1.5.29 enhances Continuous Integration (CI), adds signals to PostProcessKeyEvent, which prevents a tab from being committed by the Input Method and fixes key typing, Emoji, and Unicode issues. The libguestfs 1.51.8 package, which is a tool for accessing and modifying virtual machine (VM) disk images, adds a --chown option for virt-customize and a new --tar-in operation. A few other packages were updated in the snapshot.
An update of snapshot llvm17 17.0.6 landed in snapshot 20231203. The update for the compiler and toolchain package includes rebase patches, adjustments to the versioned executables for better support, and standardizes the management of clang-cpp using update-alternatives akin to other binaries for smoother operation. The 11.1.2 version of mariadb includes several fixes related to unwanted binary locations, memory constraints on ppc64le and skipped tests. An update of the a calendar widget for Chinese lunar library lunar-calendar 3.0.1 involves a modification of the license that transitions to LGPL-2.1 from the previous licensing terms.
An update of gnome-software 45.2 came in snapshot 20231202 and primarily focuses on translations updates for multiple languages, according to the changelog. An older GNU Compiler Collection had a git update with gcc13 13.2.1+git8109. It had fix for building MariaDB on i686 systems and implements changes related to LLVM dependency. An update of inkscape 1.3.2 addresses a data loss issue and corrects a saving error related to some shapes and 3D boxes. The app for organizing personal data and scheduling, evolution, updates to version 3.50.2 and fixes a crash and a memory leak; it also fixes an issue with the search functionality. The gtk4 4.12.4 update improves accessibility name computation, fixes memory format table errors, updated translations and makes some additional refinements.
The snapshot starting off the week was 20231201. An update of perl 5.38.2 fixes two Common Vulnerabilities and Exposures. One of those was CVE-2023-47038, which occurs when a crafted regular expression is compiled by perl. The other was CVE-2023-47039. Snapper 0.10.7 addresses issues related to diff for Logical Volume Manager-based configs and SystemCmd accepting a collection of strings. An update of iproute2 6.6 removes several features and adds backup support in the bridge along with adjustments for the security protocol suite. Other packages to update in the snapshot were ethtool 6.6, gpgme 1.23.2 and more.
Two other Arm Tumbleweed snapshots this week were 20231204 and 20231203.
Music of the week: String Quartets
One of my favorite albums is Vedres Csaba és a Kairosz kvartett – Áldott Idő / Blessed Time. It was made by Hungarian pianist Csaba Vedres, who worked together with a string quartet. Their music taught me that string quartets playing alone, with a piano, or with any other instrument can do some fantastic music.
The band was founded by Csaba Vedres, who had a classical music education. Besides playing the piano, he also researched the topic of classical vs. popular music. And just like me, he does not like these categories. One of his examples was Trilogy from ELP, but that will be another story :-) This album sounds more like what we usually call classical music, but not completely. Csaba is one of the best rock pianists of Hungary and you can hear that from some of the songs. I could only find a single song from the album on YouTube, but luckily you can find the full album on TIDAL.
TIDAL: https://listen.tidal.com/album/27780222
You can also find the CD at the publisher http://perifericrecords.com/hun/catalogue.php?cont=artist&artist_id=1002, together with other albums from Csaba Vedres.
I must admit that I’m not a big Jethro Tull fan. However, seeing the album cover of “The String Quartets”, I became curious and listened to the album. I was quickly addicted to it. Many old Jethro Tull songs are rearranged for a String Quartet and of course for the flute. And best of all, most songs are purely instrumental.
TIDAL: https://listen.tidal.com/album/71409468
Another album, Silver Lining Suite, which I listened to because it was a piano and a string quartet was made by Hiromi, a Japanese piano player. She wrote the album during Covid. I quickly bought it and another one of her albums on HDtracks in maximum quality, and listened to the album many times. It is difficult to choose a favorite from the album, so let me just simply link the first song. Its title is typical to Covid: “Isolation”.
TIDAL: https://listen.tidal.com/album/199559675
Finally, listen to a piece from a string quartet without any additional instruments. The Sturcz-kvartett plays their arrangement of a song by Solaris, a progrock group. It is probably the least classical sounding of the four songs, showing that a string quartet can really play any kind of music. This song was played on the 40th anniversary of Solaris as part of an online concert, due to Covid. This song is only available on YouTube.
I really hope that the rest of the songs from that concert will be available online or on Blu-Ray!
Syslog-ng can now do a full configuration check
One of the most frequent syslog-ng feature requests is now resolved. Welcome the –check-startup option, allowing you to check the syntax and also spot spelling mistakes!
You can learn more about it at: https://www.syslog-ng.com/community/b/blog/posts/syslog-ng-can-now-do-a-full-configuration-check
