Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 3.144.199.9
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
Delete
Unzip
Name
Size
Permission
Date
Action
GL
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
X11
[ DIR ]
drwxr-xr-x
2024-09-26 10:31
apache2
[ DIR ]
drwxr-xr-x
2025-03-19 10:31
arpa
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
asm
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
asm-generic
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
bind9
[ DIR ]
drwxr-xr-x
2025-02-21 08:35
bits
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
bsock
[ DIR ]
drwxr-xr-x
2024-03-03 22:15
c++
[ DIR ]
drwxr-xr-x
2025-03-31 10:36
criu
[ DIR ]
drwxr-xr-x
2024-03-06 00:08
curl
[ DIR ]
drwxr-xr-x
2025-01-30 11:39
drm
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
e2p
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
et
[ DIR ]
drwxr-xr-x
2024-03-03 20:40
event2
[ DIR ]
drwxr-xr-x
2024-11-08 03:08
ext2fs
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
finclude
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
fontconfig
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
freetype2
[ DIR ]
drwxr-xr-x
2025-04-01 16:35
fstrm
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
gdb
[ DIR ]
drwxr-xr-x
2025-02-11 10:12
gdbm
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
gnu
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
google
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
gssapi
[ DIR ]
drwxr-xr-x
2025-03-18 04:35
gssrpc
[ DIR ]
drwxr-xr-x
2025-03-18 04:35
json-c
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
kadm5
[ DIR ]
drwxr-xr-x
2025-03-18 04:35
krb5
[ DIR ]
drwxr-xr-x
2025-03-18 04:35
libdb
[ DIR ]
drwxr-xr-x
2024-03-03 20:40
libexslt
[ DIR ]
drwxr-xr-x
2025-04-07 19:35
libltdl
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
libpng16
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
libxml2
[ DIR ]
drwxr-xr-x
2025-03-12 19:57
libxslt
[ DIR ]
drwxr-xr-x
2025-04-07 19:35
linux
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
lua-5.1
[ DIR ]
drwxr-xr-x
2024-07-23 10:39
lzma
[ DIR ]
drwxr-xr-x
2024-03-03 22:40
misc
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
mtd
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
mysql
[ DIR ]
drwxr-xr-x
2025-02-25 11:37
ncurses
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
ncursesw
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
net
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netash
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netatalk
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netax25
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
neteconet
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netinet
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netipx
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netiucv
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netpacket
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netrom
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
netrose
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
nfs
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
openssl
[ DIR ]
drwxr-xr-x
2024-10-12 10:30
perf
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
protobuf-c
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
protocols
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
python2.7
[ DIR ]
drwxr-xr-x
2024-06-13 10:37
python3.6m
[ DIR ]
drwxr-xr-x
2024-12-05 20:35
python3.8
[ DIR ]
drwxr-xr-x
2024-03-05 23:45
rdma
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
rpc
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
sasl
[ DIR ]
drwxr-xr-x
2024-03-03 20:40
scsi
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
security
[ DIR ]
drwxr-xr-x
2024-12-02 11:30
selinux
[ DIR ]
drwxr-xr-x
2025-03-13 10:42
sepol
[ DIR ]
drwxr-xr-x
2024-03-03 20:40
sound
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
sys
[ DIR ]
drwxr-xr-x
2025-04-14 19:35
uuid
[ DIR ]
drwxr-xr-x
2024-06-13 10:37
video
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
webp
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
xcb
[ DIR ]
drwxr-xr-x
2024-03-03 23:04
xen
[ DIR ]
drwxr-xr-x
2025-04-29 10:30
FlexLexer.h
6.73
KB
-rw-r--r--
2019-10-12 12:33
a.out.h
4.25
KB
-rw-r--r--
2025-04-14 07:23
aio.h
7.28
KB
-rw-r--r--
2025-04-14 07:24
aliases.h
1.98
KB
-rw-r--r--
2025-04-14 07:24
alloca.h
1.17
KB
-rw-r--r--
2025-04-14 07:23
ar.h
1.69
KB
-rw-r--r--
2025-04-14 07:23
argp.h
24.82
KB
-rw-r--r--
2025-04-14 07:24
argz.h
5.91
KB
-rw-r--r--
2025-04-14 07:23
assert.h
4.45
KB
-rw-r--r--
2025-04-14 07:23
autosprintf.h
2.33
KB
-rw-r--r--
2019-11-18 17:16
byteswap.h
1.37
KB
-rw-r--r--
2025-04-14 07:23
bzlib.h
6.1
KB
-rw-r--r--
2010-09-10 23:08
com_err.h
2.07
KB
-rw-r--r--
2020-03-21 04:24
complex.h
7
KB
-rw-r--r--
2025-04-14 07:23
cpio.h
2.21
KB
-rw-r--r--
2025-04-14 07:23
cpuidle.h
844
B
-rw-r--r--
2025-04-08 14:14
crypt.h
8.9
KB
-rw-r--r--
2021-10-09 04:04
ctype.h
10.71
KB
-rw-r--r--
2025-04-14 07:23
curses.h
97.29
KB
-rw-r--r--
2023-10-14 18:54
cursesapp.h
6.62
KB
-rw-r--r--
2023-10-14 18:54
cursesf.h
27.2
KB
-rw-r--r--
2023-10-14 18:54
cursesm.h
19.22
KB
-rw-r--r--
2023-10-14 18:54
cursesp.h
8.4
KB
-rw-r--r--
2023-10-14 18:54
cursesw.h
48.55
KB
-rw-r--r--
2023-10-14 18:54
cursslk.h
7.13
KB
-rw-r--r--
2023-10-14 18:54
db.h
120.22
KB
-r--r--r--
2021-09-21 16:29
db_185.h
5.84
KB
-r--r--r--
2021-09-21 16:29
dbm.h
1.38
KB
-rw-r--r--
2022-10-08 13:22
dirent.h
12.19
KB
-rw-r--r--
2025-04-14 07:23
dlfcn.h
7.07
KB
-rw-r--r--
2025-04-14 07:23
elf.h
170.73
KB
-rw-r--r--
2025-04-14 07:24
endian.h
3.11
KB
-rw-r--r--
2025-04-14 07:23
entities.h
4.81
KB
-rw-r--r--
2017-08-30 11:05
envz.h
2.8
KB
-rw-r--r--
2025-04-14 07:23
err.h
2.16
KB
-rw-r--r--
2025-04-14 07:23
errno.h
1.64
KB
-rw-r--r--
2025-04-14 07:23
error.h
1.99
KB
-rw-r--r--
2025-04-14 07:23
eti.h
2.82
KB
-rw-r--r--
2023-10-14 18:54
etip.h
9.47
KB
-rw-r--r--
2023-10-14 18:54
evdns.h
1.97
KB
-rw-r--r--
2019-10-12 00:29
event.h
2.68
KB
-rw-r--r--
2019-10-12 00:29
evhttp.h
1.99
KB
-rw-r--r--
2019-10-12 00:29
evrpc.h
1.97
KB
-rw-r--r--
2019-10-12 00:29
evutil.h
1.74
KB
-rw-r--r--
2019-10-12 00:29
execinfo.h
1.49
KB
-rw-r--r--
2025-04-14 07:24
expat.h
42.66
KB
-rw-r--r--
2025-04-15 19:58
expat_config.h
3.43
KB
-rw-r--r--
2025-04-15 19:58
expat_external.h
5.4
KB
-rw-r--r--
2025-04-15 19:58
fcntl.h
10.7
KB
-rw-r--r--
2025-04-14 07:23
features.h
15.69
KB
-rw-r--r--
2025-04-14 07:23
fenv.h
5.72
KB
-rw-r--r--
2025-04-14 07:23
fmtmsg.h
3.16
KB
-rw-r--r--
2025-04-14 07:23
fnmatch.h
2.24
KB
-rw-r--r--
2025-04-14 07:23
form.h
18.17
KB
-rw-r--r--
2023-10-14 18:54
fpu_control.h
3.5
KB
-rw-r--r--
2025-04-14 07:23
fstab.h
3.04
KB
-rw-r--r--
2025-04-14 07:23
fstrm.h
12.71
KB
-rw-r--r--
2019-03-11 20:58
fts.h
8.18
KB
-rw-r--r--
2025-04-14 07:23
ftw.h
5.13
KB
-rw-r--r--
2025-04-14 07:23
gconv.h
4.31
KB
-rw-r--r--
2025-04-14 07:23
gcrypt.h
68.71
KB
-rw-r--r--
2022-06-28 11:54
gd.h
56.42
KB
-rw-r--r--
2017-08-30 11:05
gd_color_map.h
478
B
-rw-r--r--
2017-08-30 11:05
gd_errors.h
1.47
KB
-rw-r--r--
2017-08-30 11:05
gd_io.h
3.05
KB
-rw-r--r--
2017-08-30 11:05
gdbm.h
10.1
KB
-rw-r--r--
2022-10-08 13:22
gdcache.h
2.83
KB
-rw-r--r--
2017-08-30 11:05
gdfontg.h
553
B
-rw-r--r--
2017-08-30 11:05
gdfontl.h
551
B
-rw-r--r--
2017-08-30 11:05
gdfontmb.h
519
B
-rw-r--r--
2017-08-30 11:05
gdfonts.h
515
B
-rw-r--r--
2017-08-30 11:05
gdfontt.h
546
B
-rw-r--r--
2017-08-30 11:05
gdfx.h
497
B
-rw-r--r--
2017-08-30 11:05
gdpp.h
50.94
KB
-rw-r--r--
2017-08-30 11:05
getopt.h
1.43
KB
-rw-r--r--
2025-04-14 07:23
gettext-po.h
15.17
KB
-rw-r--r--
2019-11-18 17:17
glob.h
6.46
KB
-rw-r--r--
2025-04-14 07:23
gnu-versions.h
2.29
KB
-rw-r--r--
2025-04-14 07:23
gnumake.h
2.84
KB
-rw-r--r--
2022-04-18 16:38
gpg-error.h
66.29
KB
-rw-r--r--
2019-10-12 12:20
gpgrt.h
66.29
KB
-rw-r--r--
2019-10-12 12:20
grp.h
6.53
KB
-rw-r--r--
2025-04-14 07:23
gshadow.h
4.42
KB
-rw-r--r--
2025-04-14 07:23
gssapi.h
181
B
-rw-r--r--
2025-03-13 12:14
iconv.h
1.81
KB
-rw-r--r--
2025-04-14 07:23
idn-free.h
2.41
KB
-rw-r--r--
2019-10-13 16:55
idn-int.h
20
B
-rw-r--r--
2019-10-13 16:55
idna.h
3.48
KB
-rw-r--r--
2019-10-13 16:55
ieee754.h
4.79
KB
-rw-r--r--
2025-04-14 07:23
ifaddrs.h
2.77
KB
-rw-r--r--
2025-04-14 07:24
inttypes.h
11.61
KB
-rw-r--r--
2025-04-14 07:23
jconfig-64.h
2.17
KB
-rw-r--r--
2021-10-09 01:29
jconfig.h
246
B
-rw-r--r--
2021-10-09 01:29
jerror.h
14.73
KB
-rw-r--r--
2021-10-09 01:29
jmorecfg.h
14.7
KB
-rw-r--r--
2021-10-09 01:29
jpegint.h
15.22
KB
-rw-r--r--
2021-10-09 01:29
jpeglib.h
48.71
KB
-rw-r--r--
2021-10-09 01:29
kdb.h
67.66
KB
-rw-r--r--
2025-03-13 12:14
keyutils.h
7.52
KB
-rw-r--r--
2021-10-08 13:50
krad.h
8.72
KB
-rw-r--r--
2025-03-13 12:14
krb5.h
402
B
-rw-r--r--
2025-03-13 12:14
langinfo.h
17.43
KB
-rw-r--r--
2025-04-14 07:23
lastlog.h
126
B
-rw-r--r--
2025-04-14 07:24
lber.h
14.95
KB
-rw-r--r--
2025-03-11 09:44
lber_types.h
1.43
KB
-rw-r--r--
2025-03-11 09:44
ldap.h
63.57
KB
-rw-r--r--
2025-03-11 09:44
ldap_cdefs.h
9.24
KB
-rw-r--r--
2025-03-11 09:44
ldap_features.h
1.77
KB
-rw-r--r--
2025-03-11 09:44
ldap_schema.h
9.23
KB
-rw-r--r--
2025-03-11 09:44
ldap_utf8.h
3.39
KB
-rw-r--r--
2025-03-11 09:44
ldif.h
4.58
KB
-rw-r--r--
2025-03-11 09:44
libaio.h
8.73
KB
-rw-r--r--
2019-11-13 13:59
libgen.h
1.35
KB
-rw-r--r--
2025-04-14 07:23
libintl.h
4.47
KB
-rw-r--r--
2025-04-14 07:23
limits.h
5.29
KB
-rw-r--r--
2025-04-14 07:23
link.h
7.05
KB
-rw-r--r--
2025-04-14 07:24
locale.h
7.49
KB
-rw-r--r--
2025-04-14 07:23
ltdl.h
5.58
KB
-rw-r--r--
2019-10-11 14:55
lzma.h
9.59
KB
-rw-r--r--
2018-04-29 15:10
magic.h
5.46
KB
-rw-r--r--
2024-04-06 14:44
malloc.h
5.96
KB
-rw-r--r--
2025-04-14 07:23
math.h
52.07
KB
-rw-r--r--
2025-04-14 07:23
mcheck.h
2.38
KB
-rw-r--r--
2025-04-14 07:23
memory.h
955
B
-rw-r--r--
2025-04-14 07:23
menu.h
11.91
KB
-rw-r--r--
2023-10-14 18:54
mntent.h
3.28
KB
-rw-r--r--
2025-04-14 07:23
monetary.h
1.76
KB
-rw-r--r--
2025-04-14 07:23
mqueue.h
3.67
KB
-rw-r--r--
2025-04-14 07:24
nc_tparm.h
4.1
KB
-rw-r--r--
2023-10-14 18:54
ncurses.h
97.29
KB
-rw-r--r--
2023-10-14 18:54
ncurses_dll.h
4.18
KB
-rw-r--r--
2023-10-14 18:54
ndbm.h
2.4
KB
-rw-r--r--
2022-10-08 13:22
netdb.h
27.44
KB
-rw-r--r--
2025-04-14 07:24
nl_types.h
1.71
KB
-rw-r--r--
2025-04-14 07:23
nss.h
1.83
KB
-rw-r--r--
2025-04-14 07:24
obstack.h
20.81
KB
-rw-r--r--
2025-04-14 07:23
panel.h
4.03
KB
-rw-r--r--
2023-10-14 18:54
paths.h
2.91
KB
-rw-r--r--
2025-04-14 07:23
pcre.h
30.97
KB
-rw-r--r--
2021-10-08 19:17
pcre2.h
43.75
KB
-rw-r--r--
2022-08-02 16:07
pcre2posix.h
5.67
KB
-rw-r--r--
2022-08-02 16:07
pcre_scanner.h
6.45
KB
-rw-r--r--
2021-10-08 19:17
pcre_stringpiece.h
6.16
KB
-rw-r--r--
2021-10-08 19:17
pcrecpp.h
25.91
KB
-rw-r--r--
2021-10-08 19:17
pcrecpparg.h
6.62
KB
-rw-r--r--
2021-10-08 19:17
pcreposix.h
5.32
KB
-rw-r--r--
2021-10-08 19:17
png.h
140.77
KB
-rw-r--r--
2019-10-12 00:44
pngconf.h
22.31
KB
-rw-r--r--
2019-10-12 00:44
pnglibconf.h
7.39
KB
-rw-r--r--
2019-10-12 00:44
poll.h
22
B
-rw-r--r--
2025-04-14 07:23
pr29.h
2.07
KB
-rw-r--r--
2019-10-13 16:55
printf.h
6.64
KB
-rw-r--r--
2025-04-14 07:23
proc_service.h
3.39
KB
-rw-r--r--
2025-04-14 07:24
profile.h
11.87
KB
-rw-r--r--
2025-03-13 12:14
pthread.h
40.3
KB
-rw-r--r--
2025-04-14 07:23
pty.h
1.53
KB
-rw-r--r--
2025-04-14 07:24
punycode.h
9.16
KB
-rw-r--r--
2019-10-13 16:55
pwd.h
6.01
KB
-rw-r--r--
2025-04-14 07:23
re_comp.h
962
B
-rw-r--r--
2025-04-14 07:23
regex.h
24.14
KB
-rw-r--r--
2025-04-14 07:23
regexp.h
1.41
KB
-rw-r--r--
2025-04-14 07:23
resolv.h
11.79
KB
-rw-r--r--
2025-04-14 07:24
sched.h
4.62
KB
-rw-r--r--
2025-04-14 07:23
search.h
5.1
KB
-rw-r--r--
2025-04-14 07:23
semaphore.h
2.34
KB
-rw-r--r--
2025-04-14 07:23
setjmp.h
3.58
KB
-rw-r--r--
2025-04-14 07:23
sgtty.h
1.31
KB
-rw-r--r--
2025-04-14 07:23
shadow.h
5.34
KB
-rw-r--r--
2025-04-14 07:23
signal.h
11.96
KB
-rw-r--r--
2025-04-14 07:23
slapi-plugin.h
37.45
KB
-rw-r--r--
2025-03-11 09:44
spawn.h
6.53
KB
-rw-r--r--
2025-04-14 07:23
stab.h
264
B
-rw-r--r--
2025-04-14 07:23
stdc-predef.h
2.24
KB
-rw-r--r--
2025-04-14 07:23
stdint.h
8.27
KB
-rw-r--r--
2025-04-14 07:23
stdio.h
29.46
KB
-rw-r--r--
2025-04-14 07:23
stdio_ext.h
2.73
KB
-rw-r--r--
2025-04-14 07:23
stdlib.h
34.82
KB
-rw-r--r--
2025-04-14 07:23
string.h
17.17
KB
-rw-r--r--
2025-04-14 07:23
stringprep.h
8.03
KB
-rw-r--r--
2019-10-13 16:55
strings.h
4.64
KB
-rw-r--r--
2025-04-14 07:23
syscall.h
25
B
-rw-r--r--
2025-04-14 07:23
sysexits.h
5.11
KB
-rw-r--r--
2025-04-14 07:23
syslog.h
24
B
-rw-r--r--
2025-04-14 07:23
tar.h
3.7
KB
-rw-r--r--
2025-04-14 07:23
term.h
40.22
KB
-rw-r--r--
2023-10-14 18:54
term_entry.h
8.55
KB
-rw-r--r--
2023-10-14 18:54
termcap.h
3.39
KB
-rw-r--r--
2023-10-14 18:54
termio.h
214
B
-rw-r--r--
2025-04-14 07:23
termios.h
3.51
KB
-rw-r--r--
2025-04-14 07:23
tgmath.h
30.75
KB
-rw-r--r--
2025-04-14 07:23
thread_db.h
15.65
KB
-rw-r--r--
2025-04-14 07:24
threads.h
6.5
KB
-rw-r--r--
2025-04-14 07:23
tic.h
13.32
KB
-rw-r--r--
2023-10-14 18:54
tiff.h
35.14
KB
-rw-r--r--
2024-11-05 01:55
tiffconf-64.h
3.35
KB
-rw-r--r--
2024-11-05 01:55
tiffconf.h
250
B
-rw-r--r--
2024-11-05 01:55
tiffio.h
22.68
KB
-rw-r--r--
2024-11-05 01:55
tiffio.hxx
1.66
KB
-rw-r--r--
2024-11-05 01:55
tiffvers.h
410
B
-rw-r--r--
2024-11-05 01:55
time.h
10.12
KB
-rw-r--r--
2025-04-14 07:23
tld.h
4.54
KB
-rw-r--r--
2019-10-13 16:55
ttyent.h
2.44
KB
-rw-r--r--
2025-04-14 07:23
uchar.h
1.95
KB
-rw-r--r--
2025-04-14 07:23
ucontext.h
1.99
KB
-rw-r--r--
2025-04-14 07:23
ulimit.h
1.55
KB
-rw-r--r--
2025-04-14 07:23
unctrl.h
3.03
KB
-rw-r--r--
2023-10-14 18:54
unistd.h
41.74
KB
-rw-r--r--
2025-04-14 07:23
utime.h
1.47
KB
-rw-r--r--
2025-04-14 07:23
utmp.h
3.15
KB
-rw-r--r--
2025-04-14 07:24
utmpx.h
4
KB
-rw-r--r--
2025-04-14 07:24
values.h
1.91
KB
-rw-r--r--
2025-04-14 07:23
verto-module.h
6.48
KB
-rw-r--r--
2022-10-08 07:49
verto.h
18.98
KB
-rw-r--r--
2022-10-08 07:49
wait.h
22
B
-rw-r--r--
2025-04-14 07:23
wchar.h
30.38
KB
-rw-r--r--
2025-04-14 07:23
wctype.h
5.42
KB
-rw-r--r--
2025-04-14 07:23
wordexp.h
2.44
KB
-rw-r--r--
2025-04-14 07:23
zconf.h
15.88
KB
-rw-r--r--
2023-10-11 22:02
zlib.h
94
KB
-rw-r--r--
2023-10-11 22:02
Save
Rename
/* $OpenLDAP$ */ /* This work is part of OpenLDAP Software <http://www.openldap.org/>. * * Copyright 1998-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP * Public License. * * A copy of this license is available in file LICENSE in the * top-level directory of the distribution or, alternatively, at * <http://www.OpenLDAP.org/license.html>. */ /* Portions Copyright (c) 1990 Regents of the University of Michigan. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and that due credit is given * to the University of Michigan at Ann Arbor. The name of the University * may not be used to endorse or promote products derived from this * software without specific prior written permission. This software * is provided ``as is'' without express or implied warranty. */ #ifndef _LBER_H #define _LBER_H #include <lber_types.h> #include <string.h> LDAP_BEGIN_DECL /* * ber_tag_t represents the identifier octets at the beginning of BER * elements. OpenLDAP treats them as mere big-endian unsigned integers. * * Actually the BER identifier octets look like this: * * Bits of 1st octet: * ______ * 8 7 | CLASS * 0 0 = UNIVERSAL * 0 1 = APPLICATION * 1 0 = CONTEXT-SPECIFIC * 1 1 = PRIVATE * _____ * | 6 | DATA-TYPE * 0 = PRIMITIVE * 1 = CONSTRUCTED * ___________ * | 5 ... 1 | TAG-NUMBER * * For ASN.1 tag numbers >= 0x1F, TAG-NUMBER above is 0x1F and the next * BER octets contain the actual ASN.1 tag number: Big-endian, base * 128, 8.bit = 1 in all but the last octet, minimum number of octets. */ /* BER classes and mask (in 1st identifier octet) */ #define LBER_CLASS_UNIVERSAL ((ber_tag_t) 0x00U) #define LBER_CLASS_APPLICATION ((ber_tag_t) 0x40U) #define LBER_CLASS_CONTEXT ((ber_tag_t) 0x80U) #define LBER_CLASS_PRIVATE ((ber_tag_t) 0xc0U) #define LBER_CLASS_MASK ((ber_tag_t) 0xc0U) /* BER encoding type and mask (in 1st identifier octet) */ #define LBER_PRIMITIVE ((ber_tag_t) 0x00U) #define LBER_CONSTRUCTED ((ber_tag_t) 0x20U) #define LBER_ENCODING_MASK ((ber_tag_t) 0x20U) #define LBER_BIG_TAG_MASK ((ber_tag_t) 0x1fU) #define LBER_MORE_TAG_MASK ((ber_tag_t) 0x80U) /* * LBER_ERROR and LBER_DEFAULT are values that can never appear * as valid BER tags, so it is safe to use them to report errors. * Valid tags have (tag & (ber_tag_t) 0xFF) != 0xFF. */ #define LBER_ERROR ((ber_tag_t) -1) #define LBER_DEFAULT ((ber_tag_t) -1) /* general BER types we know about */ #define LBER_BOOLEAN ((ber_tag_t) 0x01UL) #define LBER_INTEGER ((ber_tag_t) 0x02UL) #define LBER_BITSTRING ((ber_tag_t) 0x03UL) #define LBER_OCTETSTRING ((ber_tag_t) 0x04UL) #define LBER_NULL ((ber_tag_t) 0x05UL) #define LBER_ENUMERATED ((ber_tag_t) 0x0aUL) #define LBER_SEQUENCE ((ber_tag_t) 0x30UL) /* constructed */ #define LBER_SET ((ber_tag_t) 0x31UL) /* constructed */ /* LBER BerElement options */ #define LBER_USE_DER 0x01 /* get/set options for BerElement */ #define LBER_OPT_BER_OPTIONS 0x01 #define LBER_OPT_BER_DEBUG 0x02 #define LBER_OPT_BER_REMAINING_BYTES 0x03 #define LBER_OPT_BER_TOTAL_BYTES 0x04 #define LBER_OPT_BER_BYTES_TO_WRITE 0x05 #define LBER_OPT_BER_MEMCTX 0x06 #define LBER_OPT_DEBUG_LEVEL LBER_OPT_BER_DEBUG #define LBER_OPT_REMAINING_BYTES LBER_OPT_BER_REMAINING_BYTES #define LBER_OPT_TOTAL_BYTES LBER_OPT_BER_TOTAL_BYTES #define LBER_OPT_BYTES_TO_WRITE LBER_OPT_BER_BYTES_TO_WRITE #define LBER_OPT_LOG_PRINT_FN 0x8001 #define LBER_OPT_MEMORY_FNS 0x8002 #define LBER_OPT_ERROR_FN 0x8003 #define LBER_OPT_LOG_PRINT_FILE 0x8004 /* get/set Memory Debug options */ #define LBER_OPT_MEMORY_INUSE 0x8005 /* for memory debugging */ #define LBER_OPT_LOG_PROC 0x8006 /* for external logging function */ typedef int* (*BER_ERRNO_FN) LDAP_P(( void )); typedef void (*BER_LOG_PRINT_FN) LDAP_P(( LDAP_CONST char *buf )); typedef void* (BER_MEMALLOC_FN) LDAP_P(( ber_len_t size, void *ctx )); typedef void* (BER_MEMCALLOC_FN) LDAP_P(( ber_len_t n, ber_len_t size, void *ctx )); typedef void* (BER_MEMREALLOC_FN) LDAP_P(( void *p, ber_len_t size, void *ctx )); typedef void (BER_MEMFREE_FN) LDAP_P(( void *p, void *ctx )); typedef struct lber_memory_fns { BER_MEMALLOC_FN *bmf_malloc; BER_MEMCALLOC_FN *bmf_calloc; BER_MEMREALLOC_FN *bmf_realloc; BER_MEMFREE_FN *bmf_free; } BerMemoryFunctions; /* LBER Sockbuf_IO options */ #define LBER_SB_OPT_GET_FD 1 #define LBER_SB_OPT_SET_FD 2 #define LBER_SB_OPT_HAS_IO 3 #define LBER_SB_OPT_SET_NONBLOCK 4 #define LBER_SB_OPT_GET_SSL 7 #define LBER_SB_OPT_DATA_READY 8 #define LBER_SB_OPT_SET_READAHEAD 9 #define LBER_SB_OPT_DRAIN 10 #define LBER_SB_OPT_NEEDS_READ 11 #define LBER_SB_OPT_NEEDS_WRITE 12 #define LBER_SB_OPT_GET_MAX_INCOMING 13 #define LBER_SB_OPT_SET_MAX_INCOMING 14 /* Only meaningful ifdef LDAP_PF_LOCAL_SENDMSG */ #define LBER_SB_OPT_UNGET_BUF 15 /* Largest option used by the library */ #define LBER_SB_OPT_OPT_MAX 15 /* LBER IO operations stacking levels */ #define LBER_SBIOD_LEVEL_PROVIDER 10 #define LBER_SBIOD_LEVEL_TRANSPORT 20 #define LBER_SBIOD_LEVEL_APPLICATION 30 /* get/set options for Sockbuf */ #define LBER_OPT_SOCKBUF_DESC 0x1000 #define LBER_OPT_SOCKBUF_OPTIONS 0x1001 #define LBER_OPT_SOCKBUF_DEBUG 0x1002 /* on/off values */ LBER_V( char ) ber_pvt_opt_on; #define LBER_OPT_ON ((void *) &ber_pvt_opt_on) #define LBER_OPT_OFF ((void *) 0) #define LBER_OPT_SUCCESS (0) #define LBER_OPT_ERROR (-1) typedef struct berelement BerElement; typedef struct sockbuf Sockbuf; typedef struct sockbuf_io Sockbuf_IO; /* Structure for LBER IO operation descriptor */ typedef struct sockbuf_io_desc { int sbiod_level; Sockbuf *sbiod_sb; Sockbuf_IO *sbiod_io; void *sbiod_pvt; struct sockbuf_io_desc *sbiod_next; } Sockbuf_IO_Desc; /* Structure for LBER IO operation functions */ struct sockbuf_io { int (*sbi_setup)( Sockbuf_IO_Desc *sbiod, void *arg ); int (*sbi_remove)( Sockbuf_IO_Desc *sbiod ); int (*sbi_ctrl)( Sockbuf_IO_Desc *sbiod, int opt, void *arg); ber_slen_t (*sbi_read)( Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len ); ber_slen_t (*sbi_write)( Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len ); int (*sbi_close)( Sockbuf_IO_Desc *sbiod ); }; /* Helper macros for LBER IO functions */ #define LBER_SBIOD_READ_NEXT( sbiod, buf, len ) \ ( (sbiod)->sbiod_next->sbiod_io->sbi_read( (sbiod)->sbiod_next, \ buf, len ) ) #define LBER_SBIOD_WRITE_NEXT( sbiod, buf, len ) \ ( (sbiod)->sbiod_next->sbiod_io->sbi_write( (sbiod)->sbiod_next, \ buf, len ) ) #define LBER_SBIOD_CTRL_NEXT( sbiod, opt, arg ) \ ( (sbiod)->sbiod_next ? \ ( (sbiod)->sbiod_next->sbiod_io->sbi_ctrl( \ (sbiod)->sbiod_next, opt, arg ) ) : 0 ) /* structure for returning a sequence of octet strings + length */ typedef struct berval { ber_len_t bv_len; char *bv_val; } BerValue; typedef BerValue *BerVarray; /* To distinguish from a single bv */ /* this should be moved to lber-int.h */ /* * in bprint.c: */ LBER_F( void ) ber_error_print LDAP_P(( LDAP_CONST char *data )); LBER_F( void ) ber_bprint LDAP_P(( LDAP_CONST char *data, ber_len_t len )); LBER_F( void ) ber_dump LDAP_P(( BerElement *ber, int inout )); /* * in decode.c: */ typedef int (*BERDecodeCallback) LDAP_P(( BerElement *ber, void *data, int mode )); LBER_F( ber_tag_t ) ber_get_tag LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_skip_tag LDAP_P(( BerElement *ber, ber_len_t *len )); LBER_F( ber_tag_t ) ber_peek_tag LDAP_P(( BerElement *ber, ber_len_t *len )); LBER_F( ber_tag_t ) ber_skip_element LDAP_P(( BerElement *ber, struct berval *bv )); LBER_F( ber_tag_t ) ber_peek_element LDAP_P(( LDAP_CONST BerElement *ber, struct berval *bv )); LBER_F( ber_tag_t ) ber_get_int LDAP_P(( BerElement *ber, ber_int_t *num )); LBER_F( ber_tag_t ) ber_get_enum LDAP_P(( BerElement *ber, ber_int_t *num )); LBER_F( ber_tag_t ) ber_get_stringb LDAP_P(( BerElement *ber, char *buf, ber_len_t *len )); #define LBER_BV_ALLOC 0x01 /* allocate/copy result, otherwise in-place */ #define LBER_BV_NOTERM 0x02 /* omit NUL-terminator if parsing in-place */ #define LBER_BV_STRING 0x04 /* fail if berval contains embedded \0 */ /* LBER_BV_STRING currently accepts a terminating \0 in the berval, because * Active Directory sends that in at least the diagonsticMessage field. */ LBER_F( ber_tag_t ) ber_get_stringbv LDAP_P(( BerElement *ber, struct berval *bv, int options )); LBER_F( ber_tag_t ) ber_get_stringa LDAP_P(( BerElement *ber, char **buf )); LBER_F( ber_tag_t ) ber_get_stringal LDAP_P(( BerElement *ber, struct berval **bv )); LBER_F( ber_tag_t ) ber_get_bitstringa LDAP_P(( BerElement *ber, char **buf, ber_len_t *len )); LBER_F( ber_tag_t ) ber_get_null LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_get_boolean LDAP_P(( BerElement *ber, ber_int_t *boolval )); LBER_F( ber_tag_t ) ber_first_element LDAP_P(( BerElement *ber, ber_len_t *len, char **last )); LBER_F( ber_tag_t ) ber_next_element LDAP_P(( BerElement *ber, ber_len_t *len, LDAP_CONST char *last )); LBER_F( ber_tag_t ) ber_scanf LDAP_P(( BerElement *ber, LDAP_CONST char *fmt, ... )); LBER_F( int ) ber_decode_oid LDAP_P(( struct berval *in, struct berval *out )); /* * in encode.c */ LBER_F( int ) ber_encode_oid LDAP_P(( struct berval *in, struct berval *out )); typedef int (*BEREncodeCallback) LDAP_P(( BerElement *ber, void *data )); LBER_F( int ) ber_put_enum LDAP_P(( BerElement *ber, ber_int_t num, ber_tag_t tag )); LBER_F( int ) ber_put_int LDAP_P(( BerElement *ber, ber_int_t num, ber_tag_t tag )); LBER_F( int ) ber_put_ostring LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_len_t len, ber_tag_t tag )); LBER_F( int ) ber_put_berval LDAP_P(( BerElement *ber, struct berval *bv, ber_tag_t tag )); LBER_F( int ) ber_put_string LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_tag_t tag )); LBER_F( int ) ber_put_bitstring LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_len_t bitlen, ber_tag_t tag )); LBER_F( int ) ber_put_null LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_put_boolean LDAP_P(( BerElement *ber, ber_int_t boolval, ber_tag_t tag )); LBER_F( int ) ber_start_seq LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_start_set LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_put_seq LDAP_P(( BerElement *ber )); LBER_F( int ) ber_put_set LDAP_P(( BerElement *ber )); LBER_F( int ) ber_printf LDAP_P(( BerElement *ber, LDAP_CONST char *fmt, ... )); /* * in io.c: */ LBER_F( ber_slen_t ) ber_skip_data LDAP_P(( BerElement *ber, ber_len_t len )); LBER_F( ber_slen_t ) ber_read LDAP_P(( BerElement *ber, char *buf, ber_len_t len )); LBER_F( ber_slen_t ) ber_write LDAP_P(( BerElement *ber, LDAP_CONST char *buf, ber_len_t len, int zero )); /* nonzero is unsupported from OpenLDAP 2.4.18 */ LBER_F( void ) ber_free LDAP_P(( BerElement *ber, int freebuf )); LBER_F( void ) ber_free_buf LDAP_P(( BerElement *ber )); LBER_F( int ) ber_flush2 LDAP_P(( Sockbuf *sb, BerElement *ber, int freeit )); #define LBER_FLUSH_FREE_NEVER (0x0) /* traditional behavior */ #define LBER_FLUSH_FREE_ON_SUCCESS (0x1) /* traditional behavior */ #define LBER_FLUSH_FREE_ON_ERROR (0x2) #define LBER_FLUSH_FREE_ALWAYS (LBER_FLUSH_FREE_ON_SUCCESS|LBER_FLUSH_FREE_ON_ERROR) LBER_F( int ) ber_flush LDAP_P(( Sockbuf *sb, BerElement *ber, int freeit )); /* DEPRECATED */ LBER_F( BerElement * ) ber_alloc LDAP_P(( void )); /* DEPRECATED */ LBER_F( BerElement * ) der_alloc LDAP_P(( void )); /* DEPRECATED */ LBER_F( BerElement * ) ber_alloc_t LDAP_P(( int beroptions )); LBER_F( BerElement * ) ber_dup LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_get_next LDAP_P(( Sockbuf *sb, ber_len_t *len, BerElement *ber )); LBER_F( void ) ber_init2 LDAP_P(( BerElement *ber, struct berval *bv, int options )); LBER_F( void ) ber_init_w_nullc LDAP_P(( /* DEPRECATED */ BerElement *ber, int options )); LBER_F( void ) ber_reset LDAP_P(( BerElement *ber, int was_writing )); LBER_F( BerElement * ) ber_init LDAP_P(( struct berval *bv )); LBER_F( int ) ber_flatten LDAP_P(( BerElement *ber, struct berval **bvPtr )); LBER_F( int ) ber_flatten2 LDAP_P(( BerElement *ber, struct berval *bv, int alloc )); LBER_F( int ) ber_remaining LDAP_P(( BerElement *ber )); /* * LBER ber accessor functions */ LBER_F( int ) ber_get_option LDAP_P(( void *item, int option, void *outvalue)); LBER_F( int ) ber_set_option LDAP_P(( void *item, int option, LDAP_CONST void *invalue)); /* * LBER sockbuf.c */ LBER_F( Sockbuf * ) ber_sockbuf_alloc LDAP_P(( void )); LBER_F( void ) ber_sockbuf_free LDAP_P(( Sockbuf *sb )); LBER_F( int ) ber_sockbuf_add_io LDAP_P(( Sockbuf *sb, Sockbuf_IO *sbio, int layer, void *arg )); LBER_F( int ) ber_sockbuf_remove_io LDAP_P(( Sockbuf *sb, Sockbuf_IO *sbio, int layer )); LBER_F( int ) ber_sockbuf_ctrl LDAP_P(( Sockbuf *sb, int opt, void *arg )); LBER_V( Sockbuf_IO ) ber_sockbuf_io_tcp; LBER_V( Sockbuf_IO ) ber_sockbuf_io_readahead; LBER_V( Sockbuf_IO ) ber_sockbuf_io_fd; LBER_V( Sockbuf_IO ) ber_sockbuf_io_debug; LBER_V( Sockbuf_IO ) ber_sockbuf_io_udp; /* * LBER memory.c */ LBER_F( void * ) ber_memalloc LDAP_P(( ber_len_t s )); LBER_F( void * ) ber_memrealloc LDAP_P(( void* p, ber_len_t s )); LBER_F( void * ) ber_memcalloc LDAP_P(( ber_len_t n, ber_len_t s )); LBER_F( void ) ber_memfree LDAP_P(( void* p )); LBER_F( void ) ber_memvfree LDAP_P(( void** vector )); LBER_F( void ) ber_bvfree LDAP_P(( struct berval *bv )); LBER_F( void ) ber_bvecfree LDAP_P(( struct berval **bv )); LBER_F( int ) ber_bvecadd LDAP_P(( struct berval ***bvec, struct berval *bv )); LBER_F( struct berval * ) ber_dupbv LDAP_P(( struct berval *dst, struct berval *src )); LBER_F( struct berval * ) ber_bvdup LDAP_P(( struct berval *src )); LBER_F( struct berval * ) ber_mem2bv LDAP_P(( LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv)); LBER_F( struct berval * ) ber_str2bv LDAP_P(( LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv)); #define ber_bvstr(a) ((ber_str2bv)((a), 0, 0, NULL)) #define ber_bvstrdup(a) ((ber_str2bv)((a), 0, 1, NULL)) LBER_F( char * ) ber_strdup LDAP_P(( LDAP_CONST char * )); LBER_F( ber_len_t ) ber_strnlen LDAP_P(( LDAP_CONST char *s, ber_len_t len )); LBER_F( char * ) ber_strndup LDAP_P(( LDAP_CONST char *s, ber_len_t l )); LBER_F( struct berval * ) ber_bvreplace LDAP_P(( struct berval *dst, LDAP_CONST struct berval *src )); LBER_F( void ) ber_bvarray_free LDAP_P(( BerVarray p )); LBER_F( int ) ber_bvarray_add LDAP_P(( BerVarray *p, BerValue *bv )); #define ber_bvcmp(v1,v2) \ ((v1)->bv_len < (v2)->bv_len \ ? -1 : ((v1)->bv_len > (v2)->bv_len \ ? 1 : memcmp((v1)->bv_val, (v2)->bv_val, (v1)->bv_len) )) /* * error.c */ LBER_F( int * ) ber_errno_addr LDAP_P((void)); #define ber_errno (*(ber_errno_addr)()) #define LBER_ERROR_NONE 0 #define LBER_ERROR_PARAM 0x1 #define LBER_ERROR_MEMORY 0x2 LDAP_END_DECL #endif /* _LBER_H */