ページ更新: 2004-07-20 (火) (5110日前)

inetutils に関するメモ。

[編集]

メモ #

[編集]

libutil.a (2004-07-20) #

かって、InetUtils パッケージに存在した libutil.a について。

手元のパッケージ。

$ cygcheck -cd inetutils
Cygwin Package Information
Package              Version
inetutils            1.3.2-28

もう libutil.a は存在しない。

$ cygcheck -l inetutils | grep lib
/usr/lib/libtelnet.a

README (/usr/share/doc/Cygwin/inetutils-1.3.2.README) によると

Version 1.3.2-26: Don't install libutil.a anymore.  It's dead, Jim.  All
		  functionality has been implemented in the Cygwin DLL now.
		  Fix really braindead memory overwrite error in ftp, which
		  only shows up when nmap is called.

Version 1.3.2-15: New library /usr/lib/libutil.a, exporting BSD compatible
		  functions iruserok(3), ruserok(3), getusershell(3),
		  setusershell(3), endusershell(3), revoke(3), logwtmp(3),
		  openpty(3), forkpty(3), login_tty(3).  New header files
		  arpa/tftp.h protocols/talkd.h and pty.h.  Add man pages
		  for new functions.

cygwin-announce ML だとこちら。 これをみると、2001-11-06 に登場して、2004-02-20 に cygwin 本体 (cygwin パッケージ) に機能が移されたことがわかる。

Fri, 20 Feb 2004 01:51:07 -0800

Updated: inetutils-1.3.2-26

http://www.cygwin.com/ml/cygwin-announce/2004-02/msg00016.html

Tue, 06 Nov 2001 03:05:00 -0800

Updated: inetutils-1.3.2-15

http://www.cygwin.com/ml/cygwin-announce/2001/msg00137.html

ということで、cygwin パッケージを調べる。

$ cygcheck -l cygwin | grep /lib
/usr/lib/automode.o
/usr/lib/binmode.o
/usr/lib/crt0.o
/usr/lib/gcrt0.o
/usr/lib/libautomode.a
/usr/lib/libbinmode.a
/usr/lib/libc.a
/usr/lib/libcygwin.a   ★これに入っていそう。
/usr/lib/libg.a
/usr/lib/libgmon.a
/usr/lib/libm.a
/usr/lib/libpthread.a
/usr/lib/libtextmode.a
/usr/lib/libtextreadmode.a
/usr/lib/textmode.o
/usr/lib/textreadmode.o
/usr/share/info/libc.info
/usr/share/info/libm.info
$ ls /usr/lib/libcygwin.a
/usr/lib/libcygwin.a

READMEで書かれていたエントリが存在するかどうか調べてみた。 少なくとも、README に書かれていたエントリは全部存在する。

$ objdump -t /usr/lib/libcygwin.a \
| egrep 'iruserok|ruserok|getusershell|setusershell|endusershell|revoke|logwtmp|openpty|forkpty|login_tty'
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _endusershell
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__endusershell
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _forkpty
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__forkpty
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _getusershell
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__getusershell
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _iruserok
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__iruserok
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _login_tty
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__login_tty
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _logwtmp
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__logwtmp
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _openpty
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__openpty
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _revoke
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__revoke
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _ruserok
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__ruserok
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _setusershell
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__setusershell
$ objdump -t /usr/lib/libcygwin.a  | egrep -B 8 -A 3 'iruserok'
d000980.o:     ファイル形式 pe-i386

SYMBOL TABLE:
[  0](sec  1)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 .text
[  1](sec  2)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 .idata$7
[  2](sec  3)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 .idata$5
[  3](sec  4)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 .idata$4
[  4](sec  5)(fl 0x00)(ty   0)(scl   3) (nx 0) 0x00000000 .idata$6
[  5](sec  1)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 _iruserok
[  6](sec  3)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __imp__iruserok
[  7](sec  0)(fl 0x00)(ty   0)(scl   2) (nx 0) 0x00000000 __head_cygwin1_dll