Added server info

This commit is contained in:
Deon George 2020-09-19 00:08:00 +10:00
parent db61e0d1ce
commit d20a17d3fe
12 changed files with 397 additions and 330 deletions

View File

@ -3,16 +3,61 @@
namespace App\Classes\LDAP; namespace App\Classes\LDAP;
use App\Ldap\Entry; use App\Ldap\Entry;
use Illuminate\Support\Arr;
use Illuminate\Support\Collection; use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Cache;
class Server class Server
{ {
/**
* Query the server for a DN
*
* @param string $dn
* @return array|\LdapRecord\Query\Collection|null
*/
public function children(string $dn)
{
try {
return ($x=(new Entry)
->query()
->select(['dn','hassubordinates'])
->setDn($dn)
->listing()
->get()) ? $x : NULL;
// @todo Tidy up this exception
} catch (\Exception $e) {
dd(['e'=>$e]);
}
}
/**
* Fetch a DN from the server
*
* @param string $dn
* @param array $attrs
* @return array|\LdapRecord\Models\Model|\LdapRecord\Query\Collection|\LdapRecord\Query\Model\Builder|null
*/
public function fetch(string $dn,array $attrs=['*','+'])
{
try {
return ($x=(new Entry)
->query()
->select($attrs)
->find($dn)) ? $x : NULL;
// @todo Tidy up this exception
} catch (\Exception $e) {
dd(['e'=>$e]);
}
}
/** /**
* Gets the root DN of the specified LDAPServer, or NULL if it * Gets the root DN of the specified LDAPServer, or NULL if it
* can't find it (ie, the server won't give it to us, or it isnt * can't find it (ie, the server won't give it to us, or it isnt
* specified in the configuration file). * specified in the configuration file).
* *
* @return array array|NULL The root DN(s) of the server on success (string) or NULL if it cannot be determine. * @return Collection|null array|NULL The root DN(s) of the server on success (string) or NULL if it cannot be determine.
* @todo Sort the entries, so that they are in the correct DN order. * @todo Sort the entries, so that they are in the correct DN order.
*/ */
public function getBaseDN(): ?Collection public function getBaseDN(): ?Collection
@ -53,44 +98,58 @@ class Server
} }
/** /**
* Fetch a DN from the server * Given an LDAP OID number, returns a verbose description of the OID.
* This function parses ldap_supported_oids.txt and looks up the specified
* OID, and returns the verbose message defined in that file.
* *
* @param $dn * <code>
* @return |null * Array (
*/ * [title] => All Operational Attribute
public function fetch(string $dn,array $attrs=['*','+']) * [ref] => RFC 3673
{ * [desc] => An LDAP extension which clients may use to request the return of all operational attributes.
try { * )
return ($x=(new Entry) * </code>
->query()
->select($attrs)
->find($dn)) ? $x : NULL;
// @todo Tidy up this exception
} catch (\Exception $e) {
dd(['e'=>$e]);
}
}
/**
* Query the server for a DN
* *
* @param string $dn * @param string $oid The OID number (ie, "1.3.6.1.4.1.4203.1.5.1") of the OID of interest.
* @return |null * @param string $key The title|ref|desc to return
* @return string|null
*/ */
public function children(string $dn) public static function getOID(string $oid,string $key): ?string
{ {
try { $oids = Cache::remember('oids',86400,function() {
return ($x=(new Entry)
->query() try {
->select(['dn','hassubordinates']) $f = fopen(config_path('ldap_supported_oids.txt'),'r');
->setDn($dn)
->listing()
->get()) ? $x : NULL;
// @todo Tidy up this exception
} catch (\Exception $e) { } catch (\Exception $e) {
dd(['e'=>$e]); return NULL;
} }
$result = collect();
while (! feof($f)) {
$line = trim(fgets($f));
if (! $line OR preg_match('/^#/',$line))
continue;
$fields = explode(':',$line);
$result->put(Arr::get($fields,0),[
'title'=>Arr::get($fields,1),
'ref'=>Arr::get($fields,2),
'desc'=>Arr::get($fields,3),
]);
}
fclose($f);
return $result;
});
return Arr::get(
($oids ? $oids->get($oid) : []),
$key,
($key == 'desc' ? 'No description available, can you help with one?' : ($key == 'title' ? $oid : ''))
);
} }
} }

View File

@ -4,15 +4,18 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Arr; use Illuminate\Support\Arr;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Crypt;
use App\Classes\LDAP\Server;
use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\File;
use App\Ldap\Entry;
use App\Classes\LDAP\Server;
class HomeController extends Controller class HomeController extends Controller
{ {
public function home() { public function home()
{
$o = new Server; $o = new Server;
return view('home') return view('home')
@ -28,12 +31,49 @@ class HomeController extends Controller
})); }));
} }
public function render(Request $request) { public function info()
{
$attrs = collect((new Entry)->rootDSE()->getAttributes())
->transform(function($item,$key) {
foreach ($item as $k=>$v) {
if (preg_match('/[0-9]+\.[0-9]+\.[0-9]+/',$v)) {
$format = sprintf(
'<abbr class="pb-1" title="%s"><i class="fas fa-list-ol pr-2"></i>%s</abbr>%s<p class="mb-0">%s</p>',
$v,
Server::getOID($v,'title'),
($x=Server::getOID($v,'ref')) ? sprintf('<abbr class="pl-2" title="%s"><i class="fas fa-comment-dots"></i></abbr>',$x) : '',
Server::getOID($v,'desc'),
);
$item[$k] = $format;
}
}
return $item;
});
return view('widgets.dn')
->with('dn','Server Info')
->with('attributes',$this->sortAttrs($attrs));
}
public function render(Request $request)
{
$dn = Crypt::decryptString($request->post('key')); $dn = Crypt::decryptString($request->post('key'));
return view('widgets.dn') return view('widgets.dn')
->with('dn',$dn) ->with('dn',$dn)
->with('leaf',(new Server())->fetch($dn)); ->with('leaf',$x=(new Server())->fetch($dn))
->with('attributes',$this->sortAttrs(collect($x->getAttributes())));
}
/**
* Sort the attributes
*
* @param Collection $attrs
* @return Collection
*/
private function sortAttrs(Collection $attrs): Collection
{
return $attrs->sortKeys();
} }
/** /**

View File

@ -12,4 +12,14 @@ class Entry extends Model
* @var array * @var array
*/ */
public static $objectClasses = []; public static $objectClasses = [];
public function rootDSE($connection = null)
{
return static::on($connection ?? (new static)->getConnectionName())
->in(null)
->read()
->select(['+'])
->whereHas('objectclass')
->firstOrFail();
}
} }

View File

@ -0,0 +1,189 @@
# If you find some reliable and more meaningful descriptions to this OIDS,
# then please let the phpldapadmin development know so that this file can be
# more descriptive.
# Format
# OID:Title:RFC Ref:Detail
1.2.826.0.1.334810.2.3:LDAP_CONTROL_VALUESRETURNFILTER
1.2.826.0.1.3344810.2.3:Matched Values Control:RFC 3876:Describes a control for the LDAP v3 that is used to return a subset of attribute values from an entry. Specifically, only those values that match a 'values return' filter. Without support for this control, a client must retrieve all of an attribute's values and search for specific values locally.
1.2.826.0.1050.11.1.1:Read-Only LDAP Server
1.2.826.0.1050.11.2.1:Read-Write LDAP Server
1.2.826.0.1050.11.3.1:White Pages Application LDAP Server
1.2.826.0.1050.11.4.1:Certificate Application LDAP Server
1.2.826.0.1050.11.5.1:Single Sign On Application LDAP Server
1.2.840.113549.6.0.0:Signed Operation
1.2.840.113549.6.0.1:Demand Signed Result
1.2.840.113549.6.0.2:Signed Result RFC 2649
1.2.840.113556.1.4.319:Simple Paged Results Manipulation Control Extension:RFC 2696:This control extension allows a client to control the rate at which an LDAP server returns the results of an LDAP search operation. This control may be useful when the LDAP client has limited resources and may not be able to process the entire result set from a given LDAP query, or when the LDAP client is connected over a low-bandwidth connection.
1.2.840.113556.1.4.417:Show deleted control::The LDAP_SERVER_SHOW_DELETED_OID control is used with an extended LDAP search function to specify that the search results include any deleted objects that match the search filter.
1.2.840.113556.1.4.473:LDAP Server Sort Result extension:draft-ietf-ldapext-sorting-01:This control is included in the searchRequest message as part of the controls field of the LDAPMessage.
1.2.840.113556.1.4.474:LDAP Server Sort Result extension response control::This control is included in the searchResultDone message as part of the controls field of the LDAPMessage
1.2.840.113556.1.4.521:Cross-domain move control::The LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID control is used with an extended LDAP rename function to move an LDAP object from one domain to another. The control specifies the DNS hostname of the domain controller in the destination domain.
1.2.840.113556.1.4.528:Server search notification control::The LDAP_SERVER_NOTIFICATION_OID control is used with an extended LDAP asynchronous search function to register the client to be notified when changes are made to an object in Active Directory.
1.2.840.113556.1.4.529:Extended DN control::The LDAP_SERVER_EXTENDED_DN_OID control is used with an extended LDAP search function to request an extended form of an Active Directory object distinguished name. The extended form includes a string representation of the object objectGUID property. For security principal objects such as users, groups, and computers, the extended form also includes a string representation of the object objectSID property.
1.2.840.113556.1.4.616:LDAP_CONTROL_REFERRALS
1.2.840.113556.1.4.619:Lazy commit control::The LDAP_SERVER_LAZY_COMMIT_OID control is used to instruct the server to return the results of a DS modification command, such as add, delete, or replace, after it has been completed in memory, but before it has been committed to disk. The server can then return results quickly, and save the data to disk without holding the client.
1.2.840.113556.1.4.800:LDAP_CAP_ACTIVE_DIRECTORY_OID::This is an Actrive Directory Server (Win2k and later).
1.2.840.113556.1.4.801:Security descriptor flags control::The LDAP_SERVER_SD_FLAGS_OID control is used to pass flags to the server to control various security descriptor results.
1.2.840.113556.1.4.802:Attribute Range Option::Server supports the Range property enabling clients to incremental retrieve values from multivalue attributes.
1.2.840.113556.1.4.803:LDAP_MATCHING_RULE_BIT_AND
1.2.840.113556.1.4.804:LDAP_MATCHING_RULE_BIT_OR
1.2.840.113556.1.4.805:Tree Delete::The LDAP_SERVER_TREE_DELETE_OID control is used with an extended LDAP delete function to delete an entire subtree in the directory.
1.2.840.113556.1.4.841:Directory synchronization control::The LDAP_SERVER_DIRSYNC_OID control enables an application to search the directory for objects changed from a previous state. It is also used with the extended LDAP search functions such as ldap_search_ext.
1.2.840.113556.1.4.906:Microsoft Large Integer
1.2.840.113556.1.4.970:Get stats control (Stateless)
1.2.840.113556.1.4.1302:Microsoft OID used with DEN Attributes
1.2.840.113556.1.4.1338:Verify name control::The LDAP_SERVER_VERIFY_NAME_OID control is used with extended LDAP add and modify requests to instruct the DC accepting the update which DC it should verify with, the existence of any DN attribute values.
1.2.840.113556.1.4.1339:LDAP_SERVER_DOMAIN_SCOPE_OID::The LDAP_SERVER_DOMAIN_SCOPE_OID control is used to instruct the LDAP server not to generate any referrals when completing a request. This control also limits any search using it to a single naming context.
1.2.840.113556.1.4.1340:Search options control:: The LDAP_SERVER_SEARCH_OPTIONS_OID control is used to pass flags to the server to control various search behaviors.
1.2.840.113556.1.4.1413:LDAP ease modify restrictions::Allows an LDAP modify to work under less restrictive conditions. Without it, a delete will fail if an attribute does not exist, and an add will fail if an attribute already exists.
1.2.840.113556.1.4.1504:Attribute scoped query control::The LDAP_SERVER_ASQ_OID control is used with an extended LDAP search function to force the query to be based on a specific DN-valued attribute. Only one source attribute can be specified with this control and the search request is limited to base object scoped queries.
1.2.840.113556.1.4.1670:LDAP_CAP_ACTIVE_DIRECTORY_V51_OID::This server is a Whistler Active Directory server (Win2k3 and later).
1.2.840.113556.1.4.1781:Fast concurrent bind extended operation::The Microsoft LDAP API will send an extended request with this name to Active Directory to request that all binds on this connection be processed as 'fast' binds.
1.2.840.113556.1.4.1791:LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID::LDAP server is capable of doing signing and sealing on an NTLM authenticated connection, and that the server is capable of performing subsequent binds on a signed or sealed connection.
1.2.840.113556.1.4.1852:LDAP_SERVER_QUOTA_CONTROL_OID::The LDAP_SERVER_QUOTA_CONTROL_OID control is used to pass the SID of a security principal, whose quota is being queried, to the server in a LDAP search operation.
1.3.6.1.1.7.1:LCUP Sync Request Control. RFC 3928 control
1.3.6.1.1.7.2:LCUP Sync Update Control. RFC 3928 control
1.3.6.1.1.7.3:LCUP Sync Done Control. RFC 3928 control
1.3.6.1.1.8:Cancel Operation. RFC 3909 extension
1.3.6.1.1.12:Assertion Control:RFC 4511:The assertion control allows the client to specify a condition that must be true for the operation to be processed normally.
1.3.6.1.1.13.1:Pre-Read Controls::The Pre-Read request control, indicates that a copy of the entry before application of update is to be returned.
1.3.6.1.1.13.2:Post-Read Controls::The Pre-Read request control, indicates that a copy of the entry before application of update is to be returned.
1.3.6.1.1.14:Modify-Increment Extension:RFC 4525:An extension to the Lightweight Directory Access Protocol (LDAP) Modify operation to support an increment capability.
1.3.6.1.4.1.42.2.27.8.5.1:passwordPolicyRequest
1.3.6.1.4.1.42.2.27.9.5.2:GetEffectiveRights control::May be used to determine what operations a given user may perform on a specified entry.
1.3.6.1.4.1.1466.101.119.1:Dynamic Directory Services Refresh Request:RFC 2589
1.3.6.1.4.1.1466.20036:LDAP_NOTICE_OF_DISCONNECTION
1.3.6.1.4.1.1466.20037:Transport Layer Security Extension:RFC 2830:This operation provides for TLS establishment in an LDAP association and is defined in terms of an LDAP extended request.
1.3.6.1.4.1.1466.29539.1:LDAP_CONTROL_ATTR_SIZELIMIT
1.3.6.1.4.1.1466.29539.2:LDAP_CONTROL_NO_COPY
1.3.6.1.4.1.1466.29539.3:LDAP_CONTROL_PARTIAL_COPY
1.3.6.1.4.1.1466.29539.5:LDAP_CONTROL_NO_CHAINING
1.3.6.1.4.1.1466.29539.7:LDAP_CONTROL_ALIAS_ON_UPDATE
1.3.6.1.4.1.1466.29539.10:LDAP_CONTROL_TRIGGER
1.3.6.1.4.1.1466.29539.12:nsTransmittedControl
1.3.6.1.4.1.4203.1.5.1:All Operational Attribute:RFC 3673:An LDAP extension which clients may use to request the return of all operational attributes.
1.3.6.1.4.1.4203.1.5.2:Requesting Attributes by Object Class:draft-zeilenga-ldap-adlist-10.txt:Extends LDAP to support a mechanism that LDAP clients may use to request the return of all attributes of an object class.
1.3.6.1.4.1.4203.1.5.3:LDAP Absolute True and False Filters:draft-zeilenga-ldap-t-f-10.txt:Implementations of this extension SHALL allow 'and' and 'or' choices with zero filter elements.
1.3.6.1.4.1.4203.1.5.4:Language Tags:RFC 3866:Supports storing attributes with language tag options in the DIT
1.3.6.1.4.1.4203.1.5.5:Language Ranges:RFC 3866:Supports language range matching of attributes with language tag options stored in the DIT
1.3.6.1.4.1.4203.1.9.1.1:LDAP Content Synchronization Control:draft=zeilenga-ldup-sync-06.txt:The operation allows a client to maintain a copy of a fragment of directory information tree. It supports both polling for changes and listening for changes. The operation is defined as an extension of the LDAP Search Operation.
1.3.6.1.4.1.4203.1.10.1:Subentries in LDAP:RFC 3672:The subentries control MAY be sent with a searchRequest to control the visibility of entries and subentries which are within scope. Non-visible entries or subentries are not returned in response to the request.
1.3.6.1.4.1.4203.1.10.2:LDAP No-Op Control:draft-zeilenga-ldap-noop-02.txt:The No-Op control can be used to disable the normal effect of an operation. The control can be used to discover how a server might react to a particular update request without updating the directory.
1.3.6.1.4.1.4203.1.11.1:LDAP Password Modify Extended Operation:RFC 3062:An LDAP extended operation to allow modification of user passwords which is not dependent upon the form of the authentication identity nor the password storage mechanism used.
1.3.6.1.4.1.4203.1.11.2:LDAP Cancel Extended Operation
1.3.6.1.4.1.4203.1.11.3:Who Am I? Extended Operation:draft-zeilenga-ldap-authzid-10.txt:This specification provides a mechanism for Lightweight Directory Access Protocol (LDAP) clients to obtain the authorization identity which the server has associated with the user or application entity.
1.3.6.1.4.1.4203.666.5.1:Subentries Control
1.3.6.1.4.1.4203.666.5.2:NO OP Control
1.3.18.0.2.12.1:The ACL credential controls provide a method to flow a subject's credentials associated with a bind.
1.3.18.0.2.12.5:tranExtOpInit
1.3.18.0.2.12.6:tranExtOpInit
2.16.840.1.113531.18.2.1:LDAP_C_SETOPTIONS_OID
2.16.840.1.113531.18.2.2:LDAP_C_SETDONTUSECOPY_OID
2.16.840.1.113531.18.2.3:LDAP_C_SETLOCALSCOPE_OID
2.16.840.1.113531.18.2.4:Return operational attributes as well as user attributes
2.16.840.1.113531.18.2.5:Return only subentries
2.16.840.1.113531.18.2.6:LDAP_C_SETUSEALIAS_OID
2.16.840.1.113531.18.2.7:LDAP_C_SETPREFERCHAIN_OID
2.16.840.1.113531.18.2.8:LDAP_C_SETX500DN_OID
2.16.840.1.113531.18.2.9:LDAP_C_SETCOPYSHALLDO_OID
2.16.840.1.113531.18.2.10:LDAP_C_SETDONTMAPATTRS_OID
2.16.840.1.113531.18.2.11:Return normal entries as well as sub-entries
2.16.840.1.113719.1.27.99.1:Superior References
2.16.840.1.113719.1.27.100.1:ndsToLdapResponse
2.16.840.1.113719.1.27.100.2:ndsToLdapRequest
2.16.840.1.113719.1.27.100.3:createNamingContextRequest
2.16.840.1.113719.1.27.100.4:createNamingContextResponse
2.16.840.1.113719.1.27.100.5:mergeNamingContextRequest
2.16.840.1.113719.1.27.100.6:mergeNamingContextResponse
2.16.840.1.113719.1.27.100.7:addReplicaRequest
2.16.840.1.113719.1.27.100.8:addReplicaResponse
2.16.840.1.113719.1.27.100.9:refreshLDAPServerRequest
2.16.840.1.113719.1.27.100.10:refreshLDAPServerResponse
2.16.840.1.113719.1.27.100.11:removeReplicaRequest
2.16.840.1.113719.1.27.100.12:removeReplicaResponse
2.16.840.1.113719.1.27.100.13:namingContextEntryCountRequest
2.16.840.1.113719.1.27.100.14:namingContextEntryCountResponse
2.16.840.1.113719.1.27.100.15:changeReplicaTypeRequest
2.16.840.1.113719.1.27.100.16:changeReplicaTypeResponse
2.16.840.1.113719.1.27.100.17:getReplicaInfoRequest
2.16.840.1.113719.1.27.100.18:getReplicaInfoResponse
2.16.840.1.113719.1.27.100.19:listReplicaRequest
2.16.840.1.113719.1.27.100.20:listReplicaResponse
2.16.840.1.113719.1.27.100.21:receiveAllUpdatesRequest
2.16.840.1.113719.1.27.100.22:receiveAllUpdatesResponse
2.16.840.1.113719.1.27.100.23:sendAllUpdatesRequest
2.16.840.1.113719.1.27.100.24:sendAllUpdatesResponse
2.16.840.1.113719.1.27.100.25:requestNamingContextSyncRequest
2.16.840.1.113719.1.27.100.26:requestNamingContextSyncResponse
2.16.840.1.113719.1.27.100.27:requestSchemaSyncRequest
2.16.840.1.113719.1.27.100.28:requestSchemaSyncResponse
2.16.840.1.113719.1.27.100.29:abortNamingContextOperationRequest
2.16.840.1.113719.1.27.100.30:abortNamingContextOperationResponse
2.16.840.1.113719.1.27.100.31:Get Bind DN Request
2.16.840.1.113719.1.27.100.32:Get Bind DN Response
2.16.840.1.113719.1.27.100.33:Get Effective Privileges Request
2.16.840.1.113719.1.27.100.34:Get Effective Privileges Response
2.16.840.1.113719.1.27.100.35:Set Replication Filter Request
2.16.840.1.113719.1.27.100.36:Set Replication Filter Response
2.16.840.1.113719.1.27.100.37:Get Replication Filter Request
2.16.840.1.113719.1.27.100.38:Get Replication Filter Response
2.16.840.1.113719.1.27.100.39:Create Orphan Partition Request
2.16.840.1.113719.1.27.100.40:Create Orphan Partition Response
2.16.840.1.113719.1.27.100.41:Remove Orphan Partition Request
2.16.840.1.113719.1.27.100.42:Remove Orphan Partition Response
2.16.840.1.113719.1.27.100.43:Trigger Backlinker Request
2.16.840.1.113719.1.27.100.44:Trigger Backlinker Response
2.16.840.1.113719.1.27.100.47:Trigger Janitor Request
2.16.840.1.113719.1.27.100.48:Trigger Janitor Response
2.16.840.1.113719.1.27.100.49:Trigger Limber Request
2.16.840.1.113719.1.27.100.50:Trigger Limber Response
2.16.840.1.113719.1.27.100.51:Trigger Skulker Request
2.16.840.1.113719.1.27.100.52:Trigger Skulker Response
2.16.840.1.113719.1.27.100.53:Trigger Schema Synch Request
2.16.840.1.113719.1.27.100.54:Trigger Schema Synch Response
2.16.840.1.113719.1.27.100.55:Trigger Partition Purge Request
2.16.840.1.113719.1.27.100.56:Trigger Partition Purge Response
2.16.840.1.113719.1.27.100.79:Monitor Events Request
2.16.840.1.113719.1.27.100.80:Monitor Events Response
2.16.840.1.113719.1.27.100.81:Event Notification
2.16.840.1.113719.1.27.101.1:Duplicate Entry Request
2.16.840.1.113719.1.27.101.2:DuplicateSearchResult
2.16.840.1.113719.1.27.101.3:DuplicateEntryResponseDone
2.16.840.1.113719.1.27.101.5:Simple Password
2.16.840.1.113719.1.27.101.6:Forward Reference
2.16.840.1.113719.1.142.100.1:startFramedProtocolRequest
2.16.840.1.113719.1.142.100.2:startFramedProtocolResponse
2.16.840.1.113719.1.142.100.3:ReplicationUpdate
2.16.840.1.113719.1.142.100.4:endFramedProtocolRequest
2.16.840.1.113719.1.142.100.5:endFramedProtocolResponse
2.16.840.1.113719.1.142.100.6:lburpOperationRequest
2.16.840.1.113719.1.142.100.7:lburpOperationResponse
2.16.840.1.113730.3.4:Netscape LDAPv3 controls
2.16.840.1.113730.3.4.2:ManageDsaIT Control:RFC 3296:The client may provide the ManageDsaIT control with an operation to indicate that the operation is intended to manage objects within the DSA (server) Information Tree. The control causes Directory-specific entries (DSEs), regardless of type, to be treated as normal entries allowing clients to interrogate and update these entries using LDAP operations.
2.16.840.1.113730.3.4.3:Persistent Search LDAPv3 control
2.16.840.1.113730.3.4.4:Netscape Password Expired LDAPv3 control
2.16.840.1.113730.3.4.5:Netscape Password Expiring LDAPv3 control
2.16.840.1.113730.3.4.6:Netscape NT Synchronization Client LDAPv3 control
2.16.840.1.113730.3.4.7:Entry Change Notification LDAPv3 control
2.16.840.1.113730.3.4.8:Transaction ID Request Control
2.16.840.1.113730.3.4.9:VLV Request LDAPv3 control::As defined in the 'LDAPv3 Extensions for Virtual List View' IETF document.
2.16.840.1.113730.3.4.10:VLV Response LDAPv3 control::As defined in the 'LDAPv3 Extensions for Virtual List View' IETF document.
2.16.840.1.113730.3.4.11:Transaction ID Response Control
2.16.840.1.113730.3.4.12:Proxied Authorization (version 1) control:draft-weltman-ldapv3-proxy-05:For assuming the identity of another entry for the duration of a request. This has been replaced by a new 'version 2' Proxied Authorization control.
2.16.840.1.113730.3.4.13:iPlanet Directory Server Replication Update Information Control
2.16.840.1.113730.3.4.14:iPlanet Directory Server 'search on specific backend' control
2.16.840.1.113730.3.4.15:Authentication Response Control
2.16.840.1.113730.3.4.16:Authentication Request Control
2.16.840.1.113730.3.4.17:Real Attributes Only Request Control
2.16.840.1.113730.3.4.18:LDAP Proxied Authorization Control:draft-weltman-ldapv3-proxy-06.txt:The Proxied Authorization Control allows a client to request that an operation be processed under a provided authorization identity [AUTH] instead of as the current authorization identity associated with the connection.
2.16.840.1.113730.3.4.19:Virtual Attributes Only Request Control
2.16.840.1.113730.3.4.20:Use One Backend
2.16.840.1.113730.3.4.999:iPlanet Replication Modrdn Extra Mods Control
2.16.840.1.113730.3.5.3:iPlanet Start Replication Request Extended Operation
2.16.840.1.113730.3.5.4:iPlanet Replication Response Extended Operation
2.16.840.1.113730.3.5.5:iPlanet End Replication Request Extended Operation
2.16.840.1.113730.3.5.6:iPlanet Replication Entry Request Extended Operation
2.16.840.1.113730.3.5.7:iPlanet Bulk Import Start Extended Operation
2.16.840.1.113730.3.5.8:iPlanet Bulk Import Finished Extended Operation
2.16.840.1.113730.3.5.9:iPlanet Digest authentication calculation

View File

@ -1,29 +0,0 @@
<?php
/**
* Show a simple welcome page.
*
* @package phpLDAPadmin
* @subpackage Page
*/
/**
*/
require './common.php';
echo '<div style="text-align: center;">';
echo '<br /><br />';
printf('<img src="%s/logo.png" title="%s" alt="%s" />',IMGDIR,_('phpLDAPadmin logo'),_('phpLDAPadmin logo'));
echo '<br /><br />';
echo _('Use the menu to the left to navigate');
echo '<br /><br />';
if ($_SESSION[APPCONFIG]->isCommandAvailable('cmd','oslinks')) {
printf('<a href="%s" onclick="target=\'_blank\';">%s</a>',get_href('credits'),_('Credits'));
printf(' | <a href="%s" onclick="target=\'_blank\';">%s</a>',get_href('documentation'),_('Documentation'));
printf(' | <a href="%s" onclick="target=\'_blank\';">%s</a>',get_href('donate'),_('Donate'));
echo '<br /><br />';
}
echo '</div>';
?>

View File

@ -1927,66 +1927,6 @@ function pla_verbose_error($key) {
return array('title' => null,'desc' => null); return array('title' => null,'desc' => null);
} }
/**
* Given an LDAP OID number, returns a verbose description of the OID.
* This function parses ldap_supported_oids.txt and looks up the specified
* OID, and returns the verbose message defined in that file.
*
* <code>
* Array (
* [title] => All Operational Attribute
* [ref] => RFC 3673
* [desc] => An LDAP extension which clients may use to request the return of all operational attributes.
* )
* </code>
*
* @param string The OID number (ie, "1.3.6.1.4.1.4203.1.5.1") of the OID of interest.
* @return array An associative array contianing the OID title and description like so:
*/
function support_oid_to_text($key) {
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs);
static $CACHE = array();
$unknown = array();
$unknown['desc'] = 'We have no description for this OID, if you know what this OID provides, please let us know. Please also include an RFC reference if it is available.';
$unknown['title'] = 'Can you help with this OID info?';
if (! count($CACHE)) {
$source_file = LIBDIR.'ldap_supported_oids.txt';
if (! file_exists($source_file) || ! is_readable($source_file) || ! ($f = fopen($source_file,'r')))
return false;
$contents = fread($f,filesize($source_file));
fclose($f);
$entries = array();
preg_match_all("/[0-9]\..+\s+\"[^\"]*\"\n/",$contents,$entries);
foreach ($entries[0] as $values) {
$entry = array();
preg_match("/([0-9]\.([0-9]+\.)*[0-9]+)(\s+\"([^\"]*)\")?(\s+\"([^\"]*)\")?(\s+\"([^\"]*)\")?/",$values,$entry);
$oid_id = isset($entry[1]) ? $entry[1] : null;
if ($oid_id) {
$CACHE[$oid_id]['title'] = isset($entry[4]) ? $entry[4] : null;
$CACHE[$oid_id]['ref'] = isset($entry[6]) ? $entry[6] : null;
$desc = isset($entry[8]) ? $entry[8] : sprintf('<acronym title="%s">%s</acronym>',$unknown['desc'],$unknown['title']);
$CACHE[$oid_id]['desc'] = preg_replace('/\s+/',' ',$desc);
}
}
}
if (isset($CACHE[$key]))
return $CACHE[$key];
else
return array(
'title'=>$key,
'ref'=>null,
'desc'=>sprintf('<acronym title="%s">%s</acronym>',$unknown['desc'],$unknown['title']));
}
/** /**
* Print an LDAP error message * Print an LDAP error message
*/ */

View File

@ -1,187 +0,0 @@
# If you find some reliable and more meaningful descriptions to this OIDS,
# then please let the phpldapadmin development know so that this file can be
# more descriptive.
1.2.826.0.1.334810.2.3 "LDAP_CONTROL_VALUESRETURNFILTER"
1.2.826.0.1.3344810.2.3 "Matched Values Control" "RFC 3876" "Describes a control for the LDAP v3 that is used to return a subset of attribute values from an entry. Specifically, only those values that match a 'values return' filter. Without support for this control, a client must retrieve all of an attribute's values and search for specific values locally."
1.2.826.0.1050.11.1.1 "Read-Only LDAP Server"
1.2.826.0.1050.11.2.1 "Read-Write LDAP Server"
1.2.826.0.1050.11.3.1 "White Pages Application LDAP Server"
1.2.826.0.1050.11.4.1 "Certificate Application LDAP Server"
1.2.826.0.1050.11.5.1 "Single Sign On Application LDAP Server"
1.2.840.113549.6.0.0 "Signed Operation"
1.2.840.113549.6.0.1 "Demand Signed Result"
1.2.840.113549.6.0.2 "Signed Result RFC 2649"
1.2.840.113556.1.4.319 "Simple Paged Results Manipulation Control Extension" "RFC 2696" "This control extension allows a client to control the rate at which an LDAP server returns the results of an LDAP search operation. This control may be useful when the LDAP client has limited resources and may not be able to process the entire result set from a given LDAP query, or when the LDAP client is connected over a low-bandwidth connection."
1.2.840.113556.1.4.417 "Show deleted control" "" "The LDAP_SERVER_SHOW_DELETED_OID control is used with an extended LDAP search function to specify that the search results include any deleted objects that match the search filter."
1.2.840.113556.1.4.473 "LDAP Server Sort Result extension" "draft-ietf-ldapext-sorting-01" "This control is included in the searchRequest message as part of the controls field of the LDAPMessage."
1.2.840.113556.1.4.474 "LDAP Server Sort Result extension response control" "" "This control is included in the searchResultDone message as part of the controls field of the LDAPMessage"
1.2.840.113556.1.4.521 "Cross-domain move control" "" "The LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID control is used with an extended LDAP rename function to move an LDAP object from one domain to another. The control specifies the DNS hostname of the domain controller in the destination domain."
1.2.840.113556.1.4.528 "Server search notification control" "" "The LDAP_SERVER_NOTIFICATION_OID control is used with an extended LDAP asynchronous search function to register the client to be notified when changes are made to an object in Active Directory."
1.2.840.113556.1.4.529 "Extended DN control" "" "The LDAP_SERVER_EXTENDED_DN_OID control is used with an extended LDAP search function to request an extended form of an Active Directory object distinguished name. The extended form includes a string representation of the object objectGUID property. For security principal objects such as users, groups, and computers, the extended form also includes a string representation of the object objectSID property."
1.2.840.113556.1.4.616 "LDAP_CONTROL_REFERRALS"
1.2.840.113556.1.4.619 "Lazy commit control" "" "The LDAP_SERVER_LAZY_COMMIT_OID control is used to instruct the server to return the results of a DS modification command, such as add, delete, or replace, after it has been completed in memory, but before it has been committed to disk. The server can then return results quickly, and save the data to disk without holding the client."
1.2.840.113556.1.4.800 "LDAP_CAP_ACTIVE_DIRECTORY_OID" "" "This is an Actrive Directory Server (Win2k and later)."
1.2.840.113556.1.4.801 "Security descriptor flags control" "" "The LDAP_SERVER_SD_FLAGS_OID control is used to pass flags to the server to control various security descriptor results."
1.2.840.113556.1.4.802 "Attribute Range Option" "" "Server supports the Range property enabling clients to incremental retrieve values from multivalue attributes."
1.2.840.113556.1.4.803 "LDAP_MATCHING_RULE_BIT_AND"
1.2.840.113556.1.4.804 "LDAP_MATCHING_RULE_BIT_OR"
1.2.840.113556.1.4.805 "Tree Delete" "" "The LDAP_SERVER_TREE_DELETE_OID control is used with an extended LDAP delete function to delete an entire subtree in the directory."
1.2.840.113556.1.4.841 "Directory synchronization control" "" "The LDAP_SERVER_DIRSYNC_OID control enables an application to search the directory for objects changed from a previous state. It is also used with the extended LDAP search functions such as ldap_search_ext."
1.2.840.113556.1.4.906 "Microsoft Large Integer"
1.2.840.113556.1.4.970 "Get stats control (Stateless)"
1.2.840.113556.1.4.1302 "Microsoft OID used with DEN Attributes"
1.2.840.113556.1.4.1338 "Verify name control" "" "The LDAP_SERVER_VERIFY_NAME_OID control is used with extended LDAP add and modify requests to instruct the DC accepting the update which DC it should verify with, the existence of any DN attribute values."
1.2.840.113556.1.4.1339 "LDAP_SERVER_DOMAIN_SCOPE_OID" "" "The LDAP_SERVER_DOMAIN_SCOPE_OID control is used to instruct the LDAP server not to generate any referrals when completing a request. This control also limits any search using it to a single naming context."
1.2.840.113556.1.4.1340 "Search options control" "" " The LDAP_SERVER_SEARCH_OPTIONS_OID control is used to pass flags to the server to control various search behaviors."
1.2.840.113556.1.4.1413 "LDAP ease modify restrictions" "" "Allows an LDAP modify to work under less restrictive conditions. Without it, a delete will fail if an attribute does not exist, and an add will fail if an attribute already exists."
1.2.840.113556.1.4.1504 "Attribute scoped query control" "" "The LDAP_SERVER_ASQ_OID control is used with an extended LDAP search function to force the query to be based on a specific DN-valued attribute. Only one source attribute can be specified with this control and the search request is limited to base object scoped queries."
1.2.840.113556.1.4.1670 "LDAP_CAP_ACTIVE_DIRECTORY_V51_OID" "" "This server is a Whistler Active Directory server (Win2k3 and later)."
1.2.840.113556.1.4.1781 "Fast concurrent bind extended operation" "" "The Microsoft LDAP API will send an extended request with this name to Active Directory to request that all binds on this connection be processed as 'fast' binds."
1.2.840.113556.1.4.1791 "LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID" "" "LDAP server is capable of doing signing and sealing on an NTLM authenticated connection, and that the server is capable of performing subsequent binds on a signed or sealed connection."
1.2.840.113556.1.4.1852 "LDAP_SERVER_QUOTA_CONTROL_OID" "" "The LDAP_SERVER_QUOTA_CONTROL_OID control is used to pass the SID of a security principal, whose quota is being queried, to the server in a LDAP search operation."
1.3.6.1.1.7.1 "LCUP Sync Request Control. RFC 3928 control"
1.3.6.1.1.7.2 "LCUP Sync Update Control. RFC 3928 control"
1.3.6.1.1.7.3 "LCUP Sync Done Control. RFC 3928 control"
1.3.6.1.1.8 "Cancel Operation. RFC 3909 extension"
1.3.6.1.1.12 "Assertion Control" "RFC 4511" "The assertion control allows the client to specify a condition that must be true for the operation to be processed normally."
1.3.6.1.1.13.1 "Pre-Read Controls" "" "The Pre-Read request control, indicates that a copy of the entry before application of update is to be returned."
1.3.6.1.1.13.2 "Post-Read Controls" "" "The Pre-Read request control, indicates that a copy of the entry before application of update is to be returned."
1.3.6.1.1.14 "Modify-Increment Extension" "RFC 4525" "An extension to the Lightweight Directory Access Protocol (LDAP) Modify operation to support an increment capability."
1.3.6.1.4.1.42.2.27.8.5.1 "passwordPolicyRequest"
1.3.6.1.4.1.42.2.27.9.5.2 "GetEffectiveRights control" "" "May be used to determine what operations a given user may perform on a specified entry."
1.3.6.1.4.1.1466.101.119.1 "Dynamic Directory Services Refresh Request" "RFC 2589"
1.3.6.1.4.1.1466.20036 "LDAP_NOTICE_OF_DISCONNECTION"
1.3.6.1.4.1.1466.20037 "Transport Layer Security Extension" "RFC 2830" "This operation provides for TLS establishment in an LDAP association and is defined in terms of an LDAP extended request."
1.3.6.1.4.1.1466.29539.1 "LDAP_CONTROL_ATTR_SIZELIMIT"
1.3.6.1.4.1.1466.29539.2 "LDAP_CONTROL_NO_COPY"
1.3.6.1.4.1.1466.29539.3 "LDAP_CONTROL_PARTIAL_COPY"
1.3.6.1.4.1.1466.29539.5 "LDAP_CONTROL_NO_CHAINING"
1.3.6.1.4.1.1466.29539.7 "LDAP_CONTROL_ALIAS_ON_UPDATE"
1.3.6.1.4.1.1466.29539.10 "LDAP_CONTROL_TRIGGER"
1.3.6.1.4.1.1466.29539.12 "nsTransmittedControl"
1.3.6.1.4.1.4203.1.5.1 "All Operational Attribute" "RFC 3673" "An LDAP extension which clients may use to request the return of all operational attributes."
1.3.6.1.4.1.4203.1.5.2 "Requesting Attributes by Object Class" "draft-zeilenga-ldap-adlist-10.txt" "Extends LDAP to support a mechanism that LDAP clients may use to request the return of all attributes of an object class."
1.3.6.1.4.1.4203.1.5.3 "LDAP Absolute True and False Filters" "draft-zeilenga-ldap-t-f-10.txt" "Implementations of this extension SHALL allow 'and' and 'or' choices with zero filter elements."
1.3.6.1.4.1.4203.1.5.4 "Language Tags" "RFC 3866" "Supports storing attributes with language tag options in the DIT"
1.3.6.1.4.1.4203.1.5.5 "Language Ranges" "RFC 3866" "Supports language range matching of attributes with language tag options stored in the DIT"
1.3.6.1.4.1.4203.1.9.1.1 "LDAP Content Synchronization Control" "draft=zeilenga-ldup-sync-06.txt" "The operation allows a client to maintain a copy of a fragment of directory information tree. It supports both polling for changes and listening for changes. The operation is defined as an extension of the LDAP Search Operation."
1.3.6.1.4.1.4203.1.10.1 "Subentries in LDAP" "RFC 3672" "The subentries control MAY be sent with a searchRequest to control the visibility of entries and subentries which are within scope. Non-visible entries or subentries are not returned in response to the request."
1.3.6.1.4.1.4203.1.10.2 "LDAP No-Op Control" "draft-zeilenga-ldap-noop-02.txt" "The No-Op control can be used to disable the normal effect of an operation. The control can be used to discover how a server might react to a particular update request without updating the directory."
1.3.6.1.4.1.4203.1.11.1 "LDAP Password Modify Extended Operation" "RFC 3062" "An LDAP extended operation to allow modification of user passwords which is not dependent upon the form of the authentication identity nor the password storage mechanism used."
1.3.6.1.4.1.4203.1.11.2 "LDAP Cancel Extended Operation"
1.3.6.1.4.1.4203.1.11.3 "Who Am I? Extended Operation" "draft-zeilenga-ldap-authzid-10.txt" "This specification provides a mechanism for Lightweight Directory Access Protocol (LDAP) clients to obtain the authorization identity which the server has associated with the user or application entity."
1.3.6.1.4.1.4203.666.5.1 "Subentries Control"
1.3.6.1.4.1.4203.666.5.2 "NO OP Control"
1.3.18.0.2.12.1 "The ACL credential controls provide a method to flow a subject's credentials associated with a bind."
1.3.18.0.2.12.5 "tranExtOpInit"
1.3.18.0.2.12.6 "tranExtOpInit"
2.16.840.1.113531.18.2.1 "LDAP_C_SETOPTIONS_OID"
2.16.840.1.113531.18.2.2 "LDAP_C_SETDONTUSECOPY_OID"
2.16.840.1.113531.18.2.3 "LDAP_C_SETLOCALSCOPE_OID"
2.16.840.1.113531.18.2.4 "Return operational attributes as well as user attributes"
2.16.840.1.113531.18.2.5 "Return only subentries"
2.16.840.1.113531.18.2.6 "LDAP_C_SETUSEALIAS_OID"
2.16.840.1.113531.18.2.7 "LDAP_C_SETPREFERCHAIN_OID"
2.16.840.1.113531.18.2.8 "LDAP_C_SETX500DN_OID"
2.16.840.1.113531.18.2.9 "LDAP_C_SETCOPYSHALLDO_OID"
2.16.840.1.113531.18.2.10 "LDAP_C_SETDONTMAPATTRS_OID"
2.16.840.1.113531.18.2.11 "Return normal entries as well as sub-entries"
2.16.840.1.113719.1.27.99.1 "Superior References"
2.16.840.1.113719.1.27.100.1 "ndsToLdapResponse"
2.16.840.1.113719.1.27.100.2 "ndsToLdapRequest"
2.16.840.1.113719.1.27.100.3 "createNamingContextRequest"
2.16.840.1.113719.1.27.100.4 "createNamingContextResponse"
2.16.840.1.113719.1.27.100.5 "mergeNamingContextRequest"
2.16.840.1.113719.1.27.100.6 "mergeNamingContextResponse"
2.16.840.1.113719.1.27.100.7 "addReplicaRequest"
2.16.840.1.113719.1.27.100.8 "addReplicaResponse"
2.16.840.1.113719.1.27.100.9 "refreshLDAPServerRequest"
2.16.840.1.113719.1.27.100.10 "refreshLDAPServerResponse"
2.16.840.1.113719.1.27.100.11 "removeReplicaRequest"
2.16.840.1.113719.1.27.100.12 "removeReplicaResponse"
2.16.840.1.113719.1.27.100.13 "namingContextEntryCountRequest"
2.16.840.1.113719.1.27.100.14 "namingContextEntryCountResponse"
2.16.840.1.113719.1.27.100.15 "changeReplicaTypeRequest"
2.16.840.1.113719.1.27.100.16 "changeReplicaTypeResponse"
2.16.840.1.113719.1.27.100.17 "getReplicaInfoRequest"
2.16.840.1.113719.1.27.100.18 "getReplicaInfoResponse"
2.16.840.1.113719.1.27.100.19 "listReplicaRequest"
2.16.840.1.113719.1.27.100.20 "listReplicaResponse"
2.16.840.1.113719.1.27.100.21 "receiveAllUpdatesRequest"
2.16.840.1.113719.1.27.100.22 "receiveAllUpdatesResponse"
2.16.840.1.113719.1.27.100.23 "sendAllUpdatesRequest"
2.16.840.1.113719.1.27.100.24 "sendAllUpdatesResponse"
2.16.840.1.113719.1.27.100.25 "requestNamingContextSyncRequest"
2.16.840.1.113719.1.27.100.26 "requestNamingContextSyncResponse"
2.16.840.1.113719.1.27.100.27 "requestSchemaSyncRequest"
2.16.840.1.113719.1.27.100.28 "requestSchemaSyncResponse"
2.16.840.1.113719.1.27.100.29 "abortNamingContextOperationRequest"
2.16.840.1.113719.1.27.100.30 "abortNamingContextOperationResponse"
2.16.840.1.113719.1.27.100.31 "Get Bind DN Request"
2.16.840.1.113719.1.27.100.32 "Get Bind DN Response"
2.16.840.1.113719.1.27.100.33 "Get Effective Privileges Request"
2.16.840.1.113719.1.27.100.34 "Get Effective Privileges Response"
2.16.840.1.113719.1.27.100.35 "Set Replication Filter Request"
2.16.840.1.113719.1.27.100.36 "Set Replication Filter Response"
2.16.840.1.113719.1.27.100.37 "Get Replication Filter Request"
2.16.840.1.113719.1.27.100.38 "Get Replication Filter Response"
2.16.840.1.113719.1.27.100.39 "Create Orphan Partition Request"
2.16.840.1.113719.1.27.100.40 "Create Orphan Partition Response"
2.16.840.1.113719.1.27.100.41 "Remove Orphan Partition Request"
2.16.840.1.113719.1.27.100.42 "Remove Orphan Partition Response"
2.16.840.1.113719.1.27.100.43 "Trigger Backlinker Request"
2.16.840.1.113719.1.27.100.44 "Trigger Backlinker Response"
2.16.840.1.113719.1.27.100.47 "Trigger Janitor Request"
2.16.840.1.113719.1.27.100.48 "Trigger Janitor Response"
2.16.840.1.113719.1.27.100.49 "Trigger Limber Request"
2.16.840.1.113719.1.27.100.50 "Trigger Limber Response"
2.16.840.1.113719.1.27.100.51 "Trigger Skulker Request"
2.16.840.1.113719.1.27.100.52 "Trigger Skulker Response"
2.16.840.1.113719.1.27.100.53 "Trigger Schema Synch Request"
2.16.840.1.113719.1.27.100.54 "Trigger Schema Synch Response"
2.16.840.1.113719.1.27.100.55 "Trigger Partition Purge Request"
2.16.840.1.113719.1.27.100.56 "Trigger Partition Purge Response"
2.16.840.1.113719.1.27.100.79 "Monitor Events Request"
2.16.840.1.113719.1.27.100.80 "Monitor Events Response"
2.16.840.1.113719.1.27.100.81 "Event Notification"
2.16.840.1.113719.1.27.101.1 "Duplicate Entry Request"
2.16.840.1.113719.1.27.101.2 "DuplicateSearchResult"
2.16.840.1.113719.1.27.101.3 "DuplicateEntryResponseDone"
2.16.840.1.113719.1.27.101.5 "Simple Password"
2.16.840.1.113719.1.27.101.6 "Forward Reference"
2.16.840.1.113719.1.142.100.1 "startFramedProtocolRequest"
2.16.840.1.113719.1.142.100.2 "startFramedProtocolResponse"
2.16.840.1.113719.1.142.100.3 "ReplicationUpdate"
2.16.840.1.113719.1.142.100.4 "endFramedProtocolRequest"
2.16.840.1.113719.1.142.100.5 "endFramedProtocolResponse"
2.16.840.1.113719.1.142.100.6 "lburpOperationRequest"
2.16.840.1.113719.1.142.100.7 "lburpOperationResponse"
2.16.840.1.113730.3.4 "Netscape LDAPv3 controls"
2.16.840.1.113730.3.4.2 "ManageDsaIT Control" "RFC 3296" "The client may provide the ManageDsaIT control with an operation to indicate that the operation is intended to manage objects within the DSA (server) Information Tree. The control causes Directory-specific entries (DSEs), regardless of type, to be treated as normal entries allowing clients to interrogate and update these entries using LDAP operations."
2.16.840.1.113730.3.4.3 "Persistent Search LDAPv3 control"
2.16.840.1.113730.3.4.4 "Netscape Password Expired LDAPv3 control"
2.16.840.1.113730.3.4.5 "Netscape Password Expiring LDAPv3 control"
2.16.840.1.113730.3.4.6 "Netscape NT Synchronization Client LDAPv3 control"
2.16.840.1.113730.3.4.7 "Entry Change Notification LDAPv3 control"
2.16.840.1.113730.3.4.8 "Transaction ID Request Control"
2.16.840.1.113730.3.4.9 "VLV Request LDAPv3 control" "" "As defined in the 'LDAPv3 Extensions for Virtual List View' IETF document."
2.16.840.1.113730.3.4.10 "VLV Response LDAPv3 control" "" "As defined in the 'LDAPv3 Extensions for Virtual List View' IETF document."
2.16.840.1.113730.3.4.11 "Transaction ID Response Control"
2.16.840.1.113730.3.4.12 "Proxied Authorization (version 1) control" "draft-weltman-ldapv3-proxy-05" "For assuming the identity of another entry for the duration of a request. This has been replaced by a new 'version 2' Proxied Authorization control."
2.16.840.1.113730.3.4.13 "iPlanet Directory Server Replication Update Information Control"
2.16.840.1.113730.3.4.14 "iPlanet Directory Server 'search on specific backend' control"
2.16.840.1.113730.3.4.15 "Authentication Response Control"
2.16.840.1.113730.3.4.16 "Authentication Request Control"
2.16.840.1.113730.3.4.17 "Real Attributes Only Request Control"
2.16.840.1.113730.3.4.18 "LDAP Proxied Authorization Control" "draft-weltman-ldapv3-proxy-06.txt" "The Proxied Authorization Control allows a client to request that an operation be processed under a provided authorization identity [AUTH] instead of as the current authorization identity associated with the connection."
2.16.840.1.113730.3.4.19 "Virtual Attributes Only Request Control"
2.16.840.1.113730.3.4.20 "Use One Backend"
2.16.840.1.113730.3.4.999 "iPlanet Replication Modrdn Extra Mods Control"
2.16.840.1.113730.3.5.3 "iPlanet Start Replication Request Extended Operation"
2.16.840.1.113730.3.5.4 "iPlanet Replication Response Extended Operation"
2.16.840.1.113730.3.5.5 "iPlanet End Replication Request Extended Operation"
2.16.840.1.113730.3.5.6 "iPlanet Replication Entry Request Extended Operation"
2.16.840.1.113730.3.5.7 "iPlanet Bulk Import Start Extended Operation"
2.16.840.1.113730.3.5.8 "iPlanet Bulk Import Finished Extended Operation"
2.16.840.1.113730.3.5.9 "iPlanet Digest authentication calculation"

5
public/js/custom.js vendored
View File

@ -34,9 +34,12 @@ $(document).ready(function() {
method: 'POST', method: 'POST',
data: { key: data.node.data.item }, data: { key: data.node.data.item },
dataType: 'html', dataType: 'html',
beforeSend: function() {
content = $('.main-content').contents();
$('.main-content').empty().append('<div class="fa-3x"><i class="fas fa-spinner fa-pulse"></i></div>');
}
}).done(function(html) { }).done(function(html) {
console.log(data);
$('.main-content').empty().append(html); $('.main-content').empty().append(html);
}).fail(function() { }).fail(function() {

View File

@ -11,7 +11,7 @@
<div class="h-100 bg-animation"> <div class="h-100 bg-animation">
<div class="d-flex h-100 justify-content-center align-items-center"> <div class="d-flex h-100 justify-content-center align-items-center">
<div class="mx-auto app-login-box col-md-8"> <div class="mx-auto app-login-box col-md-8">
@if(asset('login-note.txt')) @if(file_exists('login-note.txt'))
<div class="mx-auto card text-white card-body bg-primary w-50"> <div class="mx-auto card text-white card-body bg-primary w-50">
<h5 class="text-white card-title"><i class="icon fa-2x fas fa-info pr-3"></i><span class="font-size-xlg">NOTE</span></h5> <h5 class="text-white card-title"><i class="icon fa-2x fas fa-info pr-3"></i><span class="font-size-xlg">NOTE</span></h5>
<span class="w-100 pb-0"> <span class="w-100 pb-0">

View File

@ -33,6 +33,12 @@
<div class="app-sidebar__inner"> <div class="app-sidebar__inner">
<ul class="vertical-nav-menu"> <ul class="vertical-nav-menu">
<li class="app-sidebar__heading">{{ $server ?? 'Server Name' }}</li> <li class="app-sidebar__heading">{{ $server ?? 'Server Name' }}</li>
<li>
<div class="font-icon-wrapper float-left mr-1">
<a class="p-0 m-0 server-icon" href="{{ url('info') }}" style="display: contents;"><i class="fas fa-fw fa-info pr-1 pl-1"></i></a>
</div>
<div class="clearfix"></div>
</li>
<li> <li>
<i id="treeicon" class="metismenu-icon fa-fw fas fa-sitemap"></i> <i id="treeicon" class="metismenu-icon fa-fw fas fa-sitemap"></i>
<span id="tree"></span> <span id="tree"></span>
@ -41,3 +47,39 @@
</div> </div>
</div> </div>
</div> </div>
@section('page-scripts')
<script>
$(document).ready(function() {
$('.server-icon').click(function(e) {
var content;
$.ajax({
url: $(this).attr('href'),
method: 'GET',
dataType: 'html',
statusCode: {
404: function() {
$('.main-content').empty().append(content);
}
},
beforeSend: function() {
content = $('.main-content').contents();
$('.main-content').empty().append('<div class="fa-3x"><i class="fas fa-spinner fa-pulse"></i></div>');
}
}).done(function(html) {
$('.main-content').empty().append(html);
}).fail(function() {
//alert('Failed');
});
e.stopPropagation();
console.log($(this).attr('href'));
return false;
});
});
</script>
@append

View File

@ -8,22 +8,21 @@
{{ $dn }} {{ $dn }}
@endsection @endsection
@section('page_subtitle') @section('page_subtitle')
{{ $leaf->entryuuid[0] }} {{ $leaf->entryuuid[0] ?? '' }}
@endsection @endsection
@section('page_icon') @section('page_icon')
fas fa-cog fas fa-cog
@endsection @endsection
@section('main-content') @section('main-content')
<div class="bg-white p-3">
<table class="table"> <table class="table">
<tr> @foreach ($attributes as $attribute => $value)
<td colspan="2">@dump($leaf->getOriginal(),$leaf->countAttributes())</td>
</tr>
@foreach ($leaf->getAttributes() as $attribute => $value)
<tr> <tr>
<th>{{ $attribute }}</th> <th>{{ $attribute }}</th>
<td>{!! is_array($value) ? join('<br>',$value) : $value !!}</td> <td>{!! is_array($value) ? join('<br>',$value) : $value !!}</td>
</tr> </tr>
@endforeach @endforeach
</table> </table>
</div>
@endsection @endsection

View File

@ -23,6 +23,7 @@ Auth::routes([
Route::redirect('/','home'); Route::redirect('/','home');
Route::get('logout','Auth\LoginController@logout'); Route::get('logout','Auth\LoginController@logout');
Route::get('home','HomeController@home'); Route::get('home','HomeController@home');
Route::get('info','HomeController@info');
Route::post('render','HomeController@render'); Route::post('render','HomeController@render');
Route::group(['prefix'=>'user'],function() { Route::group(['prefix'=>'user'],function() {