1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 14:55:37 +03:00
The systemd System and Service Manager
Go to file
Zbigniew Jędrzejewski-Szmek bc28751ed2 Rework cmdline printing to use unicode
The functions to retrieve and print process cmdlines were based on the
assumption that they contain printable ASCII, and everything else
should be filtered out. That assumption doesn't hold in today's world,
where people are free to use unicode everywhere.

This replaces the custom cmdline reading code with a more generic approach
using utf8_escape_non_printable_full().
For kernel threads, truncation is done on the parenthesized name, so we'll
get "[worker]", "[worker…]", …, "[w…]", "[…", "…" as we reduce the number of
available columns.

This implementation is most likely slower for very long cmdlines, but I don't
think this is very important. The common case is to have short commandlines,
and should print those properly. Absurdly long cmdlines are the exception,
which needs to be handled correctly and safely, but speed is not too important.

Fixes #12532.

v2:
- use size_t for the number of columns. This change propagates into various
  other functions that call get_process_cmdline(), increasing the size of the
  patch, but the changes are rather trivial.
2019-05-22 10:08:17 +02:00
.github/ISSUE_TEMPLATE docs: move markdown docs from .github/ to docs/ 2018-09-08 13:39:03 -07:00
.lgtm/cpp-queries lgtm: complain about accept() [people should use accept4() instead, due to O_CLOEXEC] 2019-04-10 20:03:38 +02:00
.mkosi mkosi: (Archlinux) increase the size of root partition. 2019-02-22 19:53:27 +09:00
catalog po: minor fixes to Italian translation (#12500) 2019-05-09 20:50:18 +02:00
coccinelle Use sd_event_source_disable_unref() 2019-05-10 16:55:37 +02:00
docs docs: add comment about high 32bit range and signed uids 2019-05-16 19:24:59 +02:00
factory/etc man,factory: update factory config for nsswitch.conf to match the man pages 2018-11-27 22:35:02 +01:00
hwdb hwdb: Add key mappings for Logitech S510 keyboard and remote control 2019-05-12 12:30:22 +02:00
man Merge pull request #12519 from keszybz/man-on-demand 2019-05-21 08:25:26 +09:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network udev,network: warn when .link or .network file has no [Match] section 2019-04-25 08:41:10 +02:00
po po: minor fixes to Italian translation (#12500) 2019-05-09 20:50:18 +02:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules udev-rules: add udmabuf to kvm group 2019-04-23 13:00:21 +02:00
semaphoreci Merge pull request #12519 from keszybz/man-on-demand 2019-05-21 08:25:26 +09:00
shell-completion bash-completion: accept files for --bind/--bind-ro options 2019-04-26 08:06:23 +02:00
src Rework cmdline printing to use unicode 2019-05-22 10:08:17 +02:00
sysctl.d sysctl: bump pid range only on 64-bit systems 2019-05-20 18:13:59 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test cgtop,test: use consistent capitalization for CGroup 2019-05-21 10:57:23 +02:00
tmpfiles.d tmpfiles: do not create /run/nologin if PAM is disabled 2019-05-13 15:35:51 +02:00
tools Merge pull request #12510 from keszybz/test-directives 2019-05-21 08:35:10 +09:00
travis-ci Merge pull request #12510 from keszybz/test-directives 2019-05-21 08:35:10 +09:00
units units: automatically revert to /run logging on shutdown if necessary 2019-05-09 14:26:42 -04:00
xorg scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml lgtm: use python3 2018-12-10 03:07:17 +09:00
.mailmap update .mailmap 2019-04-02 17:31:00 +02:00
.travis.yml tests: move the FuzzBuzz stage from Travis CI to Azure Pipelines 2019-05-14 12:22:10 +02:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
azure-pipelines.yml tests: move the FuzzBuzz stage from Travis CI to Azure Pipelines 2019-05-14 12:22:10 +02:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
fuzz.yaml tests: hook up fuzz targets to FuzzBuzz 2019-05-07 21:39:01 +00:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson_options.txt meson: default to -Dman=false to make development quicker 2019-05-09 18:17:28 +02:00
meson.build Merge pull request #12510 from keszybz/test-directives 2019-05-21 08:35:10 +09:00
mkosi.build mkosi: let's update the boot loader also in /efi 2019-03-01 12:41:32 +01:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS cgroup: Support 0-value for memory protection directives 2019-05-08 12:06:32 +01:00
README codespell: fix spelling errors 2019-04-29 16:47:18 +02:00
README.md README: bring the coverity badge back 2019-05-14 13:42:17 +02:00
TODO update TODO 2019-05-09 14:26:42 -04:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.