From b0268cb02d3e1c62163cac8939bc312752ab7dd1 Mon Sep 17 00:00:00 2001 From: Klemens Morgenstern Date: Wed, 18 Feb 2026 21:28:27 +0800 Subject: [PATCH] Doc updates --- doc/acknowledgements.adoc | 4 ++-- doc/env.adoc | 1 + doc/launcher.adoc | 6 +++--- doc/stdio.adoc | 1 + doc/version2.adoc | 11 +++++++++++ 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/doc/acknowledgements.adoc b/doc/acknowledgements.adoc index 3fb0d92c..227f881f 100644 --- a/doc/acknowledgements.adoc +++ b/doc/acknowledgements.adoc @@ -4,10 +4,10 @@ The first Boost.Process draft was created in 2006. A lof of people have worked o The design of earlier versions of Boost.Process was not always satisfying. In 2011 Jeff Flinn proposed the executor and initializer concepts Boost.Process is based on today. Without Jeff's idea the overall design of Boost.Process would not look like it does today. -A special thank you goes to [http://www.intra2net.com/(Intra2net AG) (especially Thomas Jarosch) who sponsored a project to support the development of Boost.Process. It was this sponsorship which made it possible to create a new Boost.Process version in 2012. +A special thank you goes to http://www.intra2net.com[Intra2net AG] (especially Thomas Jarosch) who sponsored a project to support the development of Boost.Process. It was this sponsorship which made it possible to create a new Boost.Process version in 2012. Great thanks also goes to Boris Schaeling, who despite having boost.process rejected, went on to work on it and maintained it up until this day and participated in the development of the current version. -Many Thanks, to [https://github.com/samuelvenable](Samuel Venable) for contributing the <> functionality and all the research that went into it. +Many Thanks to https://github.com/samuelvenable[Samuel Venable] for contributing the <> functionality and all the research that went into it. diff --git a/doc/env.adoc b/doc/env.adoc index 8aa4c8b0..6f411af1 100644 --- a/doc/env.adoc +++ b/doc/env.adoc @@ -1,3 +1,4 @@ +[#env] == Environment The `environment` namespace provides all sorts of facilities to query and manipulate the environment of the current process. diff --git a/doc/launcher.adoc b/doc/launcher.adoc index 56c81d10..e081cf42 100644 --- a/doc/launcher.adoc +++ b/doc/launcher.adoc @@ -9,8 +9,6 @@ There are additional launcher available on most systems. |Name | Summary | Default on | Available on - - |`windows::default_launcher` | `CreateProcessW` | windows |windows |`windows::as_user_launcher` | `CreateProcessAsUserW` | |windows |`windows::with_logon_launcher` | `CreateProcessWithLogonW` | |windows @@ -120,7 +118,9 @@ struct custom_initializer NOTE: All the additional launchers for windows inherit `default_launcher`. +WARNING: For security reasons, executing batch files is forbidden and needs to be explicitly enabled by setting `allow_batch_files` to `true`. + The call sequence is as follows: image::windows_exec.svg -''' \ No newline at end of file +''' diff --git a/doc/stdio.adoc b/doc/stdio.adoc index f77e89ac..b3c2fccd 100644 --- a/doc/stdio.adoc +++ b/doc/stdio.adoc @@ -52,6 +52,7 @@ E.g. a domain socket on linux. include::../example/stdio.cpp[tag=native_handle] ---- +[#stdio_popen] == popen Additionally, process v2 provides a `popen` class. diff --git a/doc/version2.adoc b/doc/version2.adoc index d5ada523..6cc9529a 100644 --- a/doc/version2.adoc +++ b/doc/version2.adoc @@ -15,6 +15,8 @@ The major changes are Version 2 is now the default. In order to discourage usage of the deprecated v1, it's documentation has been removed. +The last version to include it was https://www.boost.org/doc/libs/1_87_0/doc/html/process.html[1.87]. + == Simplified Interface In process v1 one can define partial settings in the constructor of the process, @@ -40,6 +42,9 @@ Furthermore, every process has a path and arguments, instead of a confusing mixt exe-args that can be randomly spread out. +Likewise, the environvment is used explicitly as the second argument `find_executable`, which replaces `search_path`. + + == `pidfd_open` Since process v1 came out, linux has moved along and added [pidfd_open](https://man7.org/linux/man-pages/man2/pidfd_open.2.html) @@ -79,3 +84,9 @@ posix systems create a problem with inheriting file handles by default. Process V2 will automatically close all non-whitelisted descriptors, without needing any option to enable it. + +== Security issues + +Batch files on windows are insecure because they can be +https://learn.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-019[used for command injection]. +