Linux spg20.cloudpowerdns.com 5.14.0-611.35.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 25 03:46:09 EST 2026 x86_64
LiteSpeed
Server IP : 46.4.120.162 & Your IP : 216.73.216.190
Domains :
Cant Read [ /etc/named.conf ]
User : seatingsolutions
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
2026-03-01 07:12
X11
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
arpa
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
asm
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
asm-generic
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
bind9
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
bits
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
blkid
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
brotli
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
bsock
[ DIR ]
drwxr-xr-x
2026-03-01 09:53
c++
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
curl
[ DIR ]
drwxr-xr-x
2026-03-01 19:00
drm
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
e2p
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
et
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
event2
[ DIR ]
drwxr-xr-x
2026-03-01 07:10
ext2fs
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
finclude
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
fontconfig
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
freetype2
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
fstrm
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
fwctl
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
gdbm
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
gio-unix-2.0
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
glib-2.0
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
gnu
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
google
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
graphite2
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
gssapi
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
gssrpc
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
harfbuzz
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
json-c
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
kadm5
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
krb5
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
libexslt
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
libltdl
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
libmount
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
libpng16
[ DIR ]
drwxr-xr-x
2026-03-04 18:45
libxml2
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
libxslt
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
linux
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
lve
[ DIR ]
drwxr-xr-x
2026-03-01 08:04
lzma
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
misc
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
mtd
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
mysql
[ DIR ]
drwxr-xr-x
2026-03-01 09:57
ncurses
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
ncursesw
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
net
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netash
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netatalk
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netax25
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
neteconet
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netinet
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netipx
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netiucv
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netpacket
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netrom
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
netrose
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
nfs
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
openssl
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
pcp
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
protobuf-c
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
protocols
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
python3.9
[ DIR ]
drwxr-xr-x
2026-03-01 07:10
rdma
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
rpc
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
scsi
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
security
[ DIR ]
drwxr-xr-x
2026-03-01 07:00
selinux
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
sepol
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
sound
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
sys
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
sysprof-4
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
unicode
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
video
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
webp
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
xcb
[ DIR ]
drwxr-xr-x
2026-03-01 07:12
xen
[ DIR ]
drwxr-xr-x
2026-03-01 06:59
FlexLexer.h
6.73
KB
-rw-r--r--
2022-01-30 08:23
a.out.h
4.25
KB
-rw-r--r--
2026-02-17 11:01
aio.h
7.56
KB
-rw-r--r--
2026-02-17 11:01
aliases.h
1.98
KB
-rw-r--r--
2026-02-17 11:02
alloca.h
1.17
KB
-rw-r--r--
2026-02-17 11:01
ar.h
1.69
KB
-rw-r--r--
2026-02-17 11:01
argp.h
24.95
KB
-rw-r--r--
2026-02-17 11:02
argz.h
5.91
KB
-rw-r--r--
2026-02-17 11:01
assert.h
4.46
KB
-rw-r--r--
2026-02-17 11:01
autosprintf.h
2.36
KB
-rw-r--r--
2023-09-27 06:51
byteswap.h
1.42
KB
-rw-r--r--
2026-02-17 11:01
bzlib.h
6.09
KB
-rw-r--r--
2019-07-13 17:50
com_err.h
2.07
KB
-rw-r--r--
2021-12-30 05:54
complex.h
7.95
KB
-rw-r--r--
2026-02-17 11:01
cpio.h
2.21
KB
-rw-r--r--
2026-02-17 11:01
cpuidle.h
931
B
-rw-r--r--
2026-02-25 09:21
crypt.h
10.9
KB
-rw-r--r--
2022-02-10 04:05
ctype.h
10.71
KB
-rw-r--r--
2026-02-17 11:01
curses.h
96.82
KB
-rw-r--r--
2025-09-21 09:23
cursesapp.h
7.06
KB
-rw-r--r--
2025-09-21 09:23
cursesf.h
27.37
KB
-rw-r--r--
2025-09-21 09:23
cursesm.h
19.44
KB
-rw-r--r--
2025-09-21 09:23
cursesp.h
8.55
KB
-rw-r--r--
2025-09-21 09:23
cursesw.h
49.13
KB
-rw-r--r--
2025-09-21 09:23
cursslk.h
7.15
KB
-rw-r--r--
2025-09-21 09:23
dbm.h
1.37
KB
-rw-r--r--
2022-01-02 08:34
dirent.h
12.32
KB
-rw-r--r--
2026-02-17 11:01
dlfcn.h
8.38
KB
-rw-r--r--
2026-02-17 11:01
elf.h
178.26
KB
-rw-r--r--
2026-02-17 11:02
endian.h
2.25
KB
-rw-r--r--
2026-02-17 11:01
entities.h
4.81
KB
-rw-r--r--
2021-01-12 00:09
envz.h
2.8
KB
-rw-r--r--
2026-02-17 11:01
err.h
2.29
KB
-rw-r--r--
2026-02-17 11:01
errno.h
1.64
KB
-rw-r--r--
2026-02-17 11:01
error.h
2.36
KB
-rw-r--r--
2026-02-17 11:01
eti.h
2.9
KB
-rw-r--r--
2025-09-21 09:23
etip.h
9.61
KB
-rw-r--r--
2025-09-21 09:23
evdns.h
1.97
KB
-rw-r--r--
2019-01-26 09:53
event.h
2.68
KB
-rw-r--r--
2019-01-26 09:53
evhttp.h
1.99
KB
-rw-r--r--
2019-01-26 09:53
evrpc.h
1.97
KB
-rw-r--r--
2019-01-26 09:53
evutil.h
1.74
KB
-rw-r--r--
2019-01-26 09:53
execinfo.h
1.49
KB
-rw-r--r--
2026-02-17 11:02
expat.h
43.24
KB
-rw-r--r--
2025-11-26 16:13
expat_config.h
3.82
KB
-rw-r--r--
2025-11-26 16:14
expat_external.h
5.89
KB
-rw-r--r--
2022-10-25 15:08
fcntl.h
11.17
KB
-rw-r--r--
2026-02-17 11:01
features-time64.h
1.37
KB
-rw-r--r--
2026-02-17 11:01
features.h
17.69
KB
-rw-r--r--
2026-02-17 11:01
fenv.h
5.65
KB
-rw-r--r--
2026-02-17 11:01
ffi-x86_64.h
13.88
KB
-rw-r--r--
2023-09-25 19:54
ffi.h
556
B
-rw-r--r--
2023-09-25 19:54
ffitarget-x86_64.h
4.63
KB
-rw-r--r--
2023-09-25 19:54
ffitarget.h
616
B
-rw-r--r--
2023-09-25 19:54
fmtmsg.h
3.16
KB
-rw-r--r--
2026-02-17 11:01
fnmatch.h
2.24
KB
-rw-r--r--
2026-02-17 11:01
form.h
18.46
KB
-rw-r--r--
2025-09-21 09:23
fpu_control.h
3.5
KB
-rw-r--r--
2026-02-17 11:01
fstab.h
3.04
KB
-rw-r--r--
2026-02-17 11:01
fstrm.h
12.71
KB
-rw-r--r--
2019-03-11 20:58
fts.h
9.35
KB
-rw-r--r--
2026-02-17 11:01
ftw.h
6.19
KB
-rw-r--r--
2026-02-17 11:01
gconv.h
4.11
KB
-rw-r--r--
2026-02-17 11:01
gd.h
58.25
KB
-rw-r--r--
2021-03-06 18:21
gd_color_map.h
478
B
-rw-r--r--
2021-01-12 00:09
gd_errors.h
1.47
KB
-rw-r--r--
2021-01-12 00:09
gd_io.h
2.93
KB
-rw-r--r--
2021-03-03 07:15
gdbm.h
11.9
KB
-rw-r--r--
2024-10-02 21:50
gdcache.h
2.92
KB
-rw-r--r--
2021-03-03 07:15
gdfontg.h
553
B
-rw-r--r--
2021-01-12 00:09
gdfontl.h
551
B
-rw-r--r--
2021-01-12 00:09
gdfontmb.h
519
B
-rw-r--r--
2021-01-12 00:09
gdfonts.h
515
B
-rw-r--r--
2021-01-12 00:09
gdfontt.h
546
B
-rw-r--r--
2021-01-12 00:09
gdfx.h
496
B
-rw-r--r--
2021-02-21 17:23
gdpp.h
50.73
KB
-rw-r--r--
2021-03-03 07:15
getopt.h
1.43
KB
-rw-r--r--
2026-02-17 11:01
gettext-po.h
15.18
KB
-rw-r--r--
2023-09-27 06:52
glob.h
7.13
KB
-rw-r--r--
2026-02-17 11:01
gnu-versions.h
2.29
KB
-rw-r--r--
2026-02-17 11:01
gnumake.h
2.84
KB
-rw-r--r--
2020-01-03 07:11
gpg-error.h
71.92
KB
-rw-r--r--
2022-02-09 23:24
gpgrt.h
71.92
KB
-rw-r--r--
2022-02-09 23:24
grp.h
6.53
KB
-rw-r--r--
2026-02-17 11:01
gshadow.h
4.42
KB
-rw-r--r--
2026-02-17 11:02
gssapi.h
181
B
-rw-r--r--
2023-07-10 20:58
iconv.h
1.81
KB
-rw-r--r--
2026-02-17 11:01
idn-free.h
2.56
KB
-rw-r--r--
2021-07-22 13:31
idn-int.h
20
B
-rw-r--r--
2022-02-14 15:33
idna.h
3.89
KB
-rw-r--r--
2021-07-22 13:31
ieee754.h
4.8
KB
-rw-r--r--
2026-02-17 11:01
ifaddrs.h
2.77
KB
-rw-r--r--
2026-02-17 11:02
inttypes.h
8.14
KB
-rw-r--r--
2026-02-17 11:01
jconfig-64.h
1.98
KB
-rw-r--r--
2024-04-01 19:06
jconfig.h
246
B
-rw-r--r--
2024-04-01 19:06
jerror.h
15.35
KB
-rw-r--r--
2020-11-25 03:56
jmorecfg.h
13.98
KB
-rw-r--r--
2020-11-25 03:56
jpegint.h
15.25
KB
-rw-r--r--
2020-11-25 03:56
jpeglib.h
49.1
KB
-rw-r--r--
2020-11-25 03:56
kdb.h
62.83
KB
-rw-r--r--
2025-06-24 12:42
keyutils.h
11.52
KB
-rw-r--r--
2023-04-05 19:15
krad.h
8.72
KB
-rw-r--r--
2023-07-10 20:58
krb5.h
402
B
-rw-r--r--
2023-07-10 20:58
langinfo.h
17.43
KB
-rw-r--r--
2026-02-17 11:01
lastlog.h
126
B
-rw-r--r--
2026-02-17 11:02
libaio.h
8.75
KB
-rw-r--r--
2022-02-09 19:07
libgen.h
1.35
KB
-rw-r--r--
2026-02-17 11:01
libintl.h
4.47
KB
-rw-r--r--
2026-02-17 11:01
libtasn1.h
15.05
KB
-rw-r--r--
2025-03-13 03:31
limits.h
5.57
KB
-rw-r--r--
2026-02-17 11:01
link.h
7.62
KB
-rw-r--r--
2026-02-17 11:02
lmdb.h
72.28
KB
-rw-r--r--
2021-03-16 16:41
locale.h
7.5
KB
-rw-r--r--
2026-02-17 11:01
ltdl.h
5.58
KB
-rw-r--r--
2024-10-01 17:49
lzma.h
9.63
KB
-rw-r--r--
2020-03-17 14:28
malloc.h
5.77
KB
-rw-r--r--
2026-02-17 11:01
math.h
47.63
KB
-rw-r--r--
2026-02-17 11:01
maxminddb.h
8.34
KB
-rw-r--r--
2021-02-18 17:04
maxminddb_config-64.h
504
B
-rw-r--r--
2024-10-01 16:54
maxminddb_config.h
178
B
-rw-r--r--
2024-10-01 16:54
mcheck.h
2.38
KB
-rw-r--r--
2026-02-17 11:01
memory.h
956
B
-rw-r--r--
2026-02-17 11:01
menu.h
11.6
KB
-rw-r--r--
2025-09-21 09:23
mntent.h
3.28
KB
-rw-r--r--
2026-02-17 11:01
monetary.h
1.92
KB
-rw-r--r--
2026-02-17 11:01
mqueue.h
4.5
KB
-rw-r--r--
2026-02-17 11:01
nc_tparm.h
4.67
KB
-rw-r--r--
2025-09-21 09:23
ncurses.h
96.82
KB
-rw-r--r--
2025-09-21 09:23
ncurses_dll.h
3.95
KB
-rw-r--r--
2025-09-21 09:23
ndbm.h
2.39
KB
-rw-r--r--
2022-01-02 08:34
netdb.h
27.79
KB
-rw-r--r--
2026-02-17 11:02
nl_types.h
1.71
KB
-rw-r--r--
2026-02-17 11:01
nss.h
14.07
KB
-rw-r--r--
2026-02-17 11:02
obstack.h
20.81
KB
-rw-r--r--
2026-02-17 11:01
panel.h
4.41
KB
-rw-r--r--
2025-09-21 09:23
paths.h
2.91
KB
-rw-r--r--
2026-02-17 11:01
pcre.h
30.97
KB
-rw-r--r--
2024-10-02 21:53
pcre2.h
46.15
KB
-rw-r--r--
2024-10-02 21:57
pcre2posix.h
6.52
KB
-rw-r--r--
2021-08-20 16:51
pcre_scanner.h
6.45
KB
-rw-r--r--
2014-01-31 14:32
pcre_stringpiece.h
6.16
KB
-rw-r--r--
2024-10-02 21:53
pcrecpp.h
25.91
KB
-rw-r--r--
2014-01-31 14:32
pcrecpparg.h
6.62
KB
-rw-r--r--
2024-10-02 21:53
pcreposix.h
5.74
KB
-rw-r--r--
2024-10-02 21:53
png.h
139.51
KB
-rw-r--r--
2019-04-14 18:10
pngconf.h
22.31
KB
-rw-r--r--
2019-04-14 18:10
pnglibconf.h
7.43
KB
-rw-r--r--
2026-02-26 15:08
poll.h
22
B
-rw-r--r--
2026-02-17 11:01
powercap.h
1.62
KB
-rw-r--r--
2026-02-25 09:21
pr29.h
2.19
KB
-rw-r--r--
2021-07-22 13:31
printf.h
6.71
KB
-rw-r--r--
2026-02-17 11:01
proc_service.h
3.4
KB
-rw-r--r--
2026-02-17 11:02
profile.h
11.87
KB
-rw-r--r--
2025-06-24 12:43
pthread.h
47.39
KB
-rw-r--r--
2026-02-17 11:01
pty.h
1.53
KB
-rw-r--r--
2026-02-17 11:02
punycode.h
9.3
KB
-rw-r--r--
2021-07-22 13:31
pwd.h
6.17
KB
-rw-r--r--
2026-02-17 11:01
re_comp.h
963
B
-rw-r--r--
2026-02-17 11:01
regex.h
25.3
KB
-rw-r--r--
2026-02-17 11:01
regexp.h
1.41
KB
-rw-r--r--
2026-02-17 11:01
resolv.h
12.1
KB
-rw-r--r--
2026-02-17 11:02
sched.h
4.92
KB
-rw-r--r--
2026-02-17 11:01
search.h
5.32
KB
-rw-r--r--
2026-02-17 11:01
semaphore.h
3.38
KB
-rw-r--r--
2026-02-17 11:01
setjmp.h
3.12
KB
-rw-r--r--
2026-02-17 11:01
sgtty.h
1.31
KB
-rw-r--r--
2026-02-17 11:01
shadow.h
5.34
KB
-rw-r--r--
2026-02-17 11:02
signal.h
12.73
KB
-rw-r--r--
2026-02-17 11:01
spawn.h
8.1
KB
-rw-r--r--
2026-02-17 11:01
stab.h
264
B
-rw-r--r--
2026-02-17 11:01
stdc-predef.h
2.24
KB
-rw-r--r--
2026-02-17 11:01
stdint.h
8.28
KB
-rw-r--r--
2026-02-17 11:01
stdio.h
30.67
KB
-rw-r--r--
2026-02-17 11:01
stdio_ext.h
2.73
KB
-rw-r--r--
2026-02-17 11:01
stdlib.h
35.46
KB
-rw-r--r--
2026-02-17 11:01
string.h
19
KB
-rw-r--r--
2026-02-17 11:01
stringprep.h
9.53
KB
-rw-r--r--
2021-07-22 13:44
strings.h
4.64
KB
-rw-r--r--
2026-02-17 11:01
syscall.h
25
B
-rw-r--r--
2026-02-17 11:01
sysexits.h
5.11
KB
-rw-r--r--
2026-02-17 11:01
syslog.h
24
B
-rw-r--r--
2026-02-17 11:01
tar.h
3.7
KB
-rw-r--r--
2026-02-17 11:01
term.h
40.95
KB
-rw-r--r--
2025-09-21 09:23
term_entry.h
8.9
KB
-rw-r--r--
2025-09-21 09:23
termcap.h
3.39
KB
-rw-r--r--
2025-09-21 09:23
termio.h
214
B
-rw-r--r--
2026-02-17 11:01
termios.h
3.51
KB
-rw-r--r--
2026-02-17 11:01
tgmath.h
39.24
KB
-rw-r--r--
2026-02-17 11:01
thread_db.h
15.65
KB
-rw-r--r--
2026-02-17 11:02
threads.h
7.51
KB
-rw-r--r--
2026-02-17 11:01
tic.h
14.48
KB
-rw-r--r--
2025-09-21 09:23
tiff.h
46.33
KB
-rw-r--r--
2022-04-22 16:51
tiffconf-64.h
3.19
KB
-rw-r--r--
2025-11-12 03:46
tiffconf.h
250
B
-rw-r--r--
2025-11-12 03:46
tiffio.h
24.13
KB
-rw-r--r--
2022-05-20 15:32
tiffio.hxx
1.62
KB
-rw-r--r--
2022-02-19 15:33
tiffvers.h
410
B
-rw-r--r--
2022-05-20 16:12
time.h
14.5
KB
-rw-r--r--
2026-02-17 11:01
tld.h
4.85
KB
-rw-r--r--
2021-07-22 13:31
ttyent.h
2.44
KB
-rw-r--r--
2026-02-17 11:01
uchar.h
1.96
KB
-rw-r--r--
2026-02-17 11:01
ucontext.h
1.99
KB
-rw-r--r--
2026-02-17 11:01
ulimit.h
1.55
KB
-rw-r--r--
2026-02-17 11:01
unctrl.h
3.1
KB
-rw-r--r--
2025-09-21 09:23
unistd.h
43.45
KB
-rw-r--r--
2026-02-17 11:01
utime.h
1.86
KB
-rw-r--r--
2026-02-17 11:01
utmp.h
3.15
KB
-rw-r--r--
2026-02-17 11:02
utmpx.h
4
KB
-rw-r--r--
2026-02-17 11:02
values.h
1.91
KB
-rw-r--r--
2026-02-17 11:01
verto-module.h
6.48
KB
-rw-r--r--
2022-02-10 04:33
verto.h
18.98
KB
-rw-r--r--
2022-02-10 04:33
wait.h
22
B
-rw-r--r--
2026-02-17 11:01
wchar.h
31.39
KB
-rw-r--r--
2026-02-17 11:01
wctype.h
5.42
KB
-rw-r--r--
2026-02-17 11:01
wordexp.h
2.44
KB
-rw-r--r--
2026-02-17 11:01
zconf.h
15.88
KB
-rw-r--r--
2023-09-26 09:22
zlib.h
94
KB
-rw-r--r--
2023-09-26 09:22
Save
Rename
/* * Copyright (C) 2002-2014 Free Software Foundation, Inc. * * This file is part of LIBTASN1. * * LIBTASN1 is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * LIBTASN1 is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with LIBTASN1; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA * */ /** * libtasn1:Short_Description: * * GNU ASN.1 library */ /** * libtasn1:Long_Description: * * The Libtasn1 library provides Abstract Syntax Notation One (ASN.1, as * specified by the X.680 ITU-T recommendation) parsing and structures * management, and Distinguished Encoding Rules (DER, as per X.690) * encoding and decoding functions. */ #ifndef LIBTASN1_H #define LIBTASN1_H #ifndef ASN1_API #if defined ASN1_BUILDING && defined HAVE_VISIBILITY && HAVE_VISIBILITY #define ASN1_API __attribute__((__visibility__("default"))) #elif defined ASN1_BUILDING && defined _MSC_VER && ! defined ASN1_STATIC #define ASN1_API __declspec(dllexport) #elif defined _MSC_VER && ! defined ASN1_STATIC #define ASN1_API __declspec(dllimport) #else #define ASN1_API #endif #endif #ifdef __GNUC__ # define __LIBTASN1_CONST__ __attribute__((const)) # define __LIBTASN1_PURE__ __attribute__((pure)) #else # define __LIBTASN1_CONST__ # define __LIBTASN1_PURE__ #endif #include <sys/types.h> #include <time.h> #include <stdio.h> /* for FILE* */ #ifdef __cplusplus extern "C" { #endif /** * ASN1_VERSION: * * Version of the library as a string. */ #define ASN1_VERSION "4.16.0" /** * ASN1_VERSION_MAJOR: * * Major version number of the library. */ #define ASN1_VERSION_MAJOR 4 /** * ASN1_VERSION_MINOR: * * Minor version number of the library. */ #define ASN1_VERSION_MINOR 16 /** * ASN1_VERSION_PATCH: * * Patch version number of the library. */ #define ASN1_VERSION_PATCH 0 /** * ASN1_VERSION_NUMBER: * * Version number of the library as a number. */ #define ASN1_VERSION_NUMBER 0x041000 #if defined __GNUC__ && !defined ASN1_INTERNAL_BUILD # define _ASN1_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) # if _ASN1_GCC_VERSION >= 30100 # define _ASN1_GCC_ATTR_DEPRECATED __attribute__ ((__deprecated__)) # endif #endif #ifndef _ASN1_GCC_ATTR_DEPRECATED #define _ASN1_GCC_ATTR_DEPRECATED #endif /*****************************************/ /* Errors returned by libtasn1 functions */ /*****************************************/ #define ASN1_SUCCESS 0 #define ASN1_FILE_NOT_FOUND 1 #define ASN1_ELEMENT_NOT_FOUND 2 #define ASN1_IDENTIFIER_NOT_FOUND 3 #define ASN1_DER_ERROR 4 #define ASN1_VALUE_NOT_FOUND 5 #define ASN1_GENERIC_ERROR 6 #define ASN1_VALUE_NOT_VALID 7 #define ASN1_TAG_ERROR 8 #define ASN1_TAG_IMPLICIT 9 #define ASN1_ERROR_TYPE_ANY 10 #define ASN1_SYNTAX_ERROR 11 #define ASN1_MEM_ERROR 12 #define ASN1_MEM_ALLOC_ERROR 13 #define ASN1_DER_OVERFLOW 14 #define ASN1_NAME_TOO_LONG 15 #define ASN1_ARRAY_ERROR 16 #define ASN1_ELEMENT_NOT_EMPTY 17 #define ASN1_TIME_ENCODING_ERROR 18 #define ASN1_RECURSION 19 /*************************************/ /* Constants used in asn1_visit_tree */ /*************************************/ #define ASN1_PRINT_NAME 1 #define ASN1_PRINT_NAME_TYPE 2 #define ASN1_PRINT_NAME_TYPE_VALUE 3 #define ASN1_PRINT_ALL 4 /*****************************************/ /* Constants returned by asn1_read_tag */ /*****************************************/ #define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */ #define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */ #define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */ #define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */ #define ASN1_CLASS_STRUCTURED 0x20 /*****************************************/ /* Constants returned by asn1_read_tag */ /*****************************************/ #define ASN1_TAG_BOOLEAN 0x01 #define ASN1_TAG_INTEGER 0x02 #define ASN1_TAG_SEQUENCE 0x10 #define ASN1_TAG_SET 0x11 #define ASN1_TAG_OCTET_STRING 0x04 #define ASN1_TAG_BIT_STRING 0x03 #define ASN1_TAG_UTCTime 0x17 #define ASN1_TAG_GENERALIZEDTime 0x18 #define ASN1_TAG_OBJECT_ID 0x06 #define ASN1_TAG_ENUMERATED 0x0A #define ASN1_TAG_NULL 0x05 #define ASN1_TAG_GENERALSTRING 0x1B #define ASN1_TAG_NUMERIC_STRING 0x12 #define ASN1_TAG_IA5_STRING 0x16 #define ASN1_TAG_TELETEX_STRING 0x14 #define ASN1_TAG_PRINTABLE_STRING 0x13 #define ASN1_TAG_UNIVERSAL_STRING 0x1C #define ASN1_TAG_BMP_STRING 0x1E #define ASN1_TAG_UTF8_STRING 0x0C #define ASN1_TAG_VISIBLE_STRING 0x1A /** * asn1_node: * * Structure definition used for the node of the tree * that represents an ASN.1 DEFINITION. */ typedef struct asn1_node_st asn1_node_st; typedef asn1_node_st *asn1_node; typedef const asn1_node_st *asn1_node_const; /** * ASN1_MAX_NAME_SIZE: * * Maximum number of characters of a name * inside a file with ASN1 definitions. */ #define ASN1_MAX_NAME_SIZE 64 /** * asn1_static_node: * @name: Node name * @type: Node typ * @value: Node value * * For the on-disk format of ASN.1 trees, created by asn1_parser2array(). */ struct asn1_static_node_st { const char *name; /* Node name */ unsigned int type; /* Node type */ const void *value; /* Node value */ }; typedef struct asn1_static_node_st asn1_static_node; /* List of constants for field type of node_asn */ #define ASN1_ETYPE_INVALID 0 #define ASN1_ETYPE_CONSTANT 1 #define ASN1_ETYPE_IDENTIFIER 2 #define ASN1_ETYPE_INTEGER 3 #define ASN1_ETYPE_BOOLEAN 4 #define ASN1_ETYPE_SEQUENCE 5 #define ASN1_ETYPE_BIT_STRING 6 #define ASN1_ETYPE_OCTET_STRING 7 #define ASN1_ETYPE_TAG 8 #define ASN1_ETYPE_DEFAULT 9 #define ASN1_ETYPE_SIZE 10 #define ASN1_ETYPE_SEQUENCE_OF 11 #define ASN1_ETYPE_OBJECT_ID 12 #define ASN1_ETYPE_ANY 13 #define ASN1_ETYPE_SET 14 #define ASN1_ETYPE_SET_OF 15 #define ASN1_ETYPE_DEFINITIONS 16 #define ASN1_ETYPE_CHOICE 18 #define ASN1_ETYPE_IMPORTS 19 #define ASN1_ETYPE_NULL 20 #define ASN1_ETYPE_ENUMERATED 21 #define ASN1_ETYPE_GENERALSTRING 27 #define ASN1_ETYPE_NUMERIC_STRING 28 #define ASN1_ETYPE_IA5_STRING 29 #define ASN1_ETYPE_TELETEX_STRING 30 #define ASN1_ETYPE_PRINTABLE_STRING 31 #define ASN1_ETYPE_UNIVERSAL_STRING 32 #define ASN1_ETYPE_BMP_STRING 33 #define ASN1_ETYPE_UTF8_STRING 34 #define ASN1_ETYPE_VISIBLE_STRING 35 #define ASN1_ETYPE_UTC_TIME 36 #define ASN1_ETYPE_GENERALIZED_TIME 37 /** * ASN1_DELETE_FLAG_ZEROIZE: * * Used by: asn1_delete_structure2() * * Zeroize values prior to deinitialization. */ #define ASN1_DELETE_FLAG_ZEROIZE 1 /** * ASN1_DECODE_FLAG_ALLOW_PADDING: * * Used by: asn1_der_decoding2() * * This flag would allow arbitrary data past the DER data. */ #define ASN1_DECODE_FLAG_ALLOW_PADDING 1 /** * ASN1_DECODE_FLAG_STRICT_DER: * * Used by: asn1_der_decoding2() * * This flag would ensure that no BER decoding takes place. */ #define ASN1_DECODE_FLAG_STRICT_DER (1<<1) /** * ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME: * * Used by: asn1_der_decoding2() * * This flag will tolerate Time encoding errors when in strict DER. */ #define ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME (1<<2) /** * asn1_data_node_st: * @name: Node name * @value: Node value * @value_len: Node value size * @type: Node value type (ASN1_ETYPE_*) * * Data node inside a #asn1_node structure. */ struct asn1_data_node_st { const char *name; /* Node name */ const void *value; /* Node value */ unsigned int value_len; /* Node value size */ unsigned int type; /* Node value type (ASN1_ETYPE_*) */ }; typedef struct asn1_data_node_st asn1_data_node_st; /***********************************/ /* Fixed constants */ /***********************************/ /** * ASN1_MAX_ERROR_DESCRIPTION_SIZE: * * Maximum number of characters * of a description message * (null character included). */ #define ASN1_MAX_ERROR_DESCRIPTION_SIZE 128 /***********************************/ /* Functions definitions */ /***********************************/ extern ASN1_API int asn1_parser2tree (const char *file, asn1_node * definitions, char *error_desc); extern ASN1_API int asn1_parser2array (const char *inputFileName, const char *outputFileName, const char *vectorName, char *error_desc); extern ASN1_API int asn1_array2tree (const asn1_static_node * array, asn1_node * definitions, char *errorDescription); extern ASN1_API void asn1_print_structure (FILE * out, asn1_node_const structure, const char *name, int mode); extern ASN1_API int asn1_create_element (asn1_node_const definitions, const char *source_name, asn1_node * element); extern ASN1_API int asn1_delete_structure (asn1_node * structure); extern ASN1_API int asn1_delete_structure2 (asn1_node * structure, unsigned int flags); extern ASN1_API int asn1_delete_element (asn1_node structure, const char *element_name); extern ASN1_API int asn1_write_value (asn1_node node_root, const char *name, const void *ivalue, int len); extern ASN1_API int asn1_read_value (asn1_node_const root, const char *name, void *ivalue, int *len); extern ASN1_API int asn1_read_value_type (asn1_node_const root, const char *name, void *ivalue, int *len, unsigned int *etype); extern ASN1_API int asn1_read_node_value (asn1_node_const node, asn1_data_node_st * data); extern ASN1_API int asn1_number_of_elements (asn1_node_const element, const char *name, int *num); extern ASN1_API int asn1_der_coding (asn1_node_const element, const char *name, void *ider, int *len, char *ErrorDescription); extern ASN1_API int asn1_der_decoding2 (asn1_node *element, const void *ider, int *max_ider_len, unsigned int flags, char *errorDescription); extern ASN1_API int asn1_der_decoding (asn1_node * element, const void *ider, int ider_len, char *errorDescription); /* Do not use. Use asn1_der_decoding() instead. */ extern ASN1_API int asn1_der_decoding_element (asn1_node * structure, const char *elementName, const void *ider, int len, char *errorDescription) _ASN1_GCC_ATTR_DEPRECATED; extern ASN1_API int asn1_der_decoding_startEnd (asn1_node element, const void *ider, int ider_len, const char *name_element, int *start, int *end); extern ASN1_API int asn1_expand_any_defined_by (asn1_node_const definitions, asn1_node * element); extern ASN1_API int asn1_expand_octet_string (asn1_node_const definitions, asn1_node * element, const char *octetName, const char *objectName); extern ASN1_API int asn1_read_tag (asn1_node_const root, const char *name, int *tagValue, int *classValue); extern ASN1_API const char *asn1_find_structure_from_oid (asn1_node_const definitions, const char *oidValue); __LIBTASN1_PURE__ extern ASN1_API const char *asn1_check_version (const char *req_version); __LIBTASN1_PURE__ extern ASN1_API const char *asn1_strerror (int error); extern ASN1_API void asn1_perror (int error); #define ASN1_MAX_TAG_SIZE 4 #define ASN1_MAX_LENGTH_SIZE 9 #define ASN1_MAX_TL_SIZE (ASN1_MAX_TAG_SIZE+ASN1_MAX_LENGTH_SIZE) extern ASN1_API long asn1_get_length_der (const unsigned char *der, int der_len, int *len); extern ASN1_API long asn1_get_length_ber (const unsigned char *ber, int ber_len, int *len); extern ASN1_API void asn1_length_der (unsigned long int len, unsigned char *der, int *der_len); /* Other utility functions. */ extern ASN1_API int asn1_decode_simple_der (unsigned int etype, const unsigned char *der, unsigned int _der_len, const unsigned char **str, unsigned int *str_len); extern ASN1_API int asn1_decode_simple_ber (unsigned int etype, const unsigned char *der, unsigned int _der_len, unsigned char **str, unsigned int *str_len, unsigned int *ber_len); extern ASN1_API int asn1_encode_simple_der (unsigned int etype, const unsigned char *str, unsigned int str_len, unsigned char *tl, unsigned int *tl_len); extern ASN1_API asn1_node asn1_find_node (asn1_node_const pointer, const char *name); extern ASN1_API int asn1_copy_node (asn1_node dst, const char *dst_name, asn1_node_const src, const char *src_name); extern ASN1_API asn1_node asn1_dup_node (asn1_node_const src, const char *src_name); /* Internal and low-level DER utility functions. */ extern ASN1_API int asn1_get_tag_der (const unsigned char *der, int der_len, unsigned char *cls, int *len, unsigned long *tag); extern ASN1_API void asn1_octet_der (const unsigned char *str, int str_len, unsigned char *der, int *der_len); extern ASN1_API int asn1_get_octet_der (const unsigned char *der, int der_len, int *ret_len, unsigned char *str, int str_size, int *str_len); extern ASN1_API void asn1_bit_der (const unsigned char *str, int bit_len, unsigned char *der, int *der_len); extern ASN1_API int asn1_get_bit_der (const unsigned char *der, int der_len, int *ret_len, unsigned char *str, int str_size, int *bit_len); extern ASN1_API int asn1_get_object_id_der (const unsigned char *der, int der_len, int *ret_len, char *str, int str_size); extern ASN1_API int asn1_object_id_der (const char *str, unsigned char *der, int *der_len, unsigned flags); /* Compatibility types */ /** * asn1_retCode: * * Type formerly returned by libtasn1 functions. * * Deprecated: 3.0: Use int instead. */ typedef int asn1_retCode; /** * node_asn_struct: * * Compat #define. * * Deprecated: 3.0: Use #asn1_node instead. */ #define node_asn_struct asn1_node_st /** * node_asn: * * Compat #define. * * Deprecated: 3.0: Use #asn1_node instead. */ #define node_asn asn1_node_st /** * ASN1_TYPE: * * Compat #define. * * Deprecated: 3.0: Use #asn1_node instead. */ #define ASN1_TYPE asn1_node /** * ASN1_TYPE_EMPTY: * * Compat #define. * * Deprecated: 3.0: Use NULL instead. */ #define ASN1_TYPE_EMPTY NULL /** * static_struct_asn: * * Compat #define. * * Deprecated: 3.0: Use #asn1_static_node instead. */ #define static_struct_asn asn1_static_node_st /** * ASN1_ARRAY_TYPE: * * Compat #define. * * Deprecated: 3.0: Use #asn1_static_node instead. */ #define ASN1_ARRAY_TYPE asn1_static_node /** * asn1_static_node_t: * * Compat #define. * * Deprecated: 3.0: Use #asn1_static_node instead. */ #define asn1_static_node_t asn1_static_node /** * node_data_struct: * * Compat #define. * * Deprecated: 3.0: Use #asn1_data_node_st instead. */ #define node_data_struct asn1_data_node_st /** * ASN1_DATA_NODE: * * Compat #define. * * Deprecated: 3.0: Use #asn1_data_node_st instead. */ #define ASN1_DATA_NODE asn1_data_node_st #ifdef __cplusplus } #endif #endif /* LIBTASN1_H */