From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <127c3a0c5e2e64da53701bf15949aa08@gmx.de> References: <127c3a0c5e2e64da53701bf15949aa08@gmx.de> Date: Wed, 13 Apr 2011 23:13:22 +0400 Message-ID: From: Sergey Kornilovich To: cinap_lenrek@gmx.de Content-Type: multipart/alternative; boundary=000e0cd17fc4409f4a04a0d19afe Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] cifsd Topicbox-Message-UUID: d01a8380-ead6-11e9-9d60-3106f5b1d025 --000e0cd17fc4409f4a04a0d19afe Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable You are right. To test, I changed the file 9fs adding: case vac vacfs /lib/vac/1.vac but C: \> net use Y: \\192.168.1.200\vac pause for 1 minute System error 64 has occurred. The specified network name is no longer available. I run cifsd -t /sys/log/cifsd server Apr 13 22:43:45 (\) started [908] server Apr 13 22:43:45 (\bootes) auth successfull server Apr 13 22:43:45 (\bootes) mapshare \\192.168.1.200\IPC$ -> IPC IPC$ /dev/null server Apr 13 22:43:45 (\bootes) mapshare \\192.168.1.200\VAC -> A: va= c /n/vac 2011/4/13 > cifsd expetcts that the 9fs $foo command mounts the filesystem to > /n/$foo where $foo is derived from the smb share name by turning all > upper case characters to lower case. > > so if 9fs vac.1 mounts to /n/1 instead of /n/vac.1 you will get a > empty directory in cifsd because it will look in /n/vac.1. > > but this does not explain the error 64... > > do you logon to the cifsd server with the right plan9 user name? have > you tried running the 9fs command as the same user? > > do you see anything in /sys/log/cifsd? > > -- > cinap > > > ---------- =F0=C5=D2=C5=D3=D9=CC=C1=C5=CD=CF=C5 =D3=CF=CF=C2=DD=C5=CE=C9= =C5 ---------- > From: Sergey Kornilovich > To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> > Date: Wed, 13 Apr 2011 13:54:34 +0400 > Subject: Re: [9fans] cifsd > > Trying to connect the vac file through cifsd. > net use Y: \ \ 192.168.0.190 \ 1.vac (/ lib/vac/1.vac exist and "9fs 1.va= c" > command mount 1.vac in / n / 1) > But on the windows client receives: > C: \> net use Y: \ \ 192.168.0.190 \ 1.vac > pause for 1 minute > System error 64 has occurred. > > The specified network name is no longer available. > > Show you how to do it right? > > P.S. Local connection works fine. > C: \> net use Y: \ \ 192.168.0.190 \ local > The command completed successfully. > > 2010/9/22 David Leimbach > >> >> >> On Tue, Sep 21, 2010 at 5:35 PM, Akshat wro= te: >> >>> Just for the official record: cifsd works perfectly fine with Windows 7= . >>> >>> Cinap's approach to the problem of packet-based protocols is elegant, >>> efficient, and through the invent of printf-alike functions, fits well = with >>> the Plan 9 programming suite/style. >>> >> >> Looks like a LinkedIn recommendation! I would use this but I've been >> happily windows free for years now. Windows 7 seems to be drawing peopl= e >> back in, but I'm not sure I want to make the leap yet. Depends if Apple >> turns Mac OS X into the iOS developer platform only or not I suppose. >> >> Dave >> >> >>> >>> Well done. >>> ak >>> >>> On Sep 20, 2010, at 20:34, cinap_lenrek@gmx.de wrote: >>> >>> after doing some patching on aquarela, wrote a cifs/smb server >>>> from scratch and got it down to 3350 lines of code. >>>> >>>> it uses binary regular expressions to unpack and pack the >>>> various nested sub-structures in the packets. >>>> >>>> /n/sources/cinap_lenrek/cifsd.tgz >>>> http://9hal.ath.cx/usr/cinap_lenrek/cifsd.tgz >>>> >>>> features include: >>>> >>>> run from listen(8) as none, so more secure. >>>> >>>> uses syslog() for informational logging (auth/share >>>> accesses/errors/warnings). debug tracing can be done with a separate >>>> debug trace file. >>>> >>>> open/read/write/close/rename/delete files and directories. >>>> >>>> fixed auth so it doesnt fail half the time. the trick was to delay the >>>> auth failure to the TREE_CONNECT_ANDX, otherwise windows >>>> will try over and over again with wrong password and username >>>> combinations. >>>> >>>> moving files/directories works by returning a special error code to >>>> instruct the client to do a recursive copy. >>>> >>>> impements/pretends enougth IPC$/rap to get the local share listed. >>>> >>>> not implemented: >>>> >>>> oplocks >>>> wildcard matching (will do (again)) >>>> netbios nameservice >>>> named pipes/mailslots >>>> setting file attributes >>>> NT_TRANSACT / acls >>>> anything i'v not seen while testing with w2k and wxp >>>> >>>> i'm interested in feedback. expecially tests with vista or w7. >>>> >>>> -- >>>> cinap >>>> >>>> >>>> >>> >> > > --000e0cd17fc4409f4a04a0d19afe Content-Type: text/html; charset=KOI8-R Content-Transfer-Encoding: quoted-printable You are right.
To test, I changed the file 9fs adding:

case vacvacfs /lib/vac/1.vac
but
C: \> net use Y: \\192.168.1.200\vacpause for 1 minute
System error 64 has occurred.

The specified n= etwork name is no longer available.
I run cifsd -t
/sys/log/cifsd
server Apr 13 22:43:45 (<nil>\<= ;nil>) started [908]
server Apr 13 22:43:45 (<nil>\bootes) auth= successfull
server Apr 13 22:43:45 (<nil>\bootes) mapshare \\192.= 168.1.200\IPC$ -> IPC IPC$ /dev/null
server Apr 13 22:43:45 (<nil>\bootes) mapshare \\192.168.1.200\VAC -&= gt; A: vac /n/vac


2011/4/13 <cinap_lenrek@gmx.de>
cifsd expetcts that the 9fs $foo command mo= unts the filesystem to
/n/$foo where $foo is derived from the smb share name by turning all
upper case characters to lower case.

so if 9fs vac.1 mounts to /n/1 instead of /n/vac.1 you will get a
empty directory in cifsd because it will look in /n/vac.1.

but this does not explain the error 64...

do you logon to the cifsd server with the right plan9 user name? =9Ahave you tried running the 9fs command as the same user?

do you see anything in /sys/log/cifsd?

--
cinap


---------- =F0=C5=D2=C5=D3=D9=CC=C1=C5=CD=CF=C5 =D3=CF=CF=C2= =DD=C5=CE=C9=C5 ----------
From:=9ASergey Kornilovich <
root81@gmail.com>
To:=9AFans of the OS Plan= 9 from Bell Labs <9fans@9fans.net>
Date:=9AWed, 13 Apr 2011 13:54:34 +0400
Subject:=9ARe: [9fans] cifsd
=
Trying to connect the vac file through cifsd.
net use Y: \ \ 192.168= .0.190 \ 1.vac (/ lib/vac/1.vac exist and "9fs 1.vac" command mou= nt 1.vac in / n / 1)
But on the windows client receives:
C: \> net use Y: \ \ 192.168.0.19= 0 \ 1.vac
pause for 1 minute
System error 64 has occurred.

The specified ne= twork name is no longer available.

Show you how to do it right?
<= br>P.S. Local connection works fine.
C: \> net use Y: \ \ 192.168.0.1= 90 \ local
The command completed successfully.

2010/= 9/22 David Leimbach <leimy2k@gmail.com>


On Tue, Sep 21, 2010 at 5:35 PM, Ak= shat <akumar@mail.nanosouffle.net> wrote:
Just for the official record: cifsd works perfectly fine with Windows 7.
Cinap's approach to the problem of packet-based protocols is elegant, e= fficient, and through the invent of printf-alike functions, fits well with = the Plan 9 programming suite/style.

Looks like a LinkedIn recommendation! =9AI would use this but I've been= happily windows free for years now. =9AWindows 7 seems to be drawing peopl= e back in, but I'm not sure I want to make the leap yet. =9ADepends if = Apple turns Mac OS X into the iOS developer platform only or not I suppose.=

Dave
=9A

Well done.
ak

On Sep 20, 2010, at 20:34, cinap_lenrek@gmx.de wrote:

after doing some patching on aquarela, wrote a cifs/smb server
from scratch and got it down to 3350 lines of code.

it uses binary regular expressions to unpack and pack the
various nested sub-structures in the packets.

/n/sources/cinap_lenrek/cifsd.tgz
http://9hal.ath.cx/usr/cinap_lenrek/cifsd.tgz

features include:

run from listen(8) as none, so more secure.

uses syslog() for informational logging (auth/share
accesses/errors/warnings). =9Adebug tracing can be done with a separate
debug trace file.

open/read/write/close/rename/delete files and directories.

fixed auth so it doesnt fail half the time. the trick was to delay the
auth failure to the TREE_CONNECT_ANDX, otherwise windows
will try over and over again with wrong password and username
combinations.

moving files/directories works by returning a special error code to
instruct the client to do a recursive copy.

impements/pretends enougth IPC$/rap to get the local share listed.

not implemented:

oplocks
wildcard matching (will do (again))
netbios nameservice
named pipes/mailslots
setting file attributes
NT_TRANSACT / acls
anything i'v not seen while testing with w2k and wxp

i'm interested in feedback. expecially tests with vista or w7.

--
cinap







--000e0cd17fc4409f4a04a0d19afe--