In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Tinysmb: Difference between revisions

From WiiBrew
Jump to navigation Jump to search
Tantric (talk | contribs)
New page: tinysmb is a lightweight SMB client originally written by softdev for the GameCube. It is now included as part of libogc. == User usage == tinysmb requires [http://en.wikipedia.org/...
 
Oibaf (talk | contribs)
m FB ZX added
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
tinysmb is a lightweight SMB client originally written by softdev for the GameCube. It is now included as part of [[libogc]].  
'''tinysmb''' is a lightweight [http://en.wikipedia.org/wiki/Server_Message_Block SMB] client originally written by softdev for the GameCube. It is now included as part of [[libogc]]. It has since been updated by [[User:Tantric|Tantric]] to use [http://en.wikipedia.org/wiki/NTLM NTLM] (with SMB dialect NT LM 0.12). In addition, rodries and scip have written a devoptab allowing SMB to be used uses via standard file operation functions (using a prefix of smb:/).


== User usage ==
== User usage ==


tinysmb requires [http://en.wikipedia.org/wiki/LM_hash LM hashes] for authentication. Newer versions of Windows, such as Windows Vista, have LM hashes disabled by default. To re-enable LM hashes in Vista:
tinysmb follows the "SMB over IP" standard and so uses TCP port 445 by default, rather than the deprecated TCP ports 137-139. If this fails, it will attempt to establish a NBT session and use port 139. tinysmb requires [http://en.wikipedia.org/wiki/NTLM NTLM] for authentication (supported by all major Operating Systems). Tutorials for setting up a file share in [http://www.practicallynetworked.com/sharing/xp/filesharing.htm Windows XP] and [http://cws.internet.com/article/3592-.htm Windows Vista] are available.
* load Group Policy Editor - gpedit.msc
* go to Computer Configuration > Local Policies > Security Options
* change "Network security: Do not store LAN Manager hash value on next password change" to Disabled
* change your password at least once to generate a LM hash


== Technical notes ==
== Developer usage ==


tinysmb only supports [http://en.wikipedia.org/wiki/LAN_Manager LAN Manager] 2.0 (SMB dialect LM1.2X002). It uses [http://en.wikipedia.org/wiki/LM_hash LM hashes] for authentication, an obsolete standard. Newer operating systems such as Windows Vista have LM hash support disabled by default. tinysmb needs to be modified to use [http://en.wikipedia.org/wiki/NTLM NTLM] (with SMB dialect NT LM 0.12), which has been the SMB standard since Windows 95. Combining tinysmb with an existing C implementation of NTLM such as [http://josefsson.org/libntlm/ libntlm] would be the fastest way to do so.
Adding SMB support to your program is easy! All you need to do is initialize the network, and then make a call to smbInit() to connect to the SMB share. From there you can use standard file functions to access to the share by prefixing smb:/ to your path.


== Applications that use tinysmb ==
== Applications that use tinysmb ==
Line 18: Line 14:
* [[FCE Ultra GX]]
* [[FCE Ultra GX]]
* [[Visual Boy Advance GX]]
* [[Visual Boy Advance GX]]
* [[MPlayer CE]]
* [[Loadmii]]
* [[C64-network.org]]
* [[UAE Wii]]
* [[FBZX Wii]]


== Related Reading ==


* [http://www.ubiqx.org/cifs/SMB.html#SMB.8 Implementing CIFS]
[[Category:Libraries]]

Latest revision as of 20:08, 13 May 2012

tinysmb is a lightweight SMB client originally written by softdev for the GameCube. It is now included as part of libogc. It has since been updated by Tantric to use NTLM (with SMB dialect NT LM 0.12). In addition, rodries and scip have written a devoptab allowing SMB to be used uses via standard file operation functions (using a prefix of smb:/).

User usage

tinysmb follows the "SMB over IP" standard and so uses TCP port 445 by default, rather than the deprecated TCP ports 137-139. If this fails, it will attempt to establish a NBT session and use port 139. tinysmb requires NTLM for authentication (supported by all major Operating Systems). Tutorials for setting up a file share in Windows XP and Windows Vista are available.

Developer usage

Adding SMB support to your program is easy! All you need to do is initialize the network, and then make a call to smbInit() to connect to the SMB share. From there you can use standard file functions to access to the share by prefixing smb:/ to your path.

Applications that use tinysmb