[PENNMUSH-ANNOUNCE] 1.7.4-patch01
dunemush@pennmush.org
dunemush at pennmush.org
Fri, 23 Mar 2001 10:25:47 -0600
##### SPECIAL NOTES FOR THIS PATCH #####
### 1. This patch is not fully tested on hpux and may not compile or run
### on hpux. If you have an hpux machine, I would very much like to
### hear how this works out (did it build, does it run, and does @uptime work?)
###
### 2. You will likely get a rejected hunk in game/restrict.cnf
### This is no big deal. Please edit game/restrict.cnf and add a
### blank line at the end.
This is patch01 to PennMUSH 1.7.4. After applying this patch, you will
have version 1.7.4p1
To apply this patch, save it to a file in your top-level MUSH directory,
and do the following:
patch -p1 < 1.7.4-patch01
./Configure
make update
make install
If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1',
not just 'patch -p1'.
Then @shutdown and restart your MUSH.
- Alan/Javelin
In this patch:
Minor changes:
* Speedup for repeat() function. [TAP]
* Hint for openbsd, which appears to have a broken IPv6 configuration. [SW]
* Some OS-dependent defines have been removed.
* ansi() now only adds a maximum of 7 codes to the string. [TAP]
Fixes:
* The restrict_command for rob has been removed from restrict.cnf
Reported by Kyieren@M*U*S*H.
* Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, Datron@SW2,
and Noltar@Korongil.
* stripansi() didn't correctly handle multiple ansi codes in
sequence. Reported by CU5@WCX.
* Linting for warnings in pcre. [SW]
* Configure now sends mailing list subscription stuff to the new
list address.
* Updated examples in access.README to use dbrefs.
* Updated a reference to the rob command in 'give' errors. Noted by
rodregis@M*U*S*H.
* median was broken. Reported by Parax@SandsMUSH.
* Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like.
Noted by rodregis@M*U*S*H
Prereq: 1.7.4p0
*** 1_7_4.32/Patchlevel Thu, 08 Feb 2001 23:01:41 -0600 dunemush (pennmush/5_Patchlevel 1.18 600)
--- 1_7_4.46(w)/Patchlevel Mon, 12 Mar 2001 14:43:17 -0600 dunemush (pennmush/5_Patchlevel 1.19 600)
***************
*** 1,2 ****
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.4p0
--- 1,2 ----
Do not edit this file. It is maintained by the official PennMUSH patches.
! This is PennMUSH 1.7.4p1
*** 1_7_4.32/README Tue, 09 Jan 2001 17:56:37 -0600 dunemush (pennmush/4_README 1.6 600)
--- 1_7_4.46(w)/README Sun, 11 Mar 2001 17:33:01 -0600 dunemush (pennmush/4_README 1.7 600)
***************
*** 550,558 ****
There are three places one could get help with a problem:
1. pennmush@pennmush.org is the PennMUSH mailing list.
! To subscribe, send email to listproc@pennmush.org
! with the words "subscribe pennmush YourNameHere" in the body
! of the mesage.
The PennMUSH mailing list should only be used for problems,
bugs, suggestions, ideas, discussion, etc. that are OF GENERAL INTEREST.
--- 550,556 ----
There are three places one could get help with a problem:
1. pennmush@pennmush.org is the PennMUSH mailing list.
! To subscribe, visit http://www.pennmush.org/mailman/listinfo/pennmush
The PennMUSH mailing list should only be used for problems,
bugs, suggestions, ideas, discussion, etc. that are OF GENERAL INTEREST.
***************
*** 565,570 ****
--- 563,572 ----
That is, don't report problems with downloading PennMUSH, compilation,
installation, restarts, or database corruption to the mailing list.
These are often system specific.
+
+ (If you don't want to hear these discussions, but do want to be
+ informed of new patches, subscribe to pennmush-announce instead,
+ at http://www.pennmush.org/mailman/listinfo/pennmush-announce)
2. pennmush-bugs@pennmush.org is the bug reporting address
for the PennMUSH developers (suggestions go to pennmush-developers,
*** 1_7_4.32/CHANGES.OLD Thu, 08 Feb 2001 23:01:41 -0600 dunemush (pennmush/7_CHANGES.OL 1.7 600)
--- 1_7_4.46(w)/CHANGES.OLD Fri, 16 Mar 2001 16:52:55 -0600 dunemush (pennmush/7_CHANGES.OL 1.8 600)
***************
*** 867,872 ****
--- 867,915 ----
Suggested by Oleo@M*U*S*H.
* getstring_noalloc was doing an fgetc into a char variable,
instead of an int, so wasn't 8-bit clean. Report by Slava.
+
+ Version 1.7.2 patchlevel 35 January 27, 2001
+
+ Fixes:
+ * Fixed a bug in filter introduced in p34. Report by Jason Rhodes.
+ * Help for sort() now indicates that 'n' sorts integers. Report by
+ Dave Milford.
+
+
+ Version 1.7.2 patchlevel 34 October 2, 2000
+
+ Fixes:
+ * filter now looks at the whole result, not just the first
+ character, when checking if the filter function returned '1'. [SW]
+ * raw_input and raw_input_at are now unsigned char *, so
+ they build right on HP/UX and similar. Report by Jeff Hildebrand
+
+
+ Version 1.7.2 patchlevel 33 August 17, 2000
+
+ Fixes (backported from 1.7.3p4):
+ * Bug in con() patched.
+ * Bug in deciding when to take a penny for queued commands fixed
+ by Stephen Dennis.
+ * Configure portability fixes
+ * Better handling of cases where the maildb has messages from
+ dbrefs that are out of range (due to truncating a db to remove
+ corruption, for example). Suggested by Ashen-Shugar.
+ * Various fixes to better resist crashing due to attacks involving
+ overwhelming connections.
+ * @mvattr a/b=a/b would clear the attribute. No longer.
+ Reported by Octavian@M*U*S*H
+ * type(obj) would log a "WEIRD OBJECT" message if obj was
+ a garbage object. Reported by RLM. [TAP]
+ * Small memory leak when doing @cpattr of a standard attribute to a
+ non-standard attribute is fixed.
+ * Tport_anything didn't allow teleporting things to exits.
+ Noted by Vexon@M*U*S*H.
+ * Z_TEL flag works on ZMO's as promised now. Report by [SW].
+ * Potential crash in moveit fixed. Report by Howie@NF TrekMush
+ * getstring_noalloc was doing an fgetc into a char variable,
+ instead of an int, so wasn't 8-bit clean. Report by Slava.
+
Version 1.7.2 patchlevel 32 April 17, 2000
Fixes:
*** 1_7_4.32/CHANGES Wed, 07 Mar 2001 09:12:05 -0600 dunemush (pennmush/8_CHANGES 1.170 600)
--- 1_7_4.46(w)/CHANGES Wed, 21 Mar 2001 14:16:34 -0600 dunemush (pennmush/8_CHANGES 1.179 600)
***************
*** 17,22 ****
--- 17,46 ----
==========================================================================
+ Version 1.7.4 patchlevel 1 March 17, 2001
+
+ Minor changes:
+ * Speedup for repeat() function. [TAP]
+ * Hint for openbsd, which appears to have a broken IPv6 configuration. [SW]
+ * Some OS-dependent defines have been removed.
+ * ansi() now only adds a maximum of 7 codes to the string. [TAP]
+ Fixes:
+ * The restrict_command for rob has been removed from restrict.cnf
+ Reported by Kyieren@M*U*S*H.
+ * Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, Datron@SW2,
+ and Noltar@Korongil.
+ * stripansi() didn't correctly handle multiple ansi codes in
+ sequence. Reported by CU5@WCX.
+ * Linting for warnings in pcre. [SW]
+ * Configure now sends mailing list subscription stuff to the new
+ list address.
+ * Updated examples in access.README to use dbrefs.
+ * Updated a reference to the rob command in 'give' errors. Noted by
+ rodregis@M*U*S*H.
+ * median was broken. Reported by Parax@SandsMUSH.
+ * Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like.
+ Noted by rodregis@M*U*S*H
+
Version 1.7.4 patchlevel 0 March 7, 2001
Major Changes:
*** 1_7_4.32/game/txt/hlp/pennvers.hlp Wed, 07 Mar 2001 09:12:05 -0600 dunemush (pennmush/12_pennvers.h 1.125 600)
--- 1_7_4.46(w)/game/txt/hlp/pennvers.hlp Tue, 20 Mar 2001 14:58:14 -0600 dunemush (pennmush/12_pennvers.h 1.132 600)
***************
*** 1,5 ****
& changes
! & 1.7.4p0
This is a list of changes in this patchlevel which are probably of
interest to players. More information about new commands and functions
can probably be gotten via 'help <name of whatever>'. 'help credits'
--- 1,5 ----
& changes
! & 1.7.4p1
This is a list of changes in this patchlevel which are probably of
interest to players. More information about new commands and functions
can probably be gotten via 'help <name of whatever>'. 'help credits'
***************
*** 11,16 ****
--- 11,40 ----
A list of the patchlevels associated with each release can
be read in 'help patchlevels'.
+ Version 1.7.4 patchlevel 1 March 17, 2001
+
+ Minor changes:
+ * Speedup for repeat() function. [TAP]
+ * Hint for openbsd, which appears to have a broken IPv6 configuration. [SW]
+ * Some OS-dependent defines have been removed.
+ * ansi() now only adds a maximum of 7 codes to the string. [TAP]
+ Fixes:
+ * The restrict_command for rob has been removed from restrict.cnf
+ Reported by Kyieren@M*U*S*H.
+ * Help fixes by Kyieren, rodregis, and Luke @ M*U*S*H, and Datron@SW2.
+ * stripansi() didn't correctly handle multiple ansi codes in
+ sequence. Reported by CU5@WCX.
+ * Linting for warnings in pcre. [SW]
+ * Configure now sends mailing list subscription stuff to the new
+ list address.
+ * Updated examples in access.README to use dbrefs.
+ * Updated a reference to the rob command in 'give' errors. Noted by
+ rodregis@M*U*S*H.
+ * median was broken. Reported by Parax@SandsMUSH.
+ * Fixes to update.pl's handling of CHAT_TOKEN_ALIAS and the like.
+ Noted by rodregis@M*U*S*H
+
+ & 1.7.4p0
Version 1.7.4 patchlevel 0 March 7, 2001
Major Changes:
***************
*** 951,956 ****
--- 975,1026 ----
Suggested by Oleo@M*U*S*H.
* getstring_noalloc was doing an fgetc into a char variable,
instead of an int, so wasn't 8-bit clean. Report by Slava.
+
+ & 1.7.2p35
+ Version 1.7.2 patchlevel 35 January 27, 2001
+
+ Fixes:
+ * Fixed a bug in filter introduced in p34. Report by Jason Rhodes.
+ * Help for sort() now indicates that 'n' sorts integers. Report by
+ Dave Milford.
+
+
+ & 1.7.2p34
+ Version 1.7.2 patchlevel 34 October 2, 2000
+
+ Fixes:
+ * filter now looks at the whole result, not just the first
+ character, when checking if the filter function returned '1'. [SW]
+ * raw_input and raw_input_at are now unsigned char *, so
+ they build right on HP/UX and similar. Report by Jeff Hildebrand
+
+
+ & 1.7.2p33
+ Version 1.7.2 patchlevel 33 August 17, 2000
+
+ Fixes (backported from 1.7.3p4):
+ * Bug in con() patched.
+ * Bug in deciding when to take a penny for queued commands fixed
+ by Stephen Dennis.
+ * Configure portability fixes
+ * Better handling of cases where the maildb has messages from
+ dbrefs that are out of range (due to truncating a db to remove
+ corruption, for example). Suggested by Ashen-Shugar.
+ * Various fixes to better resist crashing due to attacks involving
+ overwhelming connections.
+ * @mvattr a/b=a/b would clear the attribute. No longer.
+ Reported by Octavian@M*U*S*H
+ * type(obj) would log a "WEIRD OBJECT" message if obj was
+ a garbage object. Reported by RLM. [TAP]
+ * Small memory leak when doing @cpattr of a standard attribute to a
+ non-standard attribute is fixed.
+ * Tport_anything didn't allow teleporting things to exits.
+ Noted by Vexon@M*U*S*H.
+ * Z_TEL flag works on ZMO's as promised now. Report by [SW].
+ * Potential crash in moveit fixed. Report by Howie@NF TrekMush
+ * getstring_noalloc was doing an fgetc into a char variable,
+ instead of an int, so wasn't 8-bit clean. Report by Slava.
+
& 1.7.2p32
Version 1.7.2 patchlevel 32 April 17, 2000
***************
*** 4468,4477 ****
is configurable.
& patchlevels
! 1.7.4: 0
1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
! 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
1.7.1: 0, 1, 2, 3
1.7.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11
1.6.10: 0, 1, 2, 3, 4, 5, 6, 6
--- 4538,4547 ----
is configurable.
& patchlevels
! 1.7.4: 0, 1
1.7.3: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
1.7.2: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
! 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35
1.7.1: 0, 1, 2, 3
1.7.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11
1.6.10: 0, 1, 2, 3, 4, 5, 6, 6
*** 1_7_4.32/game/txt/hlp/penntop.hlp Tue, 27 Feb 2001 12:35:21 -0600 dunemush (pennmush/13_penntop.hl 1.2.1.26 600)
--- 1_7_4.46(w)/game/txt/hlp/penntop.hlp Wed, 14 Mar 2001 14:27:19 -0600 dunemush (pennmush/13_penntop.hl 1.2.1.27 600)
***************
*** 249,268 ****
hasflag(<object>,<flag name>)
is true (the object has the flag), it will return 1. If it is false,
it will return 0.
!
! Now, any string is interpreted as true(1), except for the null string
! (ie, just a blank), which is considered false (0). Anything that
! begins with a #-1 is also considered false. All dbref #s are considered
! true. Any number except 0 (including negative numbers), is considered
! true.
!
(continued in help boolean2)
! & BOOLEAN2
! Note that this may differ on some MUSHes, since it is possible to use
! the Boolean value system from TinyMUSH2.2 instead. '@config tiny' will
! show if this is the case.
! Examples:
not(foo) = 0
not(<null string>) = 1
not(-66) = 0
--- 249,282 ----
hasflag(<object>,<flag name>)
is true (the object has the flag), it will return 1. If it is false,
it will return 0.
!
! Other functions expect to operate on boolean values. What they
! consider "true" or "false", however, depends on the setting of
! the "tiny_booleans" config option (@config tiny will show this).
!
(continued in help boolean2)
! & BOOLEAN2
! If tiny_booleans is...
! no FALSE: null string, 0, any negative db
! TRUE: everything else
! yes TRUE: numbers other than 0
! strings beginning with numbers other than 0
! FALSE: everything else
!
! Or, put another way:
! Value tiny_booleans=no tiny_booleans=yes Gotcha
! 0 FALSE FALSE
! non-zero number TRUE TRUE
! #<non-negative> TRUE TRUE
! #<negative> FALSE TRUE *
! null string FALSE FALSE
! 0<non-numbers..> TRUE FALSE *
! <non-numbers...> TRUE TRUE
!
! (continued in help boolean3)
! & BOOLEAN3
! Examples (assuming tiny_booleans is "no"):
not(foo) = 0
not(<null string>) = 1
not(-66) = 0
*** 1_7_4.32/game/txt/hlp/pennmail.hlp Thu, 08 Feb 2001 23:01:41 -0600 dunemush (pennmush/15_pennmail.h 1.6 600)
--- 1_7_4.46(w)/game/txt/hlp/pennmail.hlp Wed, 21 Mar 2001 14:16:13 -0600 dunemush (pennmush/15_pennmail.h 1.6 600)
***************
*** 68,75 ****
be "Forwarded".
& mail-other
! @mail/clear [<msg-list | all>]
! @mail/unclear [<msg-list> | all>]
These commands mark mail in the current folder as cleared or uncleared.
Mail marked for clearing is deleted when you disconnect, or
if you use @mail/purge. If no msg-list is specified, all
--- 68,75 ----
be "Forwarded".
& mail-other
! @mail/clear [<msg-list> | all]
! @mail/unclear [<msg-list> | all]
These commands mark mail in the current folder as cleared or uncleared.
Mail marked for clearing is deleted when you disconnect, or
if you use @mail/purge. If no msg-list is specified, all
***************
*** 80,86 ****
Actually deletes all messages marked for clearing with @mail/clear.
This is done automatically when you log out.
! @mail/tag [<msg-list | all>]
@mail/untag [<msg-list> | all>]
These commands tag or untag mail in the current folder.
Tagged mail can be later acted on en masse by using "tagged" as
--- 80,86 ----
Actually deletes all messages marked for clearing with @mail/clear.
This is done automatically when you log out.
! @mail/tag [<msg-list> | all>]
@mail/untag [<msg-list> | all>]
These commands tag or untag mail in the current folder.
Tagged mail can be later acted on en masse by using "tagged" as
*** 1_7_4.32/game/txt/hlp/pennfunc.hlp Mon, 26 Feb 2001 09:21:53 -0600 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1 600)
--- 1_7_4.46(w)/game/txt/hlp/pennfunc.hlp Fri, 16 Mar 2001 11:02:44 -0600 dunemush (pennmush/16_pennfunc.h 1.2.1.50.1.1.1.1.1.2 600)
***************
*** 72,78 ****
For example, 2 is represented as '0010' and 4 as '0100'. If these two
numbers are bitwise-or'ed together with BOR(), the result is 6, or
! (In binary) '0100'. These functions are useful for storing small
lists of toggle (Yes/No) options efficiently.
band() bnand() bnot() bor() bxor()
--- 72,78 ----
For example, 2 is represented as '0010' and 4 as '0100'. If these two
numbers are bitwise-or'ed together with BOR(), the result is 6, or
! (In binary) '0110'. These functions are useful for storing small
lists of toggle (Yes/No) options efficiently.
band() bnand() bnot() bor() bxor()
***************
*** 271,277 ****
effects), while cand() stops evaluation after the first argument
that evaluates to false.
! See also: BOOLEAN VALUES, or()
& ANDFLAGS()
andflags(<object>,<list of flags>)
--- 271,277 ----
effects), while cand() stops evaluation after the first argument
that evaluates to false.
! See also: BOOLEAN VALUES, or(), xor(), not()
& ANDFLAGS()
andflags(<object>,<list of flags>)
***************
*** 2044,2056 ****
Returns 1 if all its arguments are false, 0 if one is true.
Equivalent to not(or()), but more efficient.
& NOT()
[not(<boolean value>)]
Takes a boolean value, and returns its inverse.
I.E. if the input is equivalent to true(1), it returns a 0, and if
the input is equivalent to false(0), it returns a 1.
! See BOOLEAN VALUES.
& NUM()
num(<object>)
--- 2044,2062 ----
Returns 1 if all its arguments are false, 0 if one is true.
Equivalent to not(or()), but more efficient.
+
+ See also: and(), or(), xor(), not()
& NOT()
[not(<boolean value>)]
Takes a boolean value, and returns its inverse.
I.E. if the input is equivalent to true(1), it returns a 0, and if
the input is equivalent to false(0), it returns a 1.
!
! The definition of truth and falsehood depends on configuration settings;
! see help BOOLEAN VALUES for details.
!
! See also: and(), or(), nor(), xor()
& NUM()
num(<object>)
***************
*** 2838,2845 ****
& T()
t(<expression>)
! Returns a 0 if the expression is null, 0, #-1, #-2, (or any negative db#)
! Returns a 1 otherwise.
& TABLE()
table(<list>,<field width>,<line length>,<delimiter>,<output separator>)
--- 2844,2853 ----
& T()
t(<expression>)
! Returns a 0 if the expression is false, and 1 otherwise.
! The definition of truth and falsehood depends on configuration settings;
! see help BOOLEAN VALUES for details.
!
& TABLE()
table(<list>,<field width>,<line length>,<delimiter>,<output separator>)
***************
*** 3320,3325 ****
--- 3328,3335 ----
Takes two booleans, and returns a 1 if one, and only one of the two
inputs is equivalent to true(1). See BOOLEAN VALUES.
+
+ See also: and(), or(), not(), nor()
& ZEMIT()
zemit(<zone>, <message>)
*** 1_7_4.32/game/txt/hlp/pennflag.hlp Wed, 24 Jan 2001 16:56:43 -0600 dunemush (pennmush/17_pennflag.h 1.1.1.1.1.2.1.1.1.2.1.1.1.2 600)
--- 1_7_4.46(w)/game/txt/hlp/pennflag.hlp Thu, 08 Mar 2001 11:37:03 -0600 dunemush (pennmush/17_pennflag.h 1.1.1.1.1.2.1.1.1.2.1.1.1.2.1.1 600)
***************
*** 598,610 ****
If a player is set UNFINDABLE, he cannot be found by the @whereis
command. You also cannot use loc(), locate(), and similar functions
! to find his location.
If a room is set UNFINDABLE, you cannot locate any of its contents
! via any means (@whereis, the loc() function, etc.)
! If a wizard is set UNFINDABLE, and he is idle past the allowable
! maximum idle time, he will be set DARK automatically.
& UNINSPECTED
Flag: UNINSPECTED (rooms)
--- 598,611 ----
If a player is set UNFINDABLE, he cannot be found by the @whereis
command. You also cannot use loc(), locate(), and similar functions
! to find his location, unless you have the see_all power or equivalent.
If a room is set UNFINDABLE, you cannot locate any of its contents
! via any means (@whereis, the loc() function, etc.) unless you are
! see_all or equivalent.
! If a player who can @hide and idle is set UNFINDABLE, and he is idle past
! the allowable maximum idle time, he will be hidden automatically.
& UNINSPECTED
Flag: UNINSPECTED (rooms)
*** 1_7_4.32/game/access.README Fri, 26 May 2000 09:29:12 -0500 dunemush (pennmush/42_access.REA 1.2 600)
--- 1_7_4.46(w)/game/access.README Wed, 14 Mar 2001 14:45:34 -0600 dunemush (pennmush/42_access.REA 1.3 600)
***************
*** 96,131 ****
1. Totally ban specific sites, allow all others
! *badsite.com none
! *.twink.edu none
This will totally lock out those sites (like lockout.cnf)
2. Allow specific sites and no others
! *.berkeley.edu default
! * none
People may connect from .berkeley.edu sites only.
3. Allow connection but not creation from some sites
! *.twink.edu !create
This is equivalent to the former function of sites.cnf
4. Allow connection but not creation or guest-connection from some sites
! *.twink.edu !guest !create
5. Require that a given site use the 'register' command to register
players by email.
! *.twink.edu !create register
Using !create prevents people from using the usual create command.
Adding register allows them to uset the register command.
--- 96,131 ----
1. Totally ban specific sites, allow all others
! *badsite.com -2 none
! *.twink.edu -2 none
This will totally lock out those sites (like lockout.cnf)
2. Allow specific sites and no others
! *.berkeley.edu -2 default
! * -2 none
People may connect from .berkeley.edu sites only.
3. Allow connection but not creation from some sites
! *.twink.edu -2 !create
This is equivalent to the former function of sites.cnf
4. Allow connection but not creation or guest-connection from some sites
! *.twink.edu -2 !guest !create
5. Require that a given site use the 'register' command to register
players by email.
! *.twink.edu -2 !create register
Using !create prevents people from using the usual create command.
Adding register allows them to uset the register command.
***************
*** 134,140 ****
6. Disable creation from twink.edu sites, and don't let Wizards
override this rule with @sitelock
! *.twink.edu !create
@sitelock
Because the rule appears above "@sitelock", and @sitelock rules appear
--- 134,140 ----
6. Disable creation from twink.edu sites, and don't let Wizards
override this rule with @sitelock
! *.twink.edu -2 !create
@sitelock
Because the rule appears above "@sitelock", and @sitelock rules appear
***************
*** 146,152 ****
later override this rule with @sitelock
@sitelock
! *.twink.edu !create
Because the rule appears below "@sitelock", new @sitelock rules
(which will be added immediately following "@sitelock") will precede
--- 146,152 ----
later override this rule with @sitelock
@sitelock
! *.twink.edu -2 !create
Because the rule appears below "@sitelock", new @sitelock rules
(which will be added immediately following "@sitelock") will precede
***************
*** 173,184 ****
e) Allow people from somesite.org to connect to Guests only.
f) Allow @sitelock to override c-e above
! localhost.berkeley.edu default
! *.twink.edu !create register suspect
@sitelock
! *badsite.com none deny_silent
! jerk@netcom.com !guest
! somesite.org !connect !create guest
--- 173,184 ----
e) Allow people from somesite.org to connect to Guests only.
f) Allow @sitelock to override c-e above
! localhost.berkeley.edu -2 default
! *.twink.edu -2 !create register suspect
@sitelock
! *badsite.com -2 none deny_silent
! jerk@netcom.com -2 !guest
! somesite.org -2 !connect !create guest
*** 1_7_4.32/utils/update.pl Sun, 22 Oct 2000 18:25:00 -0500 dunemush (pennmush/43_update.pl 1.4 700)
--- 1_7_4.46(w)/utils/update.pl Tue, 20 Mar 2001 14:56:53 -0600 dunemush (pennmush/43_update.pl 1.5 700)
***************
*** 136,145 ****
: &def(&ask_simple($1,'define'));
} elsif ( m!^(/\*\s*)?#define\s+([A-Z0-9_-]+)\s+(.+)\s+(/\*.*\*/)!) {
# A define with a value and a comment
! $comment = $4; $name = $2;
! $def = $3;
print OLD defined($defs{$name})
! ? &def($name,$comment) : &def(&ask_value($name,$def),$comment,$def);
} elsif ( m!^#define\s+([A-Z0-9_-]+)\s+(.+)!) {
# A define with a value
print OLD defined($defs{$1}) ? &def($1) : &def(&ask_value($1,$2));
--- 136,148 ----
: &def(&ask_simple($1,'define'));
} elsif ( m!^(/\*\s*)?#define\s+([A-Z0-9_-]+)\s+(.+)\s+(/\*.*\*/)!) {
# A define with a value and a comment
! $maybeundef = $1;
! $maybecomment = $4; $name = $2;
! $olddef = $def = $3;
! $comment = $maybecomment if ($maybecomment =~ /\w/);
! $def = "undef" if $maybeundef =~ /./;
print OLD defined($defs{$name})
! ? &def($name,$comment) : &def(&ask_value($name,$def),$maybecomment,$def eq "undef" ? $olddef : $def);
} elsif ( m!^#define\s+([A-Z0-9_-]+)\s+(.+)!) {
# A define with a value
print OLD defined($defs{$1}) ? &def($1) : &def(&ask_value($1,$2));
*** 1_7_4.32/config_h.SH Thu, 01 Feb 2001 14:47:02 -0600 dunemush (pennmush/b/17_config_h.S 1.17 660)
--- 1_7_4.46(w)/config_h.SH Wed, 14 Mar 2001 14:34:33 -0600 dunemush (pennmush/b/17_config_h.S 1.17.1.1 660)
***************
*** 456,461 ****
--- 456,466 ----
#$i_crypt I_CRYPT /**/
+ /* FORCE_IPV4:
+ * If defined, this system will not use IPv6. Necessary for Openbsd.
+ */
+ #$d_force_ipv4 FORCE_IPV4 /**/
+
/* HAS_FPSETROUND:
* This symbol, if defined, indicates that the crypt routine is available
* to encrypt passwords and the like.
*** 1_7_4.32/src/strutil.c Mon, 12 Feb 2001 09:57:12 -0600 dunemush (pennmush/b/33_strutil.c 1.28 660)
--- 1_7_4.46(w)/src/strutil.c Mon, 12 Mar 2001 14:51:43 -0600 dunemush (pennmush/b/33_strutil.c 1.28.1.3 660)
***************
*** 700,712 ****
switch (*q) {
case ESC_CHAR:
/* Skip over ansi */
! while (*q && *q++ != 'm') ;
! safe_chr(*q, buff, &bp);
break;
case TAG_START:
/* Skip over HTML */
! while (*q && *q++ != TAG_END) ;
! safe_chr(*q, buff, &bp);
break;
default:
safe_chr(*q, buff, &bp);
--- 700,710 ----
switch (*q) {
case ESC_CHAR:
/* Skip over ansi */
! while (*q && *q != 'm') q++;
break;
case TAG_START:
/* Skip over HTML */
! while (*q && *q != TAG_END) q++;
break;
default:
safe_chr(*q, buff, &bp);
*** 1_7_4.32/src/rob.c Thu, 08 Feb 2001 23:01:41 -0600 dunemush (pennmush/b/42_rob.c 1.18 660)
--- 1_7_4.46(w)/src/rob.c Tue, 20 Mar 2001 11:55:05 -0600 dunemush (pennmush/b/42_rob.c 1.18.1.1 660)
***************
*** 1,4 ****
! /* rob.c */
#include "config.h"
#include "copyrite.h"
--- 1,4 ----
! /* rob.c, for historical reasons */
#include "config.h"
#include "copyrite.h"
***************
*** 7,13 ****
#include <stdlib.h>
#endif
! /* rob and kill */
#include "conf.h"
#include "mushdb.h"
--- 7,13 ----
#include <stdlib.h>
#endif
! /* give and kill */
#include "conf.h"
#include "mushdb.h"
***************
*** 207,213 ****
amount = atoi(amnt);
/* do amount consistency check */
if (amount < 0 && !Wizard(player)) {
! notify(player, T("Try using the \"rob\" command."));
return;
} else if (amount == 0) {
notify(player,
--- 207,213 ----
amount = atoi(amnt);
/* do amount consistency check */
if (amount < 0 && !Wizard(player)) {
! notify(player, T("What is this, a holdup?"));
return;
} else if (amount == 0) {
notify(player,
*** 1_7_4.32/src/ident.c Mon, 05 Mar 2001 12:11:07 -0600 dunemush (pennmush/c/8_ident.c 1.18 660)
--- 1_7_4.46(w)/src/ident.c Wed, 14 Mar 2001 11:46:08 -0600 dunemush (pennmush/c/8_ident.c 1.19 660)
***************
*** 377,387 ****
#endif
{
#ifndef WIN32
! #ifdef CAN_TAKE_ARGS_IN_FP
! Sigfunc (*old_sig) (int);
! #else
! Sigfunc (*old_sig) ();
! #endif
#endif
int res;
char buf[80];
--- 377,383 ----
#endif
{
#ifndef WIN32
! Sigfunc old_sig;
#endif
int res;
char buf[80];
*** 1_7_4.32/src/game.c Sun, 25 Feb 2001 13:37:15 -0600 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1 660)
--- 1_7_4.46(w)/src/game.c Wed, 14 Mar 2001 11:39:46 -0600 dunemush (pennmush/c/10_game.c 1.50.1.8.1.1.1.1 660)
***************
*** 220,244 ****
{
struct rusage usage;
int pid;
- #ifndef hpux
int psize;
- #endif
pid = getpid();
- #ifndef hpux
psize = getpagesize();
- #endif
getrusage(RUSAGE_SELF, &usage);
do_rawlog(LT_ERR, T("Process statistics:"));
do_rawlog(LT_ERR, T("Time used: %10ld user %10ld sys"),
usage.ru_utime.tv_sec, usage.ru_stime.tv_sec);
- #ifndef hpux
do_rawlog(LT_ERR, "Max res mem: %10ld pages %10ld bytes",
usage.ru_maxrss, (usage.ru_maxrss * psize));
- #else
- do_rawlog(LT_ERR, "Max res mem: %10 pages", usage.ru_maxrss);
- #endif /* hpux */
do_rawlog(LT_ERR, "Integral mem:%10ld shared %10ld private %10ld stack",
usage.ru_ixrss, usage.ru_idrss, usage.ru_isrss);
do_rawlog(LT_ERR,
--- 220,236 ----
***************
*** 1515,1523 ****
int i;
#endif
int pid;
- #ifndef hpux
int psize;
- #endif
#ifdef HAS_GETRUSAGE
struct rusage usage;
#endif /* HAS_GETRUSAGE */
--- 1507,1513 ----
***************
*** 1594,1614 ****
/* do process stats */
pid = getpid();
- #ifndef hpux
- #ifdef WIN32
- psize = 1024; /* NJG: a guess! */
- #else
- #ifdef macintosh
- psize = 1024;
- #else
psize = getpagesize();
- #endif /* macintosh */
- #endif /* WIN32 */
notify(player, tprintf(T("\nProcess ID: %10u %10d bytes per page"),
pid, psize));
- #else
- notify(player, tprintf(T("\nProcess ID: %10u"), pid));
- #endif /* hpux */
#ifdef linux
/* Linux's getrusage() is mostly unimplemented. Just has times, page faults
--- 1584,1592 ----
***************
*** 1716,1727 ****
getrusage(RUSAGE_SELF, &usage);
notify(player, tprintf(T("Time used: %10ld user %10ld sys"),
usage.ru_utime.tv_sec, usage.ru_stime.tv_sec));
- #ifndef hpux
notify(player, tprintf("Max res mem: %10ld pages %10ld bytes",
usage.ru_maxrss, (usage.ru_maxrss * psize)));
- #else
- notify(player, tprintf("Max res mem: %10ld pages", usage.ru_maxrss));
- #endif /* hpux */
notify(player,
tprintf("Integral mem:%10ld shared %10ld private %10ld stack",
usage.ru_ixrss, usage.ru_idrss, usage.ru_isrss));
--- 1694,1701 ----
*** 1_7_4.32/src/funstr.c Wed, 21 Feb 2001 09:25:43 -0600 dunemush (pennmush/c/13_funstr.c 1.28.1.1 660)
--- 1_7_4.46(w)/src/funstr.c Thu, 15 Mar 2001 13:31:03 -0600 dunemush (pennmush/c/13_funstr.c 1.28.1.1.1.2 660)
***************
*** 494,499 ****
--- 494,500 ----
FUNCTION(fun_repeat)
{
int times;
+ char *ap;
if (!is_integer(args[1])) {
safe_str(T(e_int), buff, bp);
***************
*** 506,514 ****
}
if (!*args[0])
return;
! while (times--)
! if (safe_str(args[0], buff, bp) != 0)
! break;
}
/* ARGSUSED */
--- 507,526 ----
}
if (!*args[0])
return;
!
! /* Do the repeat in O(lg n) time. */
! /* This takes advantage of the fact that we're given a BUFFER_LEN
! * buffer for args[0] that we are free to trash. Huzzah! */
! ap = args[0] + strlen(args[0]);
! while (times) {
! if (times & 1) {
! if (safe_str(args[0], buff, bp) != 0)
! break;
! }
! safe_str(args[0], args[0], &ap);
! *ap = '\0';
! times = times >> 1;
! }
}
/* ARGSUSED */
***************
*** 941,1037 ****
/* ARGSUSED */
FUNCTION(fun_ansi)
{
! static char tbuff[BUFFER_LEN], sbuff[BUFFER_LEN], *sbp = sbuff;
! const char *arg0 = args[0], *arg1 = args[1];
! char *s = tbuff, *old_sbp = sbp, *tbp = tbuff;
!
process_expression(tbuff, &tbp, &arg0, executor, caller, enactor,
PE_DEFAULT, PT_DEFAULT, pe_info);
! *tbp = 0;
! while (*s) {
! switch (*s) {
case 'h': /* hilite */
! safe_str(ANSI_HILITE, sbuff, &sbp);
break;
case 'i': /* inverse */
! safe_str(ANSI_INVERSE, sbuff, &sbp);
! break;
! case 'f': /* flash */
! safe_str(ANSI_BLINK, sbuff, &sbp);
break;
case 'u': /* underscore */
! safe_str(ANSI_UNDERSCORE, sbuff, &sbp);
break;
case 'n': /* normal */
! safe_str(ANSI_NORMAL, sbuff, &sbp);
break;
case 'x': /* black fg */
! safe_str(ANSI_BLACK, sbuff, &sbp);
break;
case 'r': /* red fg */
! safe_str(ANSI_RED, sbuff, &sbp);
break;
case 'g': /* green fg */
! safe_str(ANSI_GREEN, sbuff, &sbp);
break;
case 'y': /* yellow fg */
! safe_str(ANSI_YELLOW, sbuff, &sbp);
break;
case 'b': /* blue fg */
! safe_str(ANSI_BLUE, sbuff, &sbp);
break;
case 'm': /* magenta fg */
! safe_str(ANSI_MAGENTA, sbuff, &sbp);
break;
case 'c': /* cyan fg */
! safe_str(ANSI_CYAN, sbuff, &sbp);
break;
case 'w': /* white fg */
! safe_str(ANSI_WHITE, sbuff, &sbp);
break;
case 'X': /* black bg */
! safe_str(ANSI_BBLACK, sbuff, &sbp);
break;
case 'R': /* red bg */
! safe_str(ANSI_BRED, sbuff, &sbp);
break;
case 'G': /* green bg */
! safe_str(ANSI_BGREEN, sbuff, &sbp);
break;
case 'Y': /* yellow bg */
! safe_str(ANSI_BYELLOW, sbuff, &sbp);
break;
case 'B': /* blue bg */
! safe_str(ANSI_BBLUE, sbuff, &sbp);
break;
case 'M': /* magenta bg */
! safe_str(ANSI_BMAGENTA, sbuff, &sbp);
break;
case 'C': /* cyan bg */
! safe_str(ANSI_BCYAN, sbuff, &sbp);
break;
case 'W': /* white bg */
! safe_str(ANSI_BWHITE, sbuff, &sbp);
break;
}
- s++;
}
! *sbp = 0;
! safe_str(old_sbp, buff, bp);
!
process_expression(buff, bp, &arg1, executor, caller, enactor,
PE_DEFAULT, PT_DEFAULT, pe_info);
safe_str(ANSI_NORMAL, buff, bp);
-
- sbp = old_sbp;
- *sbp = 0;
- safe_str(sbuff, buff, bp);
-
}
/* ARGSUSED */
--- 953,1085 ----
/* ARGSUSED */
FUNCTION(fun_ansi)
{
+ static char tbuff[BUFFER_LEN], slots[7];
+ char const *arg0, *arg1;
+ char *tbp;
+ int j;
! tbp = tbuff;
! arg0 = args[0];
process_expression(tbuff, &tbp, &arg0, executor, caller, enactor,
PE_DEFAULT, PT_DEFAULT, pe_info);
+ *tbp = '\0';
! memset(slots, '\0', 7);
! for (tbp = tbuff; *tbp; tbp++) {
! switch (*tbp) {
! case 'n': /* normal */
! memset(slots, '\0', 6);
! slots[0] = *tbp;
! break;
! case 'f': /* flash */
! slots[1] = *tbp;
! break;
case 'h': /* hilite */
! slots[2] = *tbp;
break;
case 'i': /* inverse */
! slots[3] = *tbp;
break;
case 'u': /* underscore */
! slots[4] = *tbp;
! break;
! case 'b': /* blue fg */
! case 'c': /* cyan fg */
! case 'g': /* green fg */
! case 'm': /* magenta fg */
! case 'r': /* red fg */
! case 'w': /* white fg */
! case 'x': /* black fg */
! case 'y': /* yellow fg */
! slots[5] = *tbp;
! break;
! case 'B': /* blue bg */
! case 'C': /* cyan bg */
! case 'G': /* green bg */
! case 'M': /* magenta bg */
! case 'R': /* red bg */
! case 'W': /* white bg */
! case 'X': /* black bg */
! case 'Y': /* yellow bg */
! slots[6] = *tbp;
break;
+ }
+ }
+
+ for (j = 0; j < 7; j++) {
+ switch (slots[j]) {
case 'n': /* normal */
! safe_str(ANSI_NORMAL, buff, bp);
! break;
! case 'f': /* flash */
! safe_str(ANSI_BLINK, buff, bp);
! break;
! case 'h': /* hilite */
! safe_str(ANSI_HILITE, buff, bp);
! break;
! case 'i': /* inverse */
! safe_str(ANSI_INVERSE, buff, bp);
! break;
! case 'u': /* underscore */
! safe_str(ANSI_UNDERSCORE, buff, bp);
break;
case 'x': /* black fg */
! safe_str(ANSI_BLACK, buff, bp);
break;
case 'r': /* red fg */
! safe_str(ANSI_RED, buff, bp);
break;
case 'g': /* green fg */
! safe_str(ANSI_GREEN, buff, bp);
break;
case 'y': /* yellow fg */
! safe_str(ANSI_YELLOW, buff, bp);
break;
case 'b': /* blue fg */
! safe_str(ANSI_BLUE, buff, bp);
break;
case 'm': /* magenta fg */
! safe_str(ANSI_MAGENTA, buff, bp);
break;
case 'c': /* cyan fg */
! safe_str(ANSI_CYAN, buff, bp);
break;
case 'w': /* white fg */
! safe_str(ANSI_WHITE, buff, bp);
break;
case 'X': /* black bg */
! safe_str(ANSI_BBLACK, buff, bp);
break;
case 'R': /* red bg */
! safe_str(ANSI_BRED, buff, bp);
break;
case 'G': /* green bg */
! safe_str(ANSI_BGREEN, buff, bp);
break;
case 'Y': /* yellow bg */
! safe_str(ANSI_BYELLOW, buff, bp);
break;
case 'B': /* blue bg */
! safe_str(ANSI_BBLUE, buff, bp);
break;
case 'M': /* magenta bg */
! safe_str(ANSI_BMAGENTA, buff, bp);
break;
case 'C': /* cyan bg */
! safe_str(ANSI_BCYAN, buff, bp);
break;
case 'W': /* white bg */
! safe_str(ANSI_BWHITE, buff, bp);
break;
}
}
! arg1 = args[1];
process_expression(buff, bp, &arg1, executor, caller, enactor,
PE_DEFAULT, PT_DEFAULT, pe_info);
safe_str(ANSI_NORMAL, buff, bp);
}
/* ARGSUSED */
*** 1_7_4.32/src/funmath.c Wed, 28 Feb 2001 13:26:42 -0600 dunemush (pennmush/c/15_funmath.c 1.38 660)
--- 1_7_4.46(w)/src/funmath.c Tue, 20 Mar 2001 12:20:40 -0600 dunemush (pennmush/c/15_funmath.c 1.39 660)
***************
*** 1881,1887 ****
#endif
{
const NVAL *x = a, *y = b;
! const double epsilon = pow(10, FLOAT_PRECISION);
int eq = (fabs(*x - *y) <= (epsilon * fabs(*x)));
return eq ? 0 : (*x > *y ? 1 : -1);
}
--- 1881,1887 ----
#endif
{
const NVAL *x = a, *y = b;
! const double epsilon = pow(10, -FLOAT_PRECISION);
int eq = (fabs(*x - *y) <= (epsilon * fabs(*x)));
return eq ? 0 : (*x > *y ? 1 : -1);
}
*** 1_7_4.32/hdrs/version.h Wed, 07 Mar 2001 09:12:05 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2 660)
--- 1_7_4.46(w)/hdrs/version.h Fri, 16 Mar 2001 17:17:35 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.2 660)
***************
*** 1,2 ****
! #define VERSION "PennMUSH version 1.7.4 patchlevel 0 [03/07/2001]"
! #define SHORTVN "PennMUSH 1.7.4p0"
--- 1,2 ----
! #define VERSION "PennMUSH version 1.7.4 patchlevel 1 [03/17/2001]"
! #define SHORTVN "PennMUSH 1.7.4p1"
*** 1_7_4.32/hdrs/getpgsiz.h Mon, 24 Jul 2000 10:53:54 -0500 dunemush (pennmush/d/11_getpgsiz.h 1.2 660)
--- 1_7_4.46(w)/hdrs/getpgsiz.h Wed, 14 Mar 2001 11:38:11 -0600 dunemush (pennmush/d/11_getpgsiz.h 1.3 660)
***************
*** 26,32 ****
--- 26,36 ----
#ifdef NBPC
#define getpagesize() NBPC
#else /* no NBPC either? Bummer */
+ #ifdef PAGESIZE
#define getpagesize() PAGESIZE
+ #else /* Sigh. Time for a total guess. */
+ #define getpagesize() 1024
+ #endif /* no PAGESIZE */
#endif /* no NBPC */
#endif /* no NBPG */
#endif /* no EXEC_PAGESIZE */
*** 1_7_4.32/Configure Thu, 01 Feb 2001 14:47:02 -0600 dunemush (pennmush/d/32_Configure 1.21 710)
--- 1_7_4.46(w)/Configure Wed, 14 Mar 2001 14:34:33 -0600 dunemush (pennmush/d/32_Configure 1.21.1.2 710)
***************
*** 269,274 ****
--- 269,275 ----
cryptlib=''
d_crypt=''
i_crypt=''
+ d_force_ipv4=''
d_fpsetmask=''
d_fpsetround=''
i_floatingpoint=''
***************
*** 3850,3855 ****
--- 3851,3860 ----
set crypt.h i_crypt
eval $inhdr
+ : Do nothing by default
+ val="$undef"
+ set d_force_ipv4; eval $setvar
+
echo " "
: see if floatingpoint.h can be included
set floatingpoint.h i_floatingpoint
***************
*** 6328,6336 ****
done
: offer to join the mailing list
! list_request='listproc@pennmush.org'
! list_sub="subscribe pennmush $cf_email"
! list_unsub="unsubscribe pennmush $cf_email"
list_name="pennmush"
$cat <<EOM
--- 6333,6341 ----
done
: offer to join the mailing list
! list_request='pennmush-request@pennmush.org'
! list_sub="subscribe"
! list_unsub="unsubscribe"
list_name="pennmush"
$cat <<EOM
***************
*** 6530,6535 ****
--- 6535,6541 ----
d_const='$d_const'
d_crypt='$d_crypt'
d_eunice='$d_eunice'
+ d_force_ipv4='$d_force_ipv4'
d_fpsetmask='$d_fpsetmask'
d_fpsetround='$d_fpsetround'
d_gaistr='$d_gaistr'
*** 1_7_4.32/src/pcre.c Sun, 25 Feb 2001 13:37:15 -0600 dunemush (pennmush/d/36_pcre.c 1.4.1.3.1.3.1.1 660)
--- 1_7_4.46(w)/src/pcre.c Tue, 13 Mar 2001 11:50:05 -0600 dunemush (pennmush/d/36_pcre.c 1.4.1.3.1.3.1.1.1.1 660)
***************
*** 5081,5104 ****
const char *subject, int length, int start_offset, int options,
int *offsets, int offsetcount)
{
- int resetcount, ocount;
- int first_char = -1;
- int req_char = -1;
- int req_char2 = -1;
- unsigned long int ims = 0;
volatile match_data match_block;
- const uschar *start_bits = NULL;
- const uschar *start_match = (const uschar *) subject + start_offset;
- const uschar *end_subject;
- const uschar *req_char_ptr = start_match - 1;
- const real_pcre *re = (const real_pcre *) external_re;
- const real_pcre_extra *extra = (const real_pcre_extra *) external_extra;
volatile BOOL using_temporary_offsets = FALSE;
- BOOL anchored = ((re->options | options) & PCRE_ANCHORED) != 0;
- BOOL startline = (re->options & PCRE_STARTLINE) != 0;
#ifdef BACKTRACK_LIMIT
- /* This makes gcc throw a lot of errors that can be ignored */
backtrack_count = 0;
if (setjmp(backtrack_jmp)) {
/* Too much backtracking! */
--- 5081,5090 ----
***************
*** 5107,5115 ****
free(match_block.offset_vector);
}
return PCRE_ERROR_BACKTRACKING;
! }
#endif
!
if ((options & ~PUBLIC_EXEC_OPTIONS) != 0)
return PCRE_ERROR_BADOPTION;
--- 5093,5114 ----
free(match_block.offset_vector);
}
return PCRE_ERROR_BACKTRACKING;
! } else
#endif
! {
! int resetcount, ocount;
! int first_char = -1;
! int req_char = -1;
! int req_char2 = -1;
! unsigned long int ims = 0;
! const uschar *start_bits = NULL;
! const uschar *start_match = (const uschar *) subject + start_offset;
! const uschar *end_subject;
! const uschar *req_char_ptr = start_match - 1;
! const real_pcre *re = (const real_pcre *) external_re;
! const real_pcre_extra *extra = (const real_pcre_extra *) external_extra;
! BOOL anchored = ((re->options | options) & PCRE_ANCHORED) != 0;
! BOOL startline = (re->options & PCRE_STARTLINE) != 0;
if ((options & ~PUBLIC_EXEC_OPTIONS) != 0)
return PCRE_ERROR_BADOPTION;
***************
*** 5370,5375 ****
--- 5369,5376 ----
}
DPRINTF((">>>> returning %d\n", match_block.errorcode));
+
+ }
return match_block.errorcode;
}
*** 1_7_4.32/game/restrict.cnf Fri, 19 Jan 2001 09:27:13 -0600 dunemush (pennmush/e/43_restrict.c 1.2.1.1.1.1 600)
--- 1_7_4.46(w)/game/restrict.cnf Wed, 21 Mar 2001 14:03:00 -0600 dunemush (pennmush/e/43_restrict.c 1.2.1.1.1.1.1.1 600)
***************
*** 34,42 ****
restrict_command @lock noguest
restrict_command @unlock noguest
- # Don't let players rob each other
- restrict_command rob nobody
-
# Don't allow kill (slay still works)
#restrict_command kill nobody
--- 34,39 ----
***************
*** 48,51 ****
#restrict_function wipe nobody
#restrict_function create nobody
#restrict_function clone nobody
! #restrict_function tel nobody
--- 45,49 ----
#restrict_function wipe nobody
#restrict_function create nobody
#restrict_function clone nobody
! #restrict_function tel nobody
!
*** 1_7_4.32/src/mysocket.c Sun, 04 Mar 2001 18:27:45 -0600 dunemush (pennmush/f/0_mysocket.c 1.16.1.1.1.1 660)
--- 1_7_4.46(w)/src/mysocket.c Wed, 14 Mar 2001 11:46:29 -0600 dunemush (pennmush/f/0_mysocket.c 1.16.1.1.1.1.1.1 660)
***************
*** 167,183 ****
hints.ai_family = AF_UNSPEC; /* Try to use IPv6 if available */
hints.ai_socktype = SOCK_STREAM;
! sprintf(cport, "%d", port);
if ((res = getaddrinfo(host, cport, &hints, &server)) != 0) {
fprintf(stderr, "In getaddrinfo: %s\n", gai_strerror(res));
! fprintf(stderr, "Host: %s Port %d\n", host, port);
fflush(stderr);
return -1;
}
if (!server) {
! fprintf(stderr, "Couldn't get address for host %s port %d\n", host, port);
fflush(stderr);
return -1;
}
--- 167,183 ----
hints.ai_family = AF_UNSPEC; /* Try to use IPv6 if available */
hints.ai_socktype = SOCK_STREAM;
! sprintf(cport, "%hu", port);
if ((res = getaddrinfo(host, cport, &hints, &server)) != 0) {
fprintf(stderr, "In getaddrinfo: %s\n", gai_strerror(res));
! fprintf(stderr, "Host: %s Port %hu\n", host, port);
fflush(stderr);
return -1;
}
if (!server) {
! fprintf(stderr, "Couldn't get address for host %s port %hu\n", host, port);
fflush(stderr);
return -1;
}
***************
*** 216,222 ****
*/
if (server == NULL && port != IDPORT) {
#endif
! fprintf(stderr, "Couldn't connect to %s on port %d\n", host, port);
fflush(stderr);
return -1;
}
--- 216,222 ----
*/
if (server == NULL && port != IDPORT) {
#endif
! fprintf(stderr, "Couldn't connect to %s on port %hu\n", host, port);
fflush(stderr);
return -1;
}
***************
*** 252,275 ****
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_flags = AI_PASSIVE;
hints.ai_family = AF_UNSPEC; /* Try to use IPv6 if available */
hints.ai_socktype = SOCK_STREAM;
! sprintf(cport, "%d", port);
if (strlen(host) == 0)
host = NULL;
if ((res = getaddrinfo(host, cport, &hints, &server)) != 0) {
fprintf(stderr, "In getaddrinfo: %s\n", gai_strerror(res));
! fprintf(stderr, "Host: %s Port %d\n", host, port);
exit(3);
}
save = server;
if (!server) {
! fprintf(stderr, "Couldn't get address for host %s port %d\n", host, port);
exit(3);
}
--- 252,280 ----
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_flags = AI_PASSIVE;
+ #ifdef FORCE_IPV4
+ hints.ai_family = AF_INET; /* OpenBSD apparently doesn't properly
+ map IPv4 connections to IPv6 servers. */
+ #else
hints.ai_family = AF_UNSPEC; /* Try to use IPv6 if available */
+ #endif
hints.ai_socktype = SOCK_STREAM;
! sprintf(cport, "%hu", port);
if (strlen(host) == 0)
host = NULL;
if ((res = getaddrinfo(host, cport, &hints, &server)) != 0) {
fprintf(stderr, "In getaddrinfo: %s\n", gai_strerror(res));
! fprintf(stderr, "Host: %s Port %hu\n", host, port);
exit(3);
}
save = server;
if (!server) {
! fprintf(stderr, "Couldn't get address for host %s port %hu\n", host, port);
exit(3);
}