Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
opt /
lampp /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
ab
51.43
KB
-rwxr-xr-x
annotate
10.2
KB
-rwxr-xr-x
apachectl
3.33
KB
-rwxr-xr-x
apr-1-config
6.84
KB
-rwxr-xr-x
apreq2-config
5.96
KB
-rwxr-xr-x
apu-1-config
6.42
KB
-rwxr-xr-x
apxs
23.3
KB
-rwxr-xr-x
aria_chk
4.56
MB
-rwxr-xr-x
aria_dump_log
4.35
MB
-rwxr-xr-x
aria_ftdump
4.37
MB
-rwxr-xr-x
aria_pack
4.4
MB
-rwxr-xr-x
aria_read_log
4.51
MB
-rwxr-xr-x
autopoint
25.97
KB
-rwxr-xr-x
bdftogd
3.91
KB
-rwxr-xr-x
bison
288.55
KB
-rwxr-xr-x
bmp2tiff
14.32
KB
-rwxr-xr-x
bsqldb
26.76
KB
-rwxr-xr-x
bunzip2
85.55
KB
-rwxr-xr-x
bzcat
85.55
KB
-rwxr-xr-x
bzcmp
2.08
KB
-rwxr-xr-x
bzdiff
2.08
KB
-rwxr-xr-x
bzegrep
1.64
KB
-rwxr-xr-x
bzfgrep
1.64
KB
-rwxr-xr-x
bzgrep
1.64
KB
-rwxr-xr-x
bzip2
85.55
KB
-rwxr-xr-x
bzip2recover
14.23
KB
-rwxr-xr-x
bzless
1.23
KB
-rwxr-xr-x
bzmore
1.23
KB
-rwxr-xr-x
captoinfo
66.7
KB
-rwxr-xr-x
checkgid
6.13
KB
-rwxr-xr-x
cjpeg
30.29
KB
-rwxr-xr-x
clear
6.12
KB
-rwxr-xr-x
corelist
15.03
KB
-rwxr-xr-x
cpan
8.18
KB
-rwxr-xr-x
crc32
715
B
-r-xr-xr-x
c_rehash
6.57
KB
-rwxr-xr-x
curl
174.83
KB
-rwxr-xr-x
curl-config
5.48
KB
-rwxr-xr-x
cwebp
50.9
KB
-rwxr-xr-x
datacopy
22.45
KB
-rwxr-xr-x
dbilogstrip
1.44
KB
-r-xr-xr-x
dbiprof
6.17
KB
-r-xr-xr-x
dbiproxy
5.37
KB
-r-xr-xr-x
dbl2png
14.3
KB
-rwxr-xr-x
dbmmanage
8.72
KB
-rwxr-xr-x
defncopy
18.76
KB
-rwxr-xr-x
derb
23.09
KB
-rwxr-xr-x
djpeg
26.27
KB
-rwxr-xr-x
dwebp
30.49
KB
-rwxr-xr-x
enc2xs
40.79
KB
-rwxr-xr-x
encguess
3.02
KB
-rwxr-xr-x
envsubst
34.55
KB
-rwxr-xr-x
envvars
1.03
KB
-rw-r--r--
envvars-std
1.03
KB
-rw-r--r--
fax2ps
18.52
KB
-rwxr-xr-x
fax2tiff
14.66
KB
-rwxr-xr-x
fcgistarter
10.27
KB
-rwxr-xr-x
fisql
26.91
KB
-rwxr-xr-x
fix_rights
956
B
-rwxr-xr-x
flex
353.36
KB
-rwxr-xr-x
flex++
353.36
KB
-rwxr-xr-x
freebcp
18.59
KB
-rwxr-xr-x
freetype-config
3.75
KB
-rwxr-xr-x
ftpasswd
33.94
KB
-rwxr-xr-x
ftpcount
15.67
KB
-rwxr-xr-x
ftpdctl
82.73
KB
-rwxr-xr-x
ftpmail
13.69
KB
-rwxr-xr-x
ftpquota
32.21
KB
-rwxr-xr-x
ftptop
23.52
KB
-rwxr-xr-x
ftpwho
47.84
KB
-rwxr-xr-x
gd2copypal
10.15
KB
-rwxr-xr-x
gd2togif
10.14
KB
-rwxr-xr-x
gd2topng
10.16
KB
-rwxr-xr-x
gdcmpgif
10.15
KB
-rwxr-xr-x
gdparttopng
10.16
KB
-rwxr-xr-x
gdtopng
10.14
KB
-rwxr-xr-x
genbrk
14.84
KB
-rwxr-xr-x
gencfu
10.74
KB
-rwxr-xr-x
gencnval
22.73
KB
-rwxr-xr-x
gendict
22.91
KB
-rwxr-xr-x
gen_php_doc.sh
240
B
-rwxr-xr-x
genrb
161.05
KB
-rwxr-xr-x
GET
14.34
KB
-r-xr-xr-x
gettext
34.53
KB
-rwxr-xr-x
gettextize
42.73
KB
-rwxr-xr-x
gettext.sh
4.52
KB
-rwxr-xr-x
gif2tiff
14.48
KB
-rwxr-xr-x
giftogd2
10.15
KB
-rwxr-xr-x
h2ph
28.55
KB
-rwxr-xr-x
h2xs
59.52
KB
-rwxr-xr-x
HEAD
14.34
KB
-r-xr-xr-x
htcacheclean
30.53
KB
-rwxr-xr-x
htdbm
18.47
KB
-rwxr-xr-x
htdigest
10.27
KB
-rwxr-xr-x
html_template_phplibtool
107
B
-rwxr-xr-x
htpasswd
18.41
KB
-rwxr-xr-x
httpd
696.97
KB
-rwxr-xr-x
httxt2dbm
10.23
KB
-rwxr-xr-x
iconv
26.38
KB
-rwxr-xr-x
icu-config
21.58
KB
-rwxr-xr-x
icuinfo
10.54
KB
-rwxr-xr-x
infocmp
58.65
KB
-rwxr-xr-x
infotocap
66.7
KB
-rwxr-xr-x
innochecksum
3.62
MB
-rwxr-xr-x
instmodsh
4.16
KB
-r-xr-xr-x
jpegtran
42.36
KB
-rwxr-xr-x
json_pp
4.89
KB
-rwxr-xr-x
ldapadd
67.11
KB
-rwxr-xr-x
ldapcompare
55
KB
-rwxr-xr-x
ldapdelete
59.09
KB
-rwxr-xr-x
ldapexop
55.06
KB
-rwxr-xr-x
ldapmodify
67.11
KB
-rwxr-xr-x
ldapmodrdn
55
KB
-rwxr-xr-x
ldappasswd
55.03
KB
-rwxr-xr-x
ldapsearch
79.36
KB
-rwxr-xr-x
ldapurl
18.34
KB
-rwxr-xr-x
ldapwhoami
55.02
KB
-rwxr-xr-x
libmcrypt-config
1.43
KB
-rwxr-xr-x
libnetcfg
15.42
KB
-rwxr-xr-x
libpng16-config
2.27
KB
-rwxr-xr-x
libpng-config
2.27
KB
-rwxr-xr-x
listaction
170.55
KB
-rwxr-xr-x
listaction_d
170.54
KB
-rwxr-xr-x
listfdb
14.17
KB
-rwxr-xr-x
listjpeg
6.13
KB
-rwxr-xr-x
listmp3
10.54
KB
-rwxr-xr-x
listswf
174.55
KB
-rwxr-xr-x
listswf_d
174.54
KB
-rwxr-xr-x
logresolve
10.34
KB
-rwxr-xr-x
lwp-download
8.34
KB
-r-xr-xr-x
lwp-mirror
2.45
KB
-r-xr-xr-x
lwp-request
14.34
KB
-r-xr-xr-x
lwp-rget
14.78
KB
-r-xr-xr-x
makeconv
55.35
KB
-rwxr-xr-x
makefdb
70.41
KB
-rwxr-xr-x
makeswf
23.2
KB
-rwxr-xr-x
mariabackup
22.87
MB
-rwxr-xr-x
mariadb
4.28
MB
-rwxr-xr-x
mariadb-access
109.37
KB
-rwxr-xr-x
mariadb-admin
3.83
MB
-rwxr-xr-x
mariadb-backup
22.87
MB
-rwxr-xr-x
mariadb-binlog
4.05
MB
-rwxr-xr-x
mariadb-check
3.83
MB
-rwxr-xr-x
mariadb-client-test
4.38
MB
-rwxr-xr-x
mariadb_config
10.52
KB
-rwxr-xr-x
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
mariadbd-multi
26.76
KB
-rwxr-xr-x
mariadbd-safe
30.43
KB
-rwxr-xr-x
mariadbd-safe-helper
3.49
MB
-rwxr-xr-x
mariadb-dump
3.92
MB
-rwxr-xr-x
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
mariadb-find-rows
3.21
KB
-rwxr-xr-x
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
mariadb-hotcopy
34.14
KB
-rwxr-xr-x
mariadb-import
3.82
MB
-rwxr-xr-x
mariadb-install-db
21.48
KB
-rwxr-xr-x
mariadb-ldb
4.05
MB
-rwxr-xr-x
mariadb-plugin
3.53
MB
-rwxr-xr-x
mariadb-secure-installation
13.38
KB
-rwxr-xr-x
mariadb-setpermission
17.13
KB
-rwxr-xr-x
mariadb-show
3.82
MB
-rwxr-xr-x
mariadb-slap
3.84
MB
-rwxr-xr-x
mariadb-test
4.21
MB
-rwxr-xr-x
mariadb-tzinfo-to-sql
3.53
MB
-rwxr-xr-x
mariadb-upgrade
3.62
MB
-rwxr-xr-x
mariadb-waitpid
3.52
MB
-rwxr-xr-x
mbstream
3.55
MB
-rwxr-xr-x
ming-config
561
B
-rwxr-xr-x
mp2bug
1.16
KB
-r-xr-xr-x
msgattrib
22.39
KB
-rwxr-xr-x
msgcat
18.38
KB
-rwxr-xr-x
msgcmp
22.49
KB
-rwxr-xr-x
msgcomm
18.37
KB
-rwxr-xr-x
msgconv
18.35
KB
-rwxr-xr-x
msgen
18.35
KB
-rwxr-xr-x
msgexec
14.38
KB
-rwxr-xr-x
msgfilter
26.45
KB
-rwxr-xr-x
msgfmt
79.41
KB
-rwxr-xr-x
msggrep
46.73
KB
-rwxr-xr-x
msginit
43.15
KB
-rwxr-xr-x
msgmerge
51.37
KB
-rwxr-xr-x
msgunfmt
30.57
KB
-rwxr-xr-x
msguniq
18.36
KB
-rwxr-xr-x
msql2mysql
1.42
KB
-rwxr-xr-x
myisamchk
4
MB
-rwxr-xr-x
myisam_ftdump
3.88
MB
-rwxr-xr-x
myisamlog
3.86
MB
-rwxr-xr-x
myisampack
3.91
MB
-rwxr-xr-x
my_print_defaults
3.53
MB
-rwxr-xr-x
myrocks_hotbackup
24.46
KB
-rwxr-xr-x
mysql
4.28
MB
-rwxr-xr-x
mysqlaccess
109.37
KB
-rwxr-xr-x
mysqladmin
3.83
MB
-rwxr-xr-x
mysqlbinlog
4.05
MB
-rwxr-xr-x
mysqlcheck
3.83
MB
-rwxr-xr-x
mysql_client_test
4.38
MB
-rwxr-xr-x
mysql_config
4.54
KB
-rwxr-xr-x
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
mysqld_multi
26.76
KB
-rwxr-xr-x
mysqld_safe
30.43
KB
-rwxr-xr-x
mysqld_safe_helper
3.49
MB
-rwxr-xr-x
mysqldump
3.92
MB
-rwxr-xr-x
mysqldumpslow
8.05
KB
-rwxr-xr-x
mysql_find_rows
3.21
KB
-rwxr-xr-x
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
mysqlhotcopy
34.14
KB
-rwxr-xr-x
mysqlimport
3.82
MB
-rwxr-xr-x
mysql_install_db
21.48
KB
-rwxr-xr-x
mysql_ldb
4.05
MB
-rwxr-xr-x
mysql_plugin
3.53
MB
-rwxr-xr-x
mysql_secure_installation
13.38
KB
-rwxr-xr-x
mysql.server
11.93
KB
-rwxr-xr-x
mysql_setpermission
17.13
KB
-rwxr-xr-x
mysqlshow
3.82
MB
-rwxr-xr-x
mysqlslap
3.84
MB
-rwxr-xr-x
mysqltest
4.21
MB
-rwxr-xr-x
mysql_tzinfo_to_sql
3.53
MB
-rwxr-xr-x
mysql_upgrade
3.62
MB
-rwxr-xr-x
mysql_waitpid
3.52
MB
-rwxr-xr-x
mytop
61.06
KB
-rwxr-xr-x
ncurses5-config
5.17
KB
-rwxr-xr-x
ngettext
34.55
KB
-rwxr-xr-x
onig-config
1.35
KB
-rwxr-xr-x
openssl
642.05
KB
-rwxr-xr-x
osql
8.84
KB
-rwxr-xr-x
pal2rgb
14.82
KB
-rwxr-xr-x
pcre-config
2.31
KB
-rwxr-xr-x
pcregrep
36.34
KB
-rwxr-xr-x
pcretest
66.56
KB
-rwxr-xr-x
pear
817
B
-rwxr-xr-x
peardev
838
B
-rwxr-xr-x
pearinfo
538
B
-rwxr-xr-x
pecl
751
B
-rwxr-xr-x
perl
3.3
MB
-rwxr-xr-x
perl5.34.1
3.3
MB
-rwxr-xr-x
perlbug
44.13
KB
-rwxr-xr-x
perldoc
274
B
-rwxr-xr-x
perlivp
10.58
KB
-rwxr-xr-x
perlthanks
44.13
KB
-rwxr-xr-x
perror
3.71
MB
-rwxr-xr-x
phar
14.89
KB
-rwxr-xr-x
phar.phar
14.89
KB
-rwxr-xr-x
php
18.06
MB
-rwxr-xr-x
php-8.2.12
18.06
MB
-rwxr-xr-x
php-cgi
18.06
MB
-rwxr-xr-x
php-cgi-8.2.12
18.06
MB
-rwxr-xr-x
php-config
4.39
KB
-rwxr-xr-x
php-config-8.2.12
4.39
KB
-rwxr-xr-x
phpdbg
18.06
MB
-rwxr-xr-x
phpize
4.43
KB
-rwxr-xr-x
phpize-8.2.12
4.43
KB
-rwxr-xr-x
phpunit
1.9
KB
-rwxr-xr-x
piconv
8.18
KB
-rwxr-xr-x
pkgdata
43.7
KB
-rwxr-xr-x
pl2pm
4.44
KB
-rwxr-xr-x
png2dbl
14.38
KB
-rwxr-xr-x
pngfix
46.48
KB
-rwxr-xr-x
png-fix-itxt
6.11
KB
-rwxr-xr-x
pngtogd
10.14
KB
-rwxr-xr-x
pngtogd2
10.15
KB
-rwxr-xr-x
pod2html
4.05
KB
-rwxr-xr-x
pod2man
14.69
KB
-rwxr-xr-x
pod2text
10.56
KB
-rwxr-xr-x
pod2usage
4.02
KB
-rwxr-xr-x
podchecker
3.58
KB
-rwxr-xr-x
POST
14.34
KB
-r-xr-xr-x
ppm2tiff
14.51
KB
-rwxr-xr-x
prove
13.35
KB
-rwxr-xr-x
prxs
8.96
KB
-rwxr-xr-x
ptar
3.49
KB
-rwxr-xr-x
ptardiff
2.59
KB
-rwxr-xr-x
ptargrep
4.3
KB
-rwxr-xr-x
ras2tiff
10.48
KB
-rwxr-xr-x
raw2adpcm
10.21
KB
-rwxr-xr-x
raw2tiff
18.35
KB
-rwxr-xr-x
rdjpgcom
10.18
KB
-rwxr-xr-x
recode-sr-latin
14.33
KB
-rwxr-xr-x
replace
3.5
MB
-rwxr-xr-x
reset
18.59
KB
-rwxr-xr-x
resolveip
3.52
MB
-rwxr-xr-x
resolve_stack_dump
3.53
MB
-rwxr-xr-x
rgb2ycbcr
14.46
KB
-rwxr-xr-x
rotatelogs
18.41
KB
-rwxr-xr-x
sabcmd
21.13
KB
-rwxr-xr-x
sablot-config
1.11
KB
-rwxr-xr-x
shasum
9.76
KB
-rwxr-xr-x
splain
18.97
KB
-rwxr-xr-x
sqlite
27.8
KB
-rwxr-xr-x
sqlite3
1.74
MB
-rwxr-xr-x
sst_dump
4.04
MB
-rwxr-xr-x
streamzip
5.31
KB
-r-xr-xr-x
suexec
14.36
KB
-rwsr-xr-x
swftocxx
154.57
KB
-rwxr-xr-x
swftoperl
154.57
KB
-rwxr-xr-x
swftophp
154.57
KB
-rwxr-xr-x
swftopython
154.57
KB
-rwxr-xr-x
swftotcl
154.57
KB
-rwxr-xr-x
tabs
14.31
KB
-rwxr-xr-x
tdspool
286.9
KB
-rwxr-xr-x
thumbnail
14.92
KB
-rwxr-xr-x
tic
66.7
KB
-rwxr-xr-x
tiff2bw
14.8
KB
-rwxr-xr-x
tiff2pdf
66.52
KB
-rwxr-xr-x
tiff2ps
55.95
KB
-rwxr-xr-x
tiff2rgba
14.32
KB
-rwxr-xr-x
tiffcmp
18.41
KB
-rwxr-xr-x
tiffcp
43.31
KB
-rwxr-xr-x
tiffcrop
112.88
KB
-rwxr-xr-x
tiffdither
14.48
KB
-rwxr-xr-x
tiffdump
18.52
KB
-rwxr-xr-x
tiffinfo
18.55
KB
-rwxr-xr-x
tiffmedian
22.44
KB
-rwxr-xr-x
tiffset
10.23
KB
-rwxr-xr-x
tiffsplit
14.3
KB
-rwxr-xr-x
toe
14.38
KB
-rwxr-xr-x
tput
14.41
KB
-rwxr-xr-x
tset
18.59
KB
-rwxr-xr-x
tsql
282.99
KB
-rwxr-xr-x
uconv
47.36
KB
-rwxr-xr-x
unzip-mem
14.21
KB
-rwxr-xr-x
unzzip
10.21
KB
-rwxr-xr-x
unzzipcat
10.2
KB
-rwxr-xr-x
unzzipcat-mem
10.17
KB
-rwxr-xr-x
unzzipcat-seeko
10.2
KB
-rwxr-xr-x
unzzipdir
6.16
KB
-rwxr-xr-x
unzzipdir-mem
6.13
KB
-rwxr-xr-x
use-devel-checklib
2.81
KB
-r-xr-xr-x
wcmgr
6.1
KB
-rwxr-xr-x
webalizer
157.1
KB
-rwxr-xr-x
webazolver
157.1
KB
-rwxr-xr-x
webpng
14.28
KB
-rwxr-xr-x
wrjpgcom
10.19
KB
-rwxr-xr-x
wsrep_sst_backup
2.95
KB
-rwxr-xr-x
wsrep_sst_common
54.05
KB
-rw-r--r--
wsrep_sst_mariabackup
51.01
KB
-rwxr-xr-x
wsrep_sst_mysqldump
7.7
KB
-rwxr-xr-x
wsrep_sst_rsync
32.31
KB
-rwxr-xr-x
wsrep_sst_rsync_wan
32.31
KB
-rwxr-xr-x
xgettext
330.1
KB
-rwxr-xr-x
xml2-config
1.69
KB
-rwxr-xr-x
xmlcatalog
14.35
KB
-rwxr-xr-x
xmllint
64.38
KB
-rwxr-xr-x
xmlwf
26.57
KB
-rwxr-xr-x
xslt-config
2.36
KB
-rwxr-xr-x
xsltproc
22.52
KB
-rwxr-xr-x
xsubpp
5.06
KB
-rwxr-xr-x
yacc
45
B
-rwxr-xr-x
zipcmp
19
KB
-rwxr-xr-x
zipdetails
49.95
KB
-r-xr-xr-x
zipmerge
14.88
KB
-rwxr-xr-x
ziptool
27.7
KB
-rwxr-xr-x
zzcat
6.13
KB
-rwxr-xr-x
zzdir
10.16
KB
-rwxr-xr-x
zzxorcat
10.16
KB
-rwxr-xr-x
zzxorcopy
10.17
KB
-rwxr-xr-x
zzxordir
10.19
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : osql
#! /bin/sh # $Id: osql,v 1.11.2.1 2011/05/11 03:10:33 jklowden Exp $ # # Check odbc.ini, odbcinst, and, optionally, freetds.conf, # then execute isql (assume it's unixODBC's isql). # USAGE="Syntax: $(basename $0) -S server -U user -P password" while getopts I:S:U:P: OPTION do case ${OPTION} in I) OVER_DIR=${OPTARG} # override ;; S) DSN=${OPTARG} ;; U) USERNAME=${OPTARG} ;; P) PASSWORD=${OPTARG} ;; \?) echo $USAGE exit 1 ;; esac done #cho ${DSN} ${USERNAME} ${PASSWORD} if [ -z "${DSN}" -o -z "${USERNAME}" -o -z "${PASSWORD}" ] then echo $USAGE exit 1 fi ISQL=$(command -v isql) if [ -z "${ISQL}" ] then echo "$(basename $0): error: no \"isql\" command found. Is unixODBC installed?" exit 1 fi # Establish ODBC prefix directory ISQL_DIR=$(strings ${ISQL} | grep ^/ | grep -v elf | grep -v '\.so\.' | head -1 | sed 's/lib$/etc/' ) INI_DIRNAME="/tmp/$(basename $0).$$" exec 3> ${INI_DIRNAME} # Check the libraries, too. if [ -z "${OVER_DIR}" ] then echo "checking shared odbc libraries linked to isql for default directories..." (echo ${ISQL_DIR}; ldd "${ISQL}" | awk '/libodbc\./ {print $3}') \ | while read L do strings "$L" | grep '^/' | grep -v '/lib' \ | while read D do if [ ! -s "${INI_DIRNAME}" ] then printf " trying $D ... " if [ -d "$D" -a -r "${D}/odbc.ini" ] then printf $D >&3 printf "OK" else printf "no" fi printf "\n" fi done done fi ODBC_DIR=$(cat ${INI_DIRNAME}) && rm ${INI_DIRNAME} if [ -z "${ODBC_DIR}" -a -z "${OVER_DIR}" ] then echo "$(basename $0): problem: no potential directory strings in \"$(command -v isql)\"" echo "$(basename $0): advice: use \"osql -I DIR\" where DIR unixODBC\'s install prefix e.g. /usr/local" echo "isql strings are:" strings ${ISQL} | grep ^/ | sed 's/^/+ /' #xit 1 fi if [ "${OVER_DIR}" ] then if [ -d "${ODBC_DIR}" ] then echo "\"${ODBC_DIR}\" is a directory, overridden by" else echo "\"${ODBC_DIR}\" is NOT a directory, overridden by" fi echo "\"${OVER_DIR}\"." if [ -d "${OVER_DIR}" ] then ODBC_DIR=${OVER_DIR} else echo "$(basename $0): error: \"${OVER_DIR}\" is not a directory" exit 1 fi fi # Look for server entry in odbc.ini echo 'checking odbc.ini files' for F in "${HOME}/.odbc.ini" "${ODBC_DIR}/odbc.ini" do if [ ! -d "$(dirname $F)" ] then echo "warning: $(dirname $F) is not a directory" continue fi if [ -r "$F" ] then echo " reading $F" else echo " cannot read \"$F\"" continue fi grep "[${DSN}]" $F > /dev/null if [ $? -eq 0 ] then echo "[${DSN}] found in $F" ODBC_INI=$F break else echo "[${DSN}] not found in $F" fi done if [ -z "${ODBC_INI}" ] then echo "$(basename $0): error: unable to locate ${DSN} in any odbc.ini" exit 1 fi # Report finding of server entry echo found this section: SED_CMD="/^\[${DSN}\]/,/^[[:space:]]*$/ { s/^/ /; p; }" sed -ne "${SED_CMD}" ${ODBC_INI} # # Examine server entry in odbc.ini # # Find the driver in the servername or default section for D in "${DSN}" 'default' do echo "looking for driver for DSN [$D] in ${ODBC_INI}" grep "$D" ${ODBC_INI} > /dev/null if [ $? -eq 0 ] then CMD="/^\[$D\]/,/^[[:space:]]*$/ { s/^/ /; p; }" DRIVER_LINE=$(sed -ne "${CMD}" ${ODBC_INI} \ | grep -Ei '^[[:space:]]*driver[[:space:]]*=') if [ -z "${DRIVER_LINE}" ] then echo " no driver mentioned for [$D] in $(basename ${ODBC_INI})" continue fi echo " found driver line: \"${DRIVER_LINE}\"" DRIVER=$(echo ${DRIVER_LINE} | awk -F '=' '{print $2}' | sed 's/[[:space:]][[:space:]]*//g') if [ "${DRIVER}" ] then echo " driver \"${DRIVER}\" found for [$D] in $(basename ${ODBC_INI})" break else echo " driver line for [$D] incomplete in $(basename ${ODBC_INI})" continue fi fi done if [ -z "${DRIVER}" ] then echo "$(basename $0): error: no driver found for [${DSN}] in $(basename ${ODBC_INI})" exit 1 fi # get filename of driver echo found driver named \"${DRIVER}\" if [ -d "${DRIVER}" -o ! -x "${DRIVER}" ] then # not a filename, look it up DRIVERNAME=${DRIVER} ODBC_INST="${ODBC_DIR}/odbcinst.ini" echo "\"${DRIVERNAME}\" is not an executable file" echo "looking for entry named [${DRIVERNAME}] in ${ODBC_INST}" grep "${DRIVERNAME}" ${ODBC_INST} > /dev/null if [ $? -ne 0 ] then if [ $? -eq 1 ] then echo "$(basename $0): error: no driver entry [${DRIVERNAME}] in ${ODBC_INST}" fi exit 1; fi CMD="/^\[${DRIVERNAME}\]/,/^[[:space:]]*$/ { s/^/ /; p; }" DRIVER_LINE=$(sed -ne "${CMD}" ${ODBC_INST} \ | grep -Ei '^[[:space:]]*driver[[:space:]]*=') if [ -z "${DRIVER_LINE}" ] then echo "$(basename $0): no driver mentioned for [${DRIVERNAME}] in $(basename ${ODBC_INST})" exit 1 fi echo " found driver line: \"${DRIVER_LINE}\"" DRIVER=$(echo ${DRIVER_LINE} | awk '{print $3}') if [ -z "${DRIVER}" ] then echo "$(basename $0): driver line incomplete for [${DRIVERNAME}] in $(basename ${ODBC_INST})" exit 1 fi echo " found driver ${DRIVER} for [${DRIVERNAME}] in $(basename ${ODBC_INST})" fi if [ -z "${DRIVER}" ] then echo $(basename $0): 'error: sorry, failed sanity check: ${DRIVER} is null' exit 1 fi if [ -x "${DRIVER}" ] then echo "${DRIVER} is an executable file" else echo "${DRIVER} is not an executable file" echo "$(basename $0): error: no driver found for ${DSN}" exit 1 fi # find the server/servername SERVER_LINE=$(sed -ne "${SED_CMD}" ${ODBC_INI} \ | grep -Ei '^[[:space:]]*server(name)*[[:space:]]*=') ATTRIBUTE=$(echo ${SERVER_LINE} | awk '{print $1}') if [ -z "${ATTRIBUTE}" ] then echo "$(basename $0): neither \"Server\" nor \"Servername\" found for [${DSN}] in $(basename ${ODBC_INI})" exit 1 fi echo ${SERVER_LINE} | grep -i servername >/dev/null # # Find the server's hostname # if [ $? -eq 0 ] # ODBC-Combined then TDS_SERVER=$(echo ${SERVER_LINE} | awk -F '=[[:space:]]*' '{print $2}') echo 'Using ODBC-Combined strategy' echo "DSN [${DSN}] has servername \"${TDS_SERVER}\" (from ${ODBC_INI})" if [ -z "${TDS_SERVER}" ] then exit 1 fi # Look for $TDS_SERVER in freetds.conf FREETDS_DIR=$(tsql -C | grep 'freetds.conf directory' | awk -F: '{print $2}' | sed 's/^ *//') if [ -z "${FREETDS_DIR}" ] then echo "$(basename $0): error: unable to locate directory for freetds.conf using \"$(command -v tsql)\"" exit 1 fi for F in "${HOME}/.freetds.conf" "${FREETDS_DIR}/freetds.conf" do if [ -r "$F" ] then echo $F is a readable file else echo cannot read \"$F\" continue fi echo "looking for [${TDS_SERVER}] in $F" grep "[${TDS_SERVER}]" $F > /dev/null if [ $? -eq 0 ] then FREETDS_CONF=$F break else echo "[${TDS_SERVER}]" not found in $F fi done if [ -z "${FREETDS_CONF}" ] then echo "$(basename $0): error: unable to locate ${TDS_SERVER} in any freetds.conf" exit 1 fi # Examine server entry in freetds.conf echo found this section: SED_CMD="/^\[${TDS_SERVER}\]/,/^[[:space:]]*$/ { s/^/ /; p; }" sed -ne "${SED_CMD}" ${FREETDS_CONF} SERVER_LINE=$(sed -ne "${SED_CMD}" ${FREETDS_CONF} \ | grep -Ei '^[[:space:]]*host[[:space:]]*=') HOST=$(echo ${SERVER_LINE} | awk '{print $3}') if [ -z "${HOST}" ] then echo "$(basename $0): no \"host\" entry found for [${TDS_SERVER}] in $(basename ${FREETDS_CONF})" exit 1 fi else # odbc.ini contains a "server", a DNS host HOST=$(echo ${SERVER_LINE} | awk '{print $3}') echo "\"${ATTRIBUTE}\" found, not using freetds.conf" echo "${ATTRIBUTE} is \"${HOST}\"" if [ -z "${HOST}" ] then echo "$(basename $0): no value found for \"${ATTRIBUTE}\" entry in $(basename ${ODBC_INI})" exit 1 fi fi # If the "host" is an ip address, look up the name, for neatness, e.g. ## $ host 10.81.36.39 ## 39.36.81.10.IN-ADDR.ARPA domain name pointer ntc5003.eg.com if [ "${HOST}" = "$(echo ${HOST} | sed 's/[^.0-9]*//')" ] then ADDRESS=${HOST} echo 'looking up hostname for ip address' ${ADDRESS} HOST=$(host ${HOST} | awk '/domain/ {print $5}' | sed 's/\.$//') if [ -z "${HOST}" ] then echo "$(basename $0): warning: no DNS hostname found for \"${ADDRESS}\"" fi fi # Now we have a DNS hostname for the server in HOST ADDRESS=$(host ${HOST} | awk '/has address/ {print $4}' | head -1) if [ -z "${ADDRESS}" ] then echo "$(basename $0): no IP address found for \"${HOST}\"" exit 1 fi #cho ${HOST} has address ${ADDRESS} # Report what we know and exec isql printf "\n" printf "Configuration looks OK. Connection details:\n\n" printf "%22s:\t%-30s\n" DSN ${DSN} printf "%22s:\t%-30s\n" odbc.ini "${ODBC_INI}" printf "%22s:\t%-30s\n" Driver ${DRIVER} printf "%22s:\t%-30s\n" "Server hostname" ${HOST} printf "%22s:\t%-30s\n" Address ${ADDRESS} printf "\n" echo Attempting connection as ${USERNAME} ... if [ -z "${TDSDUMP}" ] then TDSDUMP_AUTO="/tmp/$(basename $0).dump.$$" export TDSDUMP=${TDSDUMP_AUTO} fi ( set -x; isql ${DSN} ${USERNAME} ${PASSWORD} -v ) \ || sed -ne 's/Connecting/FAILED &/p' ${TDSDUMP} test "${TDSDUMP_AUTO}" && rm -f ${TDSDUMP_AUTO}
Close