guy@auspex.auspex.com (Guy Harris) (08/24/90)
Subject: UUCP doesn't properly negotiate MaxGrade with some HDB UUCPs Index: usr.bin 4.3BSD-tahoe Description: While the HDB shipped by AT&T as part of S5R3.x doesn't support the "MaxGrade" mechanism - that is, the mechanism that lets you specify, in the "Systems"/"L.sys" file, the maximum grade of work to be transferred at particular times of the day - Peter Honeyman has modified HDB to do so, and some vendors (including Sun) have picked up these patches. Two UUCPs negotiate the MaxGrade by sending their idea of the MaxGrade in the initial connection message. The 4.3 UUCP sends it with both a "-p" and a "-vgrade=" flag; Peter's patches to HDB send only the "-vgrade=" flag. The 4.3 UUCP doesn't properly handle the "-vgrade=" flag, so while it can properly negotiate MaxGrade with other 4.3 UUCPs (since it does handle the "-p" flag which the 4.3 UUCP sends), it can't properly negotiate it with HDB with Peter's patches. Repeat-By: Inspect the code. (There is a scenario that will reproduce it, but I forget precisely what it is and I'm too lazy to reconstruct it.) Fix: *** cico.c.orig Thu Aug 23 11:17:34 1990 --- cico.c Thu Aug 23 11:18:51 1990 *************** *** 446,452 **** DEBUG(4, "MaxGrade set to %c\n", MaxGrade); break; case 'v': ! if (strncmp(p, "grade", 5) == 0) { p += 6; MaxGrade = DefMaxGrade = *p++; DEBUG(4, "MaxGrade set to %c\n", MaxGrade); --- 446,452 ---- DEBUG(4, "MaxGrade set to %c\n", MaxGrade); break; case 'v': ! if (strncmp(++p, "grade=", 6) == 0) { p += 6; MaxGrade = DefMaxGrade = *p++; DEBUG(4, "MaxGrade set to %c\n", MaxGrade);