From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <8a63b9e03865e2e31f270437530f46a8@gmx.de> References: <8a63b9e03865e2e31f270437530f46a8@gmx.de> Date: Wed, 13 Apr 2011 23:54:32 +0400 Message-ID: From: Sergey Kornilovich To: cinap_lenrek@gmx.de Content-Type: multipart/alternative; boundary=000e0cd17fc46916d404a0d22d1f Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] cifsd Topicbox-Message-UUID: d0296648-ead6-11e9-9d60-3106f5b1d025 --000e0cd17fc46916d404a0d22d1f Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: quoted-printable cat /bin/service/tcp445 #!/bin/rc exec /bin/ip/cifsd -t -d -f /sys/log/cifsd.debug ps|grep cifsd bootes 374 0:00 0:00 212K Pread cifsd bootes 908 0:00 0:00 212K Pread cifsd bootes 1391 0:00 0:00 212K Pread cifsd none 2332 0:00 0:00 212K Pread cifsd none 2527 0:00 0:00 212K Pread cifsd tail -f /sys/log/cifsd.debug started [2527] [72] SMB_COM_NEGOTIATE [0] PC NETWORK PROGRAM 1.0 [1] LANMAN1.0 [2] Windows for Workgroups 3.1a [3] LM1.2X002 [4] LANMAN2.1 [5] NT LM 0.12 [6] SMB 2.002 [7] SMB 2.??? respond: err=3D0 [73] SMB_COM_SESSION_SETUP_ANX bs=3D8000 cap=3Dd4 user=3DKROK dom=3DKROK os=3D lanman=3D auth successfull [75] SMB_COM_TREE_CONNECT_ANDX mapshare \\192.168.1.200\IPC$ -> IPC IPC$ /dev/null [ff] SMB_COM_NO_ANDX_COMMAND respond: err=3D0 [73] SMB_COM_SESSION_SETUP_ANX bs=3D8000 cap=3Dd4 user=3DKROK dom=3DKROK os=3D lanman=3D [75] SMB_COM_TREE_CONNECT_ANDX mapshare \\192.168.1.200\VAC -> A: vac /n/vac 13 =C1=D0=D2=C5=CC=D1 2011 =C7. 23:24 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5=CC=D8 = =CE=C1=D0=C9=D3=C1=CC: > check with ps that there are no broken cifsd processes for > bootes... if there are, run acid and type lstk() to get > a stacktrace... > > if this is not the case... lets enable more debugging to figure out > whats going on... > > add -d -f /sys/log/cifsd.debug option to /bin/service/tcp445 command line= . > > create a world writable append only file in /sys/log > > touch /sys/log/cifsd.debug > chmod a+wa /sys/log/cifsd.debug > > -- > 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: cinap_lenrek@gmx.de > Date: Wed, 13 Apr 2011 23:13:22 +0400 > Subject: Re: [9fans] cifsd > 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$ -> IP= C > IPC$ /dev/null > server Apr 13 22:43:45 (\bootes) mapshare \\192.168.1.200\VAC -> A: > vac /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.vac" 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 wr= ote: >>> >>>> 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 peop= le >>> back in, but I'm not sure I want to make the leap yet. Depends if Appl= e >>> 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 th= e >>>>> 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 >>>>> >>>>> >>>>> >>>> >>> >> >> > > --000e0cd17fc46916d404a0d22d1f Content-Type: text/html; charset=KOI8-R Content-Transfer-Encoding: quoted-printable
cat /bin/service/tcp445
#!/bin/rc
exec /bin/ip/cifsd -t -d -= f /sys/log/cifsd.debug

ps|grep cifsd
bootes= 374 0:00 0:00 212K Pread cifsd
bootes 90= 8 0:00 0:00 212K Pread cifsd
bootes 1391 0:00 0:00 212K Pread cifsd
none = 2332 0:00 0:00 212K Pread cifsd
none 2527 0= :00 0:00 212K Pread cifsd

tail -f /s= ys/log/cifsd.debug
started [2527]
[72] SMB_COM_NEGOTIATE
[0] PC NETWORK PROGRAM 1.0=
[1] LANMAN1.0
[2] Windows for Workgroups 3.1a
[3] LM1.2X002
[4= ] LANMAN2.1
[5] NT LM 0.12
[6] SMB 2.002
[7] SMB 2.???
respond:= err=3D0

[73] SMB_COM_SESSION_SETUP_ANX
bs=3D8000 cap=3Dd4 user=3DKROK dom=3D= KROK os=3D lanman=3D
auth successfull
[75] SMB_COM_TREE_CONNECT_ANDX<= br>mapshare \\192.168.1.200\IPC$ -> IPC IPC$ /dev/null
[ff] SMB_COM_N= O_ANDX_COMMAND
respond: err=3D0

[73] SMB_COM_SESSION_SETUP_ANX
bs=3D8000 cap=3Dd= 4 user=3DKROK dom=3DKROK os=3D lanman=3D
[75] SMB_COM_TREE_CONNECT_ANDX<= br>mapshare \\192.168.1.200\VAC -> A: vac /n/vac


13 =C1=D0=D2=C5=CC=D1 2011=9A=C7. 23:24 =D0=CF=CC=D8=DA=CF=D7=C1=D4=C5=CC= =D8 <cinap_len= rek@gmx.de> =CE=C1=D0=C9=D3=C1=CC:
check with ps that there are no broken cifsd processes for
bootes... if there are, run acid <pid> and type lstk() to get
a stacktrace...

if this is not the case... =9Alets enable more debugging to figure out
whats going on...

add -d -f /sys/log/cifsd.debug option to /bin/service/tcp445 command line.<= br>
create a world writable append only file in /sys/log

touch /sys/log/cifsd.debug
chmod a+wa /sys/log/cifsd.debug

--
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:=9Acinap_lenrek@gmx.de
Date:=9AWed, 13 Apr 2011 23:13:22 +0400
Subject:=9ARe: [9fans] cifsd
= 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\vac pause for 1 minute
System error 64 has occurred.

The specified ne= twork 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 <cina= p_lenrek@gmx.de>
cifsd expetcts that the 9fs $foo command mou= nts 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:=9AF= ans 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









--000e0cd17fc46916d404a0d22d1f--