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
@@ -7663,7 +7663,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.
@@ -13802,62 +13805,62 @@ Node: The Directory Stack330536
Node: Directory Stack Builtins331336
Node: Controlling the Prompt335784
Node: The Restricted Shell338671
Node: Bash POSIX Mode341556
Node: Shell Compatibility Mode360975
Node: Job Control369985
Node: Job Control Basics370445
Node: Job Control Builtins376816
Node: Job Control Variables383607
Node: Command Line Editing384841
Node: Introduction and Notation386547
Node: Readline Interaction388902
Node: Readline Bare Essentials390093
Node: Readline Movement Commands391904
Node: Readline Killing Commands392903
Node: Readline Arguments394929
Node: Searching396022
Node: Readline Init File398268
Node: Readline Init File Syntax399574
Node: Conditional Init Constructs426528
Node: Sample Init File430916
Node: Bindable Readline Commands434039
Node: Commands For Moving435580
Node: Commands For History438047
Node: Commands For Text443441
Node: Commands For Killing447569
Node: Numeric Arguments450360
Node: Commands For Completion451515
Node: Keyboard Macros457214
Node: Miscellaneous Commands457918
Node: Readline vi Mode465464
Node: Programmable Completion466444
Node: Programmable Completion Builtins476183
Node: A Programmable Completion Example487923
Node: Using History Interactively493271
Node: Bash History Facilities493955
Node: Bash History Builtins497693
Node: History Interaction505291
Node: Event Designators510244
Node: Word Designators511825
Node: Modifiers514220
Node: Installing Bash516160
Node: Basic Installation517279
Node: Compilers and Options521158
Node: Compiling For Multiple Architectures521911
Node: Installation Names523667
Node: Specifying the System Type525904
Node: Sharing Defaults526653
Node: Operation Controls527370
Node: Optional Features528392
Node: Reporting Bugs541118
Node: Major Differences From The Bourne Shell542478
Node: GNU Free Documentation License563908
Node: Indexes589088
Node: Builtin Index589542
Node: Reserved Word Index596643
Node: Variable Index599091
Node: Function Index616507
Node: Concept Index630643
Node: Bash POSIX Mode341767
Node: Shell Compatibility Mode361186
Node: Job Control370196
Node: Job Control Basics370656
Node: Job Control Builtins377027
Node: Job Control Variables383818
Node: Command Line Editing385052
Node: Introduction and Notation386758
Node: Readline Interaction389113
Node: Readline Bare Essentials390304
Node: Readline Movement Commands392115
Node: Readline Killing Commands393114
Node: Readline Arguments395140
Node: Searching396233
Node: Readline Init File398479
Node: Readline Init File Syntax399785
Node: Conditional Init Constructs426739
Node: Sample Init File431127
Node: Bindable Readline Commands434250
Node: Commands For Moving435791
Node: Commands For History438258
Node: Commands For Text443652
Node: Commands For Killing447780
Node: Numeric Arguments450571
Node: Commands For Completion451726
Node: Keyboard Macros457425
Node: Miscellaneous Commands458129
Node: Readline vi Mode465675
Node: Programmable Completion466655
Node: Programmable Completion Builtins476394
Node: A Programmable Completion Example488134
Node: Using History Interactively493482
Node: Bash History Facilities494166
Node: Bash History Builtins497904
Node: History Interaction505502
Node: Event Designators510455
Node: Word Designators512036
Node: Modifiers514431
Node: Installing Bash516371
Node: Basic Installation517490
Node: Compilers and Options521369
Node: Compiling For Multiple Architectures522122
Node: Installation Names523878
Node: Specifying the System Type526115
Node: Sharing Defaults526864
Node: Operation Controls527581
Node: Optional Features528603
Node: Reporting Bugs541329
Node: Major Differences From The Bourne Shell542689
Node: GNU Free Documentation License564119
Node: Indexes589299
Node: Builtin Index589753
Node: Reserved Word Index596854
Node: Variable Index599302
Node: Function Index616718
Node: Concept Index630854

End Tag Table