Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Import am-utils 6.2-20140117

  • Loading branch information...
commit 2799a35ade4ba6b83a7d029ee6b17904786d1a20 1 parent e31e863
christos authored
Showing with 24,187 additions and 11,569 deletions.
  1. +2 −7 external/bsd/am-utils/dist/COPYING
  2. +362 −0 external/bsd/am-utils/dist/ChangeLog
  3. +174 −41 external/bsd/am-utils/dist/INSTALL
  4. +7 −2 external/bsd/am-utils/dist/Makefile.am
  5. +26 −0 external/bsd/am-utils/dist/NEWS
  6. +1 −1  external/bsd/am-utils/dist/README
  7. +15 −0 external/bsd/am-utils/dist/README.release
  8. +46 −0 external/bsd/am-utils/dist/README.release-announce
  9. +8 −2 external/bsd/am-utils/dist/amd/Makefile.am
  10. +18 −15 external/bsd/am-utils/dist/amd/am_ops.c
  11. +3 −7 external/bsd/am-utils/dist/amd/amd.8
  12. +7 −7 external/bsd/am-utils/dist/amd/amd.c
  13. +49 −14 external/bsd/am-utils/dist/amd/amd.h
  14. +8 −10 external/bsd/am-utils/dist/amd/amfs_auto.c
  15. +5 −9 external/bsd/am-utils/dist/amd/amfs_direct.c
  16. +5 −9 external/bsd/am-utils/dist/amd/amfs_error.c
  17. +114 −111 external/bsd/am-utils/dist/amd/amfs_generic.c
  18. +13 −12 external/bsd/am-utils/dist/amd/amfs_host.c
  19. +5 −9 external/bsd/am-utils/dist/amd/amfs_link.c
  20. +3 −7 external/bsd/am-utils/dist/amd/amfs_linkx.c
  21. +15 −12 external/bsd/am-utils/dist/amd/amfs_nfsl.c
  22. +11 −16 external/bsd/am-utils/dist/amd/amfs_nfsx.c
  23. +18 −16 external/bsd/am-utils/dist/amd/amfs_program.c
  24. +3 −7 external/bsd/am-utils/dist/amd/amfs_root.c
  25. +3 −7 external/bsd/am-utils/dist/amd/amfs_toplvl.c
  26. +6 −10 external/bsd/am-utils/dist/amd/amfs_union.c
  27. +82 −17 external/bsd/am-utils/dist/amd/amq_subr.c
  28. +19 −47 external/bsd/am-utils/dist/amd/amq_svc.c
  29. +39 −50 external/bsd/am-utils/dist/amd/autil.c
  30. +3 −7 external/bsd/am-utils/dist/amd/clock.c
  31. +63 −37 external/bsd/am-utils/dist/amd/conf.c
  32. +3 −7 external/bsd/am-utils/dist/amd/conf_parse.y
  33. +11 −14 external/bsd/am-utils/dist/amd/conf_tok.l
  34. +4 −8 external/bsd/am-utils/dist/amd/get_args.c
  35. +4 −8 external/bsd/am-utils/dist/amd/info_exec.c
  36. +5 −9 external/bsd/am-utils/dist/amd/info_file.c
  37. +3 −7 external/bsd/am-utils/dist/amd/info_hesiod.c
  38. +23 −13 external/bsd/am-utils/dist/amd/info_ldap.c
  39. +4 −8 external/bsd/am-utils/dist/amd/info_ndbm.c
  40. +5 −8 external/bsd/am-utils/dist/amd/info_nis.c
  41. +3 −7 external/bsd/am-utils/dist/amd/info_nisplus.c
  42. +7 −12 external/bsd/am-utils/dist/amd/info_passwd.c
  43. +3 −7 external/bsd/am-utils/dist/amd/info_sun.c
  44. +13 −16 external/bsd/am-utils/dist/amd/info_union.c
  45. +128 −131 external/bsd/am-utils/dist/amd/map.c
  46. +42 −28 external/bsd/am-utils/dist/amd/mapc.c
  47. +69 −25 external/bsd/am-utils/dist/amd/mntfs.c
  48. +194 −7 external/bsd/am-utils/dist/amd/nfs_prot_svc.c
  49. +5 −8 external/bsd/am-utils/dist/amd/nfs_start.c
  50. +1,102 −68 external/bsd/am-utils/dist/amd/nfs_subr.c
  51. +5 −9 external/bsd/am-utils/dist/amd/ops_TEMPLATE.c
  52. +5 −9 external/bsd/am-utils/dist/amd/ops_cachefs.c
  53. +4 −8 external/bsd/am-utils/dist/amd/ops_cdfs.c
  54. +4 −8 external/bsd/am-utils/dist/amd/ops_efs.c
  55. +225 −0 external/bsd/am-utils/dist/amd/ops_ext.c
  56. +4 −8 external/bsd/am-utils/dist/amd/ops_lofs.c
  57. +205 −0 external/bsd/am-utils/dist/amd/ops_lustre.c
  58. +3 −7 external/bsd/am-utils/dist/amd/ops_mfs.c
  59. +90 −40 external/bsd/am-utils/dist/amd/ops_nfs.c
  60. +3 −7 external/bsd/am-utils/dist/amd/ops_nfs3.c
  61. +52 −0 external/bsd/am-utils/dist/amd/ops_nfs4.c
  62. +3 −7 external/bsd/am-utils/dist/amd/ops_nullfs.c
  63. +4 −8 external/bsd/am-utils/dist/amd/ops_pcfs.c
  64. +3 −7 external/bsd/am-utils/dist/amd/ops_tfs.c
  65. +5 −9 external/bsd/am-utils/dist/amd/ops_tmpfs.c
  66. +4 −8 external/bsd/am-utils/dist/amd/ops_udf.c
  67. +4 −8 external/bsd/am-utils/dist/amd/ops_ufs.c
  68. +3 −7 external/bsd/am-utils/dist/amd/ops_umapfs.c
  69. +3 −7 external/bsd/am-utils/dist/amd/ops_unionfs.c
  70. +4 −8 external/bsd/am-utils/dist/amd/ops_xfs.c
  71. +50 −15 external/bsd/am-utils/dist/amd/opts.c
  72. +501 −48 external/bsd/am-utils/dist/amd/readdir.c
  73. +11 −17 external/bsd/am-utils/dist/amd/restart.c
  74. +3 −7 external/bsd/am-utils/dist/amd/rpc_fwd.c
  75. +3 −7 external/bsd/am-utils/dist/amd/sched.c
  76. +5 −10 external/bsd/am-utils/dist/amd/srvr_amfs_auto.c
  77. +94 −61 external/bsd/am-utils/dist/amd/srvr_nfs.c
  78. +3 −7 external/bsd/am-utils/dist/amd/sun2amd.8
  79. +3 −7 external/bsd/am-utils/dist/amd/sun2amd.c
  80. +14 −26 external/bsd/am-utils/dist/amd/sun_map.c
  81. +3 −7 external/bsd/am-utils/dist/amd/sun_map.h
  82. +11 −15 external/bsd/am-utils/dist/amd/sun_map_parse.y
  83. +8 −12 external/bsd/am-utils/dist/amd/sun_map_tok.l
  84. +2 −2 external/bsd/am-utils/dist/amq/Makefile.am
  85. +9 −9 external/bsd/am-utils/dist/amq/amq.8
  86. +107 −27 external/bsd/am-utils/dist/amq/amq.c
  87. +4 −7 external/bsd/am-utils/dist/amq/amq.h
  88. +18 −8 external/bsd/am-utils/dist/amq/amq_clnt.c
  89. +56 −7 external/bsd/am-utils/dist/amq/amq_xdr.c
  90. +3 −7 external/bsd/am-utils/dist/amq/pawd.1
  91. +3 −7 external/bsd/am-utils/dist/amq/pawd.c
  92. +15 −59 external/bsd/am-utils/dist/bootstrap
  93. +6 −6 external/bsd/am-utils/dist/buildall
  94. +3 −7 external/bsd/am-utils/dist/conf/autofs/autofs_default.c
  95. +3 −7 external/bsd/am-utils/dist/conf/autofs/autofs_default.h
  96. +133 −57 external/bsd/am-utils/dist/conf/autofs/autofs_linux.c
  97. +7 −7 external/bsd/am-utils/dist/conf/autofs/autofs_linux.h
  98. +11 −15 external/bsd/am-utils/dist/conf/autofs/autofs_solaris_v1.c
  99. +3 −7 external/bsd/am-utils/dist/conf/autofs/autofs_solaris_v1.h
  100. +18 −22 external/bsd/am-utils/dist/conf/autofs/autofs_solaris_v2_v3.c
  101. +3 −7 external/bsd/am-utils/dist/conf/autofs/autofs_solaris_v2_v3.h
  102. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_aix.c
  103. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_bsd44.c
  104. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_default.c
  105. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_osf.c
  106. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_svr4.c
  107. +3 −7 external/bsd/am-utils/dist/conf/checkmount/checkmount_ultrix.c
  108. +7 −11 external/bsd/am-utils/dist/conf/mount/mount_aix.c
  109. +7 −11 external/bsd/am-utils/dist/conf/mount/mount_aix3.c
  110. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_bsdi3.c
  111. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_default.c
  112. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_hpux.c
  113. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_irix5.c
  114. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_irix6.c
  115. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_isc3.c
  116. +300 −54 external/bsd/am-utils/dist/conf/mount/mount_linux.c
  117. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_mach3.c
  118. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_stellix.c
  119. +3 −7 external/bsd/am-utils/dist/conf/mount/mount_svr4.c
  120. +7 −11 external/bsd/am-utils/dist/conf/mtab/mtab_aix.c
  121. +7 −11 external/bsd/am-utils/dist/conf/mtab/mtab_bsd.c
  122. +8 −12 external/bsd/am-utils/dist/conf/mtab/mtab_file.c
  123. +7 −11 external/bsd/am-utils/dist/conf/mtab/mtab_isc3.c
  124. +39 −30 external/bsd/am-utils/dist/conf/mtab/mtab_linux.c
  125. +6 −10 external/bsd/am-utils/dist/conf/mtab/mtab_mach3.c
  126. +7 −11 external/bsd/am-utils/dist/conf/mtab/mtab_osf.c
  127. +8 −12 external/bsd/am-utils/dist/conf/mtab/mtab_svr4.c
  128. +7 −11 external/bsd/am-utils/dist/conf/mtab/mtab_ultrix.c
  129. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix3.h
  130. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix4.h
  131. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix4_2.h
  132. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix4_3.h
  133. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix5_1.h
  134. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_aix5_2.h
  135. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_bsdi2.h
  136. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_bsdi3.h
  137. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_darwin.h
  138. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_default.h
  139. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_freebsd2.h
  140. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_freebsd3.h
  141. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_hpux.h
  142. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_hpux11.h
  143. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_irix5.h
  144. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_irix6.h
  145. +45 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_linux.h
  146. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_ncr2.h
  147. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_netbsd.h
  148. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_netbsd1_3.h
  149. +4 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_netbsd1_4.h
  150. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_nextstep.h
  151. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_openbsd.h
  152. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_osf2.h
  153. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_osf4.h
  154. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_osf5.h
  155. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos3.h
  156. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos4.h
  157. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_3.h
  158. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_4.h
  159. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_5.h
  160. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_6.h
  161. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_7.h
  162. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_sunos5_8.h
  163. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_svr4.h
  164. +3 −7 external/bsd/am-utils/dist/conf/nfs_prot/nfs_prot_ultrix.h
  165. +61 −70 external/bsd/am-utils/dist/conf/transp/transp_sockets.c
  166. +13 −14 external/bsd/am-utils/dist/conf/transp/transp_tli.c
  167. +3 −7 external/bsd/am-utils/dist/conf/umount/umount_aix.c
  168. +3 −7 external/bsd/am-utils/dist/conf/umount/umount_bsd44.c
  169. +3 −7 external/bsd/am-utils/dist/conf/umount/umount_default.c
  170. +15 −8 external/bsd/am-utils/dist/conf/umount/umount_linux.c
  171. +3 −7 external/bsd/am-utils/dist/conf/umount/umount_osf.c
  172. +319 −277 external/bsd/am-utils/dist/config.guess
  173. +273 −104 external/bsd/am-utils/dist/config.sub
  174. +1,511 −0 external/bsd/am-utils/dist/configure.ac
  175. +394 −192 external/bsd/am-utils/dist/depcomp
  176. +8 −3 external/bsd/am-utils/dist/doc/Makefile.am
  177. +8 −43 external/bsd/am-utils/dist/doc/am-utils.texi
  178. +31 −12 external/bsd/am-utils/dist/doc/mdate-sh
  179. +2,113 −996 external/bsd/am-utils/dist/doc/texinfo.tex
  180. +2 −2 external/bsd/am-utils/dist/fixmount/Makefile.am
  181. +3 −7 external/bsd/am-utils/dist/fixmount/fixmount.8
  182. +3 −7 external/bsd/am-utils/dist/fixmount/fixmount.c
  183. +4 −2 external/bsd/am-utils/dist/fsinfo/Makefile.am
  184. +18 −22 external/bsd/am-utils/dist/fsinfo/fsi_analyze.c
  185. +3 −7 external/bsd/am-utils/dist/fsinfo/fsi_data.h
  186. +3 −7 external/bsd/am-utils/dist/fsinfo/fsi_dict.c
  187. +4 −8 external/bsd/am-utils/dist/fsinfo/fsi_gram.y
  188. +13 −16 external/bsd/am-utils/dist/fsinfo/fsi_lex.l
  189. +12 −16 external/bsd/am-utils/dist/fsinfo/fsi_util.c
  190. +3 −7 external/bsd/am-utils/dist/fsinfo/fsinfo.8
  191. +5 −9 external/bsd/am-utils/dist/fsinfo/fsinfo.c
  192. +6 −10 external/bsd/am-utils/dist/fsinfo/fsinfo.h
  193. +5 −1 external/bsd/am-utils/dist/fsinfo/null_gram.y
  194. +4 −2 external/bsd/am-utils/dist/fsinfo/null_lex.l
  195. +3 −7 external/bsd/am-utils/dist/fsinfo/wr_atab.c
  196. +4 −8 external/bsd/am-utils/dist/fsinfo/wr_bparam.c
  197. +3 −7 external/bsd/am-utils/dist/fsinfo/wr_dumpset.c
  198. +3 −7 external/bsd/am-utils/dist/fsinfo/wr_exportfs.c
  199. +10 −14 external/bsd/am-utils/dist/fsinfo/wr_fstab.c
  200. +2 −2 external/bsd/am-utils/dist/hlfsd/Makefile.am
  201. +3 −7 external/bsd/am-utils/dist/hlfsd/hlfsd.8
  202. +10 −13 external/bsd/am-utils/dist/hlfsd/hlfsd.c
  203. +3 −7 external/bsd/am-utils/dist/hlfsd/hlfsd.h
  204. +10 −13 external/bsd/am-utils/dist/hlfsd/homedir.c
  205. +3 −7 external/bsd/am-utils/dist/hlfsd/nfs_prot_svc.c
  206. +9 −15 external/bsd/am-utils/dist/hlfsd/stubs.c
  207. +23 −12 external/bsd/am-utils/dist/include/am_compat.h
  208. +21 −27 external/bsd/am-utils/dist/include/am_defs.h
  209. +31 −13 external/bsd/am-utils/dist/include/am_utils.h
  210. +1,029 −24 external/bsd/am-utils/dist/include/am_xdr_func.h
  211. +23 −7 external/bsd/am-utils/dist/include/amq_defs.h
  212. +41 −45 external/bsd/am-utils/dist/include/mount_headers1.h
  213. +3 −7 external/bsd/am-utils/dist/include/mount_headers2.h
  214. +101 −0 external/bsd/am-utils/dist/include/nfs_common.h
  215. +488 −252 external/bsd/am-utils/dist/install-sh
  216. +2 −4 external/bsd/am-utils/dist/libamu/Makefile.am
  217. +7 −8 external/bsd/am-utils/dist/libamu/amu.h
  218. +3 −7 external/bsd/am-utils/dist/libamu/clnt_sperrno.c
  219. +3 −7 external/bsd/am-utils/dist/libamu/hasmntopt.c
  220. +3 −7 external/bsd/am-utils/dist/libamu/memcmp.c
  221. +3 −7 external/bsd/am-utils/dist/libamu/misc_rpc.c
  222. +770 −303 external/bsd/am-utils/dist/libamu/mount_fs.c
  223. +5 −9 external/bsd/am-utils/dist/libamu/mtab.c
  224. +3 −7 external/bsd/am-utils/dist/libamu/nfs_prot_xdr.c
  225. +3 −7 external/bsd/am-utils/dist/libamu/strcasecmp.c
  226. +4 −8 external/bsd/am-utils/dist/libamu/strerror.c
  227. +3 −7 external/bsd/am-utils/dist/libamu/strlcat.c
  228. +3 −7 external/bsd/am-utils/dist/libamu/strlcpy.c
  229. +3 −7 external/bsd/am-utils/dist/libamu/strstr.c
  230. +37 −7 external/bsd/am-utils/dist/libamu/strutil.c
  231. +3 −7 external/bsd/am-utils/dist/libamu/ualarm.c
  232. +11 −10 external/bsd/am-utils/dist/libamu/wire.c
  233. +2,017 −42 external/bsd/am-utils/dist/libamu/xdr_func.c
  234. +74 −23 external/bsd/am-utils/dist/libamu/xutil.c
  235. +8,761 −6,124 external/bsd/am-utils/dist/ltmain.sh
  236. +71 −3 external/bsd/am-utils/dist/m4/macros/header_templates.m4
  237. +2 −1  external/bsd/am-utils/dist/m4/macros/save_state.m4
  238. +1 −1  external/bsd/am-utils/dist/m4/macros/struct_nfs_fh3.m4
  239. +1 −1  external/bsd/am-utils/dist/m4/macros/type_auth_create_gidlist.m4
  240. +1 −1  external/bsd/am-utils/dist/m4/macros/type_recvfrom_fromlen.m4
  241. +154 −306 external/bsd/am-utils/dist/missing
  242. +2 −2 external/bsd/am-utils/dist/mk-amd-map/Makefile.am
  243. +3 −7 external/bsd/am-utils/dist/mk-amd-map/mk-amd-map.8
  244. +3 −7 external/bsd/am-utils/dist/mk-amd-map/mk-amd-map.c
  245. +5 −4 external/bsd/am-utils/dist/mkinstalldirs
  246. +1 −5 external/bsd/am-utils/dist/scripts/Makefile.am
  247. +3 −7 external/bsd/am-utils/dist/scripts/amd.conf.5
  248. +3 −7 external/bsd/am-utils/dist/scripts/automount2amd.8
  249. +1 −1  external/bsd/am-utils/dist/scripts/automount2amd.in
  250. +14 −6 external/bsd/am-utils/dist/scripts/fixrmtab.in
  251. +1 −1  external/bsd/am-utils/dist/vers.m4
  252. +2 −2 external/bsd/am-utils/dist/wire-test/Makefile.am
  253. +3 −7 external/bsd/am-utils/dist/wire-test/wire-test.8
  254. +5 −9 external/bsd/am-utils/dist/wire-test/wire-test.c
  255. +145 −115 external/bsd/am-utils/dist/ylwrap
  256. +266 −0 external/bsd/am-utils/dist/ylwrap.amd
View
9 external/bsd/am-utils/dist/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 1997-2009 Erez Zadok
+Copyright (c) 1997-2014 Erez Zadok
Copyright (c) 1989 Jan-Simon Pendry
Copyright (c) 1989 Imperial College of Science, Technology & Medicine
Copyright (c) 1989 The Regents of the University of California.
@@ -15,12 +15,7 @@ are met:
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
- must display the following acknowledgment:
- This product includes software developed by the University of
- California, Berkeley and its contributors, as well as the Trustees of
- Columbia University.
-4. Neither the name of the University nor the names of its contributors
+3. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
View
362 external/bsd/am-utils/dist/ChangeLog
@@ -1,3 +1,365 @@
+2015-01-17 Christos Zoulas <christos@zoulas.com>
+
+ * Move libtool macro functions from m4/macros to m4 and delete
+ the repository copies. Makes am-utils work with libtool-2.4.4
+ and fixes the serial number warnings (raven at themaw.net)
+
+2014-10-28 Christos Zoulas <christos@zoulas.com>
+
+ *******************************************************************
+ *** Released am-utils-6.2 ***
+ *******************************************************************
+
+ * add ylwrap.amd, sick and tired of patching broken ylwrap.
+
+2014-09-05 Christos Zoulas <christos@zoulas.com>
+
+ * factor out the size check for both readdir methods
+ (raven at themaw.net)
+
+2014-09-03 Christos Zoulas <christos@zoulas.com>
+
+ * configure test for 64 bit xdr function (raven at themaw.net)
+
+2014-09-01 Christos Zoulas <christos@zoulas.com>
+
+ * bug fix from raven at themaw.net to prevent writing v3 handle
+ to a v2 structure.
+
+2014-07-21 Christos Zoulas <christos@zoulas.com>
+
+ * fix permission problems with access
+ * auto_nfs_version = 3 now works for me.
+
+2014-07-20 Christos Zoulas <christos@zoulas.com>
+
+ * refresh some autoconf files
+ * force autoconf version since earlier versions don't work
+ * changes from raven at themaw.net to support NFSv3 for automounted
+ toplevel filesystems presented to the list in May. A few bug fixes
+ and integration changes by me. The code now works well enough to
+ mount the filesystem with NFSv3 and automount children but readdir
+ does not work yet (so no listing of automounted filesystems).
+ The new code is not enabled by default. To enable use
+ auto_nfs_version = 3
+ in your configuration file.
+
+2014-03-26 Christos Zoulas <christos@zoulas.com>
+
+ From Ian Kent <ikent@redhat.com>
+
+ * use mktemp in scripts/fixrmtab
+ * fix documentatio nits
+ * [linux] Add ext2, ext3, ext4 specific mount options
+ * fix tcpwrappers (hosts.{allow,deny} problems for specific host
+ entries
+
+2014-03-20 Christos Zoulas <christos@zoulas.com>
+
+
+ * don't background autofs umount
+ * avoid fh NULL dereference on umount
+ * handle ENOENT umount return for autofs mounts
+ * fix error message in get_nfs_version
+ * fix debug log deadlock
+ * [linux] retry umount on EBUSY
+ * handle failed umount on exit
+
+2014-03-09 Christos Zoulas <christos@zoulas.com>
+
+ * Remove BSD advertising clause.
+ * Remove expn program which is not used by anything
+
+2013-12-05 Christos Zoulas <christos@zoulas.com>
+
+ * Change the way we handle multiple lex scanners and yacc parsers
+ in a single program. Our old patch to ylwrap does not work anymore
+ because the bison parsers need shared symbols that start with yy
+ and we can't easily select which ones work. So now we use -P and
+ -p to let lex and yacc do the work for us. This requires a patch
+ to ylwrap, but it is smaller.
+
+
+2013-12-05 Christos Zoulas <christos@zoulas.com>
+
+ * Change the way we handle multiple lex scanners and yacc parsers
+ in a single program. Our old patch to ylwrap does not work anymore
+ because the bison parsers need shared symbols that start with yy
+ and we can't easily select which ones work. So now we use -P and
+ -p to let lex and yacc do the work for us. This requires a patch
+ to ylwrap, but it is smaller.
+
+2013-05-14 Christos Zoulas <christos@zoulas.com>
+
+ * update to handle new autoconf and regen files
+
+2012-11-23 Christos Zoulas <christos@zoulas.com>
+
+ * recognize mountport=, noacl options
+ * simplify the bootstrap process, by forcing
+ all the files to be rebuild with autoreconf -f - i
+
+2012-10-03 Christos Zoulas <christos@zoulas.com>
+
+ * add missing ops_nfs4.c to the Makefile.am
+
+2012-09-14 Christos Zoulas <christos@zoulas.com>
+
+ * add locking option handling for lustre
+ * fix noatime, nodiratime, mandlock for linux
+
+2012-07-25 Christos Zoulas <christos@zoulas.com>
+
+ * bug fixes for lustre rhost parsing
+
+2012-06-27 Christos Zoulas <christos@zoulas.com>
+
+ * Disable 1/2-baked sun map support to avoid SIGSEGV
+
+2012-06-16 Christos Zoulas <christos@zoulas.com>
+
+ *******************************************************************
+ *** Released am-utils-6.2-rc1 ***
+ *******************************************************************
+
+ * Fix libtool.m4 to work with later versions of autoconf.
+ * In buildall, use eval so that quoted strings work
+ * Centralize nfs version checking function, and introduce
+ new configuration variable nfs_vers_ping, which is the
+ max version we ping for. This is not documented yet, because
+ there might be a better way separate the max version we can
+ use vs the max version we ping for.
+
+2012-06-09 Christos Zoulas <christos@zoulas.com>
+
+ * fix issue with parsing nfsv4 security option strings
+
+2012-05-01 Christos Zoulas <christos@zoulas.com>
+
+ * Handle EPERM return from v4 file handles
+ in old linux kernels
+
+2012-03-09 Christos Zoulas <christos@zoulas.com>
+
+ * fix linux autofs detection
+ * fix wrong types in new amq mount xdr processing
+
+2012-01-25 Christos Zoulas <christos@zoulas.com>
+
+ * FreeBSD portability fixes
+
+2012-01-23 Christos Zoulas <christos@zoulas.com>
+
+ * Avoid type punned warnings
+
+2011-12-29 Christos Zoulas <christos@zoulas.com>
+
+ * fix bug I introduced in get_nfs_version that caused it to return 0
+ * add direct support for ext{2,3,4}
+
+2011-12-15 Christos Zoulas <christos@zoulas.com>
+
+ * Include <linux/fs.h> on linux, to grab extra mount flags
+ * Add support for lustre
+
+2011-11-28 Christos Zoulas <christos@zoulas.com>
+
+ * For nfsl mounts, match against either the short local
+ host name or the fqdn name.
+
+2011-10-06 Christos Zoulas <christos@zoulas.com>
+
+ * Add NFSv4 support (loosely based on Ramya's code).
+ Currently if the NFSv4 mount fails with ENOENT we fail
+ back to NFSv3, unless -DNO_FALLBACK.
+ * Replace strdup with xstrdup. It is not nice to replace
+ system functions with ones that behave differently.
+ * Add various consistency checks (caller function checks
+ variable for NULL, but callee does not).
+ * Fix error handling in various paths.
+ * Don't check before using XFREE(). free(NULL) works.
+
+2011-09-15 Christos Zoulas <christos@zoulas.com>
+
+ * amq -i addition (prints info about the map files)
+
+2011-09-14 Christos Zoulas <christos@zoulas.com>
+
+ * Solaris OS and compiler fixes from:
+ Hofmann, Frank <Frank.Hofmann@morganstanley.com>
+ Sayle, Alex <Alex.Sayle@morganstanley.com>
+ - (void)&var generates warnings, removed
+ - __inline is invalid, changed with inline
+ - <sys/socket.h> and other headers have extra dependendcies
+ `
+2011-08-11 Christos Zoulas <christos@zoulas.com>
+
+ * fix potential buffer overflow in expand_error()
+ (Richard Kettlewell). Does not seem to be exploitable.
+
+ * simplify %option parsing to appease ancient flex.
+
+2011-06-21 Christos Zoulas <christos@zoulas.com>
+
+ * add support for linux autofs version 5 (untested)
+
+2011-06-18 Christos Zoulas <christos@zoulas.com>
+
+ * roll back to an older version of libtool that works
+
+ * newer versions of config.guess and config.sub
+
+ * minor fixes to buildall
+
+2011-05-19 Christos Zoulas <christos@zoulas.com>
+
+ * m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly
+ used and the latest autoconf gives an error. For now just
+ quote it.
+
+ * configure.in: Fedora Core 15 and RedHat 6 now don't define
+ af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>.
+ Include <sys/socket.h> so that we get <bits/sockaddr.h>
+ indirectly. This caused the <linux/nfs_mount.h> detection
+ test to fail.
+
+2010-11-24 Erez Zadok <ezk@fsl.cs.sunysb.edu>
+
+ * m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get
+ definitions for O_LARGEFILE and more).
+
+2010-11-20 Christos Zoulas <christos@zoulas.com>
+
+ * Update news items, add release readme, mark as rc1
+
+ * Fix addopts code to work with options that are key=value
+ when the built-in hasmntopt() code is not used. The problem
+ was that the code passed "key=" to hasmntopt not "key".
+
+2009-12-10 Christos Zoulas <christos@zoulas.com>
+
+ * Copy all fields of the am_opts structure
+ When we introduced am_loc we also added a function to
+ create a duplicate of an am_opts structure. As it turns
+ out, that only made a partial copy of the struct and some
+ fields (e.g. opt_cache) was left blank in the new structure.
+ Unfortunately any code that was checking the options
+ through the mntfs structure was mislead by the partial
+ copy: caching was disabled completely, for example, and
+ since browsing relies on caching being enabled it wasn't
+ working either.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Initialize RPC authentication flavor to AUTH_UNIX instead
+ of zero. RHEL 5 uses version 6 of the mount_arg structure
+ that includes the desired RPC authorization flavour.
+ Unfortunately amd initializes that value to zero, meaning
+ AUTH_NULL, resulting in all NFS servers denying operations.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Make sure to remove nodes in the proper order when going
+ down. Depending on what order the nodes got created it's
+ possible that the parent of a node has a bigger am_mapno
+ (index in exported_ap[]) so that it gets freed before
+ its child while the child's am_parent pointer is still
+ pointing to the already freed block of memory.
+ This change makes sure that umount_exported() cleans up
+ all children of a node first before freeing the node.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Fix Linux-specific stuff in ops_tmpfs.c
+ AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific
+ conf_linux.c file, so it cannot be built on Solaris.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Add missing parenthesis to fix defined(XXX
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * In the previous commit we've already made a change that
+ makes this code unnecessary since the node is returned
+ even if the backing file server is known to be down.
+ Since the code path is unused it should be removed.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * amfs_generic_lookup_child() tries to find an alternate
+ file server if it detects that the current one is down.
+ However, in the comparison used to decide if a possible
+ mount is the same as the current one it compares the am_loc
+ pointers instead of the actual mntfs pointers. Since
+ amfs_lookup_one_location() creates a brand new am_loc
+ structure for the returned mntfs structure the am_loc
+ pointer will be different even if the mntfs it's pointing
+ to is the same.
+ This tricks amfs_generic_lookup_child() think it has
+ found an alternate file server while it hasn't and thus
+ starts multiple racing mounts for the very same node and
+ mntfs.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * In the new am_loc scheme mounted mntfs structures still
+ have their mf_fo structure left intact. So when restart
+ creates a fake mntfs for an already mounted filesystem it
+ should not free mf_fo right away.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Setting the error flag of the mntfs for which the share
+ is already mounted results in the mount point not being
+ removed when it times out. (Amd considers it an error
+ mntfs and thus umount becomse a no-op.)
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Right now AMD sets all timeout values to their defaults
+ even if you explicitly set them to zero. This patch
+ introduces separate flags that store if the respective
+ values have been set and the code path setting default
+ values checks these flags instead of testing the values
+ for zero. [Linux only]
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Fix mntfs related lookup/(un)mount race conditions, by
+ introducing a new structure linking an mntfs to a node.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * We have to free the buffers allocated by the XDR routines when
+ decoding the mount response after copying them to their final place.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+2009-12-09 Christos Zoulas <christos@zoulas.com>
+
+ * Free continuation in amfs_retry() if we don't call amfs_bgmount()
+ Normally it's amfs_bgmount() which frees the continuation. However, if
+ the mount is already in progress and we're in amfs_retry() for another
+ node we don't try mounting the filesystem once again. Still, we have
+ to free the continuation as we won't get called again and thus would
+ leak the continuation structure and our am_loc references.
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+ * Fix use-after-free and double free of mntfs private data
+ ops_nfs.c(nfs_init) does not clear private data pointer after free().
+ This leads to use-after-free and double free in case mount() fails.
+ (found by valgrind)
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+2009-11-23 Christos Zoulas <christos@zoulas.com>
+
+ * The temporary filename buffer was leaked in lock_mtab().
+ From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
+
+2009-10-27 Christos Zoulas <christos@zoulas.com>
+
+ * Deal with errno.h->sys/errno.h better
+
+2009-10-26 Christos Zoulas <christos@zoulas.com>
+
+ * Fix issue with autoconf 2.63
+
+ * Fix compile warnings for gcc-4.4.x
+
+2009-04-15 Christos Zoulas <christos@zoulas.com>
+
+ * Share the LDAP connection between different maps to save resources
+ on the LDAP server. (Olaf Flebbe <o.flebbe@science-computing.de>)
+
2009-03-20 Christos Zoulas <christos@zoulas.com>
* Fix largefile re-definitions
View
215 external/bsd/am-utils/dist/INSTALL
@@ -1,19 +1,25 @@
Installation Instructions
*************************
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
Basic Installation
==================
-Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package. The following
+ Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
-The simplest way to compile this package is:
+ The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
- the package.
+ the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@@ -67,15 +83,22 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
- 6. Often, you can also type `make uninstall' to remove the installed
- files again.
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
Compilers and Options
=====================
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about. Run `./configure --help' for
-details on some of the pertinent environment variables.
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
@@ -88,25 +111,41 @@ is an example:
Compiling For Multiple Architectures
====================================
-You can compile the package for more than one kind of computer at the
+ You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
Installation Names
==================
-By default, `make install' installs the package's commands under
+ By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@@ -117,16 +156,47 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
+ Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
@@ -138,14 +208,58 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
Specifying the System Type
==========================
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
@@ -153,7 +267,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
- OS KERNEL-OS
+ OS
+ KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@@ -171,9 +286,9 @@ eventually be run) with `--host=TYPE'.
Sharing Defaults
================
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
@@ -182,7 +297,7 @@ A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
-Variables not defined in a site shell script can be set in the
+ Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
@@ -194,18 +309,27 @@ causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug. Until the bug is fixed you can use this workaround:
+an Autoconf limitation. Until the limitation is lifted, you can use
+this workaround:
- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
-`configure' recognizes the following options to control how it operates.
+ `configure' recognizes the following options to control how it
+operates.
`--help'
`-h'
- Print a summary of the options to `configure', and exit.
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
`--version'
`-V'
@@ -232,6 +356,15 @@ an Autoconf bug. Until the bug is fixed you can use this workaround:
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.
-
View
9 external/bsd/am-utils/dist/Makefile.am
@@ -6,6 +6,8 @@
@SET_MAKE@
+ACLOCAL_AMFLAGS = -I m4
+
SUBDIRS = \
libamu \
amd \
@@ -61,6 +63,7 @@ EXTRA_DIST_M4 = \
m4/macros/check_mnt2_gen_opt.m4 \
m4/macros/check_mnt2_nfs_opt.m4 \
m4/macros/check_mnt2_pcfs_opt.m4 \
+ m4/macros/check_mnt2_udf_opt.m4 \
m4/macros/check_mnttab_file_name.m4 \
m4/macros/check_mnttab_location.m4 \
m4/macros/check_mnttab_opt.m4 \
@@ -284,7 +287,8 @@ EXTRA_DIST_INCLUDE = \
include/am_defs.h \
include/amq_defs.h \
include/mount_headers1.h \
- include/mount_headers2.h
+ include/mount_headers2.h \
+ include/nfs_common.h
EXTRA_DIST = \
$(EXTRA_DIST_M4) \
@@ -310,7 +314,8 @@ EXTRA_DIST = \
ldap-id.ms \
ldap-id.txt \
stamp-h.in \
- tasks
+ tasks \
+ ylwrap.amd
DISTCLEANFILES = amu_nfs_prot.h amu_autofs_prot.h config.cache.old dbgcf.h
CLEANFILES = dbgcf.h
View
26 external/bsd/am-utils/dist/NEWS
@@ -1,3 +1,29 @@
+*** Notes specific to am-utils version 6.2
+
+ - Removed license advertising clause
+ - Removed expn program
+
+*** Notes specific to am-utils version 6.2-rc1
+
+Filesystem Support:
+ - Add support for NFSv4
+ - Add support for Lustre
+ - Add support for ext{2,3,4}
+ - Add support for linux autofs version 5
+ - Add support for TMPFS and UDF
+New features:
+ - Add amq -i (prints information about maps)
+ - Add synchronous unmount code for amq -uu
+ - Allow a comma-separated list of LDAP servers for failover
+Changes in behavior:
+ - Empty variable assignments, now unset the variable value.
+ - Share LDAP connections between different maps to save resources
+Portability fixes:
+ - Changes to work with Linux-2.6.x, Linux-3.x and NetBSD-5.x, NetBSD-6.x,
+ FreeBSD 7.x, Solaris
+Bug fixes:
+ - Many bug fixes, see ChangeLog
+
*** Notes specific to am-utils version 6.2a3
- minor new ports:
View
2  external/bsd/am-utils/dist/README
@@ -81,7 +81,7 @@ or
./buildall -K
To be a developer and be able to run "bootstrap", you must have
-autoconf-2.50, automake-1.5, and libtool 1.4 installed on your system (or
+autoconf-2.68, automake-1.11.1, and libtool 2.2.6b installed on your system (or
later versions thereof). You no longer need to get my special version of
automake. Contact me if you'd like to be a maintainer and get access to the
CVS server.
View
15 external/bsd/am-utils/dist/README.release
@@ -0,0 +1,15 @@
+- update vers.m4 to the new version you want to release: then rerun ./bootstrap
+- update NEWS w/ appropriate items
+- ./bootstrap && ./buildall && cd A.$ARCH.$VENDOR.$OSVERSION. && make check
+- cd A.$ARCH.$VENDOR.$OSVERSION make distcheck
+ That generates a tar.gz w/ version number to drop into the ftp/http server
+- Make sure that all your files are committed at this point
+- Now tag the current trunk:
+ git tag -a am-utils-X_Y[abc]Z
+ or
+ git tag -a am-utils-X_Y_rcZ
+ If you want to move the tag, use --force
+- Push all commits and tags to the master repository
+ git push --all
+- email announcement to am-utils-announce@am-utils.org. See
+ README.release-announce as sample.
View
46 external/bsd/am-utils/dist/README.release-announce
@@ -0,0 +1,46 @@
+To: am-utils-announce@am-utils.org
+Cc: am-utils@am-utils.org
+Subject: am-utils-6.2-rc1 released
+
+We've released am-utils-6.2-rc1, first and only release candidate in the
+6.2 series (with nfsv4 support, autofs supports, and quite a few more
+features). This will be the first official release since 2006, so expect a
+lot of bug fixes and improvements.
+
+You can download am-utils-6.2-rc1 as well as other releases from:
+
+ http://www.am-utils.org/
+
+*** Notes specific to am-utils version 6.2-rc1
+
+Filesystem Support:
+ - Add support for NFSv4
+ - Add support for Lustre
+ - Add support for ext{2,3,4}
+ - Add support for linux autofs version 5
+ - Add support for TMPFS and UDF
+New features:
+ - Add amq -i (prints information about maps)
+ - Add synchronous unmount code for amq -uu
+ - Allow a comma-separated list of LDAP servers for failover
+Changes in behavior:
+ - Empty variable assignments, now unset the variable value.
+ - Share LDAP connections between different maps to save resources
+Portability fixes:
+ - Changes to work with Linux-2.6.x, Linux-3.x and NetBSD-5.x, NetBSD-6.x,
+ FreeBSD 7.x, Solaris
+Bug fixes:
+ - Many bug fixes, see ChangeLog
+
+- minor new ports:
+ * Please send us the 'config.guess' and 'amd -v' outputs
+ so we can complete this list.
+
+- Bugs fixed:
+ * many race conditions found and fixed by Krisztian Kovacs.
+
+Cheers,
+The am-utils team.
+
+PS. Many thanks for Christos Zoulas for a huge amount of work he put in
+towards this long-awaited release.
View
10 external/bsd/am-utils/dist/amd/Makefile.am
@@ -11,6 +11,8 @@ sbin_PROGRAMS = amd sun2amd
# man pages
man_MANS = amd.8 sun2amd.8
+YLWRAP= $(top_srcdir)/ylwrap.amd
+
# test scripts
TESTS = test1.sh
@@ -98,14 +100,18 @@ EXTRA_amd_SOURCES = \
ops_cachefs.c \
ops_cdfs.c \
ops_efs.c \
+ ops_ext.c \
ops_lofs.c \
+ ops_lustre.c \
ops_mfs.c \
ops_nfs.c \
ops_nfs3.c \
+ ops_nfs4.c \
ops_nullfs.c \
ops_pcfs.c \
ops_tfs.c \
ops_tmpfs.c \
+ ops_udf.c \
ops_ufs.c \
ops_umapfs.c \
ops_unionfs.c \
@@ -139,11 +145,11 @@ DISTCLEANFILES = build_version.h ops_autofs.c
dist-hook:
(cd $(distdir) && rm -f $(BUILT_SOURCES))
-INCLUDES = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
-AM_CFLAGS = @CFLAGS@ $(AMU_CFLAGS)
+AM_CFLAGS = $(AMU_CFLAGS)
# dependencies
$(PROGRAMS): $(LDADD)
View
33 external/bsd/am-utils/dist/amd/am_ops.c
@@ -1,7 +1,7 @@
-/* $NetBSD: am_ops.c,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: am_ops.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -98,6 +94,11 @@ static am_ops *vops[] =
#ifdef HAVE_FS_XFS
&xfs_ops, /* Unix (irix) F/S */
#endif /* HAVE_FS_XFS */
+#ifdef HAVE_FS_EXT
+ &ext2_ops, /* Unix (linux) F/S */
+ &ext3_ops, /* Unix (linux) F/S */
+ &ext4_ops, /* Unix (linux) F/S */
+#endif /* HAVE_FS_EXT */
#ifdef HAVE_FS_EFS
&efs_ops, /* Unix (irix) F/S */
#endif /* HAVE_FS_EFS */
@@ -128,6 +129,9 @@ static am_ops *vops[] =
#ifdef HAVE_FS_UDF
&udf_ops, /* UDF F/S */
#endif /* HAVE_FS_UDF */
+#ifdef HAVE_FS_LUSTRE
+ &lustre_ops, /* Lustre */
+#endif /* HAVE_FS_LUSTRE */
/*
* These 4 should be last, in the order:
@@ -324,7 +328,7 @@ merge_opts(const char *opts1, const char *opts2)
char oneopt[80]; /* one option w/o value if any */
char *revoneopt; /* reverse of oneopt */
size_t len = strlen(opts1) + strlen(opts2) + 2; /* space for "," and NULL */
- char *s1 = strdup(opts1); /* copy of opts1 to munge */
+ char *s1 = xstrdup(opts1); /* copy of opts1 to munge */
/* initialization */
mnt2.mnt_opts = (char *) opts2;
@@ -337,11 +341,11 @@ merge_opts(const char *opts1, const char *opts2)
/* copy option to temp buffer */
xstrlcpy(oneopt, tmpstr, sizeof(oneopt));
/* if option has a value such as rsize=1024, chop the value part */
- if ((eq = haseq(oneopt)))
+ if ((eq = strchr(oneopt, '=')))
*eq = '\0';
/* find reverse option of oneopt */
revoneopt = reverse_option(oneopt);
- /* if option orits reverse exist in opts2, ignore it */
+ /* if option or its reverse exist in opts2, ignore it */
if (amu_hasmntopt(&mnt2, oneopt) || amu_hasmntopt(&mnt2, revoneopt))
continue;
/* add option to returned string */
@@ -408,7 +412,7 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
* Otherwise skip past any leading '-'.
*/
if (fo->opt_opts == 0)
- fo->opt_opts = strdup("rw,defaults");
+ fo->opt_opts = xstrdup("rw,defaults");
else if (*fo->opt_opts == '-') {
/*
* We cannot simply do fo->opt_opts++ here since the opts
@@ -416,7 +420,7 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
* So just reallocate the thing -- stolcke 11/11/94
*/
char *old = fo->opt_opts;
- fo->opt_opts = strdup(old + 1);
+ fo->opt_opts = xstrdup(old + 1);
XFREE(old);
}
@@ -434,7 +438,7 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
XFREE(fo->opt_opts);
XFREE(fo->opt_remopts);
fo->opt_opts = mergedstr;
- fo->opt_remopts = strdup(mergedstr);
+ fo->opt_remopts = xstrdup(mergedstr);
} else {
char *mergedstr, *remmergedstr;
mergedstr = merge_opts(fo->opt_opts, fo->opt_addopts);
@@ -468,8 +472,7 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
/*
* Check the filesystem is happy
*/
- if (fo->fs_mtab)
- XFREE(fo->fs_mtab);
+ XFREE(fo->fs_mtab);
fo->fs_mtab = rop->fs_match(fo);
if (fo->fs_mtab)
View
10 external/bsd/am-utils/dist/amd/amd.8
@@ -1,7 +1,7 @@
-.\" $NetBSD: amd.8,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $
+.\" $NetBSD: amd.8,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $
.\"
.\"
-.\" Copyright (c) 1997-2009 Erez Zadok
+.\" Copyright (c) 1997-2014 Erez Zadok
.\" Copyright (c) 1989 Jan-Simon Pendry
.\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1989 The Regents of the University of California.
@@ -18,11 +18,7 @@
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgment:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
+.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
View
14 external/bsd/am-utils/dist/amd/amd.c
@@ -1,7 +1,7 @@
-/* $NetBSD: amd.c,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: amd.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -429,6 +425,7 @@ main(int argc, char *argv[])
if (gethostname(hostname, sizeof(hostname)) < 0) {
plog(XLOG_FATAL, "gethostname: %m");
going_down(1);
+ return 1;
}
hostname[sizeof(hostname) - 1] = '\0';
@@ -438,6 +435,7 @@ main(int argc, char *argv[])
if (!*hostname) {
plog(XLOG_FATAL, "host name is not set");
going_down(1);
+ return 1;
}
/*
@@ -531,6 +529,7 @@ main(int argc, char *argv[])
if (geteuid() != 0) {
plog(XLOG_FATAL, "Must be root to mount filesystems (euid = %ld)", (long) geteuid());
going_down(1);
+ return 1;
}
#ifdef HAVE_MAP_NIS
@@ -542,6 +541,7 @@ main(int argc, char *argv[])
if (gopt.nis_domain && yp_bind(gopt.nis_domain)) {
plog(XLOG_FATAL, "Can't bind to NIS domain \"%s\"", gopt.nis_domain);
going_down(1);
+ return 1;
}
#endif /* HAVE_MAP_NIS */
View
63 external/bsd/am-utils/dist/amd/amd.h
@@ -1,7 +1,7 @@
-/* $NetBSD: amd.h,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: amd.h,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -214,6 +210,7 @@ typedef struct cf_map cf_map_t;
typedef struct kv kv;
typedef struct am_node am_node;
typedef struct mntfs mntfs;
+typedef struct am_loc am_loc;
typedef struct am_opts am_opts;
typedef struct am_ops am_ops;
typedef struct am_stats am_stats;
@@ -247,13 +244,17 @@ typedef int (*vmount_fs) (am_node *, mntfs *);
typedef int (*vumount_fs) (am_node *, mntfs *);
typedef am_node *(*vlookup_child) (am_node *, char *, int *, int);
typedef am_node *(*vmount_child) (am_node *, int *);
-typedef int (*vreaddir) (am_node *, nfscookie, nfsdirlist *, nfsentry *, u_int);
+typedef int (*vreaddir) (am_node *, voidp, voidp, voidp, u_int);
typedef am_node *(*vreadlink) (am_node *, int *);
typedef void (*vmounted) (mntfs *);
typedef void (*vumounted) (mntfs *);
typedef fserver *(*vffserver) (mntfs *);
typedef wchan_t (*vget_wchan) (mntfs *);
+/*
+ * NFS progran dispatcher
+ */
+typedef void (*dispatcher_t)(struct svc_req *rqstp, SVCXPRT *transp);
/*
@@ -316,6 +317,7 @@ struct amu_global_options {
#endif /* HAVE_MAP_NIS */
char *nfs_proto; /* NFS protocol (NULL, udp, tcp) */
int nfs_vers; /* NFS version (0, 2, 3, 4) */
+ int nfs_vers_ping; /* NFS rpc ping version (0, 2, 3, 4) */
u_int exec_map_timeout; /* timeout (seconds) for executable maps */
};
@@ -351,6 +353,7 @@ struct mnt_map {
short alloc; /* Allocation mode */
time_t modify; /* Modify time of map */
u_int reloads; /* Number of times map was reloaded */
+ u_int nentries; /* Number of entries in the map */
char *map_name; /* Name of this map */
char *wildcard; /* Wildcard value */
reload_fn *reload; /* Function to be used for reloads */
@@ -422,7 +425,7 @@ struct mntfs {
am_opts *mf_fo; /* File opts */
char *mf_mount; /* "/a/kiska/home/kiska" */
char *mf_info; /* Mount info */
- char *mf_auto; /* Automount opts */
+ char *mf_auto; /* Mount info */
char *mf_mopts; /* FS mount opts */
char *mf_remopts; /* Remote FS mount opts */
char *mf_loopdev; /* loop device name for /dev/loop mounts */
@@ -437,6 +440,16 @@ struct mntfs {
};
/*
+ * Locations: bindings between keys and mntfs
+ */
+struct am_loc {
+ am_opts *al_fo;
+ mntfs *al_mnt;
+ int al_refc;
+};
+
+
+/*
* List of fileservers
*/
struct fserver {
@@ -465,6 +478,8 @@ struct am_stats {
int s_readdir; /* Count of readdirs */
int s_readlink; /* Count of readlinks */
int s_statfs; /* Count of statfs */
+ int s_fsinfo; /* Count of fsinfo */
+ int s_pathconf; /* Count of pathconf */
};
/*
@@ -484,8 +499,8 @@ extern struct amd_stats amd_stats;
*/
struct am_node {
int am_mapno; /* Map number */
- mntfs *am_mnt; /* Mounted filesystem */
- mntfs **am_mfarray; /* Filesystem sources to try to mount */
+ am_loc *am_al; /* Mounted filesystem */
+ am_loc **am_alarray; /* Filesystem sources to try to mount */
char *am_name; /* "kiska": name of this node */
char *am_path; /* "/home/kiska": path of this node's mount point */
char *am_link; /* "/a/kiska/home/kiska/this/that": link to sub-dir */
@@ -534,12 +549,14 @@ extern int *amqproc_umnt_1_svc(voidp argp, struct svc_req *rqstp);
extern int *amqproc_sync_umnt_1_svc_parent(voidp argp, struct svc_req *rqstp);
extern amq_sync_umnt *amqproc_sync_umnt_1_svc_child(voidp argp, struct svc_req *rqstp);
extern amq_sync_umnt *amqproc_sync_umnt_1_svc_async(voidp argp, struct svc_req *rqstp);
+extern amq_map_info_list *amqproc_getmapinfo_1_svc(voidp argp, struct svc_req *rqstp);
/* other external definitions */
-extern am_nfs_fh *get_root_nfs_fh(char *dir);
+extern am_nfs_handle_t *get_root_nfs_fh(char *dir, am_nfs_handle_t *nfh);
extern am_node *find_ap(char *);
extern am_node *get_ap_child(am_node *, char *);
extern bool_t xdr_amq_mount_info_qelem(XDR *xdrs, qelem *qhead);
+extern bool_t xdr_amq_map_info_qelem(XDR *xdrs, qelem *qhead);
extern fserver *find_nfs_srvr(mntfs *mf);
extern int mount_nfs_fh(am_nfs_handle_t *fhp, char *mntdir, char *fs_name, mntfs *mf);
extern int process_all_regular_maps(void);
@@ -573,12 +590,15 @@ extern int get_mountd_port(fserver *, u_short *, wchan_t);
extern void flush_nfs_fhandle_cache(fserver *);
extern mntfs *dup_mntfs(mntfs *);
+extern am_loc *dup_loc(am_loc *);
extern mntfs *find_mntfs(am_ops *, am_opts *, char *, char *, char *, char *, char *);
extern mntfs *locate_mntfs(am_ops *, am_opts *, char *, char *, char *, char *, char *);
+extern am_loc *new_loc(void);
extern mntfs *new_mntfs(void);
extern mntfs *realloc_mntfs(mntfs *, am_ops *, am_opts *, char *, char *, char *, char *, char *);
extern void flush_mntfs(void);
extern void free_mntfs(voidp);
+extern void free_loc(voidp);
extern void amq_program_1(struct svc_req *rqstp, SVCXPRT *transp);
@@ -590,6 +610,7 @@ extern int file_read_line(char *, int, FILE *);
extern void forcibly_timeout_mp(am_node *);
extern void free_map(am_node *);
extern void free_opts(am_opts *);
+extern am_opts *copy_opts(am_opts *);
extern void free_srvr(fserver *);
extern int fwd_init(void);
extern int fwd_packet(int, char *, int, struct sockaddr_in *, struct sockaddr_in *, opaque_t, fwd_fun *);
@@ -616,6 +637,7 @@ extern int mount_auto_node(char *, opaque_t);
extern int mount_automounter(int);
extern int mount_exported(void);
extern void mp_to_fh(am_node *, am_nfs_fh *);
+extern void mp_to_fh3(am_node *mp, am_nfs_fh3 *fhp);
extern void new_ttl(am_node *);
extern void nfs_quick_reply(am_node *mp, int error);
extern void normalize_slash(char *);
@@ -649,6 +671,7 @@ extern char hostd[SIZEOF_HOSTD]; /* Host+domain */
* Global variables.
*/
extern SVCXPRT *current_transp; /* For nfs_quick_reply() */
+extern dispatcher_t nfs_dispatcher;
extern char *conf_tag;
#define SIZEOF_UID_STR 12
#define SIZEOF_GID_STR 12
@@ -740,6 +763,10 @@ extern am_ops pcfs_ops;
extern am_ops udf_ops;
#endif /* HAVE_FS_UDF */
+#ifdef HAVE_FS_LUSTRE
+extern am_ops lustre_ops;
+#endif /* HAVE_FS_LUSTRE */
+
/*
* Caching File System (Solaris)
*/
@@ -776,6 +803,13 @@ extern am_ops ufs_ops; /* Un*x file system */
extern am_ops xfs_ops; /* Un*x file system */
#endif /* HAVE_FS_XFS */
+/* Unix file system (ext*) */
+#ifdef HAVE_FS_EXT
+extern am_ops ext2_ops; /* Un*x file system */
+extern am_ops ext3_ops; /* Un*x file system */
+extern am_ops ext4_ops; /* Un*x file system */
+#endif /* HAVE_FS_EXT */
+
/* Unix file system (irix) */
#ifdef HAVE_FS_EFS
extern am_ops efs_ops; /* Un*x file system */
@@ -795,7 +829,7 @@ extern am_ops amfs_root_ops; /* Root file system */
*/
extern am_node *amfs_generic_lookup_child(am_node *mp, char *fname, int *error_return, int op);
extern am_node *amfs_generic_mount_child(am_node *ap, int *error_return);
-extern int amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count);
+extern int amfs_generic_readdir(am_node *mp, voidp cookie, voidp dp, voidp ep, u_int count);
extern int amfs_generic_umount(am_node *mp, mntfs *mf);
extern void amfs_generic_mounted(mntfs *mf);
extern char *amfs_generic_match(am_opts *fo);
@@ -831,7 +865,8 @@ extern am_ops amfs_direct_ops; /* Direct Automount file system (this too) */
extern am_ops amfs_error_ops; /* Error file system */
extern am_node *amfs_error_lookup_child(am_node *mp, char *fname, int *error_return, int op);
extern am_node *amfs_error_mount_child(am_node *ap, int *error_return);
-extern int amfs_error_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count);
+extern int amfs_error_readdir(am_node *mp, voidp cookie, voidp dp, voidp ep, u_int count);
+
#endif /* HAVE_AMU_FS_ERROR */
/*
View
18 external/bsd/am-utils/dist/amd/amfs_auto.c
@@ -1,7 +1,7 @@
-/* $NetBSD: amfs_auto.c,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: amfs_auto.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -103,6 +99,8 @@ am_ops amfs_auto_ops =
static int
amfs_auto_mount(am_node *mp, mntfs *mf)
{
+ if (mp->am_parent == NULL)
+ return EINVAL;
/*
* Pseudo-directories are used to provide some structure
* to the automounted directories instead
@@ -117,7 +115,7 @@ amfs_auto_mount(am_node *mp, mntfs *mf)
* Historical - not documented.
*/
if (mf->mf_info[0] == '.' && mf->mf_info[1] == '\0')
- mf->mf_info = strealloc(mf->mf_info, mp->am_parent->am_mnt->mf_info);
+ mf->mf_info = strealloc(mf->mf_info, mp->am_parent->am_al->al_mnt->mf_info);
/*
* Compute prefix:
@@ -133,12 +131,12 @@ amfs_auto_mount(am_node *mp, mntfs *mf)
if (mf->mf_fo->opt_pref) {
/* allow pref:=null to set a real null prefix */
if (STREQ(mf->mf_fo->opt_pref, "null")) {
- mp->am_pref = strdup("");
+ mp->am_pref = xstrdup("");
} else {
/*
* the prefix specified as an option
*/
- mp->am_pref = strdup(mf->mf_fo->opt_pref);
+ mp->am_pref = xstrdup(mf->mf_fo->opt_pref);
}
} else {
/*
View
14 external/bsd/am-utils/dist/amd/amfs_direct.c
@@ -1,7 +1,7 @@
-/* $NetBSD: amfs_direct.c,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: amfs_direct.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -95,8 +91,8 @@ amfs_direct_readlink(am_node *mp, int *error_return)
xp = next_nonerror_node(mp->am_child);
if (!xp) {
- if (!mp->am_mnt->mf_private)
- amfs_mkcacheref(mp->am_mnt); /* XXX */
+ if (!mp->am_al->al_mnt->mf_private)
+ amfs_mkcacheref(mp->am_al->al_mnt);
xp = amfs_generic_lookup_child(mp, mp->am_path + 1, &rc, VLOOK_CREATE);
if (xp && rc < 0)
xp = amfs_generic_mount_child(xp, &rc);
View
14 external/bsd/am-utils/dist/amd/amfs_error.c
@@ -1,7 +1,7 @@
-/* $NetBSD: amfs_error.c,v 1.1.1.2 2009/03/20 20:26:48 christos Exp $ */
+/* $NetBSD: amfs_error.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -94,7 +90,7 @@ am_ops amfs_error_ops =
static char *
amfs_error_match(am_opts *fo)
{
- return strdup("(error-hook)");
+ return xstrdup("(error-hook)");
}
@@ -147,7 +143,7 @@ amfs_error_mount_child(am_node *ap, int *error_return)
* If we do then just give an error.
*/
int
-amfs_error_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count)
+amfs_error_readdir(am_node *mp, voidp cookie, voidp dp, voidp ep, u_int count)
{
return ESTALE;
}
View
225 external/bsd/am-utils/dist/amd/amfs_generic.c
@@ -1,7 +1,7 @@
-/* $NetBSD: amfs_generic.c,v 1.1.1.2 2009/03/20 20:26:49 christos Exp $ */
+/* $NetBSD: amfs_generic.c,v 1.1.1.3 2015/01/17 16:34:15 christos Exp $ */
/*
- * Copyright (c) 1997-2009 Erez Zadok
+ * Copyright (c) 1997-2014 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@@ -18,11 +18,7 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -57,7 +53,7 @@
/****************************************************************************
*** MACROS ***
****************************************************************************/
-#define IN_PROGRESS(cp) ((cp)->mp->am_mnt->mf_flags & MFF_MOUNTING)
+#define IN_PROGRESS(cp) ((cp)->mp->am_al->al_mnt->mf_flags & MFF_MOUNTING)
/****************************************************************************
@@ -82,7 +78,7 @@ struct continuation {
int retry; /* Try again? */
time_t start; /* Time we started this mount */
int callout; /* Callout identifier */
- mntfs **mf; /* Current mntfs */
+ am_loc **al; /* Current location */
};
@@ -90,9 +86,9 @@ struct continuation {
*** FORWARD DEFINITIONS ***
****************************************************************************/
static am_node *amfs_lookup_node(am_node *mp, char *fname, int *error_return);
-static mntfs *amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
+static am_loc *amfs_lookup_one_location(am_node *new_mp, mntfs *mf, char *ivec,
char *def_opts, char *pfname);
-static mntfs **amfs_lookup_mntfs(am_node *new_mp, int *error_return);
+static am_loc **amfs_lookup_loc(am_node *new_mp, int *error_return);
static void amfs_cont(int rc, int term, opaque_t arg);
static void amfs_retry(int rc, int term, opaque_t arg);
static void free_continuation(struct continuation *cp);
@@ -120,7 +116,7 @@ amfs_lookup_node(am_node *mp, char *fname, int *error_return)
* about the mount point.
*/
if (amd_state == Finishing) {
- if (mp->am_mnt == 0 || mp->am_mnt->mf_fsflags & FS_DIRECT) {
+ if (mp->am_al == NULL || mp->am_al->al_mnt == NULL || mp->am_al->al_mnt->mf_fsflags & FS_DIRECT) {
dlog("%s mount ignored - going down", fname);
} else {
dlog("%s/%s mount ignored - going down", mp->am_path, fname);
@@ -172,7 +168,7 @@ amfs_lookup_node(am_node *mp, char *fname, int *error_return)
* If the error code is undefined then it must be
* in progress.
*/
- mf = new_mp->am_mnt;
+ mf = new_mp->am_al->al_mnt;
if (mf->mf_error < 0)
goto in_progrss;
@@ -251,12 +247,13 @@ amfs_lookup_node(am_node *mp, char *fname, int *error_return)
-static mntfs *
-amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
- char *def_opts, char *pfname)
+static am_loc *
+amfs_lookup_one_location(am_node *new_mp, mntfs *mf, char *ivec,
+ char *def_opts, char *pfname)
{
am_ops *p;
am_opts *fs_opts;
+ am_loc *new_al;
mntfs *new_mf;
char *mp_dir = NULL;
#ifdef HAVE_FS_AUTOFS
@@ -264,6 +261,11 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
#endif /* HAVE_FS_AUTOFS */
/* match the operators */
+ /*
+ * although we alloc the fs_opts here, the pointer is 'owned' by the am_loc and will
+ * be free'd on destruction of the am_loc. If we don't allocate a loc, then we need
+ * to free this.
+ */
fs_opts = CALLOC(am_opts);
p = ops_match(fs_opts, ivec, def_opts, new_mp->am_path,
pfname, mf->mf_info);
@@ -294,6 +296,9 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
/*
* Find or allocate a filesystem for this node.
+ * we search for a matching backend share, since
+ * we will construct our own al_loc to handle
+ * any customisations for this usage.
*/
new_mf = find_mntfs(p, fs_opts,
mp_dir,
@@ -302,6 +307,7 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
fs_opts->opt_opts,
fs_opts->opt_remopts);
+
/*
* See whether this is a real filesystem
*/
@@ -309,10 +315,16 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
if (p == &amfs_error_ops) {
plog(XLOG_MAP, "Map entry %s for %s did not match", ivec, new_mp->am_path);
free_mntfs(new_mf);
+ free_opts(fs_opts);
+ XFREE(fs_opts);
return NULL;
}
dlog("Got a hit with %s", p->fs_type);
+ new_al = new_loc();
+ free_mntfs(new_al->al_mnt);
+ new_al->al_mnt = new_mf;
+ new_al->al_fo = fs_opts; /* now the loc is in charge of free'ing this mem */
#ifdef HAVE_FS_AUTOFS
if (new_mp->am_flags & AMF_AUTOFS && on_autofs) {
@@ -334,12 +346,12 @@ amfs_lookup_one_mntfs(am_node *new_mp, mntfs *mf, char *ivec,
new_mf->mf_flags |= MFF_IS_AUTOFS;
#endif /* HAVE_FS_AUTOFS */
- return new_mf;
+ return new_al;
}
-static mntfs **
-amfs_lookup_mntfs(am_node *new_mp, int *error_return)
+static am_loc **
+amfs_lookup_loc(am_node *new_mp, int *error_return)
{
am_node *mp;
char *info; /* Mount info - where to get the file system */
@@ -350,10 +362,11 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
int error = 0; /* Error so far */
char path_name[MAXPATHLEN]; /* General path name buffer */
char *pfname; /* Path for database lookup */
- mntfs *mf, **mf_array;
+ mntfs* mf; /* The mntfs for the map of our parent */
+ am_loc **al_array; /* the generated list of locations */
int count;
- dlog("in amfs_lookup_mntfs");
+ dlog("in amfs_lookup_loc");
mp = new_mp->am_parent;
@@ -371,7 +384,7 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
pfname = new_mp->am_name;
}
- mf = mp->am_mnt;
+ mf = mp->am_al->al_mnt;
dlog("will search map info in %s to find %s", mf->mf_info, pfname);
/*
@@ -406,8 +419,8 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
else
def_opts = "";
- orig_def_opts = amfs_parse_defaults(mp, mf, strdup(def_opts));
- def_opts = strdup(orig_def_opts);
+ orig_def_opts = amfs_parse_defaults(mp, mf, xstrdup(def_opts));
+ def_opts = xstrdup(orig_def_opts);
/* first build our defaults */
num_ivecs = 0;
@@ -425,11 +438,11 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
num_ivecs++;
}
- mf_array = calloc(num_ivecs + 1, sizeof(mntfs *));
+ al_array = calloc(num_ivecs + 1, sizeof(am_loc *));
- /* construct the array of struct mntfs for this mount point */
+ /* construct the array of struct locations for this key */
for (count = 0, cur_ivec = ivecs; *cur_ivec; cur_ivec++) {
- mntfs *new_mf;
+ am_loc *new_al;
if (**cur_ivec == '-') {
XFREE(def_opts);
@@ -438,7 +451,7 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
* If we have a single dash '-' than we need to reset the
* default options.
*/
- def_opts = strdup(orig_def_opts);
+ def_opts = xstrdup(orig_def_opts);
dlog("Resetting the default options, a single dash '-' was found.");
} else {
/* append options to /default options */
@@ -449,7 +462,7 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
}
/*
- * If a mntfs has already been found, and we find
+ * If a loc has already been found, and we find
* a cut then don't try any more locations.
*
* XXX: we do not know when the "/" was added as an equivalent for "||".
@@ -457,16 +470,16 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
*/
if (STREQ(*cur_ivec, "/") || STREQ(*cur_ivec, "||")) {
if (count > 0) {
- dlog("Cut: not trying any more locations for %s", mp->am_path);
+ dlog("Cut: not trying any more locations for %s", pfname);
break;
}
continue;
}
- new_mf = amfs_lookup_one_mntfs(new_mp, mf, *cur_ivec, def_opts, pfname);
- if (new_mf == NULL)
+ new_al = amfs_lookup_one_location(new_mp, mf, *cur_ivec, def_opts, pfname);
+ if (new_al == NULL)
continue;
- mf_array[count++] = new_mf;
+ al_array[count++] = new_al;
}
/* We're done with ivecs */
@@ -475,11 +488,11 @@ amfs_lookup_mntfs(am_node *new_mp, int *error_return)
XFREE(orig_def_opts);
XFREE(def_opts);
if (count == 0) { /* no match */
- XFREE(mf_array);
+ XFREE(al_array);
ereturn(ENOENT);
}
- return mf_array;
+ return al_array;
}
@@ -493,7 +506,7 @@ amfs_cont(int rc, int term, opaque_t arg)
{
struct continuation *cp = (struct continuation *) arg;
am_node *mp = cp->mp;
- mntfs *mf = mp->am_mnt;
+ mntfs *mf = mp->am_al->al_mnt;
dlog("amfs_cont: '%s'", mp->am_path);
@@ -558,7 +571,7 @@ amfs_cont(int rc, int term, opaque_t arg)
mf->mf_error = rc;
mf->mf_flags |= MFF_ERROR;
errno = rc; /* XXX */
- if (!STREQ(mp->am_mnt->mf_ops->fs_type, "linkx"))
+ if (!STREQ(mp->am_al->al_mnt->mf_ops->fs_type, "linkx"))
plog(XLOG_ERROR, "%s: mount (amfs_cont): %m", mp->am_path);
}
}
@@ -570,7 +583,7 @@ amfs_cont(int rc, int term, opaque_t arg)
* call the background mount routine again
*/
amd_stats.d_merr++;
- cp->mf++;
+ cp->al++;
}
amfs_bgmount(cp);
if (mp->am_error > 0)
@@ -610,13 +623,21 @@ amfs_retry(int rc, int term, opaque_t arg)
*/
plog(XLOG_INFO, "mount of \"%s\" has timed out", mp->am_path);
error = ETIMEDOUT;
- while (*cp->mf)
- cp->mf++;
+ while (*cp->al)
+ cp->al++;
/* explicitly forbid further retries after timeout */
cp->retry = FALSE;
}
if (error || !IN_PROGRESS(cp))
error = amfs_bgmount(cp);
+ else
+ /* Normally it's amfs_bgmount() which frees the continuation. However, if
+ * the mount is already in progress and we're in amfs_retry() for another
+ * node we don't try mounting the filesystem once again. Still, we have
+ * to free the continuation as we won't get called again and thus would
+ * leak the continuation structure and our am_loc references.
+ */
+ free_continuation(cp);
reschedule_timeout_mp();
}
@@ -628,7 +649,7 @@ amfs_retry(int rc, int term, opaque_t arg)
static void
free_continuation(struct continuation *cp)
{
- mntfs **mfp;
+ am_loc **alp;
dlog("free_continuation");
if (cp->callout)
@@ -636,12 +657,12 @@ free_continuation(struct continuation *cp)
/*
* we must free the mntfs's in the list.
* so free all of them if there was an error,
- * or free all but the used one, if the mount succeeded.
*/
- for (mfp = cp->mp->am_mfarray; *mfp; mfp++) {
- free_mntfs(*mfp);
+ for (alp = cp->mp->am_alarray; *alp; alp++) {
+ free_loc(*alp);
}
- XFREE(cp->mp->am_mfarray);
+ XFREE(cp->mp->am_alarray);
+ cp->mp->am_alarray = 0;
XFREE(cp);
}
@@ -691,12 +712,13 @@ static int
amfs_bgmount(struct continuation *cp)
{