Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Enumerate All Level 0 Access Control Profiles on a Target Server

IP.com Disclosure Number: IPCOM000107735D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 50K

Publishing Venue

IBM

Related People

Morris, GL: AUTHOR [+2]

Abstract

The LAN Server API 'NetAccessEnum' gets the list of all the access control profiles (ACLs) on a specified server and stores this list in an output buffer passed to it by the calling routine. Since the maximum size of the output buffer is 64K, the API will fail to retrieve all the ACLs on a server which has more than 64K of level 0 (resource names) ACLs. This problem is solved by using a new subroutine instead of NetAccessEnum for obtaining the list of all the ACLs on a given server.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 85% of the total text.

Enumerate All Level 0 Access Control Profiles on a Target Server

       The LAN Server API 'NetAccessEnum' gets the list of all
the access control profiles (ACLs) on a specified server and stores
this list in an output buffer passed to it by the calling routine.
Since the maximum size of the output buffer is 64K, the API will fail
to retrieve all the ACLs on a server which has more than 64K of level
0 (resource names) ACLs.  This problem is solved by using a new
subroutine instead of NetAccessEnum for obtaining the list of all the
ACLs on a given server.

      The algorithm for obtaining the list of all ACLs on a specified
server is as follows:
      1.  Call NetAccessEnum with basepath = ' ' to get all the ACLs
for the printer and serial device type resources (  PRINT,  COMM )
and copy the ACLs to the output list.
      2.  For each nonremovable drive (C:, D:, etc.) that exists on
the specified server, call NetAccessEnum with basepath = drive:  ( C:
) and if it retrieves all the ACLs in the 64K buffer, copy the ACLs
to the output list and continue with the next drive.  If 64K is not
enough for storing all the ACLs under the drive, call a recursive
function which traverses the drive tree and gets all the ACLs by
calling NetAccessEnum individually for the subdirectories.

      The access control profiles are stored in the output list, as
shown in the figure.  The base address of an array of pointers to all
the level 0 ACLs found on the specif...