home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / HATCH / WWIVNEWS.ZIP / 9403_6.NWS < prev    next >
Text File  |  1994-03-02  |  17KB  |  501 lines

  1. --- 1004,1010 ----
  2.      break;
  3.      case 'U':
  4.      helpl=17;
  5. +       /* Guest MOD */ if (!guest())
  6.      if ((thisuser.restrict & (restrict_validate | restrict_upload)) ||
  7.          (syscfg.sysconfig & sysconfig_all_sysop)) {
  8.        if (syscfg.newuploads<num_dirs)
  9. *************** void dlmainmenu(void)
  10. *** 1019,1028 ****
  11. --- 1031,1045 ----
  12.      case 'Z':
  13.      nl();
  14.      nl();
  15. +       /* Guest MOD */ if (guest()) {
  16. +       /* Guest MOD */   pl("Guests may not upload to the BBS.");
  17. +       /* Guest MOD */   nl();
  18. +       /* Guest MOD */ } else {
  19.      pl(get_string(40));
  20.      nl();
  21.      helpl=17;
  22.      upload(0);
  23. +       /* Guest MOD */ }
  24.      break;
  25.       }
  26.     }
  27.  
  28.  
  29.  
  30. diff -H -b -p ./BBSutl.c Guest/BBSutl.c
  31. *** ./BBSutl.c  Fri Jan 08 21:42:12 1993
  32. --- guest/BBSutl.c      Tue Sep 07 21:26:26 1993
  33. *************** void reqchat(void)
  34. *** 467,472 ****
  35. --- 467,475 ----
  36.       pl(get_string(600));
  37.       nl();
  38.       pl(get_string(601));
  39. +     /* Guest MOD */ if (guest())
  40. +     /* Guest MOD */   sprintf(irt,"%s Guest (%s) connected at
  41. %s.",get_stringx(1,34),guest_name,curspeed);
  42. +     /* Guest MOD */ else
  43.       strcpy(irt,get_stringx(1,34));
  44.       irt_name[0]=0;
  45.       imail(1,0);
  46.  
  47.  
  48.  
  49. diff -H -b -p ./BBSutl1.c Guest/BBSutl1.c
  50. *** ./BBSutl1.c Thu Dec 03 19:55:22 1992
  51. --- guest/BBSutl1.c     Tue Sep 07 21:26:26 1993
  52. *************** void rsm(int un, userrec *u)
  53. *** 242,247 ****
  54. --- 242,248 ----
  55.      lseek(f,((long) (i1)) * sizeof(shortmsgrec),SEEK_SET);
  56.      read(f,(void *)&sm,sizeof(shortmsgrec));
  57.      if ((sm.touser==un) && (sm.tosys==0)) {
  58. +       /* Guest MOD */ if (sm.touser==usernum && !guest())
  59.      pl(sm.message);
  60.        sm.touser=0;
  61.        sm.tosys=0;
  62.  
  63.  
  64.  
  65. diff -H -b -p ./lilo.c Guest/lilo.c
  66. *** ./lilo.c    Thu Dec 03 19:55:02 1992
  67. --- guest/lilo.c        Tue Sep 07 21:39:02 1993
  68. *************** void getuser(void)
  69. *** 82,87 ****
  70. --- 82,88 ----
  71.      actsl = syscfg.newusersl;
  72.      topscreen();
  73.      ok=1;
  74. +       /* Guest MOD */ if (!guest()) {
  75.      outstr(get_string(357));
  76.      echo=0;
  77.      input(s,8);
  78. *************** void getuser(void)
  79. *** 108,113 ****
  80. --- 109,115 ----
  81.        ok=0;
  82.      }
  83.      echo=1;
  84. +       /* Guest MOD */ }
  85.      if (ok) {
  86.      reset_act_sl();
  87.      changedsl();
  88. *************** void logon(void)
  89. *** 219,225 ****
  90. --- 221,234 ----
  91.     char s[255],s1[181],s2[81],*ss;
  92.     int i,i1,f;
  93.     long len,pos;
  94. +   /* Guest MOD */ char s3[255];
  95.   
  96. +   /* Guest MOD */ if (guest()) {
  97. +   /* Guest MOD */   outstr("Who are you? ");
  98. +   /* Guest MOD */   mpl(40);
  99. +   /* Guest MOD */   input1(guest_name,40,1,1);
  100. +   /* Guest MOD */   sprintf(s3,"   The guest account was being used by:
  101. %s",guest_name);
  102. +   /* Guest MOD */ }
  103.     if (usernum<1) {
  104.       hangup=1;
  105.       return;
  106. *************** void logon(void)
  107. *** 292,297 ****
  108. --- 301,309 ----
  109.     if ((actsl!=255) || (incom)) {
  110.       sl1(0,"");
  111.       sl1(0,s);
  112. +     /* Guest MOD */ if (guest()) {
  113. +     /* Guest MOD */   sl1(0,s3);
  114. +     /* Guest MOD */ }
  115.       sl1(1,"");
  116.       sprintf(s,"%ld: %s   %s - %d\r\n",
  117.          status.callernum1,
  118. *************** void logoff(void)
  119. *** 527,532 ****
  120. --- 539,547 ----
  121.     thisuser.daten=l;
  122.     close_user();
  123.     write_user(usernum,&thisuser);
  124. +   /* Guest MOD */ if (guest())
  125. +   /* Guest MOD */   for (i=0; i<max_subs; i++)
  126. +   /* Guest MOD */     qsc_p[i]=0L;
  127.     write_qscn(usernum,qsc,0);
  128.     close_user();
  129.   
  130.  
  131.  
  132. diff -H -b -p ./newuser.c Guest/newuser.c
  133. *** ./newuser.c Tue Dec 08 19:35:02 1992
  134. --- guest/newuser.c     Tue Sep 07 21:26:34 1993
  135. *************** void newuser(void)
  136. *** 550,555 ****
  137. --- 550,575 ----
  138.      sl1(0,s1);
  139.      }
  140.       } while ((!ok) && (!hangup) && (i++<4));
  141. +     /* Guest MOD */ if (!ok && (usernum=finduser("GUEST"))>0) {
  142. +     /* Guest MOD */   outstr("\nWould you like to log onto the guest account?
  143. ");
  144. +     /* Guest MOD */   if (yn()) {
  145. +     /* Guest MOD */     read_user(usernum,&thisuser);
  146. +     /* Guest MOD */     read_qscn(usernum,qsc,0);
  147. +     /* Guest MOD */     actsl = syscfg.newusersl;
  148. +     /* Guest MOD */     topscreen();
  149. +     /* Guest MOD */     return;
  150. +     /* Guest MOD */   }
  151. +     /* Guest MOD */   outstr("\nWould you like to leave feedback to the sysop?
  152. ");
  153. +     /* Guest MOD */   if (yn()) {
  154. +     /* Guest MOD */     outstr("Who are you? ");
  155. +     /* Guest MOD */     mpl(40);
  156. +     /* Guest MOD */     input(guest_name,40);
  157. +     /* Guest MOD */     sprintf(irt,"Guest (%s) failed to enter NUP, connected
  158. at %s.",guest_name,curspeed);
  159. +     /* Guest MOD */     irt_name[0]=0;
  160. +     /* Guest MOD */     grab_quotes(NULL, NULL);
  161. +     /* Guest MOD */     E-Mail(1,0,1,0);
  162. +     /* Guest MOD */   }
  163. +     /* Guest MOD */ }
  164.       if (!ok)
  165.      hangup=1;
  166.     }
  167.  
  168.  
  169.  
  170. diff -H -b -p ./utility.c Guest/utility.c
  171. *** ./utility.c Thu Dec 03 19:55:56 1992
  172. --- guest/utility.c     Tue Sep 07 21:26:40 1993
  173. *************** double nsl(void)
  174. *** 706,711 ****
  175. --- 706,713 ----
  176.       tlt = tpd - tot - ((double) thisuser.timeontoday) + (thisuser.extratime);
  177.   
  178.       tlt=(((tlc)<(tlt)) ? (tlc) : (tlt));
  179. +     /* Guest MOD */ if (guest())
  180. +     /* Guest MOD */   tlt=10.0 * 60.0 - tot + extratimecall;
  181.       if (tlt<0.0)
  182.      tlt=0.0;
  183.       if (tlt>32767.0)
  184. *************** void end_crit(void)
  185. *** 1141,1143 ****
  186. --- 1143,1149 ----
  187.       geninterrupt(0x15);
  188.     }
  189.   }
  190. + /* Guest MOD */ int guest(void)
  191. + /* Guest MOD */ {
  192. + /* Guest MOD */   return(thisuser.restrict & restrict_guest);
  193. + /* Guest MOD */ }
  194.  
  195.  
  196.  
  197. diff -H -b -p ./fcns.h Guest/fcns.h
  198. *** ./fcns.h    Tue Sep 07 21:40:24 1993
  199. --- guest/fcns.h        Tue Sep 07 21:40:50 1993
  200. *************** void detect_multitask(void);
  201. *** 327,332 ****
  202. --- 327,333 ----
  203.   void giveup_timeslice(void);
  204.   void begin_crit(void);
  205.   void end_crit(void);
  206. + int guest(void);
  207.   
  208.   
  209.  
  210. diff -H -b -p ./vardec.h Guest/vardec.h
  211. *** ./vardec.h  Thu Dec 17 17:49:10 1992
  212. --- guest/vardec.h      Tue Sep 07 21:26:46 1993
  213. *************** typedef enum {
  214. *** 488,494 ****
  215. --- 488,498 ----
  216.   #define restrict_net 0x0200
  217.   #define restrict_upload 0x0400
  218.   
  219. + /* Guest MOD
  220.   #define restrict_string "LCMA*PEVKNU     "
  221. + Guest MOD */
  222. + /* Guest MOD */ #define restrict_guest 0x0800
  223. + /* Guest MOD */ #define restrict_string "LCMA*PEVKNUG    "
  224.   
  225.   /* userrec.sysstatus */
  226.   #define sysstatus_ansi 0x0001
  227.  
  228.  
  229.  
  230. diff -H -b -p ./vars.h Guest/vars.h
  231. *** ./vars.h    Wed Dec 16 15:36:48 1992
  232. --- guest/vars.h        Tue Sep 07 21:26:46 1993
  233. *************** __EXTRN__ char ansistr[81], cdir[81], ch
  234. *** 74,79 ****
  235. --- 74,80 ----
  236.            search_pattern[81], *sp, str_no[20], str_pause[80],
  237.            str_quit[20], str_yes[20], tc[81], ver_no1[51],
  238.            ver_no2[51],wwiv_net_no[20], xdate[9], *xenviron[50];
  239. + /* Guest MOD */ __EXTRN__ char guest_name[41];
  240.   
  241.   __EXTRN__ unsigned char actsl, andwith, checksum;
  242.   
  243. ─────────────────────────────────────────────────────────────────────────────
  244.  
  245. This next mod selection is by Gate Keeper 1@8143 and corrects what some 
  246. consider an annoying "feature" of WWIV.
  247.  
  248. ┌──────────────────────────────────────────────────────────Filo─header─(c)───┐
  249. │ Mod Name:      REALMAIL.MOD             Author:  Gate Keeper               │
  250. │ Difficulty:    Pretty Easy              Date:    Aug. 23,1992              │
  251. │ WWIV Version:  4.21a Tested, should work with past/future versions.        │
  252. │ Description:   Get The Real Value Of How Much Mail You Have Waiting. So,   │
  253. │ It Won't Say "You Have Mail" Then Say "You Have No Mail"                   │
  254. └────────────────────────────────────────────────────────────────────────────┘
  255. Ok, Well, I wrote up this mod because I have been having mail problems. So
  256. I had to delete my E-Mail data file..it got corrupted or something I guess. 
  257. It happends once in a while. Anyway, Usually when I do that users get on and
  258. it says "You have 5 pieces of mail waiting, read it now?" then they hit yes 
  259. and it says "You have no mail" now. 
  260.  
  261. Is that good? 
  262.  
  263. No, That is a bug in some ways, I mean, it should never actually do that 
  264. according to logic but about 5 WWIV BBS's down here have done this, this 
  265. mod is small and should be considered to standard code to get rid of this 
  266. annoying thing... This mod doesn't do much, it could be changed to have the
  267. checkmail function return a number when asked to or do a few other things. 
  268. But this will do it. All it does is get the real number of mail waiting before
  269. it says you have any by opening up the E-Mail file and checking. This reads the
  270. HD for a second, but it works, and its better then having that problem 
  271. mentioned above, I didn't stick the extra char's with the old because I just
  272. want it to be one easy block code so hear it is...
  273.  
  274. = Existing
  275. + Add
  276.  
  277. Open Up LILO.C: Search for void logon..and do this...
  278.  
  279. = void logon(void)
  280. ={
  281. =  char ct[3],s[255],s1[100],s2[100],*ss;
  282. =  int i,i1,i2,f,m;
  283. =  long len,pos;
  284. +  char fn[81]; /* Mail */
  285. +  mailrec mail; /* Check */
  286. +  int count,mfl,mw,mloc[256]; /* Mod */
  287.  
  288.  
  289. =  if (usernum<1) {
  290. =    hangup=1;
  291. =    return;
  292. =  }
  293. =
  294. +  sprintf(fn,"%sE-Mail.DAT",syscfg.datadir);
  295. +  f=open(fn,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
  296. +  mfl=filelength(f)/sizeof(mailrec);
  297. +  mw=0;
  298. +  for (i=0; (i<mfl) && (mw<255); i++) {
  299. +    lseek(f,((long) (i)) * (sizeof(mailrec)), SEEK_SET);
  300. +    read(f,(void *)(&mail),sizeof(mailrec));
  301. +    if ((mail.tosys==0) && (mail.touser==usernum))
  302. +      mloc[mw++]=i;
  303. +  }
  304. +  thisuser.waiting=mw;
  305. +
  306. + /* End Of Mail Check Mod */
  307. =
  308. =   if (live_user) {
  309. ─────────────────────────────────────────────────────────────────────────────
  310.  
  311.  
  312. This next mod adds the $ command found in the conference editor, and adapts 
  313. the associated functions for use in the chain, subs and dirs editors.
  314.  
  315. ┌───────────────────────────────────────────────────────────────────────────┐
  316. │ Name: WAR021.MOD                                                          │
  317. │ Description: Allows '$' when inserting subs, dirs, and chains.            │
  318. │ Difficulty: █▒▒▒▒▒▒▒▒▒                                                    │
  319. │ Files Affected: CHNEDIT.C, DIREDIT.C, SUBEDIT.C, BBS.STR                  │
  320. │ For Version: 4.23                                                         │
  321. │ Author: Adam Warlock - 133 @4062 WWiVNet                                  │
  322. │ Date: Sunday, January 2, 1993. 10:30 AM EST.                              │
  323. └───────────────────────────────────────────────────────────────────────────┘
  324.  
  325. Extended Description:
  326. ---------------------
  327.         When inserting subs, dirs, or chains, this will allow you to
  328. enter '$' at the insert prompt to insert the sub, dir, or chain at the
  329. end of the list, just like in ConfEdit.  A relativly simple
  330. modification, but quite a handy one (for those of you who have large #'s
  331. of subs, and can never remember the last number when added new ones!).
  332.  
  333. Format:
  334.  ++  Add this line
  335.  --  Delete this line
  336.  +-  Change this line
  337.  ==  This line same
  338.  
  339.   If you just delete the characters (++ and what not), it should line up,
  340.   unless the line was line wrapped.  Any line not begining w/ one of the
  341.   symbols above was line wrapped, and should be joined w/ the line above.
  342.  
  343. ──────────────────────────────────────────────────────────────────────────────
  344. Step 1:
  345. -------
  346. Back up your source code!
  347.  
  348. Pkzip -ex -u 423sm.zip *.c *.h *.mak *.prj *.str
  349. (or ARJ, or LZH, depending on what you use)
  350.  
  351. ──────────────────────────────────────────────────────────────────────────────
  352. Step 2:
  353. -------
  354. Open file CHNEDIT.C.
  355.  
  356. Make the following additions in function 'void chainedit(void)'.
  357.  
  358. ==      case 'I':
  359. ==        if (numchain<MAX_CHAINS) {
  360. ==          nl();
  361. ==          prt(2,get_string(131));
  362. ==          input(s,2);
  363. ==          i=atoi(s);
  364. +-          if ((s[0]!=0) && (i>=0) && (i<=numchain) || (s[0]=='$')) {
  365. ++            if (s[0]=='$')
  366. ++              i=numchain;
  367. ==            insert_chain(i);
  368. ==          }
  369.  
  370. Save file CHNEDIT.C.
  371.  
  372. ──────────────────────────────────────────────────────────────────────────────
  373. Step 3:
  374. -------
  375. Open file DIREDIT.C.
  376.  
  377. Make the following additions in function 'void dlboardedit(void)'.
  378.  
  379. ==      case 'I':
  380. ==        if (num_dirs<max_dirs) {
  381. ==          nl();
  382. ==          prt(2,get_string(162));
  383. ==          input(s,3);
  384. ==          i=atoi(s);
  385. +-          if ((s[0]!=0) && (i>=0) && (i<=num_dirs) || (s[0]=='$')) {
  386. ++            if (s[0]=='$')
  387. ++              i=num_dirs;
  388. ==            insert_dir(i);
  389.  
  390. Save file DIREDIT.C.
  391.  
  392. ──────────────────────────────────────────────────────────────────────────────
  393. Step 4:
  394. -------
  395. Open file SUBEDIT.C.
  396.  
  397. Make the following additions in function 'void boardedit(void)'.
  398.  
  399. ==      case 'I':
  400. ==        if (num_subs<max_subs) {
  401. ==          nl();
  402. ==          prt(2,get_string(213));
  403. ==          input(s,3);
  404. ==          i=atoi(s);
  405. +-          if ((s[0]!=0) && (i>=0) && (i<=num_subs) || (s[0]=='$')) {
  406. ++            if (s[0]=='$')
  407. ++              i=num_subs;
  408. ==            insert_sub(i);
  409.  
  410. Save file SUBEDIT.C.
  411.  
  412. ──────────────────────────────────────────────────────────────────────────────
  413. Step 5:
  414. -------
  415. Change the following strings in BBS.STR to read as shown.
  416.  
  417. 131:
  418. Insert before which chain ('$'=End)?
  419. 162:
  420. Insert before which dir ('$'=End)?
  421. 213:
  422. Insert before which sub ('$'=End)?
  423.  
  424. ──────────────────────────────────────────────────────────────────────────────
  425. -EOM (End of Modifications)
  426.  
  427. Compile Away!
  428.  
  429. Disclaimer:  This mod works on my system.  It may not work on yours.  I
  430. take no responsibility for any damage incurred upon your system by
  431. improper installation, usage, or typo's on my part, nor on any screw-ups
  432. by the message base system this was posted on.    Otherwise, sue me!  :)
  433.  
  434. ───────────────┬─────────────────────────────────────────────┬───────────────
  435.                │            GSA / ASV DIRECTORY              │
  436.                │          by Lance Halle                     │
  437.                └─────────────────────────────────────────────┘
  438.  
  439. >>> New Service flag!  ^ = FILEnet  New File Catagory! Q = DESQview Files <<<
  440.    
  441. ─────────────────────────────────────────────────────────────────────────────
  442.    ###  -=* Please read policy on granting access to MODS & MODNET *=-  ###
  443. ─────────────────────────────────────────────────────────────────────────────
  444.  
  445.                                FILE CATEGORIES
  446.  
  447.                            Number of files available
  448.                        LOWER case list   UPPER case list
  449.  
  450. A = Audio Files              20+              200+
  451. C = Games For WWIV           25+              250+   NOTE - This listing only
  452. D = Dos Utilities            25+              250+   gives an indication of
  453. E = GIFs                     30+              300+   how many files a system
  454. G = Games - off line type    30+              300+   has to offer.  Many
  455. I = IceNET support files      2+               20+   systems with small hard
  456. L = Link support files        2+               20+   drives keep only the BEST
  457. M = Mods for WWIV            50+ (SEE BELOW)  500+   and MOST RECENT files, so
  458. N = Communications Programs  10+              100+   don't overlook them!
  459. O = OS-2 Utilities           15+              150+
  460. P = Compression Files         5+               50+
  461. Q = DESQview Files           15+              150+
  462. S = Anti-Virus Programs       5+               50+
  463. V = VBBS support files        5+               50+
  464. W = WWIV support files       50+              500+
  465. X = Windows Utilities        15+              150+
  466.  
  467. NOTE ABOUT MODS: Per Filo's & Wayne's request, MODS and MODNET should NOT be
  468. available to first time callers. The Sysop needs to verify the caller's WWIV
  469. registration number by verifying it in the BBSLIST.* files of WWIVnet, or
  470. with Filo (1@2050) BEFORE granting access MODS or MODNET.  NOTE: MODNET refers 
  471. to SubType 2370. MODS refers to any other Sub or Directory that carries WWIV
  472. mods.
  473.  
  474. ─────────────────────────────────────────────────────────────────────────────
  475.  
  476.                                     SERVICES
  477.  
  478. * = Official Source Distribution Site
  479. # = Official WWIV Support Board
  480. @ = IPSS (IceNET Primary Support System)
  481. ! = ISB (IceNET Support Board)
  482. % = PCPursuitable
  483. ^ = FILEnet
  484. ~ = Unknown System  These will be removed from the listing after 30 days to
  485.          allow time for errors in the NET updates to be corrected.
  486.  
  487.                             NETWORK for LISTED node #
  488.     1 = WWIVnet              2 = IceNET              3 = WWIVnet + IceNET
  489.                               
  490.        PROTOCOL IDENTIFIERS                    MODEM LINK SPEEDS  (Sp)
  491.     < = USRobotics HST protocol                      2 = 2400    
  492.     > = Hayes V-series protocol                      9 = 9600
  493.     | = Telebit PEP protocol                        14 = 14400
  494.     ! = V.32 protocol                               16 = 16800
  495.     $ = V.32bis protocol                            21 = 21600
  496.     / = Compucom 9600 protocol
  497.  
  498.  
  499.                                   ACCOUNT TYPES
  500.     A = Auto Sysop Validation systems [ASV] 
  501.