From 997b773891a5676818e8ed394497f49f1d315d64 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Mon, 22 Jul 2024 10:04:19 -0700 Subject: [PATCH] Copy 1992/nathan.orig.c to nathan.alt.c This is so one can see what the originally published code did. The index.html has a bold important note that one should NOT send an email to the address as it is not only no longer necessary but it is not known if it is still valid. Unlike the index.html where the email was omitted/redacted the alt code still has the email as the original code as it is an exact copy thereof, including the typos in it. Rebuilt .entry.json and index.html. Updated .gitignore. --- 1992/nathan/.entry.json | 8 +++++++ 1992/nathan/.gitignore | 1 + 1992/nathan/Makefile | 8 +++++-- 1992/nathan/README.md | 48 ++++++++++++++++++++++++++++++++++------ 1992/nathan/index.html | 34 ++++++++++++++++++++++------ 1992/nathan/nathan.alt.c | 26 ++++++++++++++++++++++ thanks-for-help.html | 13 ++++++----- thanks-for-help.md | 13 ++++++----- 8 files changed, 123 insertions(+), 28 deletions(-) create mode 100644 1992/nathan/nathan.alt.c diff --git a/1992/nathan/.entry.json b/1992/nathan/.entry.json index f870e1bc6..cd5dc6469 100644 --- a/1992/nathan/.entry.json +++ b/1992/nathan/.entry.json @@ -25,6 +25,14 @@ "display_via_github" : true, "entry_text" : "entry Makefile" }, + { + "file_path" : "nathan.alt.c", + "inventory_order" : 40, + "OK_to_edit" : true, + "display_as" : "c", + "display_via_github" : true, + "entry_text" : "alternate source code" + }, { "file_path" : "nathan.orig.c", "inventory_order" : 50, diff --git a/1992/nathan/.gitignore b/1992/nathan/.gitignore index 47685de71..fbbce97a9 100644 --- a/1992/nathan/.gitignore +++ b/1992/nathan/.gitignore @@ -7,5 +7,6 @@ indent indent.c indent.o nathan +nathan.alt nathan.orig prog.orig diff --git a/1992/nathan/Makefile b/1992/nathan/Makefile index ea1d17b9c..74ad6ed9b 100644 --- a/1992/nathan/Makefile +++ b/1992/nathan/Makefile @@ -113,8 +113,8 @@ OBJ= ${PROG}.o DATA= TARGET= ${PROG} # -ALT_OBJ= -ALT_TARGET= +ALT_OBJ= ${PROG}.alt.o +ALT_TARGET= ${PROG}.alt ################# @@ -137,6 +137,10 @@ ${PROG}: ${PROG}.c alt: data ${ALT_TARGET} @${TRUE} +${PROG}.alt: ${PROG}.alt.c + ${CC} ${CFLAGS} $< -o $@ ${LDFLAGS} + + # data files # data: ${DATA} diff --git a/1992/nathan/README.md b/1992/nathan/README.md index 717e786fb..623818afb 100644 --- a/1992/nathan/README.md +++ b/1992/nathan/README.md @@ -4,6 +4,9 @@ make all ``` +There is an Alternate version which is what was originally published. See +[Alternate code](#alternate-code) below for more information. + ## To use: @@ -22,6 +25,34 @@ To see some other fun uses: ``` +## Alternate code: + +At the time of publication, the judges could not publish the code due to the +US export control over encryption. The code that was published would, if run, +allow one to get the instructions of how to receive (via email) the actual +entry. However, on Sat Mar 4 20:09:35 2023 UTC, the previously unseen code was +published. This meant that the old code was not set to compile via the Makefile. +This alternate code is that previous version. + + +## Alternate build: + +``` + make alt +``` + + +### Alternate use: + +``` + ./nathan.alt +``` + +**IMPORTANT NOTE**: it is unknown if the email in the code is still valid and as +one does not need to email the author for the submitted code one should not +email it. In other words, please do **NOT** send such an email. + + ## Judges' remarks: ### WARNING: @@ -41,7 +72,7 @@ should be freely re-distributable). We suspect that the author may not have intended to do this, but that is the way things go sometimes. -BTW, 'abuse of the rules' entries do not violate the rules. +BTW, '_abuse of the rules_' entries do not violate the rules. Entries that violate the rules are disqualified. Abuse of the rules entries are ones that tend to 'stretch' the limits and take the contest into unexpected territory. @@ -88,7 +119,9 @@ is the source code is what you would have received had you successfully completed the above instructions. Today, the above instructions are **no longer necessary**. -There have been reproduced above to provide historical context. +There have been reproduced above to provide historical context. Even so, the +[Alternate code](#alternate-code) allows you to see what the originally +published code did. ### Personal note from chongo: @@ -101,11 +134,12 @@ re-distribute a program contest entry to the network! ### Updated personal note from chongo: -We removed the Email address from the above quote (although you can -still see it in the [nathan.orig.c](%%REPO_URL%%/1992/nathan/nathan.orig.c) -code) because sending Email to that address is not requirement today. -The [nathan.c](%%REPO_URL%%/1992/nathan/nathan.c) file now contains -the source you would have received in reply. +We removed the email address from the above quote (although you can still see it +in the [nathan.orig.c](%%REPO_URL%%/1992/nathan/nathan.orig.c) and +[nathan.alt.c](%%REPO_URL%%/1992/nathan/nathan.alt.c) code) because sending +email to that address is not required today and it is unknown if it is still +valid. The [nathan.c](%%REPO_URL%%/1992/nathan/nathan.c) file now contains the +source you would have received in reply. Thankfully much of the ridiculous US crypto regulations has been amended to the extent where the above historical "_workaround_" is diff --git a/1992/nathan/index.html b/1992/nathan/index.html index bd8073507..43266bf87 100644 --- a/1992/nathan/index.html +++ b/1992/nathan/index.html @@ -409,12 +409,28 @@ Location: GB - United Kingdom of Great

To build:

    make all
+

There is an Alternate version which is what was originally published. See +Alternate code below for more information.

To use:

    ./nathan
     # enter some text

Try:

To see some other fun uses:

    ./try.sh
+

Alternate code:

+

At the time of publication, the judges could not publish the code due to the +US export control over encryption. The code that was published would, if run, +allow one to get the instructions of how to receive (via email) the actual +entry. However, on Sat Mar 4 20:09:35 2023 UTC, the previously unseen code was +published. This meant that the old code was not set to compile via the Makefile. +This alternate code is that previous version.

+

Alternate build:

+
     make alt
+

Alternate use:

+
    ./nathan.alt
+

IMPORTANT NOTE: it is unknown if the email in the code is still valid and as +one does not need to email the author for the submitted code one should not +email it. In other words, please do NOT send such an email.

Judges’ remarks:

WARNING:

The judges make no claim as to the strength or security @@ -428,7 +444,7 @@ unintentionally abused the intent of rule #7 (that programs should be freely re-distributable). We suspect that the author may not have intended to do this, but that is the way things go sometimes.

-

BTW, ‘abuse of the rules’ entries do not violate the rules. +

BTW, ‘abuse of the rules’ entries do not violate the rules. Entries that violate the rules are disqualified. Abuse of the rules entries are ones that tend to ‘stretch’ the limits and take the contest into unexpected territory.

@@ -465,18 +481,21 @@ the men in black might get you.

is the source code is what you would have received had you successfully completed the above instructions.

Today, the above instructions are no longer necessary. -There have been reproduced above to provide historical context.

+There have been reproduced above to provide historical context. Even so, the +Alternate code allows you to see what the originally +published code did.

Personal note from chongo:

I think the situation showed just how ridiculous US crypto regulations really were/are. Certain US federal officials can get away with shipping arms to certain nations in apparent violation of US laws, but I personally can’t re-distribute a program contest entry to the network!

Updated personal note from chongo:

-

We removed the Email address from the above quote (although you can -still see it in the nathan.orig.c -code) because sending Email to that address is not requirement today. -The nathan.c file now contains -the source you would have received in reply.

+

We removed the email address from the above quote (although you can still see it +in the nathan.orig.c and +nathan.alt.c code) because sending +email to that address is not required today and it is unknown if it is still +valid. The nathan.c file now contains the +source you would have received in reply.

Thankfully much of the ridiculous US crypto regulations has been amended to the extent where the above historical “workaround” is no longer required.

@@ -543,6 +562,7 @@ operator, or argument separator?).

diff --git a/1992/nathan/nathan.alt.c b/1992/nathan/nathan.alt.c new file mode 100644 index 000000000..51f2d4ac4 --- /dev/null +++ b/1992/nathan/nathan.alt.c @@ -0,0 +1,26 @@ +#include +static char *text[] = +{ + "Export of this program from the USA is governed by the US", + "Munitions List from the ITAR (International Traffic in Arms", + "Regulations). This list gives the specific categories of", + "restricted exports and includes cryptographic exports. Traffic", + "entirely external to, entirely internal to, or into the USA is", + "not restricted.", + "To obtain a copy of the program, email to nathan@inmos.co.uk", + "with a subject \"IOCCC request\". If you know that your 'From'", + "line is incorrect, add a single line", + "\"replyto you@your.correct.address\" to the body of the message.", + "A deamon will autoreply.", + "WARNING: You must not re-export this out of the USA, or else", + "the men in black might get you.", + NULL +}; +int main() +{ + char **ptr; + + for(ptr = text; *ptr; ptr++) + printf("%s\n", *ptr); + return 0; +} diff --git a/thanks-for-help.html b/thanks-for-help.html index bbef46865..6f11717dd 100644 --- a/thanks-for-help.html +++ b/thanks-for-help.html @@ -1811,14 +1811,15 @@ bugs.html for details.

Winning entry: 1992/nathan

Winning entry source code: nathan.c

-

Cody added the original file back as it was deemed that the export restrictions -should no longer be a cause of concern for this entry. Doing this did require a -change to Cody’s 2020/ferguson2 entry as it’s -referenced.

+

Cody added the original file back as it was deemed that the export +restrictions should no longer be a cause of concern for this entry. An entry +that referred to this previous code was updated and the originally published +code is now also in nathan.alt.c. The astute +viewer would note that it has the same typos as the originally published code.

Cody cynically noted that if he goes quiet, for instance if he no longer participates in the IOCCC, that it must be our fault! :-)

-

Cody also added the try.sh script that runs a few commands -that we suggested as well as one he provided.

+

Cody also added the try.sh script that runs a +few commands that we suggested as well as one he provided.

Winning entry: 1992/vern

Winning entry source code: vern.c

diff --git a/thanks-for-help.md b/thanks-for-help.md index 1a447764b..dd8bc9d05 100644 --- a/thanks-for-help.md +++ b/thanks-for-help.md @@ -2036,16 +2036,17 @@ bugs.html](bugs.html#1992_lush) for details. ### Winning entry source code: [nathan.c](%%REPO_URL%%/1992/nathan/nathan.c)
-[Cody](#cody) added the original file back as it was deemed that the export restrictions -should no longer be a cause of concern for this entry. Doing this did require a -change to Cody's [2020/ferguson2](2020/ferguson2/index.html) entry as it's -referenced. +[Cody](#cody) added the original file back as it was deemed that the export +restrictions should no longer be a cause of concern for this entry. An entry +that referred to this previous code was updated and the originally published +code is now also in [nathan.alt.c](%%REPO_URL%%/1992/nathan.alt.c). The astute +viewer would note that it has the same typos as the originally published code. Cody cynically noted that if he goes quiet, for instance if he no longer participates in the IOCCC, that it must be our fault! :-) -Cody also added the [try.sh](%%REPO_URL%%/1992/nathan/try.sh) script that runs a few commands -that we suggested as well as one he provided. +Cody also added the [try.sh](%%REPO_URL%%/1992/nathan/try.sh) script that runs a +few commands that we suggested as well as one he provided.