home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / unix / amiga / 2585 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  4.9 KB

  1. Path: sparky!uunet!noc.near.net!hri.com!spool.mu.edu!think.com!rpi!ghost.dsi.unimi.it!univ-lyon1.fr!chx400!bernina!wild
  2. From: wild@nessie.cs.id.ethz.ch (Markus Wild)
  3. Newsgroups: comp.unix.amiga
  4. Subject: Re: AMIGADOS <=> UNIX problems
  5. Message-ID: <1992Dec20.181127.17338@bernina.ethz.ch>
  6. Date: 20 Dec 92 18:11:27 GMT
  7. References: <1992Dec18.173554.7342@galileo.cc.rochester.edu> <1992Dec19.173029.2818@ckctpa.UUCP>
  8. Sender: news@bernina.ethz.ch (USENET News System)
  9. Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH
  10. Lines: 92
  11.  
  12. In article <1992Dec19.173029.2818@ckctpa.UUCP> crash%ckctpa@tct.com (Frank "Crash" Edwards) writes:
  13. >jea@prodigal.psych.rochester.edu (Joanne Albano) writes:
  14. >>I have been trying to go between AMIGADOS and AMIGAUNIX
  15. >>
  16. >>1. DNET: So far I have found that DNET works nicely between
  17. >>SUN UNIX and AMIGADOS but unfortunately I have a
  18. >>ATT unix machine. Is there a DNET that goes between
  19. >>ATT unix and ADOS?
  20. >
  21. >Well, this is probably a good time for an update.
  22. >
  23. >I've tried out the bsd-emul library from Markus on DNet on my Amix
  24. >2.1 machine.  The initial attempt didn't go.  Dnet itself started but
  25. >none of the servers would start.  One problem appeared to be that dnet
  26. >was trying to access port number 9492 on the Unix side, and it
  27. >shouldn't have been.  Tracking down the call to startserver() I found
  28. >that reading the port number from the AmigaDOS side was pretty basic
  29. >stuff, and so I have no explanation for this one, but I'll look into
  30. >it more later.
  31.  
  32. I did the same thing;-) And of course, pty stuff can't be emulated in the
  33. library, or I'd have to patch all functions dealing with filenames
  34. to filter out access to /dev/pty* /dev/ttyp* stuff, not really reasonable.
  35.  
  36. I didn't see the problem you had, ie. the one with port 9492. But I did
  37. have some problems with dnet, where one of them was a real bug. In control.c,
  38. a socket address is filled with family == AF_INET, and is later bound to
  39. an AF_UNIX socket. Funny enough, this seems to work on SunOS, it definitely
  40. doesn't on AT&T socket code. There have been some more minor changes, I
  41. have uploaded my complete dnet (unix) sources to amiga.physik 
  42. (amix/new/dnetsvr4.tar.Z). The archive includes binaries, for those who
  43. don't want to recompile.
  44.  
  45. I added utmp support to dnet, ie. your fterm sessions should now appear in
  46. `w' output. To make this work, utmp either has to be world writable, or -
  47. what I'm using on amiga.physik, all programs that need to write umtp are
  48. in an `utmp' group. That way you can avoid making programs like screen and
  49. xterm (and dnet) suid-root, which is a large security hole and really overkill
  50. for this purpose.
  51.  
  52. >Also, on Monday I'll post a uuencoded binary for the bsd emulation
  53. >library.  My gcc doesn't have the PIC patches installed so I can't
  54. >generate a shared object; hence they will be link libraries.
  55.  
  56. *PLEASE* don't.. my port of dnet also led to fixing some stuff in the library.
  57. The select() function didn't seem to behave 100% like a real BSD select(),
  58. and this tiny difference caused dnet not to recognise when a connection has
  59. been dropped. A working version (I tested fterm, putfiles, irc, loadav) is
  60. in the same directory (amix/new), libbsd43.so.Z. When time permits, I'll
  61. distribute source diffs as well.
  62.  
  63. >I will be posting binaries for dnet here as well, zoo'ed and uuencoded.  
  64. >These should be considered beta versions; they may work, and they may
  65. >not.  They do allow connections and the STERM appears to work fine.  If
  66. >the above port number and pty problems have been corrected by my latest
  67. >changes, then there should be little left to do.  (Although I still
  68. >have high hopes of doing the POSIX conversion, but if the emul library
  69. >works it won't be quite as critical anymore.)
  70.  
  71. I found the `double' program to be of immense value for testing dnet clients.
  72. To compile, I just did
  73.   gcc -I/usr/local/bsd43include double.c -o double -lbsd43
  74. Since it uses socketpair(), you'd have to include -lsocket -lnsl if not
  75. using the emulator. To test, these steps work:
  76.   $ mkdir /tmp/d1 /tmp/d2
  77.   $ cp <dnettree>/unix/dnet.servers /tmp/d1
  78.   $ cp <dnettree>/unix/dnet.servers /tmp/d1
  79.   $ DNETDIR=/tmp double /tmp/d1/ /tmp/d2/
  80.  
  81. You can then test fterm with
  82.   $ DNETDIR=/tmp/d1/ draw 8195
  83. putfiles with
  84.   $ DNETDIR=/tmp/d1/ putfiles some_file
  85. etc.
  86.  
  87. If you want more debugging information, start double with truss:
  88.   # DNETDIR=/tmp truss -vall -f -o/tmp/log double /tmp/d1/ /tmp/d2/
  89.  
  90. (if you don't have dnet setgid-utmp, you don't need to run this as root).
  91.  
  92. It's important to test external servers (like with putfiles) as well, as
  93. fterm as an internal server works even if the external stuff doesn't.
  94.  
  95. One thing that didn't work so far (and which I couldn't test under unix)
  96. is the nfs server. I'd be interested in seing this fixed.
  97.  
  98. -Markus
  99.  
  100. -- 
  101. Markus M. Wild    -  wild@nessie.cs.id.ethz.ch  |  wild@amiga.physik.unizh.ch 
  102. Vital papers will demonstrate their vitality by spontaneously moving
  103. from where you left them to where you can't find them.
  104.