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 >
Wrap
Text File
|
1994-03-02
|
17KB
|
501 lines
--- 1004,1010 ----
break;
case 'U':
helpl=17;
+ /* Guest MOD */ if (!guest())
if ((thisuser.restrict & (restrict_validate | restrict_upload)) ||
(syscfg.sysconfig & sysconfig_all_sysop)) {
if (syscfg.newuploads<num_dirs)
*************** void dlmainmenu(void)
*** 1019,1028 ****
--- 1031,1045 ----
case 'Z':
nl();
nl();
+ /* Guest MOD */ if (guest()) {
+ /* Guest MOD */ pl("Guests may not upload to the BBS.");
+ /* Guest MOD */ nl();
+ /* Guest MOD */ } else {
pl(get_string(40));
nl();
helpl=17;
upload(0);
+ /* Guest MOD */ }
break;
}
}
diff -H -b -p ./BBSutl.c Guest/BBSutl.c
*** ./BBSutl.c Fri Jan 08 21:42:12 1993
--- guest/BBSutl.c Tue Sep 07 21:26:26 1993
*************** void reqchat(void)
*** 467,472 ****
--- 467,475 ----
pl(get_string(600));
nl();
pl(get_string(601));
+ /* Guest MOD */ if (guest())
+ /* Guest MOD */ sprintf(irt,"%s Guest (%s) connected at
%s.",get_stringx(1,34),guest_name,curspeed);
+ /* Guest MOD */ else
strcpy(irt,get_stringx(1,34));
irt_name[0]=0;
imail(1,0);
diff -H -b -p ./BBSutl1.c Guest/BBSutl1.c
*** ./BBSutl1.c Thu Dec 03 19:55:22 1992
--- guest/BBSutl1.c Tue Sep 07 21:26:26 1993
*************** void rsm(int un, userrec *u)
*** 242,247 ****
--- 242,248 ----
lseek(f,((long) (i1)) * sizeof(shortmsgrec),SEEK_SET);
read(f,(void *)&sm,sizeof(shortmsgrec));
if ((sm.touser==un) && (sm.tosys==0)) {
+ /* Guest MOD */ if (sm.touser==usernum && !guest())
pl(sm.message);
sm.touser=0;
sm.tosys=0;
diff -H -b -p ./lilo.c Guest/lilo.c
*** ./lilo.c Thu Dec 03 19:55:02 1992
--- guest/lilo.c Tue Sep 07 21:39:02 1993
*************** void getuser(void)
*** 82,87 ****
--- 82,88 ----
actsl = syscfg.newusersl;
topscreen();
ok=1;
+ /* Guest MOD */ if (!guest()) {
outstr(get_string(357));
echo=0;
input(s,8);
*************** void getuser(void)
*** 108,113 ****
--- 109,115 ----
ok=0;
}
echo=1;
+ /* Guest MOD */ }
if (ok) {
reset_act_sl();
changedsl();
*************** void logon(void)
*** 219,225 ****
--- 221,234 ----
char s[255],s1[181],s2[81],*ss;
int i,i1,f;
long len,pos;
+ /* Guest MOD */ char s3[255];
+ /* Guest MOD */ if (guest()) {
+ /* Guest MOD */ outstr("Who are you? ");
+ /* Guest MOD */ mpl(40);
+ /* Guest MOD */ input1(guest_name,40,1,1);
+ /* Guest MOD */ sprintf(s3," The guest account was being used by:
%s",guest_name);
+ /* Guest MOD */ }
if (usernum<1) {
hangup=1;
return;
*************** void logon(void)
*** 292,297 ****
--- 301,309 ----
if ((actsl!=255) || (incom)) {
sl1(0,"");
sl1(0,s);
+ /* Guest MOD */ if (guest()) {
+ /* Guest MOD */ sl1(0,s3);
+ /* Guest MOD */ }
sl1(1,"");
sprintf(s,"%ld: %s %s - %d\r\n",
status.callernum1,
*************** void logoff(void)
*** 527,532 ****
--- 539,547 ----
thisuser.daten=l;
close_user();
write_user(usernum,&thisuser);
+ /* Guest MOD */ if (guest())
+ /* Guest MOD */ for (i=0; i<max_subs; i++)
+ /* Guest MOD */ qsc_p[i]=0L;
write_qscn(usernum,qsc,0);
close_user();
diff -H -b -p ./newuser.c Guest/newuser.c
*** ./newuser.c Tue Dec 08 19:35:02 1992
--- guest/newuser.c Tue Sep 07 21:26:34 1993
*************** void newuser(void)
*** 550,555 ****
--- 550,575 ----
sl1(0,s1);
}
} while ((!ok) && (!hangup) && (i++<4));
+ /* Guest MOD */ if (!ok && (usernum=finduser("GUEST"))>0) {
+ /* Guest MOD */ outstr("\nWould you like to log onto the guest account?
");
+ /* Guest MOD */ if (yn()) {
+ /* Guest MOD */ read_user(usernum,&thisuser);
+ /* Guest MOD */ read_qscn(usernum,qsc,0);
+ /* Guest MOD */ actsl = syscfg.newusersl;
+ /* Guest MOD */ topscreen();
+ /* Guest MOD */ return;
+ /* Guest MOD */ }
+ /* Guest MOD */ outstr("\nWould you like to leave feedback to the sysop?
");
+ /* Guest MOD */ if (yn()) {
+ /* Guest MOD */ outstr("Who are you? ");
+ /* Guest MOD */ mpl(40);
+ /* Guest MOD */ input(guest_name,40);
+ /* Guest MOD */ sprintf(irt,"Guest (%s) failed to enter NUP, connected
at %s.",guest_name,curspeed);
+ /* Guest MOD */ irt_name[0]=0;
+ /* Guest MOD */ grab_quotes(NULL, NULL);
+ /* Guest MOD */ E-Mail(1,0,1,0);
+ /* Guest MOD */ }
+ /* Guest MOD */ }
if (!ok)
hangup=1;
}
diff -H -b -p ./utility.c Guest/utility.c
*** ./utility.c Thu Dec 03 19:55:56 1992
--- guest/utility.c Tue Sep 07 21:26:40 1993
*************** double nsl(void)
*** 706,711 ****
--- 706,713 ----
tlt = tpd - tot - ((double) thisuser.timeontoday) + (thisuser.extratime);
tlt=(((tlc)<(tlt)) ? (tlc) : (tlt));
+ /* Guest MOD */ if (guest())
+ /* Guest MOD */ tlt=10.0 * 60.0 - tot + extratimecall;
if (tlt<0.0)
tlt=0.0;
if (tlt>32767.0)
*************** void end_crit(void)
*** 1141,1143 ****
--- 1143,1149 ----
geninterrupt(0x15);
}
}
+ /* Guest MOD */ int guest(void)
+ /* Guest MOD */ {
+ /* Guest MOD */ return(thisuser.restrict & restrict_guest);
+ /* Guest MOD */ }
diff -H -b -p ./fcns.h Guest/fcns.h
*** ./fcns.h Tue Sep 07 21:40:24 1993
--- guest/fcns.h Tue Sep 07 21:40:50 1993
*************** void detect_multitask(void);
*** 327,332 ****
--- 327,333 ----
void giveup_timeslice(void);
void begin_crit(void);
void end_crit(void);
+ int guest(void);
diff -H -b -p ./vardec.h Guest/vardec.h
*** ./vardec.h Thu Dec 17 17:49:10 1992
--- guest/vardec.h Tue Sep 07 21:26:46 1993
*************** typedef enum {
*** 488,494 ****
--- 488,498 ----
#define restrict_net 0x0200
#define restrict_upload 0x0400
+ /* Guest MOD
#define restrict_string "LCMA*PEVKNU "
+ Guest MOD */
+ /* Guest MOD */ #define restrict_guest 0x0800
+ /* Guest MOD */ #define restrict_string "LCMA*PEVKNUG "
/* userrec.sysstatus */
#define sysstatus_ansi 0x0001
diff -H -b -p ./vars.h Guest/vars.h
*** ./vars.h Wed Dec 16 15:36:48 1992
--- guest/vars.h Tue Sep 07 21:26:46 1993
*************** __EXTRN__ char ansistr[81], cdir[81], ch
*** 74,79 ****
--- 74,80 ----
search_pattern[81], *sp, str_no[20], str_pause[80],
str_quit[20], str_yes[20], tc[81], ver_no1[51],
ver_no2[51],wwiv_net_no[20], xdate[9], *xenviron[50];
+ /* Guest MOD */ __EXTRN__ char guest_name[41];
__EXTRN__ unsigned char actsl, andwith, checksum;
─────────────────────────────────────────────────────────────────────────────
This next mod selection is by Gate Keeper 1@8143 and corrects what some
consider an annoying "feature" of WWIV.
┌──────────────────────────────────────────────────────────Filo─header─(c)───┐
│ Mod Name: REALMAIL.MOD Author: Gate Keeper │
│ Difficulty: Pretty Easy Date: Aug. 23,1992 │
│ WWIV Version: 4.21a Tested, should work with past/future versions. │
│ Description: Get The Real Value Of How Much Mail You Have Waiting. So, │
│ It Won't Say "You Have Mail" Then Say "You Have No Mail" │
└────────────────────────────────────────────────────────────────────────────┘
Ok, Well, I wrote up this mod because I have been having mail problems. So
I had to delete my E-Mail data file..it got corrupted or something I guess.
It happends once in a while. Anyway, Usually when I do that users get on and
it says "You have 5 pieces of mail waiting, read it now?" then they hit yes
and it says "You have no mail" now.
Is that good?
No, That is a bug in some ways, I mean, it should never actually do that
according to logic but about 5 WWIV BBS's down here have done this, this
mod is small and should be considered to standard code to get rid of this
annoying thing... This mod doesn't do much, it could be changed to have the
checkmail function return a number when asked to or do a few other things.
But this will do it. All it does is get the real number of mail waiting before
it says you have any by opening up the E-Mail file and checking. This reads the
HD for a second, but it works, and its better then having that problem
mentioned above, I didn't stick the extra char's with the old because I just
want it to be one easy block code so hear it is...
= Existing
+ Add
Open Up LILO.C: Search for void logon..and do this...
= void logon(void)
={
= char ct[3],s[255],s1[100],s2[100],*ss;
= int i,i1,i2,f,m;
= long len,pos;
+ char fn[81]; /* Mail */
+ mailrec mail; /* Check */
+ int count,mfl,mw,mloc[256]; /* Mod */
= if (usernum<1) {
= hangup=1;
= return;
= }
=
+ sprintf(fn,"%sE-Mail.DAT",syscfg.datadir);
+ f=open(fn,O_RDWR | O_BINARY | O_CREAT, S_IREAD | S_IWRITE);
+ mfl=filelength(f)/sizeof(mailrec);
+ mw=0;
+ for (i=0; (i<mfl) && (mw<255); i++) {
+ lseek(f,((long) (i)) * (sizeof(mailrec)), SEEK_SET);
+ read(f,(void *)(&mail),sizeof(mailrec));
+ if ((mail.tosys==0) && (mail.touser==usernum))
+ mloc[mw++]=i;
+ }
+ thisuser.waiting=mw;
+
+ /* End Of Mail Check Mod */
=
= if (live_user) {
─────────────────────────────────────────────────────────────────────────────
This next mod adds the $ command found in the conference editor, and adapts
the associated functions for use in the chain, subs and dirs editors.
┌───────────────────────────────────────────────────────────────────────────┐
│ Name: WAR021.MOD │
│ Description: Allows '$' when inserting subs, dirs, and chains. │
│ Difficulty: █▒▒▒▒▒▒▒▒▒ │
│ Files Affected: CHNEDIT.C, DIREDIT.C, SUBEDIT.C, BBS.STR │
│ For Version: 4.23 │
│ Author: Adam Warlock - 133 @4062 WWiVNet │
│ Date: Sunday, January 2, 1993. 10:30 AM EST. │
└───────────────────────────────────────────────────────────────────────────┘
Extended Description:
---------------------
When inserting subs, dirs, or chains, this will allow you to
enter '$' at the insert prompt to insert the sub, dir, or chain at the
end of the list, just like in ConfEdit. A relativly simple
modification, but quite a handy one (for those of you who have large #'s
of subs, and can never remember the last number when added new ones!).
Format:
++ Add this line
-- Delete this line
+- Change this line
== This line same
If you just delete the characters (++ and what not), it should line up,
unless the line was line wrapped. Any line not begining w/ one of the
symbols above was line wrapped, and should be joined w/ the line above.
──────────────────────────────────────────────────────────────────────────────
Step 1:
-------
Back up your source code!
Pkzip -ex -u 423sm.zip *.c *.h *.mak *.prj *.str
(or ARJ, or LZH, depending on what you use)
──────────────────────────────────────────────────────────────────────────────
Step 2:
-------
Open file CHNEDIT.C.
Make the following additions in function 'void chainedit(void)'.
== case 'I':
== if (numchain<MAX_CHAINS) {
== nl();
== prt(2,get_string(131));
== input(s,2);
== i=atoi(s);
+- if ((s[0]!=0) && (i>=0) && (i<=numchain) || (s[0]=='$')) {
++ if (s[0]=='$')
++ i=numchain;
== insert_chain(i);
== }
Save file CHNEDIT.C.
──────────────────────────────────────────────────────────────────────────────
Step 3:
-------
Open file DIREDIT.C.
Make the following additions in function 'void dlboardedit(void)'.
== case 'I':
== if (num_dirs<max_dirs) {
== nl();
== prt(2,get_string(162));
== input(s,3);
== i=atoi(s);
+- if ((s[0]!=0) && (i>=0) && (i<=num_dirs) || (s[0]=='$')) {
++ if (s[0]=='$')
++ i=num_dirs;
== insert_dir(i);
Save file DIREDIT.C.
──────────────────────────────────────────────────────────────────────────────
Step 4:
-------
Open file SUBEDIT.C.
Make the following additions in function 'void boardedit(void)'.
== case 'I':
== if (num_subs<max_subs) {
== nl();
== prt(2,get_string(213));
== input(s,3);
== i=atoi(s);
+- if ((s[0]!=0) && (i>=0) && (i<=num_subs) || (s[0]=='$')) {
++ if (s[0]=='$')
++ i=num_subs;
== insert_sub(i);
Save file SUBEDIT.C.
──────────────────────────────────────────────────────────────────────────────
Step 5:
-------
Change the following strings in BBS.STR to read as shown.
131:
Insert before which chain ('$'=End)?
162:
Insert before which dir ('$'=End)?
213:
Insert before which sub ('$'=End)?
──────────────────────────────────────────────────────────────────────────────
-EOM (End of Modifications)
Compile Away!
Disclaimer: This mod works on my system. It may not work on yours. I
take no responsibility for any damage incurred upon your system by
improper installation, usage, or typo's on my part, nor on any screw-ups
by the message base system this was posted on. Otherwise, sue me! :)
───────────────┬─────────────────────────────────────────────┬───────────────
│ GSA / ASV DIRECTORY │
│ by Lance Halle │
└─────────────────────────────────────────────┘
>>> New Service flag! ^ = FILEnet New File Catagory! Q = DESQview Files <<<
─────────────────────────────────────────────────────────────────────────────
### -=* Please read policy on granting access to MODS & MODNET *=- ###
─────────────────────────────────────────────────────────────────────────────
FILE CATEGORIES
Number of files available
LOWER case list UPPER case list
A = Audio Files 20+ 200+
C = Games For WWIV 25+ 250+ NOTE - This listing only
D = Dos Utilities 25+ 250+ gives an indication of
E = GIFs 30+ 300+ how many files a system
G = Games - off line type 30+ 300+ has to offer. Many
I = IceNET support files 2+ 20+ systems with small hard
L = Link support files 2+ 20+ drives keep only the BEST
M = Mods for WWIV 50+ (SEE BELOW) 500+ and MOST RECENT files, so
N = Communications Programs 10+ 100+ don't overlook them!
O = OS-2 Utilities 15+ 150+
P = Compression Files 5+ 50+
Q = DESQview Files 15+ 150+
S = Anti-Virus Programs 5+ 50+
V = VBBS support files 5+ 50+
W = WWIV support files 50+ 500+
X = Windows Utilities 15+ 150+
NOTE ABOUT MODS: Per Filo's & Wayne's request, MODS and MODNET should NOT be
available to first time callers. The Sysop needs to verify the caller's WWIV
registration number by verifying it in the BBSLIST.* files of WWIVnet, or
with Filo (1@2050) BEFORE granting access MODS or MODNET. NOTE: MODNET refers
to SubType 2370. MODS refers to any other Sub or Directory that carries WWIV
mods.
─────────────────────────────────────────────────────────────────────────────
SERVICES
* = Official Source Distribution Site
# = Official WWIV Support Board
@ = IPSS (IceNET Primary Support System)
! = ISB (IceNET Support Board)
% = PCPursuitable
^ = FILEnet
~ = Unknown System These will be removed from the listing after 30 days to
allow time for errors in the NET updates to be corrected.
NETWORK for LISTED node #
1 = WWIVnet 2 = IceNET 3 = WWIVnet + IceNET
PROTOCOL IDENTIFIERS MODEM LINK SPEEDS (Sp)
< = USRobotics HST protocol 2 = 2400
> = Hayes V-series protocol 9 = 9600
| = Telebit PEP protocol 14 = 14400
! = V.32 protocol 16 = 16800
$ = V.32bis protocol 21 = 21600
/ = Compucom 9600 protocol
ACCOUNT TYPES
A = Auto Sysop Validation systems [ASV]