PennMUSH Community

Changeset 519

Show
Ignore:
Timestamp:
08/16/06 02:58:08 (2 years ago)
Author:
pennmush
Message:

PennMUSH 1.8.1p4 Archival

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.8.1/CHANGES.180

    r517 r519  
    1212 
    1313========================================================================== 
     14 
     15Version 1.8.0 patchlevel 9                      December 12, 2005 
     16 
     17Fixes: 
     18  * On amd64 systems running FreeBSD (and possibly others), connections 
     19    could break after about 32 connections. Report by nails@M*U*S*H. 
     20  * The CONF and CONFGROUP structures are renamed PENNCONF and 
     21    PENNCONFGROUP to work around brokenness in Debian's openssl0.9.8 
     22    package. 
     23 
    1424 
    1525Version 1.8.0 patchlevel 8                      September 15, 2005 
  • 1.8.1/CHANGES.181

    r517 r519  
    1313 
    1414========================================================================== 
     15 
     16Version 1.8.1 patchlevel 4                      December 6, 2005 
     17 
     18Major Changes: 
     19  * Errors in matching switches to commands are ignored when the 
     20    command is hook/ignored or hook/overriden, so you can override 
     21    a built-in command and provide your own switches. Suggested by 
     22    Trinsec@M*U*S*H. 
     23Mail: 
     24  * @mailfilter attribute causes incoming mail to be be automatically 
     25    filed to a folder if it evaluates to a folder name/number. 
     26    Patch by Sketch@M*U*S*H. 
     27Commands: 
     28  * @prompt/@nsprompt work like @pemit/list, but add a telnet GOAHEAD 
     29    at the end of the message when emitting to players; players whose 
     30    clients handle GOAHEAD (e.g. tf) will get the message displayed 
     31    as a prompt in the input window. Suggested by Trinsec@M*U*S*H. 
     32  * The PROMPT_NEWLINES socket command can be used to add a newline 
     33    after the GOAHEAD in a prompt, for clients that mix up prompt 
     34    lines with other output. 
     35Functions: 
     36  * namegrab() and namegraball(). Patch by Walker@M*U*S*H. 
     37  * prompt() and nsprompt() (the function equivalents of @prompt/@nsprompt). 
     38  * textentries(). Suggested by Trinsec@M*U*S*H. 
     39  * cdesc(), cusers(), cmsgs(), cbuffer(), cstatus(), clflags()  
     40    functions. Suggested by d'Ark@M*U*S*H. 
     41  * numversion() returns Penn version as an integer (1008001004)  
     42    for softcode use. 
     43Minor changes: 
     44  * @chan/list works better for people who increase CHAN_NAME_LEN. 
     45    Suggested by Trinsec@M*U*S*H. 
     46  * Help fixes by Trinsec@M*U*S*H, Chili@M*U*S*H. 
     47  * Several powers (tport_anything, tport_anywhere, no_money, no_quota, 
     48    debit, sql_ok) are now aliased to TinyMUSH/TinyMUX equivalents 
     49    as well, for better code portability. [3,MUX] 
     50Fixes: 
     51  * center() behaves better when given a fourth argument but 
     52    not a third one. Also fixes to cases where the right fill 
     53    string is one longer than the left. Report by Ian@M*U*S*H 
     54  * Fixes from 1.8.0p9. 
     55 
    1556 
    1657Version 1.8.1 patchlevel 3                      September 15, 2005 
  • 1.8.1/MANIFEST

    r511 r519  
    100100src/mycrypt.c 
    101101src/mymalloc.c 
     102src/myrlimit.c 
    102103src/mysocket.c 
    103104src/myssl.c 
  • 1.8.1/Makefile.SH

    r479 r519  
    130130    "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" ) 
    131131 
     132ssl_slave: 
     133    (cd src; make ssl_slave "CC=$(CC)" "CCFLAGS=$(CCFLAGS)" \ 
     134    "LDFLAGS=$(LDFLAGS)" "CLIBS=$(CLIBS)" "MAKE=$(MAKE)" \ 
     135    "MAKEFLAGS=$(MAKEFLAGS)") 
     136 
    132137versions: CHANGES* 
    133138    -@rm -rf CHANGES*~ CHANGES*bak 
  • 1.8.1/Patchlevel

    r517 r519  
    11Do not edit this file. It is maintained by the official PennMUSH patches. 
    2 This is PennMUSH 1.8.1p3 
     2This is PennMUSH 1.8.1p4 
  • 1.8.1/game/txt/hlp/pennattr.hlp

    r469 r519  
    11& ATTRIBUTE TREES 
    22& ATTR TREES 
     3& ATTRIB TREES 
     4& ` 
    35Attributes can be arranged in a hierarchical tree; these are called 
    46"attribute trees", and a conceptually similar to the way that 
     
    2628& ATTRIBUTE TREES2 
    2729& ATTR TREES2 
     30& ATTRIB TREES2 
     31& `2 
     32Attributes can be arranged in a hierarchical tree; these are called 
    2833Attribute trees provide two immediate benefits. First, they reduce 
    2934spam when examining objects. The usual * and ? wildcards for attributes 
     
    4752& ATTRIBUTE TREES3 
    4853& ATTR TREES3 
     54& ATTRIB TREES3 
     55& `3 
    4956The second benefit of attributes trees is convenient access control. 
    5057Attribute flags that restrict attribute access or execution 
     
    7178& ATTRIBUTE TREES4 
    7279& ATTR TREES4 
     80& ATTRIB TREES4 
     81& `4 
    7382Attribute trees interact with @parent in several ways. 
    7483 
  • 1.8.1/game/txt/hlp/pennchat.hlp

    r511 r519  
    246246  ctitle(<channel>,<object>) 
    247247 
    248   Returns <objects> @chan/title on <channel>. You must either 
     248  Returns <object>'s @chan/title on <channel>. You must either 
    249249  be able to examine the object, or it must visible be on a channel 
    250250  which you are allowed to join. 
     251& CSTATUS() 
     252  cstatus(<channel>,<object>) 
     253 
     254  Returns <object>'s status with respect to <channel>, which may be 
     255  "Off", "On", or "Gag". You must either be able to examine the object, 
     256  or it must visible be on the channel; "Off" is returned for 
     257  objects that you can not see on the channel. 
     258& CDESC() 
     259& CUSERS() 
     260& CMSGS() 
     261& CBUFFER() 
     262  cdesc(<channel>) 
     263  cusers(<channel>) 
     264  cmsgs(<channel>) 
     265  cbuffer(<channel>) 
     266 
     267  Return the description, number of users, number of messages, 
     268  or buffer size of <channel>, respectively. This information is 
     269  also displayed in @chan/list. 
    251270& CWHO() 
    252271  cwho(<channel>) 
     
    265284  cflags(<channel>) 
    266285  cflags(<channel>,<object>) 
     286  clflags(<channel>) 
     287  clflags(<channel>,<object>) 
    267288 
    268289  With one argument, cflags() returns a list of flags set on the 
     
    278299  to use this function. If the object is not on the channel, an 
    279300  error is returned. 
     301 
     302  The clflags versions return a space-separated list of flag names, 
     303  rather than a string of flag characters. 
    280304& CHANNELS() 
    281305  channels([<delimiter>]) 
     
    309333  Channel functions work with the channel system. 
    310334 
    311   cemit()       cflags()      channels()    clock()      cowner()        
    312   ctitle()      cwho() 
     335  cbuffer()     cdesc()       cemit()       cflags()      channels()     
     336  clflags()     clock()       cmsgs()       cowner()      cstatus()      
     337  ctitle()      cusers()      cwho() 
  • 1.8.1/game/txt/hlp/penncmd.hlp

    r515 r519  
    5858  @halt          @lemit         @listmotd      @mail          @map 
    5959  @notify        @nsemit        @nslemit       @nsoemit       @nspemit 
    60   @nsremit       @nszemit       @oemit         @password      @pemit 
    61   @ps            @remit         @restart       @scan          @search 
    62   @select        @stats         @sweep         @switch        @teleport 
    63   @trigger       @verb          @version       @wait          @whereis 
    64   @zemit 
     60  @nsprompt      @nsremit       @nszemit       @oemit         @password       
     61  @pemit         @prompt        @ps            @remit         @restart        
     62  @scan          @search        @select        @stats         @sweep          
     63  @switch        @teleport      @trigger       @verb          @version        
     64  @wait          @whereis       @zemit 
    6565 
    6666& @-WIZARD 
     
    22812281& @nszemit 
    22822282& @nsoemit 
     2283& @nsprompt 
    22832284  @nsemit[/<switch>] [<message>] 
    22842285  @nslemit[/<switch>] <message> 
    22852286  @nspemit[/switches] <object>=<message> 
     2287  @nsprompt[/switches] <object>=<message> 
    22862288  @nsremit[/switches] <object> = <message>. 
    22872289  @nsoemit[/<switch>] [<room>/]<object> [<object>...] = <message> 
    22882290  @nszemit <zone> = <message> 
    22892291 
    2290   These wizard-only commands work like @emit, @lemit, @pemit, @remit, 
     2292  These wizard-only commands work like @emit, @lemit, @pemit, @prompt, @remit, 
    22912293  @oemit, and @zemit, respectively, but will not include nospoof information. 
    22922294  They are meant to be used by commands in the master room where the 
     
    22942296  of their respective commands. 
    22952297 
    2296 See also: @emit, @lemit, @pemit, @remit, @oemit, @zemit, nsemit(), nslemit(), 
    2297           nspemit(), nsremit(), nsoemit(), nszemit() 
     2298See also: @emit, @lemit, @pemit, @prompt, @remit, @oemit, @zemit,  
     2299          nsemit(), nslemit(), nspemit(), nsprompt(), nsremit(), nsoemit(),  
     2300          nszemit(), PROMPT_NEWLINES 
    22982301& @odeath 
    22992302  @odeath <player> [=<message>] 
     
    26312634  This wizard-only command creates a player with the given name and 
    26322635  password. 
     2636& @prompt 
     2637  @prompt[/<switch>] <dbref list> = <message> 
     2638 
     2639  A variation of @pemit/list that adds a telnet GOAHEAD control code 
     2640  to the end of messages sent to players. Players with clients 
     2641  that handle GOAHEAD may get the message as a prompt in their 
     2642  client's input area. 
     2643 
     2644  @prompt supports the following @pemit switches: /silent, /noisy, 
     2645  /spoof, /noeval 
     2646 
     2647  See also: @pemit, @nsprompt, prompt(), nsprompt(), PROMPT_NEWLINES 
     2648& PROMPT_NEWLINES 
     2649  PROMPT_NEWLINES <1|0> 
     2650 
     2651  This socket-level command is used to indicate whether a newline should 
     2652  be sent after the telnet GOAHEAD code issued by @prompt/prompt() 
     2653  to telnet-capable clients.  By default, in order to maximize 
     2654  portability, newlines are sent. 
     2655 
     2656  Some clients, like TinyFugue, are smart enough to interpret GOAHEAD and 
     2657  treat prompts specially by putting them into their input window. These 
     2658  clients do not require the newline, and sending the newline results in 
     2659  a blank line in their output window. The 'PROMPT_NEWLINES 0' command 
     2660  can be used to disable the newline and is recommended for users with 
     2661  these clients. 
     2662 
     2663  See also: @prompt, prompt() 
    26332664& @pemit 
    26342665  @pemit[/<switch>] <object> = <message> 
  • 1.8.1/game/txt/hlp/pennfunc.hlp

    r515 r519  
    101101 
    102102  cemit()       emit()        lemit()       nsemit()      nslemit() 
    103   nsoemit()     nspemit()     nsremit()     nszemit()     oemit() 
    104   pemit()       remit()       zemit()  
     103  nsoemit()     nspemit()     nsprompt()    nsremit()     nszemit()      
     104  oemit()       pemit()       prompt()      remit()       zemit()  
    105105& Connection functions 
    106106  Connection functions return information about the connections open  
     
    145145  graball()     index()       insert()      itemize()     items() 
    146146  iter()        last()        ldelete()     map()         match() 
    147   matchall()    member()      mix()         munge()       remove() 
    148   replace()     rest()        revwords()    setdiff()     setinter() 
    149   setunion()    shuffle()     sort()        sortby()      sortkey() 
    150   splice()      step()        table()       wordpos()     words() 
     147  matchall()    member()      mix()         munge()       namegrab() 
     148  namegraball() remove()      replace()     rest()        revwords()     
     149  setdiff()     setinter()    setunion()    shuffle()     sort()         
     150  sortby()      sortkey()     splice()      step()        table()        
     151  wordpos()     words() 
    151152     
    152153  See also: LISTS 
     
    222223  null()        objeval()     open()        pcreate()     r-function 
    223224  rand()        s-function    scan()        set()         setq() 
    224   setr()        soundex()     soundslike()  tel()         textfile() 
    225   valid()       wipe()        @@() 
     225  setr()        soundex()     soundslike()  tel()         textentries() 
     226  textfile()    valid()       wipe()        @@() 
    226227 
    227228& @@() 
     
    25902591 
    25912592  Related functions: FULLNAME(), ACCNAME(), INAME()  
     2593& NAMEGRAB() 
     2594& NAMEGRABALL() 
     2595  namegrab(<dbref list>,<name>) 
     2596  namegraball(<dbref list>,<name>) 
     2597 
     2598  The namegrab() function, when given a list of dbrefs and a name, returns 
     2599  the first dbref in the list that would match <name> as if you were 
     2600  checking num() or locate(). An exact match has priority over non-exact matches. 
     2601 
     2602  namegraball() returns all dbrefs whose names would be matched by<name>. 
     2603 
     2604  eg: @@(#0: Room Zero. #1: One. #2: Master Room) 
     2605    > th namegrab(#0 #1 #2,room) 
     2606    #0 
     2607    > th namegrab(#0 #1 #2,master room) 
     2608    #2 
     2609    > th namegraball(#0 #1 #2,room) 
     2610    #0 #2 
    25922611& NAND() 
    25932612  nand(<boolean>, <boolean>,...) 
     
    28182837& PEMIT() 
    28192838& NSPEMIT() 
     2839& PROMPT() 
     2840& NSPROMPT() 
    28202841  pemit(<object list>,<message>) 
    28212842  nspemit(<object list>,<message>) 
    2822  
    2823   This function will send each object on the list a message, as per 
     2843  prompt(<object list>,<message>) 
     2844  nsprompt(<object list>,<message>) 
     2845 
     2846  pemit() will send each object on the list a message, as per 
    28242847  the @pemit/list command. It returns nothing. It respects page-locks and 
    28252848  HAVEN flags on players. 
    28262849 
    28272850  nspemit() is a wizard-only variation that works like @nspemit/list. 
    2828    
     2851 
     2852  prompt() adds a telnet GOAHEAD to the end of the message, as per 
     2853  the @prompt command. nsprompt() is a wizard-only variation that 
     2854  works like @nsprompt. 
     2855  
     2856  See also: @prompt, @nsprompt, PROMPT_NEWLINES  
    28292857& PI() 
    28302858  pi() 
     
    36323660  See also: mean(), median() 
    36333661& STRCAT() 
    3634   strcat(<string1>, <string2>
     3662  strcat(<string1>, <string2> [, <string3> ...]
    36353663  
    36363664  Concatenates two strings together, with no space between them. 
     
    38323860  other players is restricted to see_all objects.   
    38333861& TEXTFILE() 
     3862& TEXTENTRIES() 
    38343863& dynhelp() 
    38353864  textfile(<type>,<entry>) 
     3865  textentries(<type>,<entry>[,<separator>]) 
    38363866 
    38373867  textfile() returns the text of entries from cached text files (such as 
     
    38393869  so you may want to edit %r's and squish the result if you plan to use 
    38403870  the text as a list of words rather than a display. 
     3871 
     3872  textentries() returns the topic names of matching entries. <entry> 
     3873  may include wildcards, in which case a list of matching topic names 
     3874  will be return, separated by the <separator> string if one is 
     3875  provided, and space-separated otherwise. 
    38413876 
    38423877  Examples:  
     
    39884023  See also: MERGE() 
    39894024& TRIM() 
     4025& TRIMPENN() 
     4026& TRIMTINY() 
    39904027  trim(<string>[,<character to trim>][,<trim style>]) 
    39914028  trimpenn(<string>[,<character to trim>][,<trim style>]) 
     
    42424279 
    42434280& VERSION() 
    4244   Function: version() 
    4245   
    4246   Returns a string which contains various version information for the MUSH 
    4247   you're on. 
     4281& NUMVERSION() 
     4282  version() 
     4283  numversion() 
     4284  
     4285  version() returns a string which contains various version information  
     4286  for the MUSH you're on. numversion() returns an integer representation 
     4287  of the version/patchlevel which can be used for softcode comparison. 
    42484288  
    42494289  Example: 
    42504290     > say version() 
    4251      You say "PennMUSH version 1.6.0 patchlevel 0 [1/10/96]" 
     4291     You say "PennMUSH version 1.8.1 patchlevel 4 [12/06/2005]" 
     4292     > say numversion() 
     4293     You say "1008001004" 
    42524294 
    42534295& VISIBLE() 
  • 1.8.1/game/txt/hlp/pennmail.hlp

    r511 r519  
    115115        This command moves all messages in msg-list from the current 
    116116        folder to a new folder, <folder#>. 
     117 
     118  See also: @mailfilter 
     119& @mailfilter 
     120& mailfilter 
     121  The @mailfilter attribute specifies automatic filing of incoming 
     122  @mail messages into folders. When an @mail message is received, 
     123  the contents of @mailfilter are evaluated, with the following  
     124  arguments passed: 
     125     %0     dbref of message sender 
     126     %1     message subject 
     127     %2     message body 
     128     %3     message status flags (a string containing U, F, and/or R, 
     129            for urgent, forwarded, and/or reply, respectively) 
     130 
     131  If @mailfilter evaluates to a folder name or number, the message 
     132  will be filed into that folder. If @mailfilter evaluates to a null 
     133  string, the message remains in the incoming folder. 
     134 
     135  Example: Filter urgent messages into folder 1 
     136  > @mailfilter me=if(strmatch(%3,*U*),1) 
     137 
     138  See also: mail-folders 
    117139& mail-admin 
    118140   
     
    315337  pass their @lock/mailforward. An empty @lock/mailforward disallows 
    316338  forwarding to you, and is the default. 
    317    
  • 1.8.1/game/txt/hlp/pennv180.hlp

    r517 r519  
     1& 1.8.0p9 
     2Version 1.8.0 patchlevel 9                      December 12, 2005 
     3 
     4Fixes: 
     5  * On amd64 systems running FreeBSD (and possibly others), connections 
     6    could break after about 32 connections. Report by nails@M*U*S*H. 
     7  * The CONF and CONFGROUP structures are renamed PENNCONF and 
     8    PENNCONFGROUP to work around brokenness in Debian's openssl0.9.8 
     9    package. 
     10 
     11 
    112& 1.8.0p8 
    213Version 1.8.0 patchlevel 8                      September 15, 2005 
  • 1.8.1/game/txt/hlp/pennv181.hlp

    r517 r519  
    1 & 1.8.1p3 
     1& 1.8.1p4 
    22& changes 
    33This is a list of changes in this patchlevel which are probably of 
     
    1212be read in 'help patchlevels'. 
    1313 
     14Version 1.8.1 patchlevel 4                      December 6, 2005 
     15 
     16Major Changes: 
     17  * Errors in matching switches to commands are ignored when the 
     18    command is hook/ignored or hook/overriden, so you can override 
     19    a built-in command and provide your own switches. Suggested by 
     20    Trinsec@M*U*S*H. 
     21Mail: 
     22  * @mailfilter attribute causes incoming mail to be be automatically 
     23    filed to a folder if it evaluates to a folder name/number. 
     24    Patch by Sketch@M*U*S*H. 
     25Commands: 
     26  * @prompt/@nsprompt work like @pemit/list, but add a telnet GOAHEAD 
     27    at the end of the message when emitting to players; players whose 
     28    clients handle GOAHEAD (e.g. tf) will get the message displayed 
     29    as a prompt in the input window. Suggested by Trinsec@M*U*S*H. 
     30  * The PROMPT_NEWLINES socket command can be used to add a newline 
     31    after the GOAHEAD in a prompt, for clients that mix up prompt 
     32    lines with other output. 
     33Functions: 
     34  * namegrab() and namegraball(). Patch by Walker@M*U*S*H. 
     35  * prompt() and nsprompt() (the function equivalents of @prompt/@nsprompt). 
     36  * textentries(). Suggested by Trinsec@M*U*S*H. 
     37  * cdesc(), cusers(), cmsgs(), cbuffer(), cstatus(), clflags()  
     38    functions. Suggested by d'Ark@M*U*S*H. 
     39  * numversion() returns Penn version as an integer (1008001004)  
     40    for softcode use. 
     41Minor changes: 
     42  * @chan/list works better for people who increase CHAN_NAME_LEN. 
     43    Suggested by Trinsec@M*U*S*H. 
     44  * Help fixes by Trinsec@M*U*S*H, Chili@M*U*S*H. 
     45  * Several powers (tport_anything, tport_anywhere, no_money, no_quota, 
     46    debit, sql_ok) are now aliased to TinyMUSH/TinyMUX equivalents 
     47    as well, for better code portability. [3,MUX] 
     48Fixes: 
     49  * center() behaves better when given a fourth argument but 
     50    not a third one. Also fixes to cases where the right fill 
     51    string is one longer than the left. Report by Ian@M*U*S*H 
     52  * Fixes from 1.8.0p9. 
     53 
     54 
     55& 1.8.1p3 
    1456Version 1.8.1 patchlevel 3                      September 15, 2005 
    1557 
  • 1.8.1/game/txt/hlp/pennvOLD.hlp

    r517 r519  
    44184418type 'help <version>p<patchlevel>'. For example, 'help 1.7.2p3' 
    44194419 
    4420 1.8.1: 0, 1, 2, 3 
    4421 1.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8 
     44201.8.1: 0, 1, 2, 3, 4 
     44211.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 
    442244221.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    44234423       19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 
  • 1.8.1/hdrs/atr_tab.h

    r511 r519  
    105105  {"MAILFILTERS", AF_WIZARD | AF_NOPROG | AF_LOCKED | AF_PREFIXMATCH, 
    106106   NULL_CHUNK_REFERENCE, 0, NULL}, 
     107  {"MAILFILTER", AF_NOPROG | AF_PREFIXMATCH, NULL_CHUNK_REFERENCE, 0, NULL}, 
    107108  {"MAILFOLDERS", AF_WIZARD | AF_NOPROG | AF_LOCKED | AF_PREFIXMATCH, 
    108109   NULL_CHUNK_REFERENCE, 0, NULL}, 
  • 1.8.1/hdrs/conf.h

    r511 r519  
    9494  int overridden;       /**< Has the default been overridden? */ 
    9595  const char *group;        /**< The option's group name */ 
    96 } CONF; 
     96} PENNCONF; 
    9797 
    9898/** Runtime configuration options. 
     
    277277extern HASHTAB local_options; 
    278278 
    279 extern CONF *add_config(const char *name, config_func handler, void *loc, 
    280             int max, const char *group); 
    281 extern CONF *new_config(void); 
    282 extern CONF *get_config(const char *name); 
     279extern PENNCONF *add_config(const char *name, config_func handler, void *loc, 
     280                int max, const char *group); 
     281extern PENNCONF *new_config(void); 
     282extern PENNCONF *get_config(const char *name); 
    283283 
    284284int cf_bool(const char *opt, const char *val, void *loc, int maxval, 
  • 1.8.1/hdrs/externs.h

    r515 r519  
    125125#define NA_INTER_LOCK  0x10000  /**< Message subject to @lock/interact even if not otherwise marked */ 
    126126#define NA_INTERACTION  (NA_INTER_HEAR|NA_INTER_SEE|NA_INTER_PRESENCE|NA_INTER_LOCK)    /**< Message follows interaction rules */ 
     127#define NA_PROMPT       0x20000  /**< Message is a prompt, add GOAHEAD */ 
    127128 
    128129/** A notify_anything lookup function type definition */ 
     
    159160/** Basic 'notify player with message */ 
    160161#define notify(p,m)           notify_anything(orator, na_one, &(p), NULL, 0, m) 
     162/** Notify player as a prompt */ 
     163#define notify_prompt(p,m)           notify_anything(orator, na_one, &(p), NULL, NA_PROMPT, m) 
    161164/** Notify puppet with message, even if owner's there */ 
    162165#define notify_must_puppet(p,m)           notify_anything(orator, na_one, &(p), NULL, NA_MUST_PUPPET, m) 
     166/** Notify puppet with message as prompt, even if owner's there */ 
     167#define notify_prompt_must_puppet(p,m)           notify_anything(orator, na_one, &(p), NULL, NA_MUST_PUPPET|NA_PROMPT, m) 
    163168/** Notify player with message, as if from somethign specific */ 
    164169#define notify_by(t,p,m)           notify_anything(t, na_one, &(p), NULL, 0, m) 
  • 1.8.1/hdrs/extmail.h

    r469 r519  
    7676extern struct mail *find_exact_starting_point(dbref player); 
    7777extern void check_mail(dbref player, int folder, int silent); 
     78extern void check_all_mail(dbref player); 
    7879extern int dump_mail(FILE * fp); 
    7980extern int load_mail(FILE * fp); 
  • 1.8.1/hdrs/game.h

    r515 r519  
    137137#define PEMIT_LIST   0x2 
    138138#define PEMIT_SPOOF  0x4 
     139#define PEMIT_PROMPT 0x8 
    139140extern void do_emit(dbref player, const char *tbuf1, int flags); 
    140141extern void do_pemit 
  • 1.8.1/hdrs/mushtype.h

    r511 r519  
    7979 
    8080/* Descriptor foo */ 
     81/** Using Pueblo, Smial, Mushclient, Simplemu, or some other 
     82 *  *  pueblo-style HTML aware client */ 
     83#define CONN_HTML 0x1 
     84/** Using a client that understands telnet options */ 
     85#define CONN_TELNET 0x2 
     86/** Send a telnet option to test client */ 
     87#define CONN_TELNET_QUERY 0x4 
     88/** Connection that should be close on load from reboot.db */ 
     89#define CONN_CLOSE_READY 0x8 
     90/** Validated connection from an SSL concentrator */ 
     91#define CONN_SSL_CONCENTRATOR 0x10 
     92/** Player would like to receive newlines after prompts, because 
     93 *  * their client mucks up output after a GOAHEAD */ 
     94#define CONN_PROMPT_NEWLINES 0x20 
     95/** Default connection, nothing special */ 
     96#define CONN_DEFAULT (CONN_PROMPT_NEWLINES) 
     97 
    8198#define DOING_LEN 40 
    8299/** Pueblo checksum length. 
  • 1.8.1/hdrs/myssl.h

    r433 r519  
    88#ifdef HAS_OPENSSL 
    99 
    10 SSL_CTX *ssl_init(void); 
     10SSL_CTX *ssl_init(char *private_key_file, char *ca_file, int req_client_cert); 
    1111SSL *ssl_setup_socket(int sock); 
    1212void ssl_close_connection(SSL * ssl); 
  • 1.8.1/hdrs/version.h

    r517 r519  
    11#define VERSION "1.8.1" 
    2 #define PATCHLEVEL "3
    3 #define PATCHDATE "[09/15/2005]" 
    4 #define NUMVERSION 1008001003 
     2#define PATCHLEVEL "4
     3#define PATCHDATE "[12/06/2005]" 
     4#define NUMVERSION 1008001004 
  • 1.8.1/src/Makefile.SH

    r477 r519  
    6666    funufun.c game.c help.c htab.c ident.c local.c lock.c log.c look.c \ 
    6767    malias.c match.c memcheck.c move.c mycrypt.c mymalloc.c mysocket.c \ 
    68     myssl.c notify.c parse.c pcre.c player.c plyrlist.c \ 
     68    myrlimit.c myssl.c notify.c parse.c pcre.c player.c plyrlist.c \ 
    6969    predicat.c privtab.c \ 
    7070    ptab.c rob.c services.c set.c shs.c sig.c speech.c sql.c \ 
     
    9494    funufun.o game.o help.o htab.o ident.o local.o lock.o log.o look.o \ 
    9595    malias.o match.o memcheck.o move.o mycrypt.o mymalloc.o mysocket.o \ 
    96     myssl.o notify.o parse.o pcre.o player.o plyrlist.o \ 
     96    myrlimit.o myssl.o notify.o parse.o pcre.o player.o plyrlist.o \ 
    9797    predicat.o privtab.o \ 
    9898    ptab.o rob.o services.o set.o shs.o sig.o speech.o sql.o \ 
     
    126126    $(CC) $(LDFLAGS) $(CCFLAGS) -DINFOSLAVE -o info_slave info_slave.o \ 
    127127    ident.o strdup.o sig.o mymalloc.o mysocket.c  $(LIBS) 
     128 
     129SSL_SLAVE_OBJS = strdup.o sig.o mymalloc.o mysocket.o myssl.o notify.o myrlimit.o strutil.o ident.o utils.o 
     130ssl_slave: ssl_slave.c $(SSL_SLAVE_OBJS) 
     131    @echo "Making ssl_slave." 
     132    $(CC) $(CCFLAGS) $(IDEFS) -c ssl_slave.c 
     133    $(CC) $(LDFLAGS) $(CCFLAGS) -o ssl_slave ssl_slave.o \ 
     134    $(SSL_SLAVE_OBJS) $(LIBS) 
    128135 
    129136# ../hdrs/buildinf.h contains build information used by version.c: 
     
    361368bsd.o: ../hdrs/extmail.h 
    362369bsd.o: ../hdrs/game.h 
     370bsd.o: ../hdrs/dbio.h 
    363371bufferq.o: ../hdrs/copyrite.h 
    364372bufferq.o: ../config.h 
     
    571579db.o: ../hdrs/mushtype.h 
    572580db.o: ../hdrs/htab.h 
     581db.o: ../hdrs/dbio.h 
    573582db.o: ../hdrs/externs.h 
    574583db.o: ../hdrs/compile.h 
     
    587596db.o: ../hdrs/strtree.h 
    588597db.o: ../hdrs/parse.h 
     598db.o: ../hdrs/privtab.h 
    589599db.o: ../hdrs/extmail.h 
    590600destroy.o: ../config.h 
     
    640650extchat.o: ../hdrs/command.h 
    641651extchat.o: ../hdrs/switches.h 
     652extchat.o: ../hdrs/dbio.h 
    642653extmail.o: ../config.h 
    643654extmail.o: ../hdrs/copyrite.h 
     
    667678extmail.o: ../hdrs/command.h 
    668679extmail.o: ../hdrs/switches.h 
     680extmail.o: ../hdrs/dbio.h 
    669681filecopy.o: ../hdrs/copyrite.h 
    670682filecopy.o: ../config.h 
     
    724736flags.o: ../hdrs/boolexp.h 
    725737flags.o: ../hdrs/log.h 
     738flags.o: ../hdrs/dbio.h 
    726739flags.o: ../hdrs/oldflags.h 
    727740funcrypt.o: ../hdrs/copyrite.h 
     
    802815funlist.o: ../hdrs/copyrite.h 
    803816funlist.o: ../config.h 
     817funlist.o: ../hdrs/ansi.h 
    804818funlist.o: ../hdrs/conf.h 
    805819funlist.o: ../options.h 
     
    821835funlist.o: ../hdrs/pcre.h 
    822836funlist.o: ../hdrs/match.h 
     837funlist.o: ../hdrs/command.h 
     838funlist.o: ../hdrs/switches.h 
    823839funlist.o: ../hdrs/lock.h 
    824840funlist.o: ../hdrs/boolexp.h 
     
    973989game.o: ../hdrs/function.h 
    974990game.o: ../hdrs/help.h 
     991game.o: ../hdrs/dbio.h 
    975992help.o: ../config.h 
    976993help.o: ../hdrs/conf.h 
     
    10361053local.o: ../hdrs/mushtype.h 
    10371054local.o: ../hdrs/htab.h 
     1055local.o: ../hdrs/dbio.h 
    10381056local.o: ../hdrs/externs.h 
    10391057local.o: ../hdrs/compile.h 
     
    11381156malias.o: ../hdrs/pueblo.h 
    11391157malias.o: ../hdrs/log.h 
     1158malias.o: ../hdrs/dbio.h 
    11401159match.o: ../hdrs/copyrite.h 
    11411160match.o: ../config.h 
     
    13241343player.o: ../hdrs/lock.h 
    13251344player.o: ../hdrs/boolexp.h 
     1345player.o: ../hdrs/parse.h 
    13261346player.o: ../hdrs/extmail.h 
    13271347plyrlist.o: ../config.h 
     
    14141434rob.o: ../hdrs/boolexp.h 
    14151435rob.o: ../hdrs/game.h 
     1436rob.o: ../hdrs/case.h 
    14161437set.o: ../hdrs/copyrite.h 
    14171438set.o: ../config.h 
     
    14371458set.o: ../hdrs/boolexp.h 
    14381459set.o: ../hdrs/log.h 
     1460set.o: ../hdrs/game.h 
    14391461shs.o: ../hdrs/copyrite.h 
    14401462shs.o: ../config.h 
  • 1.8.1/src/bsd.c

    r511 r519  
    6969#ifdef I_UNISTD 
    7070#include <unistd.h> 
    71 #endif 
    72 #ifdef HAS_GETRLIMIT 
    73 #include <sys/resource.h> 
    7471#endif 
    7572#include <limits.h> 
     
    133130#endif 
    134131#endif 
     132#ifdef HAS_GETRLIMIT 
     133void init_rlimit(void); 
     134#endif 
    135135 
    136136 
     
    173173char confname[BUFFER_LEN];  /**< Name of the config file */ 
    174174char errlog[BUFFER_LEN];    /**< Name of the error log file */ 
    175  
    176 /** Default connection, nothing special */ 
    177 #define CONN_DEFAULT 0 
    178 /** Using Pueblo, Smial, Mushclient, Simplemu, or some other 
    179  *  pueblo-style HTML aware client */ 
    180 #define CONN_HTML 0x1 
    181 /** Using a client that understands telnet options */ 
    182 #define CONN_TELNET 0x2 
    183 /** Send a telnet option to test client */ 
    184 #define CONN_TELNET_QUERY 0x4 
    185 /** Connection that should be close on load from reboot.db */ 
    186 #define CONN_CLOSE_READY 0x8 
    187 /** Validated connection from an SSL concentrator */ 
    188 #define CONN_SSL_CONCENTRATOR 0x10 
    189175 
    190176/** Is this descriptor connected to a telnet-compatible terminal? */ 
     
    324310sig_atomic_t signal_dump_flag = 0;  /**< Have we caught a dump signal? */ 
    325311 
    326 #ifdef HAS_GETRLIMIT 
    327 static void init_rlimit(void); 
    328 #endif 
    329312#ifndef BOOLEXP_DEBUGGING 
    330313#ifdef WIN32SERVICES 
     
    349332static void update_quotas(struct timeval *last, struct timeval *current); 
    350333 
    351 static int how_many_fds(void); 
     334int how_many_fds(void); 
    352335static void shovechars(Port_t port, Port_t sslport); 
    353336static int test_connection(int newsock); 
     
    429412void reopen_logs(void); 
    430413void load_reboot_db(void); 
    431 #ifdef HAS_GETRLIMIT 
    432 static void 
    433 init_rlimit(void) 
    434 { 
    435   /* Unlimit file descriptors. */ 
    436   /* Ultrix 4.4 and others may have getrlimit but may not be able to 
    437    * change number of file descriptors 
    438    */ 
    439 #ifdef RLIMIT_NOFILE 
    440   struct rlimit *rlp; 
    441  
    442   rlp = (struct rlimit *) malloc(sizeof(struct rlimit)); 
    443   if (getrlimit(RLIMIT_NOFILE, rlp)) { 
    444     perror("init_rlimit: getrlimit()"); 
    445     free(rlp); 
    446     return; 
    447   } 
    448   /* This check seems dumb, but apparently FreeBSD may return 0 for 
    449    * the max # of descriptors! 
    450    */ 
    451   if (rlp->rlim_max > rlp->rlim_cur) { 
    452     rlp->rlim_cur = rlp->rlim_max; 
    453     if (setrlimit(RLIMIT_NOFILE, rlp)) 
    454       perror("init_rlimit: setrlimit()"); 
    455   } 
    456   free(rlp); 
    457 #endif 
    458   return; 
    459 } 
    460 #endif              /* HAS_GETRLIMIT */ 
    461414 
    462415#ifdef NT_TCP 
     
    982935  int newsock; 
    983936#endif 
    984   int input_ready, output_ready; 
     937  unsigned long input_ready, output_ready; 
    985938 
    986939#ifdef NT_TCP 
     
    24312384      queue_newwrite(d, reply, 6); 
    24322385      process_output(d); 
     2386      /* Yeah, we still will send GA, which they should treat as a NOP, 
     2387       * but we'd better send newlines, too. 
     2388       */ 
     2389      d->conn_flags |= CONN_PROMPT_NEWLINES; 
    24332390#ifdef DEBUG_TELNET 
    24342391      fprintf(stderr, "GOT IAC DO SGA, sending IAC WILL SGA IAG DO SGA\n"); 
     
    26982655  } else if (!strncmp(command, "SCREENHEIGHT", 12)) { 
    26992656    d->height = parse_integer(command + 12); 
     2657  } else if (!strncmp(command, "PROMPT_NEWLINES", 15)) { 
     2658    if (parse_integer(command + 15)) 
     2659      d->conn_flags |= CONN_PROMPT_NEWLINES; 
     2660    else 
     2661      d->conn_flags &= ~CONN_PROMPT_NEWLINES; 
    27002662  } else if (SUPPORT_PUEBLO 
    27012663         && !strncmp(command, PUEBLO_COMMAND, strlen(PUEBLO_COMMAND))) { 
     
    28222784  announce_connect(player, isnew, num); /* broadcast connect message */ 
    28232785  check_last(player, d->addr, d->ip);   /* set Last, Lastsite, give paycheck */ 
    2824   /* Check folder 0, not silently (i.e. Report lack of mail, too) */ 
     2786  /* Check all mail folders. If empty, report lack of mail. */ 
    28252787  queue_eol(d); 
    28262788  if (command_check_byname(player, "@MAIL")) 
    2827     check_mail(player, 0, 0); 
     2789    check_all_mail(player); 
    28282790  set_player_folder(player, 0); 
    28292791  do_look_around(player); 
     
    44754437      if (match->conn_flags & CONN_TELNET) 
    44764438    safe_str(" telnet", buff, bp); 
     4439      if (match->conn_flags & CONN_PROMPT_NEWLINES) 
     4440    safe_str(" prompt_newlines", buff, bp); 
    44774441#ifdef HAS_OPENSSL 
    44784442      if (sslsock && match->ssl) 
     
    48134777#define fclose(x) f_close(x) 
    48144778#endif              /* SUN_OS */ 
    4815  
    4816 static int 
    4817 how_many_fds(void) 
    4818 { 
    4819   /* Determine how many open file descriptors we're allowed 
    4820    * In order, we'll try: 
    4821    * 1. sysconf(_SC_OPEN_MAX) - POSIX.1 
    4822    * 2. OPEN_MAX constant - POSIX.1 limits.h 
    4823    * 3. getdtablesize - BSD (which Config maps to ulimit or NOFILE if need