From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <942b16624b4735bb1535f9aa1d352f8d@gmx.de> To: 9fans@9fans.net Date: Tue, 21 Sep 2010 05:34:20 +0200 From: cinap_lenrek@gmx.de MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] cifsd Topicbox-Message-UUID: 59031d52-ead6-11e9-9d60-3106f5b1d025 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