On Wed, 4 Mar 1998, George wrote:
> /*
> * Erase any ~'s inserted by people in the editor. This prevents anyone
> * using online creation from causing parse errors in the world files.
> * Suggested by Sammy <samedi@dhc.net>, -gg 2/20/98
> */
Wasn't my suggestion. I think removing all tildes is a bad idea, since
they can be fairly common (especially if people are exchanging url's on
the boards).
Here's my original suggestion:
Date: Wed, 28 Jan 1998 09:59:06 -0600 (CST)
From: Sammy <samedi@dhc.net>
Subject: Re: [ALERT!!!] Major back door in AScii PFiles!!!
> A lot of simple solutions have been mentioned. I think I fixed this in my
> copy long ago and forgot about it, because it works ok for me.
> Personally, I'd just hack string_add to make ~ a terminator along with @.
> Then you get the added benefit of protection against clever builders who
> put ~'s in mob/obj/room descriptions to break world files and keep the
> mud from booting.
And the code to make it happen:
diff -up src/db.c new/db.c
--- src/db.c Thu Dec 25 13:16:56 1997
+++ new/db.c Wed Mar 4 21:03:08 1998
@@ -2060,8 +2060,8 @@ char *fread_string(FILE * fl, char *erro
exit(1);
}
/* If there is a '~', end the string; else put an "\r\n" over the '\n'. */
- if ((point = strchr(tmp, '~')) != NULL) {
- *point = '\0';
+ if (*tmp == '~') {
+ *tmp = '\0';
done = 1;
} else {
point = tmp + strlen(tmp) - 1;
diff -up src/modify.c new/modify.c
--- src/modify.c Tue Oct 28 23:16:28 1997
+++ new/modify.c Wed Mar 4 20:51:11 1998
@@ -62,7 +62,7 @@ void string_add(struct descriptor_data *
delete_doubledollar(str);
- if ((terminator = (*str == '@')))
+ if ((terminator = (*str == '@' || *str == '~')))
*str = '\0';
if (!(*d->str)) {
This allows tildes to be used anywhere in the editor except at the
beginning of a line, in which case it's equivalent to a '@' terminator.
Sam
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST