Changeset 1053


Ignore:
Timestamp:
Feb 7, 2018, 10:39:40 AM (8 years ago)
Author:
Herwig Bauernfeind
Message:

SMBMon: ACLS browser, missing, recreated stuff

Location:
trunk/guitools
Files:
27 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/guitools/shared/browse.vrs

    r1030 r1053  
    311311    if options.!debug == 1 then say time()'  _BrowseIconsInit() done.'
    312312return
     313
     314/*:VRX */
     315_ACLSBrowse:
     316    browsepath = _browsebuildpath(SMBObj.rh)
     317    ok = VRSet("SW_ACLS","Caption", browsepath)
     318
     319    parse var browsepath '\\'machine'\'sharename '\' browsepath
     320
     321    if browsepath = '' then browsepath = '\'
     322    if UserCred = "" then UserCred = "-N"
     323
     324    /* Make sure credentials are usable */
     325    if UserCred   = 'USERCRED'   | UserCred = '' | UserCred = '--user=%' then UserCred = '-N'
     326
     327    /* We have to remove the double % for smbclient.exe - not entirely clear why */
     328    OldUserCred = UserCred
     329    if pos('%%',UserCred) > 0 & pos("4OS2", value("COMSPEC",,"OS2ENVIRONMENT")) = 0  then do
     330        OldUserCred = UserCred
     331        parse var UserCred '--user='username'%%'password
     332        UserCred = '--user='username'%'password
     333        call lineout "debug", "  Strip double %%!!!"
     334    end
     335    if options.!debug == 1 then say "smbcacls \\"machine"\"sharename" "browsepath" "UserCred" "aclsnumeric
     336    address cmd samba.!smbcaclsexe' \\'machine'\'sharename' 'browsepath' 'UserCred' 'aclsnumeric' 2>'samba.!err' 1>'samba.!msg
     337    ok = file2stem(samba.!msg,"aclsout.")   
     338    ok = file2stem(samba.!err,"aclserr.")
     339    if aclserr.0 > 0 then do
     340        call _StatusBarWrapper aclserr.1
     341        call SW_ACLS_Close
     342    end
     343    if aclsout.0 > 2 then ok = VRSet("DT_REV_CONT","Caption",aclsout.1" "aclsout.2)
     344    do I = 3 to aclsout.0
     345        parse var aclsout.I ACLS.ACL':'ACLS.User':'ACLS.A_D'/'ACLS.Flags'/'ACLS.Permissions
     346        parse var ACLS.User ACLS.Group'\'ACLS.User
     347        arh = VRMethod("CN_ACLS","AddRecord")
     348        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.typeFH,  ACLS.ACL)
     349        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.groupFH, ACLS.Group)
     350        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.userFH,  ACLS.User)
     351        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.ADFH,    ACLS.A_D)
     352        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.flagsFH, ACLS.Flags)
     353        ok = VRMethod("CN_ACLS","SetFieldData", arh, ACL.accessFH,ACLS.Permissions)
     354    end
     355
     356    UserCred = OldUserCred
     357return
  • trunk/guitools/shared/smbtree.vrs

    r1030 r1053  
    740740                   when pos("LOGIN SUCCESSFUL",        trStWT) > 0 then ok = VRSet("DT_STATUSBAR","BACKCOLOR","GREEN")
    741741                   when pos("NT_STATUS_OK",            trStWT) > 0 then ok = VRSet("DT_STATUSBAR","BACKCOLOR","GREEN")
     742                   when pos("OK",                      trStWT) > 0 then ok = VRSet("DT_STATUSBAR","BACKCOLOR","GREEN")
    742743                   when pos("NT_STATUS_ACCESS_DENIED", trStWT) > 0 then ok = VRSet("DT_STATUSBAR","BACKCOLOR","YELLOW")
    743744                   when pos("ERROR",                   trStWT) > 0 then ok = VRSet("DT_STATUSBAR","BACKCOLOR","RED")
  • trunk/guitools/smbmon/smbmon.vrp

    r1038 r1053  
    88VRXWindow: __VREMainWindow,1,2168,3614,1024,6769
    99VRXWindow: __VRESectionListWindow,1,3963,14213,10130,5059
    10 VRXWindow: __VREToolsWindow,1,1518,434,6486,1669
     10VRXWindow: __VREToolsWindow,1,1518,434,5492,1661
    1111VRXWindow: __VREWindListWindow,1,952,11708,5372,3150
    1212UserFile: 1
    1313UserWindow: Main,1
    14 UserWindow: SW_SETTINGS,1
     14UserWindow: SW_ACLS,1
     15UserWindow: SW_LOGIN,1
     16UserWindow: SW_ACLSEdit,1
  • trunk/guitools/smbmon/smbmon.vrx

    r1038 r1053  
    345345    ok = VRSet("ContextMenu_Tree_Sep1",        "Visible", 0)
    346346    ok = VRSet("ContextMenu_Tree_MiniIcons",   "Visible", 0)
     347    ok = VRSet("ContextMenu_Tree_Sep2",        "Visible", 0)
    347348    ok = VRSet("ContextMenu_Tree_Tree",        "Visible", 1)
    348349    ok = VRSet("ContextMenu_Tree_Details",     "Visible", 1)
     
    352353    select
    353354        when SMBObj.udatatype = "WORKGROUP" then do
     355            ok = VRSet("ContextMenu_Tree_Sep2",        "Visible", 1)
    354356            ok = VRSet("ContextMenu_Tree_MiniIcons",   "Visible", 1)
    355357        end
     
    359361            ok = VRSet("ContextMenu_Tree_Logoff",      "Visible", 1)
    360362            ok = VRSet("ContextMenu_Tree_Sep1",        "Visible", 1)
     363            ok = VRSet("ContextMenu_Tree_Sep2",        "Visible", 1)
    361364            ok = VRSet("ContextMenu_Tree_MiniIcons",   "Visible", 1)
    362365        end
     
    364367            ok = VRSet("ContextMenu_Tree_ACLS",        "Visible", 1)
    365368            ok = VRSet("ContextMenu_Tree_Sep1",        "Visible", 1)
     369            ok = VRSet("ContextMenu_Tree_Sep2",        "Visible", 1)
    366370            ok = VRSet("ContextMenu_Tree_MiniIcons",   "Visible", 1)
    367371        end
    368372        when SMBObj.udatatype = "PRINTER" then do
     373            ok = VRSet("ContextMenu_Tree_Sep2",        "Visible", 1)
    369374            ok = VRSet("ContextMenu_Tree_MiniIcons",   "Visible", 1)
    370375        end
     
    768773    call SysLoadFuncs
    769774
    770     call RxFuncAdd 'PRLoadFuncs',  'PR1UTIL', 'PRLoadFuncs'
     775    call RxFuncAdd 'PRLoadFuncs',  'PR1UTIL',  'PRLoadFuncs'
    771776    call PRLoadFuncs
    772777
    773     call rxfuncadd 'IniLoadFuncs', 'REXXINI', 'IniLoadFuncs'
     778    call rxfuncadd 'IniLoadFuncs', 'REXXINI',  'IniLoadFuncs'
    774779    call IniLoadFuncs
     780
     781    call rxfuncadd 'RXUInit',      'RXU',      'RXUInit'
     782    call rxuinit
    775783
    776784    call RxFuncAdd 'RxDate', 'RexxDate', 'RxDate'
     
    12251233        say samba.!logdir
    12261234    end
    1227     loggingfreespace = word(SysDriveInfo(left(samba.!logdir,2)),2)%1024%1024
     1235    if samba.!logdir = 'SAMBA.!LOGDIR' | samba.!Logdir = "" then do
     1236        loggingfreespace = 0
     1237    end
     1238    else loggingfreespace = word(SysDriveInfo(left(samba.!logdir,2)),2)%1024%1024
     1239
    12281240    ok = VRSet("DT_FREESPACE", "Caption", " "loggingfreespace' MB')
    12291241
     
    14231435    credentials.!password = VRGet("EF_PASSWORD1","Value")
    14241436
    1425     if pos("4OS2", value("COMSPEC",,"OS2ENVIRONMENT")) = 1 | pos(left(credentials.!password,1),'01234567890') > 0
     1437    if pos("4OS2", value("COMSPEC",,"OS2ENVIRONMENT")) = 1 /* | pos(left(credentials.!password,1),'01234567890') > 0 */
    14261438        then UserCred = '--user='Credentials.!username'%%'Credentials.!password
    14271439        else UserCred = '--user='Credentials.!username'%'Credentials.!password
     
    15511563        otherwise ok = VRSet("IPB_paper","PicturePath","#5;#5")
    15521564    end */
     1565return
     1566
     1567/*:VRX         CN_ACLS_ContextMenu
     1568*/
     1569CN_ACLS_ContextMenu:
     1570    window = VRLoadSecondary( "SW_ACLSEDIT", "W" )
    15531571return
    15541572
     
    21442162return
    21452163
     2164/*:VRX         ICB_ACLSEDIT_CANCEL_Click
     2165*/
     2166ICB_ACLSEDIT_CANCEL_Click:
     2167    call SW_ACLSEdit_Close
     2168return
     2169
     2170/*:VRX         ICB_ACLSEDIT_OK_Click
     2171*/
     2172ICB_ACLSEDIT_OK_Click:
     2173
     2174    call SW_ACLSEdit_Close
     2175return
     2176
    21462177/*:VRX         ICB_APPLY_Click
    21472178*/
     
    28512882return
    28522883
     2884/*:VRX         SW_ACLS_Activate
     2885*/
     2886SW_ACLS_Activate:
     2887
     2888return
     2889
    28532890/*:VRX         SW_ACLS_Close
    28542891*/
     
    28742911    aclsnumeric = ''
    28752912    call _ACLSBrowse
    2876     ACLSObj = VRGet("SW_ACLS","Caption")
    2877     parse var ACLSObj .'\\'ACLSObj
    2878     ACLSObj = NLVGetMessage(154)' \\'ACLSOBj
    2879     ok = VRSet("SW_ACLS","Caption",ACLSObj)
     2913    if VRIsValidObject("SW_ACLS") then do
     2914        ACLSObj = VRGet("SW_ACLS","Caption")
     2915        parse var ACLSObj .'\\'ACLSObj
     2916        ACLSObj = NLVGetMessage(154)' \\'ACLSOBj
     2917        ok = VRSet("SW_ACLS","Caption",ACLSObj)
     2918    end
    28802919    drop ACLSObj
    28812920return
     
    28902929*/
    28912930SW_ACLS_Init:
     2931    window = VRInfo( "Object" )
     2932    if( \VRIsChildOf( window, "Notebook" ) ) then do
     2933        call VRMethod window, "CenterWindow"
     2934        call VRSet window, "Visible", 1
     2935        call VRMethod window, "Activate"
     2936    end
     2937    drop window
     2938return
     2939
     2940/*:VRX         SW_ACLSEdit_Close
     2941*/
     2942SW_ACLSEdit_Close:
     2943    call SW_ACLSEdit_Fini
     2944return
     2945
     2946/*:VRX         SW_ACLSEdit_Create
     2947*/
     2948SW_ACLSEdit_Create:
     2949    call SW_ACLSEdit_Init
     2950    ok = VRMethod("CN_ACLS","GetRecordList","Selected", "aclsrh.")
     2951    if aclsrh.0 = 0 then return
     2952    drop ACLS.
     2953    do i = 1 to aclsrh.0
     2954        ACLS.ACL         = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.typeFH )
     2955        ACLS.Group       = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.groupFH)
     2956        ACLS.User        = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.userFH)
     2957        ACLS.A_D         = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.ADFH)
     2958        ACLS.Flags       = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.flagsFH)
     2959        ACLS.Permissions = VRMethod("CN_ACLS","GetFieldData", aclsrh.i, ACL.accessFH)
     2960        ok = VRSet("DDCB_ACLS_USER",       "Value", ACLS.Group'\'ACLS.User)
     2961        ok = VRSet("DDCB_ACLS_A_D",        "Value", ACLS.A_D)
     2962        ok = VRSet("DDCB_ACLS_FLAGS",      "Value", ACLS.Flags)
     2963        ok = VRSet("DDCB_ACLS_PERMISSIONS","Value", ACLS.Permissions)
     2964    end
     2965return
     2966
     2967/*:VRX         SW_ACLSEdit_Fini
     2968*/
     2969SW_ACLSEdit_Fini:
     2970    window = VRInfo( "Window" )
     2971    call VRDestroy window
     2972    drop window
     2973return
     2974/*:VRX         SW_ACLSEdit_Init
     2975*/
     2976SW_ACLSEdit_Init:
    28922977    window = VRInfo( "Object" )
    28932978    if( \VRIsChildOf( window, "Notebook" ) ) then do
Note: See TracChangeset for help on using the changeset viewer.