Subject: Netatalk 1.4b2 on Solaris 2.5.1

From: [email-masked]
Date: Sun, 15 Jun 1997 23:19:59 -0400 (EDT)

Has anyone succeeded in getting Netatalk 1.4b2 working on Solaris 2.5.1?

It seems to mostly work for me, except that I can't copy files from a
Macintosh to the Netatalk server - when I drag a file into a folder on
a Netatalk server, it seems to mostly work, except at the end I get a
pop-up message about "File does not exist" on the Mac (I have the
exact error message written down at home, and can retrieve it if
anyone thinks this sounds familiar); watching the AFP server with
"truss", it seems that the data actually does make it across, but
something happens at the end of the copy that makes it believe that it
failed.  Copying data *from* the Netatalk server to the Macintosh
works fine.

Any clues?

Thanks,
--Pat.

---

From: 藤原__誠/ Makoto Fujiwara <[email-masked]>
Date: Mon, 16 Jun 1997 13:17:33 +0900

We are using NetAtalk 1.4b2 on Solaris 2.5.1. It is running fine.

> pop-up message about "File does not exist" on the Mac 

  It looks to me the problem on writing files with permission.
Can you create new file on server ? 

You have to 
(1) check the permission on server ( in Unix wise ) both with directories
    and .AppleDouble file, of owner and group, especially on group.
(2) check the group id when you login the server.
    ( just say id on shell prompt )

Makoto Fujiwara, Nippon Motorola
---
(藤原)

---

From: Marc Lavall�e <[email-masked]>
Date: Mon, 16 Jun 1997 04:26:21 -0400

>>pop-up message about "File does not exist" on the Mac

I got the same error on Linux 2.0 and Solaris 2.5 with netatalk 1.4b2. Version 
1.3.3 works fine with Linux but is incompatible with Solaris.

>    ( just say id on shell prompt )

I tried so I know it won't help. Just get back to 1.3.3 if you're on Linux or 
mess with CAP if you're on Solaris. If you have money and no time to loose a 
better solution would be to get KAShare.

Marc

---

From: Mario Klebsch DG1AM <[email-masked]>
Date: Mon, 16 Jun 1997 13:53:39 +0200

Hello!

>    ( just say id on shell prompt )

I once had group related problems with netatalk. When the Mac wanted
to create a file on the server, the file should have had no group, and
so the Mac sent 0 as Group ID, which is (according to inside
AppleTalk) the code for "no group".

But the netatalk server insisted of chwon()ing the file to gid 0,
which resulted in EPERM. The "fix" was to add group 0 for every
netatalk user. Fortunately, there were only two users and everyone of
them had the root password. So security was not a problem. :-)

This was prior to the 1.4 version, so perhaps (who knows) these
problems are already fixed.

73, Mario
-- 
Mario Klebsch, DG1AM, [email-masked]		+49 531 / 391 - 7457
Institut fuer Robotik und Prozessinformatik der TU Braunschweig
Hamburger Strasse 267, 38114 Braunschweig, Germany

---

From: Sak Wathanasin <[email-masked]>
Date: Mon, 16 Jun 1997 12:19:37 +0100

In reply to Marc LavallÈe's ([email-masked]) message of the 6/16/97
at 4:26 AM -0400,

> better solution would be to get KAShare.

Well, I'm currently running 1.4b2 with Linux so it's definitely not a
1.3.3/1.4b2 problem. My money's on access permissions or maybe that
SpeedDoubler thing (I don't run that here....)

Sak Wathanasin
Network Analysis Limited
178 Wainbody Ave South, Coventry CV3 6BX, UK

Internet: [email-masked]
uucp:     ...!britain.eu.net!nan!sw
Phone: (+44) 1203 419996                    Fax: (+44) 1203 690690

---

From: [email-masked]
Date: Mon, 16 Jun 1997 10:28:37 -0400

> From:    Marc Lavallée <[email-masked]>
> To:      [email-masked]

> better solution would be to get KAShare.

Presuming it's a group permission problem, 1.3.3 handles them worse
than 1.4b2.  The final release of 1.4 will not pass on any error that
chown() generates.  As a matter of fact, you can verify that this is
your problem, by editing etc/afpd/unix.c and removing the return(-1)s
that follow the few chowns in setdirown().  Once you've done that, the
only way a chown() (or other group ownership problem) will give you
errors, is when the Mac specifically checks.

:wes

Actually, since the diff is small, find it below...
*** etc/afpd/unix.c-	Tue Oct  1 15:26:52 1996
--- etc/afpd/unix.c	Fri Mar 14 14:52:16 1997
***************
*** 633,639 ****
      closedir( dir );
  
      /*
!      * We cheat: we know that chown doesn't do anything.
       */
      if ( stat( ".AppleDouble", &st ) < 0 ) {
  	syslog( LOG_ERR, "setdirowner: stat .AppleDouble: %m" );
--- 633,641 ----
      closedir( dir );
  
      /*
!      * We cheat when we know that chown doesn't do anything.
!      * Ignore these errors, there are cases where the Mac tries to
!      * set the group and it's just not possible.
       */
      if ( stat( ".AppleDouble", &st ) < 0 ) {
  	syslog( LOG_ERR, "setdirowner: stat .AppleDouble: %m" );
***************
*** 640,646 ****
  	return( -1 );
      }
      if ( gid && gid != st.st_gid && chown( ".AppleDouble", uid, gid ) < 0 ) {
! 	return( -1 );
      }
  
      if ( stat( ".", &st ) < 0 ) {
--- 642,649 ----
  	return( -1 );
      }
      if ( gid && gid != st.st_gid && chown( ".AppleDouble", uid, gid ) < 0 ) {
! 	syslog( LOG_DEBUG, "setdirowner: chown %d/%d %s: %m",
! 		uid, gid, ".AppleDouble" );
      }
  
      if ( stat( ".", &st ) < 0 ) {
***************
*** 647,653 ****
  	return( -1 );
      }
      if ( gid && gid != st.st_gid && chown( ".", uid, gid ) < 0 ) {
! 	return( -1 );
      }
  
      return( 0 );
--- 650,657 ----
  	return( -1 );
      }
      if ( gid && gid != st.st_gid && chown( ".", uid, gid ) < 0 ) {
! 	syslog( LOG_DEBUG, "setdirowner: chown %d/%d %s: %m",
! 		uid, gid, "." );
      }
  
      return( 0 );

---

From: [email-masked]
Date: Mon, 16 Jun 1997 12:08:32 -0400 (EDT)

It is claimed, but unverified, that Marc Lavallée wrote:
[...]
> If you have money and no time to lose a 

KAShare is also faster than netatalk/CAP.  You also get support
and someone to yell at, which is important to some managers.
(to stave off the flames, yes, I use netatalk some (and OpenBSD
- the more secure NetBSD derivative), and understand the
use/importance of freely available software.  Some companies
insist on commercial software though.)

chuck