change `read -d' on a tty when the delimiter is not a newline to set the terminal EOL character instead of putting the terminal into character-at-a-time mode; change some calls to atoi to use strol instead

This commit is contained in:
Chet Ramey
2026-01-30 16:43:46 -05:00
parent b805bbec80
commit 468e98e574
34 changed files with 504 additions and 2161 deletions
+60 -57
View File
@@ -7662,7 +7662,10 @@ that allow shell escapes are particularly vulnerable), changing the
current directory to a non-writable directory other than $HOME after
login, not allowing the restricted shell to execute shell scripts, and
cleaning the environment of variables that cause some commands to modify
their behavior (e.g., VISUAL or PAGER).
their behavior (e.g., VISUAL or PAGER). When setting up a
restricted environment like this, it's important not to install or allow
symbolic links in the new current directory, since those could be used
to circumvent restrictions on writing to files.
Modern systems provide more secure ways to implement a restricted
environment, such as jails, zones, or containers.
@@ -13801,62 +13804,62 @@ Node: The Directory Stack330317
Node: Directory Stack Builtins331114
Node: Controlling the Prompt335559
Node: The Restricted Shell338443
Node: Bash POSIX Mode341325
Node: Shell Compatibility Mode360741
Node: Job Control369748
Node: Job Control Basics370205
Node: Job Control Builtins376573
Node: Job Control Variables383361
Node: Command Line Editing384592
Node: Introduction and Notation386295
Node: Readline Interaction388647
Node: Readline Bare Essentials389835
Node: Readline Movement Commands391643
Node: Readline Killing Commands392639
Node: Readline Arguments394662
Node: Searching395752
Node: Readline Init File397995
Node: Readline Init File Syntax399298
Node: Conditional Init Constructs426249
Node: Sample Init File430634
Node: Bindable Readline Commands433754
Node: Commands For Moving435292
Node: Commands For History437756
Node: Commands For Text443147
Node: Commands For Killing447272
Node: Numeric Arguments450060
Node: Commands For Completion451212
Node: Keyboard Macros456908
Node: Miscellaneous Commands457609
Node: Readline vi Mode465152
Node: Programmable Completion466129
Node: Programmable Completion Builtins475865
Node: A Programmable Completion Example487602
Node: Using History Interactively492947
Node: Bash History Facilities493628
Node: Bash History Builtins497363
Node: History Interaction504958
Node: Event Designators509908
Node: Word Designators511486
Node: Modifiers513878
Node: Installing Bash515815
Node: Basic Installation516931
Node: Compilers and Options520807
Node: Compiling For Multiple Architectures521557
Node: Installation Names523310
Node: Specifying the System Type525544
Node: Sharing Defaults526290
Node: Operation Controls527004
Node: Optional Features528023
Node: Reporting Bugs540746
Node: Major Differences From The Bourne Shell542103
Node: GNU Free Documentation License563530
Node: Indexes588707
Node: Builtin Index589158
Node: Reserved Word Index596256
Node: Variable Index598701
Node: Function Index616114
Node: Concept Index630247
Node: Bash POSIX Mode341536
Node: Shell Compatibility Mode360952
Node: Job Control369959
Node: Job Control Basics370416
Node: Job Control Builtins376784
Node: Job Control Variables383572
Node: Command Line Editing384803
Node: Introduction and Notation386506
Node: Readline Interaction388858
Node: Readline Bare Essentials390046
Node: Readline Movement Commands391854
Node: Readline Killing Commands392850
Node: Readline Arguments394873
Node: Searching395963
Node: Readline Init File398206
Node: Readline Init File Syntax399509
Node: Conditional Init Constructs426460
Node: Sample Init File430845
Node: Bindable Readline Commands433965
Node: Commands For Moving435503
Node: Commands For History437967
Node: Commands For Text443358
Node: Commands For Killing447483
Node: Numeric Arguments450271
Node: Commands For Completion451423
Node: Keyboard Macros457119
Node: Miscellaneous Commands457820
Node: Readline vi Mode465363
Node: Programmable Completion466340
Node: Programmable Completion Builtins476076
Node: A Programmable Completion Example487813
Node: Using History Interactively493158
Node: Bash History Facilities493839
Node: Bash History Builtins497574
Node: History Interaction505169
Node: Event Designators510119
Node: Word Designators511697
Node: Modifiers514089
Node: Installing Bash516026
Node: Basic Installation517142
Node: Compilers and Options521018
Node: Compiling For Multiple Architectures521768
Node: Installation Names523521
Node: Specifying the System Type525755
Node: Sharing Defaults526501
Node: Operation Controls527215
Node: Optional Features528234
Node: Reporting Bugs540957
Node: Major Differences From The Bourne Shell542314
Node: GNU Free Documentation License563741
Node: Indexes588918
Node: Builtin Index589369
Node: Reserved Word Index596467
Node: Variable Index598912
Node: Function Index616325
Node: Concept Index630458

End Tag Table