From mboxrd@z Thu Jan 1 00:00:00 1970 From: root81@gmail.com (Sergey Kornilovich) Date: Thu, 14 Apr 2011 15:52:59 +0400 Subject: [9fans] Fwd: cifsd In-Reply-To: References: <44c6348b3cbf2ea7573e33e6013a21c0@gmx.de> Message-ID: Topicbox-Message-UUID: d0368576-ead6-11e9-9d60-3106f5b1d025 Thanks, now everything works fine. But if you want that windows clients can connect any vacfile (in /lib/vac or $home/lib/vac), you must modify the file /bin/9fs. This is: vacfs -m /n/`{basename $1.vac} `{cat $score} To this: vacfs -p -m /n/`{basename $1} `{cat $ score} (-p Disables permission checking) If anyone knows a more elegant way to do it, I'll be glad to hear. 14 ?????? 2011 ?. 1:06 ???????????? ???????: > with further thought... i removed the pipe code and now redirect > /sys/log/cifsd to stdout/stderr of /bin/9fs and just do a wait() call > to see if it terminates. i think this is the cleanest thing todo and doesnt > leak any filedescriptors into 9fs... > > the changed code in question is in share.c of the cifsd.tgz tarball. > > -- > cinap > > > ---------- ???????????? ????????? ---------- > From: Sergey Kornilovich > To: cinap_lenrek at gmx.de > Date: Wed, 13 Apr 2011 23:54:32 +0400 > > Subject: Re: [9fans] cifsd > > 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=0 > > [73] SMB_COM_SESSION_SETUP_ANX > bs=8000 cap=d4 user=KROK dom=KROK os= lanman= > 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=0 > > [73] SMB_COM_SESSION_SETUP_ANX > bs=8000 cap=d4 user=KROK dom=KROK os= lanman= > [75] SMB_COM_TREE_CONNECT_ANDX > mapshare \\192.168.1.200\VAC -> A: vac /n/vac > > > 13 ?????? 2011 ?. 23:24 ???????????? ???????: > >> 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 >> >> >> ---------- ???????????? ????????? ---------- >> From: Sergey Kornilovich >> To: cinap_lenrek at 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$ -> IPC >> 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 >>> >>> >>> ---------- ???????????? ????????? ---------- >>> From: Sergey Kornilovich >>> To: Fans of the OS Plan 9 from Bell Labs <9fans at 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 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, >>>>> 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 people >>>> 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 at 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 >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >>> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: