• Uploads and Downloads not working... again.

    From High Spirit@VERT/DCBBS to All on Wednesday, December 12, 2018 10:27:47
    My issue from yesterday has returned. Uploads and downloads are not working again. I get the choice to select the protocol (and it does not matter what protocol I use) it just fails with the following error message (tail -f /var/log/messages):

    Dec 12 10:04:21 digitalrealms synchronet: term Node 1 <High Spirit> Node 1 executing external: /sbbs/exec/sexyz 43 -Telnet rz /sbbs/files/sysop/uploads/test.txt
    Dec 12 10:04:21 digitalrealms synchronet: term Node 1 <High Spirit> attempted to upload test .txt to SysOp Area Uploads (Not received)

    I have not changed anything since I got it working yesterday.

    Looking at the Synchronet source code, I figured out that it was the following lines in the upload.cpp having the issue:

    if(!fexistcase(path)) {
    bprintf(text[FileNotReceived],f->name);
    sprintf(str,"attempted to upload %s to %s %s (Not received)"
    ,f->name
    ,cfg.lib[cfg.dir[f->dir]->lib]->sname,cfg.dir[f->dir]->sname);
    logline(LOG_NOTICE,"U!",str);
    return(0);
    }

    So the call to fexistcase(path) is returning as FALSE. I found the fexistcase command in dirwrap.c. My understanding of C/C++ is limited and I do not understand exacly what all the fexistcase function does to the path it is passed and why it fails.

    Could someone tell me what all it does (linux build) so I can try and figure out why it is failing?

    I was able to get exact text of the path it is passing to the command by modifying the source code and adding the path string to the logline. The path string it is passing is below. I can access the path without issues and there is not Upper/Lower case issues.

    /sbbs/files/sysop/uploads/test.txt

    Any help would be appreciated.

    Thanks.

    -- High Spirit Digital Realms Main - connect.digitalrealms.net 23
    Digital Realms C=64 - connect.digitalrealms.net 6400

    ---
    þ Synchronet þ Digital Realms BBS - connect.digitalrealms.net
  • From Digital Man@VERT to High Spirit on Wednesday, December 12, 2018 12:12:37
    Re: Uploads and Downloads not working... again.
    By: High Spirit to All on Wed Dec 12 2018 10:27 am

    My issue from yesterday has returned. Uploads and downloads are not working again. I get the choice to select the protocol (and it does not matter what protocol I use) it just fails with the following error message (tail -f /var/log/messages):

    Dec 12 10:04:21 digitalrealms synchronet: term Node 1 <High Spirit> Node 1 executing external: /sbbs/exec/sexyz 43 -Telnet rz /sbbs/files/sysop/uploads/test.txt
    Dec 12 10:04:21 digitalrealms synchronet: term Node 1 <High Spirit> attempted to upload test .txt to SysOp Area Uploads (Not received)

    Last time you reported this problem you pasted the corresponding error from your data/error.log file:

    Tue Dec 11 2018 12:17 pm digitalrealms.net
    term Node 2 <High Spirit> Node 2 !ERROR 13 executing /sbbs/exec/sexyz

    That "ERROR 13" means "Permission denied":

    /usr/include/asm-generic/errno-base.h:#define EACCES 13 /* Permission denied */

    So the user you're running the BBS as does not have execute permissions on that file (exec/sexyz).

    I have not changed anything since I got it working yesterday.

    That's pretty odd. Maybe someone else changed something? Or something was changed but you just don't realize it.

    Looking at the Synchronet source code, I figured out that it was the following lines in the upload.cpp having the issue:

    if(!fexistcase(path)) {
    bprintf(text[FileNotReceived],f->name);
    sprintf(str,"attempted to upload %s to %s %s (Not received)"
    ,f->name
    ,cfg.lib[cfg.dir[f->dir]->lib]->sname,cfg.dir[f->dir]->sname);
    logline(LOG_NOTICE,"U!",str);
    return(0);
    }

    So the call to fexistcase(path) is returning as FALSE.

    That's the case if the BBS didn't receive the file. Since the BBS can't executed the file transfer protocol driver (sexyz, in this case), it can't receive the file.

    Could someone tell me what all it does (linux build) so I can try and figure out why it is failing?

    The function checks for file existence. The file doesn't exist (it wasn't received).

    I think you look into the sexyz execution failure as the root-cause here.

    digital man

    Synchronet/BBS Terminology Definition #43:
    MUD = Multi-User Dungeon
    Norco, CA WX: 63.5øF, 63.0% humidity, 0 mph SW wind, 0.00 inches rain/24hrs

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From High Spirit@VERT/DCBBS to Digital Man on Wednesday, December 12, 2018 22:49:09
    Re: Uploads and Downloads not working... again.
    By: Digital Man to High Spirit on Wed Dec 12 2018 12:12 pm

    Last time you reported this problem you pasted the corresponding error from your data/error.log file:

    Tue Dec 11 2018 12:17 pm digitalrealms.net
    term Node 2 <High Spirit> Node 2 !ERROR 13 executing /sbbs/exec/sexyz

    That "ERROR 13" means "Permission denied":

    /usr/include/asm-generic/errno-base.h:#define EACCES 13 /*
    Permission denied */

    Digital Man, yes... you are correct. Figured it out. I have a backup program on my one Windows PC that does a backup of the BBS. When it does a backup, it is "clearing the archive attribute" which appears to be an (X) execute flag in linux. I had just set up the backup the other day (Cobain Backup) and explains why it stopped working over night.

    Was interesting how I figured it out. Once I got it working again, I did a backup and well... lol

    Lesson learned.

    -- High Spirit Digital Realms Main - connect.digitalrealms.net 23
    Digital Realms C=64 - connect.digitalrealms.net 6400

    ---
    þ Synchronet þ Digital Realms BBS - connect.digitalrealms.net