mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-29 04:53:17 +02:00
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
* fix(dotenv): expect explicit yes before loading .env file * fix(dotenv): implement secure parsing for .env files and add comprehensive tests * feat(dotenv): check for .env file size to prevent DoS * fix(dotenv): forbid setting special variables * fix(dotenv): FIFO shouldn't be read twice * fix(dotenv): unknown vars should expand to empty * fix(dotenv): reject extremely large named pipes * docs(dotenv): update to new parsing system * fix(dotenv): add support for escaped dollars * chore(dotenv): only declare local variables once * fix(dotenv): apply review suggestions * docs(dotenv): update test instructions Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
88 lines
3 KiB
Bash
88 lines
3 KiB
Bash
# Consolidated dotenv test fixture from dotenv test suite
|
|
# Source: https://github.com/motdotla/dotenv/tree/master/tests
|
|
#
|
|
# Copyright (c) 2015, Scott Motte
|
|
# All rights reserved.
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
|
|
# * Redistributions of source code must retain the above copyright notice, this
|
|
# list of conditions and the following disclaimer.
|
|
|
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
# Basic assignments
|
|
BASIC=basic
|
|
|
|
# previous line intentionally left blank
|
|
AFTER_LINE=after_line
|
|
|
|
# Empty values
|
|
EMPTY=
|
|
EMPTY_SINGLE_QUOTES=''
|
|
EMPTY_DOUBLE_QUOTES=""
|
|
|
|
# Single quotes (literal, no expansion)
|
|
SINGLE_QUOTES='single_quotes'
|
|
SINGLE_QUOTES_SPACED=' single quotes '
|
|
DONT_EXPAND_SQUOTED='dontexpand\nnewlines'
|
|
|
|
# Double quotes (with escapes)
|
|
DOUBLE_QUOTES="double_quotes"
|
|
DOUBLE_QUOTES_SPACED=" double quotes "
|
|
EXPAND_NEWLINES="expand\nnew\nlines"
|
|
|
|
# Unquoted (no escape expansion)
|
|
DONT_EXPAND_UNQUOTED=dontexpand\nnewlines
|
|
|
|
# Quotes inside quotes
|
|
DOUBLE_QUOTES_INSIDE_SINGLE='double "quotes" work inside single quotes'
|
|
SINGLE_QUOTES_INSIDE_DOUBLE="single 'quotes' work inside double quotes"
|
|
|
|
# Comments
|
|
# COMMENTS=work
|
|
INLINE_COMMENTS_SINGLE_QUOTES='inline comments outside of #singlequotes' # work
|
|
INLINE_COMMENTS_DOUBLE_QUOTES="inline comments outside of #doublequotes" # work
|
|
INLINE_COMMENTS_UNQUOTED=value # work
|
|
|
|
# Special characters
|
|
EQUAL_SIGNS=equals==
|
|
RETAIN_INNER_QUOTES_AS_STRING='{"foo": "bar"}'
|
|
USEREMAIL=therealnerdybeast@example.tld
|
|
|
|
# Multiline values with double quotes
|
|
MULTI_DOUBLE_QUOTED="THIS
|
|
IS
|
|
A
|
|
MULTILINE
|
|
STRING"
|
|
|
|
# Multiline values with single quotes
|
|
MULTI_SINGLE_QUOTED='THIS
|
|
IS
|
|
A
|
|
MULTILINE
|
|
STRING'
|
|
|
|
# Multiline PEM certificate
|
|
MULTI_PEM_DOUBLE_QUOTED="-----BEGIN PUBLIC KEY-----
|
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnNl1tL3QjKp3DZWM0T3u
|
|
LgGJQwu9WqyzHKZ6WIA5T+7zPjO1L8l3S8k8YzBrfH4mqWOD1GBI8Yjq2L1ac3Y/
|
|
bTdfHN8CmQr2iDJC0C6zY8YV93oZB3x0zC/LPbRYpF8f6OqX1lZj5vo2zJZy4fI/
|
|
kKcI5jHYc8VJq+KCuRZrvn+3V+KuL9tF9v8ZgjF2PZbU+LsCy5Yqg1M8f5Jp5f6V
|
|
u4QuUoobAgMBAAE=
|
|
-----END PUBLIC KEY-----"
|