OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
perl5
/
URI
Server IP: 2a02:4780:11:1594:0:ef5:22d7:a
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/14/2024 03:38:06 PM
rwxr-xr-x
📄
Escape.pm
6.9 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
Heuristic.pm
6.37 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
IRI.pm
794 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
QueryParam.pm
4.75 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
Split.pm
2.3 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
URL.pm
5.36 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
WithBase.pm
3.77 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_foreign.pm
107 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
_generic.pm
5.69 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_idna.pm
2.03 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_ldap.pm
3.17 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_login.pm
231 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
_punycode.pm
5.49 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_query.pm
2.47 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_segment.pm
416 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
_server.pm
3.64 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
_userpass.pm
1.01 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
data.pm
3.31 KB
03/03/2021 03:16:52 PM
rw-r--r--
📁
file
-
05/14/2024 12:06:27 PM
rwxr-xr-x
📄
file.pm
9.53 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
ftp.pm
1.03 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
gopher.pm
2.37 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
http.pm
425 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
https.pm
144 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
ldap.pm
2.86 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
ldapi.pm
440 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
ldaps.pm
144 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
mailto.pm
1.25 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
mms.pm
125 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
news.pm
1.42 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
nntp.pm
127 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
nntps.pm
144 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
pop.pm
1.18 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
rlogin.pm
129 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
rsync.pm
207 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
rtsp.pm
125 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
rtspu.pm
126 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
sftp.pm
98 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
sip.pm
1.66 KB
03/03/2021 03:16:52 PM
rw-r--r--
📄
sips.pm
143 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
snews.pm
172 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
ssh.pm
175 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
telnet.pm
128 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📄
tn3270.pm
128 bytes
03/03/2021 03:16:52 PM
rw-r--r--
📁
urn
-
05/14/2024 12:06:27 PM
rwxr-xr-x
📄
urn.pm
2.12 KB
03/03/2021 03:16:52 PM
rw-r--r--
Editing: _ldap.pm
Close
# Copyright (c) 1998 Graham Barr <gbarr@pobox.com>. All rights reserved. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. package URI::_ldap; use strict; use warnings; our $VERSION = '5.09'; use URI::Escape qw(uri_unescape); sub _ldap_elem { my $self = shift; my $elem = shift; my $query = $self->query; my @bits = (split(/\?/,defined($query) ? $query : ""),("")x4); my $old = $bits[$elem]; if (@_) { my $new = shift; $new =~ s/\?/%3F/g; $bits[$elem] = $new; $query = join("?",@bits); $query =~ s/\?+$//; $query = undef unless length($query); $self->query($query); } $old; } sub dn { my $old = shift->path(@_); $old =~ s:^/::; uri_unescape($old); } sub attributes { my $self = shift; my $old = _ldap_elem($self,0, @_ ? join(",", map { my $tmp = $_; $tmp =~ s/,/%2C/g; $tmp } @_) : ()); return $old unless wantarray; map { uri_unescape($_) } split(/,/,$old); } sub _scope { my $self = shift; my $old = _ldap_elem($self,1, @_); return undef unless defined wantarray && defined $old; uri_unescape($old); } sub scope { my $old = &_scope; $old = "base" unless length $old; $old; } sub _filter { my $self = shift; my $old = _ldap_elem($self,2, @_); return undef unless defined wantarray && defined $old; uri_unescape($old); # || "(objectClass=*)"; } sub filter { my $old = &_filter; $old = "(objectClass=*)" unless length $old; $old; } sub extensions { my $self = shift; my @ext; while (@_) { my $key = shift; my $value = shift; push(@ext, join("=", map { $_="" unless defined; s/,/%2C/g; $_ } $key, $value)); } @ext = join(",", @ext) if @ext; my $old = _ldap_elem($self,3, @ext); return $old unless wantarray; map { uri_unescape($_) } map { /^([^=]+)=(.*)$/ } split(/,/,$old); } sub canonical { my $self = shift; my $other = $self->_nonldap_canonical; # The stuff below is not as efficient as one might hope... $other = $other->clone if $other == $self; $other->dn(_normalize_dn($other->dn)); # Should really know about mixed case "postalAddress", etc... $other->attributes(map lc, $other->attributes); # Lowercase scope, remove default my $old_scope = $other->scope; my $new_scope = lc($old_scope); $new_scope = "" if $new_scope eq "base"; $other->scope($new_scope) if $new_scope ne $old_scope; # Remove filter if default my $old_filter = $other->filter; $other->filter("") if lc($old_filter) eq "(objectclass=*)" || lc($old_filter) eq "objectclass=*"; # Lowercase extensions types and deal with known extension values my @ext = $other->extensions; for (my $i = 0; $i < @ext; $i += 2) { my $etype = $ext[$i] = lc($ext[$i]); if ($etype =~ /^!?bindname$/) { $ext[$i+1] = _normalize_dn($ext[$i+1]); } } $other->extensions(@ext) if @ext; $other; } sub _normalize_dn # RFC 2253 { my $dn = shift; return $dn; # The code below will fail if the "+" or "," is embedding in a quoted # string or simply escaped... my @dn = split(/([+,])/, $dn); for (@dn) { s/^([a-zA-Z]+=)/lc($1)/e; } join("", @dn); } 1;