1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
samba-mirror/examples/libsmbclient/smbwrapper
Derrell Lipman 673c356488 r12852: r12150@cabra: derrell | 2006-01-11 13:21:14 -0500
Although RTLD_NEXT was not working properly a number of years ago, it seems to be now.  Replace dlopen(/lib/libc...) with direct use of RTLD_NEXT
(This used to be commit 2b48665006)
2007-10-10 11:06:04 -05:00
..
bsd-strlcat.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
bsd-strlcpy.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
bsd-strlfunc.h r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
Makefile r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
opendir_smbsh.c r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00
README r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00
select.c r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00
smbsh.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
smbw_dir.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
smbw_stat.c r7168: Updating file times from libsmbclient was not working for win98. Although 2007-10-10 10:57:04 -05:00
smbw.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
smbw.h r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
wrapper.c r12852: r12150@cabra: derrell | 2006-01-11 13:21:14 -0500 2007-10-10 11:06:04 -05:00
wrapper.h r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00

To create "smbsh" on Linux, just type "make".

If you execute "smbsh" in *this* directory (so that it can find the required
shared library), you'll find yourself in a new shell.  You can then issue
commands referencing the "/smb" pseudo-filesystem:

  ls /smb
  ls /smb/WORKGROUP_OR_DOMAIN
  ls /smb/SERVER
  ls /smb/SERVER/SHARE
  ls /smb/SERVER/SHARE/PATH

Note that WORKGROUP_OR_DOMAIN is *not* used other than at that level.  This is
consistent with the smb:// URI definition.

Usage:
  smbsh [-L <path to find smbwrapper.so>]
        [-p <library to load before smbwrapper.so>]
        [-a <library to load after smbwrapper.so>]
        [-d <debug value for libsmbclient>]
        [-n]                                    (do not ask for username/password)
        [-W <workgroup>]
        [-U <username%password]
        [command]

So to list the contents of \\MYDESK\C$ where a username (adventure) and password
(xyzzy) are required, and with smbwrapper.so installed in /usr/share/samba, you
could try:

  smbsh -L /usr/share/samba -U adventure%xyzzy ls '/smb/MYDESK/C$'

(It's a good idea to get in the habit of surrounding windows paths in single
quotes, since they often contain spaces and other characters that'll give you
headaches when not escaped.)

This smbsh seems to work quite well on Linux 2.4 and 2.6.  The biggest problem it
has is in tracking your current working directory.  I haven't had the time to
track that down and fix it.

Derrell Lipman