• logon flowchart

    From mark lewis@1:3634/12.73 to Digital Man on Sat Dec 3 05:52:56 2016

    looking at the flowchart on http://wiki.synchro.net/config:text_files

    i don't quite understand how all the various text/menu/logon screens are supposed to work... it looks like there could be up to 201 logon*.asc files if all 100 security levels are used as well as having 100 individual logon screens... assuming that 0 (zero) counts as a security level and as a file number... let me explain...

    the chart shows text/menu/logon<security-level>.* followed by text/menu/logon.*
    followed by text/menu/logon1.* thru text/menu/logon99.*... the confusing part is because the security levels are numbers and this chart seems to indicate security level screens will be displayed first, then the logon.asc would be displayed and finally any logon##.asc... is one of those sets of files supposed
    to have maybe a dash or underscore between "logon" and the number to differentiate it from the security-level files??

    eg:
    logon50.asc : shown to users with seclevel 50
    logon-50.asc : shown after logon and logon1 thru 49 if they exist

    i can see having an ordered set of files shown one after the other as if they are one single file... easy to do if no pauses are put in and if the pause reset is used when needed... one could have certain paragraphs in certain of these files to make it easier for maintaining them...

    in some quick testing, i don't see logon<security-level>.* being displayed before logon.asc but it is displayed after... neither logon-##.asc or logon_##.asc are displayed...

    maybe i'm just reading too much into the chart? if so, would it be possible/feasible/sensible to move the logon<security-level> screens to display
    before logon.* and then add logon-##.* or logon_##.* to be displayed afterward?

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... What DO Bartenders do on their night off?
    ---
    * Origin: (1:3634/12.73)
  • From Digital Man@1:103/705 to mark lewis on Sat Dec 3 11:55:44 2016
    Re: logon flowchart
    By: mark lewis to Digital Man on Sat Dec 03 2016 05:52 am

    looking at the flowchart on http://wiki.synchro.net/config:text_files

    i don't quite understand how all the various text/menu/logon screens are supposed to work... it looks like there could be up to 201 logon*.asc files if all 100 security levels are used as well as having 100 individual logon screens... assuming that 0 (zero) counts as a security level and as a file number... let me explain...

    the chart shows text/menu/logon<security-level>.* followed by text/menu/logon.*
    followed by text/menu/logon1.* thru text/menu/logon99.*... the confusing part is because the security levels are numbers and this chart seems to indicate security level screens will be displayed first, then the logon.asc would be displayed and finally any logon##.asc... is one of those sets of files supposed
    to have maybe a dash or underscore between "logon" and the number to differentiate it from the security-level files??

    eg:
    logon50.asc : shown to users with seclevel 50
    logon-50.asc : shown after logon and logon1 thru 49 if they exist

    i can see having an ordered set of files shown one after the other as if they are one single file... easy to do if no pauses are put in and if the pause reset is used when needed... one could have certain paragraphs in certain of these files to make it easier for maintaining them...

    in some quick testing, i don't see logon<security-level>.* being displayed before logon.asc but it is displayed after... neither logon-##.asc or logon_##.asc are displayed...

    maybe i'm just reading too much into the chart? if so, would it be possible/feasible/sensible to move the logon<security-level> screens to display
    before logon.* and then add logon-##.* or logon_##.* to be displayed afterward?

    exec/logon.js is the definitive explanation of how it works and you're welcome to modify it. In summary, yes, the logon<order>.* and logon<sec-level>.* files could be confused, but in practice are not. Sysops usually either use one scheme or the other. And logon.js has logic to not print logon1.* for users with a security level of 1 if it already display logon1, or logon2, etc.

    digital man

    Synchronet "Real Fact" #72:
    Synchronet CIOXTRN (created by Deuce) is a 32-bit replacement for DOORWAY. Norco, CA WX: 65.9oF, 9.0% humidity, 19 mph SSW wind, 0.00 inches rain/24hrs --- SBBSecho 3.00-Win32
    * Origin: Vertrauen - vert.synchro.net (1:103/705)
  • From mark lewis@1:3634/12.73 to Digital Man on Sat Dec 3 16:23:08 2016

    03 Dec 16 11:55, you wrote to me:

    maybe i'm just reading too much into the chart? if so, would it be
    possible/feasible/sensible to move the logon<security-level> screens
    to display before logon.* and then add logon-##.* or logon_##.* to be
    displayed afterward?

    exec/logon.js is the definitive explanation of how it works and you're welcome to modify it. In summary, yes, the logon<order>.* and logon<sec-level>.* files could be confused, but in practice are not.

    how can you tell which one is to be used at what point? that's what i ran into... logon90 was being shown but not logon1 or logon50... that's when i went
    looking and found the chart... since i knew the security level of the user was 90, it suddenly dawned that logon<sec-level> was being used but at the wrong point based on the chart...

    Sysops usually either use one scheme or the other. And logon.js has
    logic to not print logon1.* for users with a security level of 1 if it already display logon1, or logon2, etc.

    hummm... i'll look at the logon.js file... i saw it mentioned in the chart but was unaware that it was controlling all the flow... it look[s|ed] like it was only executed at the top for the logon prompt and nothing else...

    thanks!

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... Yes! Now we're getting somewhere!
    ---
    * Origin: (1:3634/12.73)
  • From mark lewis@1:3634/12.73 to Digital Man on Sat Dec 3 17:29:36 2016

    03 Dec 16 16:23, I wrote to you:

    Sysops usually either use one scheme or the other. And logon.js has
    logic to not print logon1.* for users with a security level of 1 if
    it already display logon1, or logon2, etc.

    hummm... i'll look at the logon.js file... i saw it mentioned in the
    chart but was unaware that it was controlling all the flow... it look[s|ed] like it was only executed at the top for the logon prompt
    and nothing else...

    got it! as the chart depicts, logon<sec-level> are now displayed before logon, logon1, logon2, logon3, etc...

    use logons##.* for logons<ec-level>.*... maybe should be logonS<ec-level> for clarity??

    feature: you can skip logon##.* files and the next highest one will be picked up for display... limited to 99 ("which should be enough for anyone" said in best bill gates voice) O:)

    example flow for seclevel 50 user:
    logons50.asc is displayed
    logon.asc is displayed
    logon1.asc is displayed
    logon2.asc is displayed
    logon3.asc is displayed
    logon4 thru 9 do not exist
    logon10.asc is displayed
    logon11 thru 98 do not exist
    logon99.asc is displayed


    here's the patch...


    ===== snip logon.js.patch =====

    -!- logon.orig.js 2015-05-25 12:46:14.000000000 -0400
    +++ logon.js 2016-12-03 17:07:00.257475939 -0500
    @@ -86,26 +86,21 @@

    // Logon screens

    +// Print logon screens based on security level
    +if(file_exists(system.text_dir + "menu/logons" + user.security.level + ".*")) + bbs.menu("logons" + user.security.level);
    +
    // Print successively numbered logon screens (logon, logon1, logon2, etc.)
    var highest_printed_logon_screen=-1;
    -for(var i=0;;i++) {
    +for(var i=0;i<=99;i++) {
    var fname="logon";
    if(i)
    fname+=i;
    - if(!file_exists(system.text_dir + "menu/" + fname + ".*")) {
    - if(i>1)
    - break;
    - continue;
    - }
    - bbs.menu(fname);
    - highest_printed_logon_screen = i;
    + if(file_exists(system.text_dir + "menu/" + fname + ".*"))
    + bbs.menu(fname);
    + highest_printed_logon_screen = i;
    }

    -// Print logon screens based on security level
    -if(user.security.level > highest_printed_logon_screen
    - && file_exists(system.text_dir + "menu/logon" + user.security.level + ".*"))
    - bbs.menu("logon" + user.security.level);
    -
    // Print one of text/menu/random*.*, picked at random
    // e.g. random1.asc, random2.asc, random3.asc, etc.
    var random_list = directory(system.text_dir + "menu/random*.*");

    ===== snip end of logon.js.patch =====

    can probably get rid of "highest_printed_logon_screen" variable, too... i don't
    know if it might have been used elsewhere and remain in existance when login.js
    finishes executing...

    i have a wide terminal screen and hope this won't wordwrap along the way... tabs are probably converted to spaces, too :( :( i can ship it via other means if necessary... please let me know :)

    max will love the hell out of this if she'll hurry up and get her ass back here
    :lol:


    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... Of course I'm sane. The voices said so.
    ---
    * Origin: (1:3634/12.73)