Get the latest tech news
What's New in POSIX 2024 – XCU
Table of Contents - Highlights - Changes Index In the 1950s, computers did not really interoperate. ARPANET has not yet happened (that would become a thing in the 60s), and every operating system was typically tied to the hardware that was meant to run on.
As for the utilities, the following utilities are now either encouraged to error out if they are to create a filename that contains a newline, and/or encouraged to error out if they are about to print a pathname that contains a newline in a context where newlines may be used as a separator: admin(1p), ar(1p), awk(1p), basename(1p), cd(1p), cksum(1p), cmp(1p), command(1p), compress(1p), cp(1p), csplit(1p), ctags(1p), cxref(1p), dd(1p), df(1p), diff(1p), dirname(1p), du(1p), ed(1p), ex(1p), file(1p), find(1p), fuser(1p), get(1p), grep(1p), hash(1p), head(1p), ipcs(1p), link(1p), ln(1p), localedef(1p), ls(1p), m4(1p), mailx(1p), make(1p), man(1p), mkdir(1p), mkfifo(1p), mv(1p), nm(1p), patch(1p), pax(1p), prs(1p), pws(1p), rm(1p), rmdel(1p), sact(1p), sccs(1p), sh(1p), sort(1p), split(1p), tee(1p), touch(1p), type(1p), uncompress(1p), unget(1p), uniq(1p), uucp(1p), uudecode(1p), val(1p), vi(1p), wc(1p), what(1p), yacc(1p), and zcat(1p). Unless your threat model includes attackers targeting you in particular (which, for example, immediately excludes all “home use” scripts), you can reasonably expect people to be discouraged from creating newline-containing characters, where before it might have been perceived as a “clever hack”. Unfortunately, renice(1p) only worked in absolutes, and ulimit(1p) only let you set a maximum write size for files (and didn’t differentiate between hard and soft limits), and was only available as part of the XSI extension.
Or read this on Hacker News