• ZMODEM with QICO

    From alterego@VERT/ALTERANT to All on Mon Apr 13 10:28:43 2020
    Howdy, hoping somebody could help clarify something for me. Does anybody use qico (or did)?ããI've been playwith qico (another ifcico ftn mailer), mainly because ifcico from the debian repositories coredumps when you change some config settings like debugging. It also looks like I can call a tossing action after received mail, which I havent figured out how to do with ifcico (unless I used cron). I'm using it to send mail to my 1995 BBS that is Portal of Power 0.62.ããI noticed that ZedZap transfers wouldnt start, I started debugging the code, and noticed that a <CR> <LF> where not sent from POP with a HEX header (after the CRC) - only an XON. ããI was curious as to why ifcico was working, and from it's code it looks like it doesnt check for <CR><LF> either - in fact it looks like it discards anything received after the CRC (if the CRC matches) (up to the size of the header).ããSo I made the a similar change for qico (I exit if I get the XON), and it works, just wondering if this the right course of action and if there are any side affects?ã...deonããã... California is a fine place to live -- if you happen to be an orange.ãã---ã þ Synchronet þ Alterant | an SBBS in Docker on Pi!ã
  • From Digital Man@VERT to alterego on Sun Apr 12 17:53:50 2020
    Re: ZMODEM with QICOã By: alterego to All on Mon Apr 13 2020 10:28 amãã > Howdy, hoping somebody could help clarify something for me. Does anybody useã > qico (or did)?ã >ã > I've been playwith qico (another ifcico ftn mailer), mainly because ifcicoã > from the debian repositories coredumps when you change some config settingsã > like debugging. It also looks like I can call a tossing action afterã > received mail, which I havent figured out how to do with ifcico (unless Iã > used cron). I'm using it to send mail to my 1995 BBS that is Portal of Powerã > 0.62.ã >ã > I noticed that ZedZap transfers wouldnt start, I started debugging the code,ã > and noticed that a <CR> <LF> where not sent from POP with a HEX headerã > (after the CRC) - only an XON.ã >ã > I was curious as to why ifcico was working, and from it's code it looks likeã > it doesnt check for <CR><LF> either - in fact it looks like it discardsã > anything received after the CRC (if the CRC matches) (up to the size of theã > header).ã >ã > So I made the a similar change for qico (I exit if I get the XON), and itã > works, just wondering if this the right course of action and if there areã > any side affects?ããNever used QICO, but ZedZap is a variant of ZMODEM. If it helps, you can look at the ZMODEM implementation we use for SEXYZ here:ãhttp://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/zmodem.c?view=logãã digital manããThis Is Spinal Tap quote #21:ãSo when you're playing you feel like a preserved moose on stage?ãNorco, CA WX: 57.2øF, 83.0% humidity, 4 mph ESE wind, 0.00 inches rain/24hrsã---ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From alterego@VERT/ALTERANT to Digital Man on Mon Apr 13 14:08:32 2020
    Re: ZMODEM with QICOã By: Digital Man to alterego on Sun Apr 12 2020 05:53 pmãã DM> Never used QICO, but ZedZap is a variant of ZMODEM. If it helps, you canã DM> look at the ZMODEM implementation we use for SEXYZ here:ã DM> http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/zmodem.c?view=logããSo, if I'm reading your code correctly, you are not checking that you actually get the <CR> and <LF> right? (zmodem_recv_hex_header() line 1077).ããIf I read correctly, *if* you get the CR, you then drop the next char, which is probably the LF. But if you didnt get the CR, it doesnt matter, you return TRUE anyway... (In my case the next char is not CR but XON.ããSo, its sounds my fix is OK.ããAnother question if I may, I've noticed that the transfer is stalling each 65536 bytes. Its correctly restarting, but I was wondering if there is something that had to be done every 0xffff bytes received (and is not being done, and thus the constant resend).ããDo you do anything special every 0xffff bytes received or sent?ã...deonããã... It is better to know some of the questions than all of the answers.ãã---ã þ Synchronet þ Alterant | an SBBS in Docker on Pi!ã
  • From Digital Man@VERT to alterego on Sun Apr 12 22:17:45 2020
    Re: ZMODEM with QICOã By: alterego to Digital Man on Mon Apr 13 2020 02:08 pmãã > Re: ZMODEM with QICOã > By: Digital Man to alterego on Sun Apr 12 2020 05:53 pmã >ã > DM> Never used QICO, but ZedZap is a variant of ZMODEM. If it helps, youã > DM> can look at the ZMODEM implementation we use for SEXYZ here:ã > DM> http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/zmodem.c?view=logã >ã > So, if I'm reading your code correctly, you are not checking that youã > actually get the <CR> and <LF> right? (zmodem_recv_hex_header() line 1077).ããIt does *wait* for the CR though. And yes, if recieved, assumes the next char would be an LF and wait to receive it as well.ãã > If I read correctly, *if* you get the CR, you then drop the next char, whichã > is probably the LF. But if you didnt get the CR, it doesnt matter, youã > return TRUE anyway... (In my case the next char is not CR but XON.ããRight, but there will be delays.ãã > So, its sounds my fix is OK.ã >ã > Another question if I may, I've noticed that the transfer is stalling eachã > 65536 bytes. Its correctly restarting, but I was wondering if there isã > something that had to be done every 0xffff bytes received (and is not beingã > done, and thus the constant resend).ã >ã > Do you do anything special every 0xffff bytes received or sent?ããNo, that boundary doesn't ring a bell with ZMODEM.ãã digital manããSynchronet "Real Fact" #108:ãWeedpuller "Falling Star" http://youtu.be/J0ijOUT7KIwãNorco, CA WX: 52.8øF, 94.0% humidity, 2 mph SE wind, 0.00 inches rain/24hrsã---ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From alterego@VERT/ALTERANT to Digital Man on Mon Apr 13 16:38:04 2020
    Re: ZMODEM with QICOã By: Digital Man to alterego on Sun Apr 12 2020 10:17 pmãã >> So, if I'm reading your code correctly, you are not checking that you actually get the <CR> and <LF> right?ã >> (zmodem_recv_hex_header() line 1077).ã DM> It does *wait* for the CR though. And yes, if recieved, assumes the next char would be an LF and wait to receive it as well.ããSorry, for clarity.ããDo you wait for the CR, or what for the next char? If the next char is not CR, it returns true anyway...?ã...deonããã... Living with a saint is more gruelling than being one.ãã---ã þ Synchronet þ Alterant | an SBBS in Docker on Pi!ã
  • From Digital Man@VERT to alterego on Mon Apr 13 00:18:14 2020
    Re: ZMODEM with QICOã By: alterego to Digital Man on Mon Apr 13 2020 04:38 pmãã > Re: ZMODEM with QICOã > By: Digital Man to alterego on Sun Apr 12 2020 10:17 pmã >ã > >> So, if I'm reading your code correctly, you are not checking that youã > actually get the <CR> and <LF> right?ã > >> (zmodem_recv_hex_header() line 1077).ã > DM> It does *wait* for the CR though. And yes, if recieved, assumes theã > DM> next char would be an LF and wait to receive it as well.ã >ã > Sorry, for clarity.ã >ã > Do you wait for the CR, or what for the next char? If the next char is notã > CR, it returns true anyway...?ããIt was for any char. If a char is received and it's a CR, then it waits for another char. Both chars, if received, are discarded. In any case, the function return true (success).ããThe ZMODEM implementation used in SEXYZ is derived from the zmtx/rx project and should follow this reference document closely: http://wiki.synchro.net/ref:zmodemãã digital manããSynchronet "Real Fact" #64:ãSynchronet PCMS (introduced w/v2.0) is Programmable Command and Menu Structure.ãNorco, CA WX: 52.2øF, 96.0% humidity, 3 mph ESE wind, 0.00 inches rain/24hrsã---ã þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.netã
  • From alterego@VERT/ALTERANT to Digital Man on Mon Apr 13 17:57:57 2020
    Re: ZMODEM with QICOã By: Digital Man to alterego on Mon Apr 13 2020 12:18 amãã DM> It was for any char. If a char is received and it's a CR, then it waits for another char. Both chars, if received, are discarded. Inã DM> any case, the function return true (success).ããOK, got it (thats what I thought).ããSo my change for QICO shouldnt have any side affects, given your doing loosly the same thing.ããThanks...ã...deonããã... Genius is one per cent inspiration and ninety-nine per cent perspiration.ãã---ã þ Synchronet þ Alterant | an SBBS in Docker on Pi!ã
  • From Vk3jed@VERT/FREEWAY to alterego on Mon Apr 13 20:49:00 2020
    On 04-13-20 10:28, alterego wrote to All <=-ãã al> @VIA: VERT/ALTERANTã al> Howdy, hoping somebody could help clarify something for me. Doesã al> anybody use qico (or did)?ããI'd be interested in your mods. :)ããã... Does a clean house show that there's a broken computer??ã--- MultiMail/Win v0.51ã þ Synchronet þ Freeway BBS, Bendigo Australia. freeway.apana.org.auã
  • From Dumas Walker@VERT/CAPCITY2 to ALTEREGO on Mon Apr 13 15:10:00 2020
    This message was from VK3JED to ALTEREGOã -------------------------ã-=> On 04-13-20 10:28, alterego wrote to All <=-ãã al> Howdy, hoping somebody could help clarify something for me. Doesã al> anybody use qico (or did)?ãã > I'd be interested in your mods. :)ãã+1ããã * SLMR 2.1a * "We use language??" - Beavisãã---ã þ Synchronet þ CAPCITY2 * capcity2.synchro.net * Telnet/SSH:2022/Rlogin/HTTPã