juo@cloud9.Stratus.COM (John Oleynick) (08/08/89)
Last week I rebuilt Andrew, this time with AMS. Messages seems to work
OK (except for 1 small problem) , but I can't read my mail with either
CUI or VUI. Whenever I run either of them, they say:
ELI-PRIMITIVE [READ (error opening file)]
INTERNAL [eviEvalList (functionless symbol at list car)]
And tell me that I have no mail. Messages finds my mail fine, though.
I haven't done anything weird with the mspath (that I know of), although
my .AMS.prof contains:
$mail /home/lectroid/buckaroo/juo/.MESSAGES
$official /cmu/itc/bb/off/.MESSAGES
$local /cmu/itc/bb/.MESSAGES
$external /cmu/itc/netbb/.MESSAGES
mail /home/lectroid/buckaroo/juo/.MESSAGES/mail 2 0YrRAI 618517266
I tried removing the $official, $local and $external lines, and either
the $mail or mail lines, but with out success.
I also have a small problem with SendMessage. Whenever I send a
message, it says the message is from:
"John Oleynick9bww:706:53" <juo>
My uid is 706, my gid is 53, and 9bww are the last 4 characters
of my encrypted password, so it looks like it isn't copying something
quite right from the password file. Also, even though I can't read
anything in vui, I sent a message from it, and it didn't do this.
I am using Andrew from the X11R3 tape, but I running it on X11R2
on a diskless Sun 3/60, connected to a Sun 3/280. Both are running
SunOS 4.0.1, and YP, and I compiled Andrew with the standard
Sun C compiler. Any ideas what is wrong?
Thanks,
John
John Oleynick juo@cloud9.stratus.com
uunet!harvard!husc6!encore!cloud9!juocfe+@ANDREW.CMU.EDU ("Craig F. Everhart") (08/09/89)
> Excerpts from internet.info-andrew: 8-Aug-89 AMS, CUI, VUI problems John > Oleynick@bu-cs.bu.e (1556) > Last week I rebuilt Andrew, this time with AMS. Messages seems to work > OK (except for 1 small problem) , but I can't read my mail with either > CUI or VUI. Whenever I run either of them, they say: > ELI-PRIMITIVE [READ (error opening file)] > INTERNAL [eviEvalList (functionless symbol at list car)] > And tell me that I have no mail. Messages finds my mail fine, though. This seems real weird: Messages, CUI, and VUI all use exactly the same code to read and handle your mail. > I also have a small problem with SendMessage. Whenever I send a > message, it says the message is from: > "John Oleynick9bww:706:53" <juo> > My uid is 706, my gid is 53, and 9bww are the last 4 characters > of my encrypted password, so it looks like it isn't copying something > quite right from the password file. Also, even though I can't read > anything in vui, I sent a message from it, and it didn't do this. I believe that this problem is one I fixed a couple of weeks ago in andrew/ams/libs/ms/init.c, the GetNameFromGecos... procedure. Naturally, there have been other changes to this procedure, not the least of which was renaming it from GetNameFromGecosField to GetNameFromGecos and changing its arguments), but I bet that you could change the code at line 563 of andrew/ams/libs/ms/init.c from: if (*newname) { strncpy(*newname, start, prefixlen); if (ampersand) { char *uname = (*newname) + prefixlen; strcpy(uname, p->pw_name); if (islower(*uname)) *uname = toupper(*uname); strcat(*newname, ampersand+1); } } to: if (*newname) { strncpy(*newname, start, prefixlen); if (ampersand) { char *uname = (*newname) + prefixlen; strcpy(uname, p->pw_name); if (islower(*uname)) *uname = toupper(*uname); strcat(*newname, ampersand+1); } else { char *uname = (*newname) + prefixlen; *uname = '\0'; } } and it would work better. That is, in the case where there wasn't a ``&'' in your pw_gecos field, the name wasn't null-terminated, and this causes the route-phrase in a validated address to have random garbage after it. All this was in the version with this RCS header: $Header: /afs/andrew.cmu.edu/usr13/cfe/src/ams/libs/ms/test/RCS/init.c,v 2.2 88/10/02 15:42:19 ghoti Exp $ Your mileage and line numbers may vary. Thanks, Craig Everhart
juo@cloud9.Stratus.COM (John Oleynick) (08/16/89)
Thanks for the messages help. I installed the fix a few days
ago, and it works fine.
I think I have figured out why vui would not read my mail.
It looks like a minor bug in vui. I'm not sure if this has
already been found and fixed, but here it is anyway.
In andrew/ams/msclients/vui/vuipnl.c, GetCurrentDir seems to be
missing a return statement. It's last statement sets the
status, but it did not return anything. When Dir_Panel, in
andrew/ams/msclients/vui/vui.c called GetCurrentDir, though,
it checked the return value. I guess this usually worked by
compiler luck, register allocation, etc. I made GetCurrentDir
return the status value, and now it seems to work fine. Is this
what it really should return?
I also figured out why cui would not read my mail, it was because
of "operator error".
Here is what I changed. The change was around line 538
of andrew/ams/msclients/vui/vuipnl.c
vuipnl.c:
...
GetCurrentDir (current_dir, status, wantshort)
char *current_dir, *status;
Boolean wantshort;
{
char long_name[MAXPATHLEN+1], *long_name_p = long_name, *shortname;
shortname = dir_data[N_DIR_FIELDS * DIR_CurrentRow].pdata;
*current_dir = '\0';
if (wantshort) {
strcpy(current_dir, shortname);
debug((2,"Returning current directory of %s\n", shortname));
return(0);
}
...
CUI_CacheDirName(shortname, long_name_p);
strcpy(current_dir, long_name_p);
debug((2,"Returning current directory of %s\n", current_dir));
if (status!=NIL) (*status)=dir_data[1+N_DIR_FIELDS*DIR_CurrentRow].pdata[0];
return (*status); /* <-- Added this */
}
...
John
# John Oleynick juo@cloud9.stratus.com #
# uunet!harvard!husc6!encore!cloud9!juo #
# Snappy signature saying coming soon #