Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add preview.csb.app and csb.app #1648

Merged
merged 2 commits into from
Apr 10, 2024

Conversation

CompuIves
Copy link
Contributor

@CompuIves CompuIves commented Nov 17, 2022

Public Suffix List (PSL) Pull Request (PR) Template

Each PSL PR needs to have a description, rationale, indication of DNS validation and syntax checking, as well as a number of acknowledgements from the submitter. This template must be included with each PR, and the submitting party MUST provide responses to all of the elements in order to be considered.

Checklist of required steps

  • Description of Organization

  • Robust Reason for PSL Inclusion

  • DNS verification via dig

  • Run Syntax Checker (make test)

  • Each domain listed in the PRIVATE section has and shall maintain at least two years remaining on registration, and we shall keep the _PSL txt record in place in the respective zone(s) in the affected section

Submitter affirms the following:

  • We are listing any third-party limits that we seek to work around in our rationale such as those between IOS 14.5+ and Facebook (see Issue #1245 as a well-documented example)
  • This request was not submitted with the objective of working around other third-party limits
  • The Guidelines were carefully read and understood, and this request conforms
  • The submission follows the guidelines on formatting and sorting

For Private section requests that are submitting entries for domains that match their organization website's primary domain, please understand that this can have impacts that may not match the desired outcome and take a long time to rollback, if at all.

To ensure that requested changes are entirely intentional, make sure that you read the affectation and propagation expectations, that you understand them, and confirm this understanding.

PR Rollbacks have lower priority, and the volunteers are unable to control when or if browsers or other parties using the PSL will refresh or update.

(Link: about propagation/expectations)

  • Yes, I understand. I could break my organization's website cookies etc. and the rollback timing, etc is acceptable. Proceed.

[x] Description of Organization

CodeSandbox is an online development environment where people can create projects called "Sandboxes". These sandboxes are websites, that are hosted behind either xxx.preview.csb.app or xxx.csb.app. We have close to 2M registered users, and over 35 million websites have been created this way.

We want to ensure that these domains are secure, and because of this we'd like to get added to the list.

Organization Website: https://codesandbox.io

[x] Reason for PSL Inclusion

Many people build websites on CodeSandbox, and they are hosted at xxx.csb.app and xxx.preview.csb.app, it would be safer if these domains are in this list.

Number of users this request is being made to serve: Over 35 million projects

[x] DNS Verification via dig

dig +short TXT _psl.preview.csb.app
"https://github.com/publicsuffix/list/pull/1648"

dig +short TXT _psl.csb.app
"https://github.com/publicsuffix/list/pull/1648"

[x] Results of Syntax Checker (make test)

Ran the tests, they passed:

root@356046e6c7a5:/app# make test
cd linter;                                \
  ./pslint_selftest.sh;                     \
  ./pslint.py ../public_suffix_list.dat;
test_NFKC: OK
test_allowedchars: OK
test_dots: OK
test_duplicate: OK
test_exception: OK
test_punycode: OK
test_section1: OK
test_section2: OK
test_section3: OK
test_section4: OK
test_spaces: OK
test_wildcard: OK
test -d libpsl || git clone --depth=1 https://github.com/rockdaboot/libpsl;   \
  cd libpsl;                                                                    \
  git pull;                                                                     \
  echo "EXTRA_DIST =" >  gtk-doc.make;                                          \
  echo "CLEANFILES =" >> gtk-doc.make;                                          \
  autoreconf --install --force --symlink;
Already up to date.
autopoint: using AM_GNU_GETTEXT_REQUIRE_VERSION instead of AM_GNU_GETTEXT_VERSION
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
/usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
/usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
aclocal.m4:763: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.
libtoolize: linking file 'build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
/usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
/usr/share/aclocal-1.16/init.m4:29: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
aclocal.m4:763: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
aclocal.m4:763: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:1: warning: file `version.txt' included several times
configure.ac:4: warning: file `version.txt' included several times
aclocal.m4:763: AM_INIT_AUTOMAKE is expanded from...
configure.ac:4: the top level
configure.ac:383: warning: file `version.txt' included several times
configure.ac:10: installing 'build-aux/compile'
configure.ac:4: installing 'build-aux/missing'
fuzz/Makefile.am: installing 'build-aux/depcomp'
cd libpsl && ./configure -q -C --enable-runtime=libicu --enable-builtin=libicu --with-psl-file=/app/public_suffix_list.dat --with-psl-testfile=/app/tests/tests.txt && make -s clean && make -s check -j4
configure: WARNING: --enable-builtin=libicu is deprecated, use --enable-builtin (enabled by default)
config.status: creating po/POTFILES
config.status: creating po/Makefile
Making clean in po
Making clean in include
Making clean in src
rm -f ./so_locations
Making clean in tools
 rm -f psl
Making clean in fuzz
 rm -f libpsl_icu_fuzzer libpsl_icu_load_fuzzer libpsl_icu_load_dafsa_fuzzer
Making clean in tests
 rm -f test-is-public test-is-public-all test-is-cookie-domain-acceptable test-is-public-builtin test-registrable-domain
Making clean in msvc
Making check in po
Making check in include
Making check in src
  CC       libpsl_la-psl.lo
  CC       libpsl_la-lookup_string_in_fixed_set.lo
  CCLD     libpsl.la
Making check in tools
  CC       psl.o
  CCLD     psl
Making check in fuzz
  CC       libpsl_fuzzer.o
  CC       main.o
  CC       libpsl_load_fuzzer.o
  CC       libpsl_load_dafsa_fuzzer.o
  CCLD     libpsl_icu_load_dafsa_fuzzer
  CCLD     libpsl_icu_fuzzer
  CCLD     libpsl_icu_load_fuzzer
PASS: libpsl_icu_load_dafsa_fuzzer
PASS: libpsl_icu_fuzzer
PASS: libpsl_icu_load_fuzzer
============================================================================
Testsuite summary for libpsl 0.21.1
============================================================================
# TOTAL: 3
# PASS:  3
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
Making check in tests
  CC       test-is-public.o
  CC       test-is-public-all.o
  CC       test-is-cookie-domain-acceptable.o
  CC       test-is-public-builtin.o
  CC       test-registrable-domain.o
  CCLD     test-is-public
  CCLD     test-is-cookie-domain-acceptable
  CCLD     test-is-public-builtin
  CCLD     test-is-public-all
  CCLD     test-registrable-domain
PASS: test-is-public
PASS: test-is-public-builtin
PASS: test-is-cookie-domain-acceptable
PASS: test-registrable-domain
PASS: test-is-public-all
============================================================================
Testsuite summary for libpsl 0.21.1
============================================================================
# TOTAL: 5
# PASS:  5
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
Making check in msvc

@CompuIves CompuIves changed the title add CodeSandbox to public suffix list Add preview.csb.app and csb.app Nov 17, 2022
@dnsguru
Copy link
Member

dnsguru commented Nov 17, 2022

PSL presence does not infer ANY security whatoever, just to set expectations

@dnsguru
Copy link
Member

dnsguru commented Nov 30, 2022

The Pull Requests are done to increase transparency on pull requests, so that the public can see what do and do not get included. As such, there's an objective of having the record clear on where things get rejected or added and some objective criteria on them.

As it stands, this would likely not be included based off the loose and casual rationale used.

Could you explain the rationale on this with more specificity? It is a little too 'big picture' in a way that is not clear what the objective of inclusion is for the PR.

Here's the challenge...

We want to ensure that these domains are secure, and because of this we'd like to get added to the list.

Many people build websites on CodeSandbox, and they are hosted at xxx.csb.app and xxx.preview.csb.app, it would be safer if these domains are in this list.

This just says that there is an objective of security and safety, respectively, but ... how exactly is that and why is PSL inclusion necessary to accomplish that?

@CompuIves Please describe with more detail so that this meets the guidelines.

@dnsguru dnsguru added the ❌FAIL - SHORT ORG INFO/RATIONALE PR stand as transparency records; Guidelines require longer description and/or rationale. label Nov 30, 2022
@CompuIves
Copy link
Contributor Author

This just says that there is an objective of security and safety, respectively, but ... how exactly is that and why is PSL inclusion necessary to accomplish that?

People can create websites under :id.preview.csb.app and :id.csb.app. Similar to how people use Glitch or Replit (which are also in this list). Here's an example website from our default examples.

The main reason I mention security, is because according to the homepage of PSL it allow browsers to avoid privacy-damaging "supercookies" being set for high-level domain name suffixes. While the list is only an indication, it looks like Chrome, Firefox, Opera and Internet Explorer use this list to restrict cookie settings.

While security is my main reason to apply, I would also say that these domain match the description from the homepage: "A "public suffix" is one under which Internet users can (or historically could) directly register names.". We allow people to create new websites, and while they cannot choose the id of the project yet, the website will be hosted under :id.preview.csb.app or :id.csb.app.

I hope this adds a bit more context, let me know if I should update the description or if the application would not match the requirements!

@dnsguru dnsguru added NOT IOS FB Submitter attests PR is not #1245 related and removed ❌FAIL - SHORT ORG INFO/RATIONALE PR stand as transparency records; Guidelines require longer description and/or rationale. labels Jan 9, 2023
Copy link
Contributor

@simon-friedberger simon-friedberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Expiration
    • csb.app expires 2027-05-08
  • DNS _psl entries
  • Tests pass
  • Sorting
  • Reasoning/Organization description

@@ -11231,6 +11231,11 @@ cnpy.gdn
// Submitted by Moritz Marquardt <[email protected]>
codeberg.page

// CodeSandbox B.V. : https://codesandbox.io
// Submitted by Ives van Hoorne <[email protected]>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use a non-personal e-mail address.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would a company wide email like [email protected] be better?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've updated the email and sorted domains!

@simon-friedberger simon-friedberger added ❌FAIL - FIX SORTING ⏬ https://github.com/publicsuffix/list/wiki/Guidelines#sort-your-submission-correctly-important ✔️DNS _psl Validated RFC 8553 Entries were present, matching PR# r=simon-friedberger Marked as approved and ready to merge by @simon-friedberger labels Feb 5, 2024
@simon-friedberger simon-friedberger added ✔️Sorting Validated https://github.com/publicsuffix/list/wiki/Guidelines#sort-your-submission-correctly-important and removed ❌FAIL - FIX SORTING ⏬ https://github.com/publicsuffix/list/wiki/Guidelines#sort-your-submission-correctly-important labels Mar 4, 2024
@dnsguru dnsguru self-assigned this Mar 27, 2024
@simon-friedberger simon-friedberger merged commit 76a20df into publicsuffix:master Apr 10, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✔️DNS _psl Validated RFC 8553 Entries were present, matching PR# NOT IOS FB Submitter attests PR is not #1245 related r=simon-friedberger Marked as approved and ready to merge by @simon-friedberger ✔️Sorting Validated https://github.com/publicsuffix/list/wiki/Guidelines#sort-your-submission-correctly-important
Projects
Status: Done or Won't
Development

Successfully merging this pull request may close these issues.

3 participants