More fixes for FST-0001 passwword checks

This commit is contained in:
Michiel Broek 2003-08-24 19:19:43 +00:00
parent b3dbbdbb6c
commit e1ef7925a2
4 changed files with 62 additions and 65 deletions

6
TODO
View File

@ -109,11 +109,7 @@ mbcico:
transfers. Changes are under test now. Feedback needed!
N: Implement binkp resync when getting files. Transmit works.
N: FTS-0001 sessions always are secure, the password check is not
good.
N: The FTS-0001 incoming hello packet is not after a session.
Under test now!
mbfile:
L: Add a check to see if the magic filenames are (still) valid.

View File

@ -12,7 +12,7 @@
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 21-Jan-2002</h5>
<h5>Last update 24-Aug-2003</h5>
<P>&nbsp;<P>
<H1>MBSE BBS - Known bugs.</H1>
<P>
@ -28,6 +28,11 @@ slow links and over PPP. This is not a MBSE BBS problem.
<LI>Problems with D'Bridge [1a] mailers.
<LI>mbsetup crashes at several places if in system aka's the domain name is 12 characters long.
<LI>If you have regular sessions with a node wich only supports FTS-0001
sessions and you use a session password you <b>must</b> also set a mail password
and these passwords must be the same. This is a side effect of the way FTS-0001
handshake works, by sending a small mail packet wich contains the password.
</UL>
<A HREF="index.htm"><IMG SRC="images/b_arrow.png" ALT="Back" Border="0">Go Back</A>

View File

@ -62,21 +62,16 @@ FILE *openpkt(FILE *pkt, faddr *addr, char flavor, int session)
if (pkt == NULL) {
if (pktfp) {
Syslog('P', "packet opened, check address");
if (metric(addr,&pktroute) == 0) {
if ((CFG.maxpktsize == 0L) || ((fstat(fileno(pktfp),&st) == 0) && (st.st_size < CFG.maxpktsize))) {
Syslog('P', "return existing fp");
return pktfp;
}
Syslog('P', "packet too big, open new");
closepkt();
} else {
Syslog('P', "address changed, closing fp");
closepkt();
}
}
Syslog('P', "open new packet file");
pktroute.zone = addr->zone;
pktroute.net = addr->net;
pktroute.node = addr->node;
@ -109,8 +104,6 @@ FILE *openpkt(FILE *pkt, faddr *addr, char flavor, int session)
pos = ftell(pkt);
if (pos <= 0L) {
Syslog('P', "creating new .pkt");
Syslog('s', "openpkt() create .pkt in %s mode", session?"session":"mail");
/*
* Write .PKT header, see FSC-0039 rev. 4
@ -143,7 +136,7 @@ FILE *openpkt(FILE *pkt, faddr *addr, char flavor, int session)
memset(&str, 0, 8);
if (session) {
if (noderecord(addr) && strlen(nodes.Epasswd))
if (noderecord(addr) && strlen(nodes.Spasswd))
sprintf(str, "%s", nodes.Spasswd);
} else {
if (noderecord(addr) && strlen(nodes.Epasswd))
@ -186,7 +179,6 @@ void closepkt(void)
{
unsigned char buffer[2];
Syslog('P', "closepkt entered");
memset(&buffer, 0, sizeof(buffer));
if (pktfp) {

View File

@ -328,11 +328,14 @@ file_list *create_filelist(fa_list *al, char *fl, int create)
*/
tmpfl = fl;
while ((flavor = *tmpfl++)) {
Syslog('o', "Check flavor %c", flavor);
/*
* Check normal mail packets
*/
nm = pktname(tmpa->addr,flavor);
if ((nm != NULL) && (stat(nm,&stbuf) == 0)) {
Syslog('o', "found %s", nm);
packets++;
add_list(&st, nm, tmpkname(), KFS, 0L, NULL, 1);
}
@ -358,6 +361,7 @@ file_list *create_filelist(fa_list *al, char *fl, int create)
}
}
Syslog('o', "B4 FTS-0001 checkpoint");
/*
* For FTS-0001 we need to create at least one packet.
*/