authuser.3
上传用户:zibowangxu
上传日期:2007-01-04
资源大小:331k
文件大小:4k
源码类别:

Ftp客户端

开发平台:

Unix_Linux

  1. ."
  2. ." Copyright (c) 1999 WU-FTPD Development Group. 
  3. ." All rights reserved.
  4. ." 
  5. ." Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994 
  6. ." The Regents of the University of California.  Portions Copyright (c) 
  7. ." 1993, 1994 Washington University in Saint Louis.  Portions Copyright 
  8. ." (c) 1996, 1998 Berkeley Software Design, Inc.  Portions Copyright (c) 
  9. ." 1998 Sendmail, Inc.  Portions Copyright (c) 1983, 1995, 1996, 1997 Eric 
  10. ." P. Allman.  Portions Copyright (c) 1989 Massachusetts Institute of 
  11. ." Technology.  Portions Copyright (c) 1997 Stan Barber.  Portions 
  12. ." Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997 Free Software 
  13. ." Foundation, Inc.  Portions Copyright (c) 1997 Kent Landfield. 
  14. ."
  15. ." Use and distribution of this software and its source code are governed 
  16. ." by the terms and conditions of the WU-FTPD Software License ("LICENSE"). 
  17. ."
  18. ."     $Id: authuser.3,v 1.2 1999/08/27 14:45:11 wuftpd Exp $
  19. ."
  20. .TH authuser 3
  21. .SH NAME
  22. authuser - library to get information from a remote Authentication Server
  23. .SH SYNTAX
  24. .B #include <authuser.h>
  25. .PP
  26. .B unsigned short auth_tcpport;
  27. .PP
  28. .B char *auth_xline(user,fd,&in);
  29. .PP
  30. .B int auth_fd(fd,&in,&local,&remote);
  31. .PP
  32. .B char *auth_tcpuser(in,local,remote);
  33. .PP
  34. .B char *user;
  35. .br
  36. .B int fd;
  37. .br
  38. .B unsigned long in;
  39. .br
  40. .B unsigned short local;
  41. .br
  42. .B unsigned short remote;
  43. .SH DESCRIPTION
  44. The
  45. .I authuser
  46. library provides a simple interface for
  47. finding out the remote identity
  48. of a connection through the
  49. Authentication Server
  50. as specified by RFC 931.
  51. Use the -lauthuser loader option
  52. to compile a program with this library.
  53. .PP
  54. .B auth_xline(user,fd,&in)
  55. returns a line of the form X-Auth-User: user or X-Forgery-By: username,
  56. depending upon what the host on the other side of
  57. .B fd
  58. thinks of the user.
  59. This is particularly appropriate for
  60. mail and news headers.
  61. .PP
  62. If the remote host reports that
  63. .B user
  64. owns the connection on that side,
  65. .B auth_xline
  66. will return X-Auth-User: user.
  67. If the remote host reports that a different
  68. .B username
  69. owns the connection,
  70. .B auth_xline
  71. will return X-Forgery-By: username.
  72. If user is NULL,
  73. it returns X-Auth-User: username
  74. with the username reported by the remote host.
  75. If 
  76. .B fd
  77. is not a TCP connection
  78. or authentication is impossible,
  79. .B auth_xline
  80. returns NULL, setting errno appropriately.
  81. .PP
  82. The line is not cr-lf terminated.
  83. It is stored in a static area
  84. which is overwritten on each call to
  85. .B auth_xline.
  86. .B auth_xline
  87. places the Internet address of the other host into in.
  88. .PP
  89. .B auth_fd(fd,&in,&local,&remote)
  90. retrieves address information from the connection in socket
  91. .B fd.
  92. It places the
  93. Internet address of the host on other side into
  94. .B in
  95. and the local and remote
  96. TCP ports into 
  97. .B local
  98. and 
  99. .B remote.
  100. .B auth_fd
  101. returns -1 upon error, setting errno appropriately.
  102. .PP
  103. .B auth_tcpuser(in,local,remote)
  104. returns the name of the user on the other end of the TCP connection
  105. between
  106. .B remote@in
  107. and
  108. .B local.
  109. If authentication is impossible,
  110. .B auth_tcpuser
  111. returns
  112. NULL, setting errno appropriately.
  113. The user name is stored in a static area
  114. which is overwritten on each call to
  115. .B auth_tcpuser
  116. and
  117. .B auth_xline.
  118. .PP
  119. The authentication routines check with the
  120. remote Authentication Server on port
  121. .B auth_tcpport,
  122. which defaults to 113
  123. as specified by RFC 931.
  124. You can set
  125. .B auth_tcpport
  126. to other values
  127. for nonstandard implementations.
  128. .PP
  129. .SH RESTRICTIONS
  130. .I authuser
  131. does no backslash interpretation
  132. upon the remote user name.
  133. Hopefully the next revision of RFC 931
  134. will make clear exactly what backslash
  135. interpretation should be going on.
  136. .PP
  137. .I authuser
  138. does not use the operating system type
  139. information provided by the Authentication Server.
  140. .SH VERSION
  141. authuser version 3.1, May 6, 1991.
  142. .SH AUTHOR
  143. Placed into the public domain by Daniel J. Bernstein.
  144. .SH REFERENCES
  145. The authentication server is more secure than passwords
  146. in some ways, but less secure than passwords in many ways.
  147. (It's certainly better than no password at all---e.g., for
  148. mail or news.)
  149. It is not the final solution.
  150. For an excellent discussion of security problems within
  151. the TCP/IP protocol suite, see
  152. Steve Bellovin's article
  153. ``Security Problems in the TCP/IP Protocol Suite.''
  154. .SH "SEE ALSO"
  155. authtcp(1),
  156. attachport(1),
  157. getpeername(3),
  158. getsockname(3),
  159. tcp(4),
  160. authd(8)