1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
Commit Graph

793 Commits

Author SHA1 Message Date
Jeff Layton
1759f089e1 cifs.upcall: negatively instantiate keys on error
When a request-key upcall exits without instantiating a key, the kernel
will negatively instantiate the key with a 60s timeout. Older kernels,
however seem to also link that key into the session keyring. This
behavior can interefere with subsequent mount attempts until the
key times out. The next request_key() call will get this negative key
even if the upcall would have worked the second time.

Fix this by having cifs.upcall negatively instantiate the key itself
with a 1s timeout and don't attach it to the session keyring.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(This used to be commit f760dd3f31)
2008-08-12 14:32:54 -04:00
Jeremy Allison
617bf10c66 Fix bug #5675 with a varient of Tim Waugh's patch,
as proposed by James Peach.
Jeremy.
(This used to be commit 5c27ad7583)
2008-08-07 17:55:57 -07:00
Steve French
3b6c8bc662 Building cifs.upcall is giving this build warning:
client/cifs.upcall.c:205: warning: function declaration isn’t a prototype

This patch fixes this by properly declaring usage() args as void.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@samba.org>
(This used to be commit 148a012421)
2008-08-05 15:36:11 -05:00
Steve French
b893729a3d cifs.upcall: fix manpage and comments
The "cifs.resolver" key type has been changed to "dns_resolver". Fix
the comments at the top of cifs.upcall and the manpage accordingly.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@samba.org>
---
 docs-xml/manpages-3/cifs.upcall.8.xml |    4 ++--
 source/client/cifs.upcall.c           |    8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)
(This used to be commit 24a93d03c2)
2008-08-05 13:27:07 -05:00
Steve French
70dccd1468 Backing out most of changeset 5222b8db3f
(so parsing for domain parameter in mount.cifs matches online help)
and rephrasing original code to make it more clear.

The check for "domain" was meant to allow for "dom" or "DOM" and the
option ("dom") described in the help (e.g. "/sbin/mount.cifs -?") is the
shorter ("dom") form.  The reason that the string we compare against
is larger was to improve readability (we could compare against "dom"
but note /* "domain" or "DOMAIN" or "dom" or "DOM" */ but it seemed
terser to just show the larger string in the strcmp target.   The
change to "workgoup" from workg* (anything which begins with "workg"
doesn't matter - it is a minor behavior change - but probably few
scripts depend on the "alias" for this option).

Rework code so that it is clearer what we are comparing against.
(This used to be commit 92fad0fc53)
2008-08-05 13:15:46 -05:00
Steve French
0732750497 cifs.upcall was not recognizing the newer name "dns_resolver" key type
(as a synonym for the older "cifs.resolver" name) when resolving host
names to ip addresses for the kernel.

Acked-by: Jeff Layton
(This used to be commit 22c36b27c6)
2008-07-24 09:32:53 -05:00
Steve French
224f9b839b cifs.upcall: fix compile warning
Steve French noticed these warnings when building cifs.upcall:

   Compiling client/cifs.upcall.c
   client/cifs.upcall.c: In function 'usage':
   client/cifs.upcall.c:204: warning: declaration of 'prog' shadows a global declaration
   client/cifs.upcall.c:33: warning: shadowed declaration is here

Change the usage function to not take and arg and have it just use the global
"prog" variable. Fix a typo in the log message generated when an unknown
option is specified. Also getopt() always returns '?' when it sees an unknown
option so there's no point in printing it out.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(This used to be commit 4b8362f977)
2008-07-23 14:25:17 -05:00
Volker Lendecke
1335da2a7c Refactoring: Change calling conventions for cli_rpc_pipe_open_noauth
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS
(This used to be commit 9abc9dc4dc)
2008-07-20 17:37:11 +02:00
Jeremy Allison
cdabee2bb4 This patchset comprises a number of cleanups for the cifs upcall
binary. The biggest change is that it renames it from cifs.spnego
to cifs.upcall since the cifs.spnego name really isn't applicable
anymore.

It also fixes a segfault when the program is run without any args
and adds a manpage. Comments and/or suggestions appreciated.

This set should apply cleanly to the 3.3 test branch.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Jeremy.
(This used to be commit c633f10d9e)
2008-07-16 17:27:05 -07:00
Jeremy Allison
4b88ff157d Fix bug #5578, reported by sendel2000@hotbox.ru. Bad (non-Samba) use of strlcat gives error.
Jeremy.
(This used to be commit d7c82997bd)
2008-07-02 11:57:13 -07:00
Volker Lendecke
34dc60a74f Fix two IBM checker warnings
Steve, please check!

Thanks,

Volker
(This used to be commit 5222b8db3f)
2008-06-27 11:23:20 +02:00
Volker Lendecke
c8dfed63a6 Fix a brown paper bag segfault in clitar
Thanks to "No Body is Perfect" from gmail, whoever that is :-)

Volker
(cherry picked from commit 679d8dfa39)
(This used to be commit b8e1d62b8e)
2008-06-17 21:14:47 +02:00
Jeremy Allison
a991c5a7c3 Merge branch 'v3-3-test' of ssh://jra@git.samba.org/data/git/samba into v3-3-test
(This used to be commit 3d01248f63)
2008-05-30 10:09:22 -07:00
Jeremy Allison
2e9136e085 From Michael R Sweet <mike@easysw.com>.
All,

Noticed that smbspool.c still has my Easy Software Products copyright
on it.  The following patch fixes it to match the other code I've
contributed over the years...

Jeremy.
(This used to be commit 9f5897e28d)
2008-05-30 10:08:27 -07:00
Jeremy Allison
d36434f312 Security fix for CVE-2008-1105: Boundary failure when parsing SMB responses
can result in a buffer overrun.
Jeremy.
(This used to be commit 23b825e9d2)
2008-05-28 09:31:42 -07:00
Volker Lendecke
37aaa8d8f9 Remove stuff from client_proto.h
(This used to be commit c1e115964b)
2008-05-25 11:43:56 +02:00
Michael Adam
b398a96b09 rpc_client: use endpoint mapper to get the port for rpc_pipe_open_tcp().
Michael
(This used to be commit f7db445c82)
2008-05-22 11:29:57 +02:00
Kai Blin
59a6b2df74 client: Fix the proto header to fix the build.
(This used to be commit 9e39ac1cc3)
2008-05-22 09:43:50 +02:00
Michael Adam
7a1b7a14e4 smbclient: freeze client_proto.h from "make proto"
Michael
(This used to be commit f8c0710165)
2008-05-18 23:26:51 +02:00
Günther Deschner
4d8836ab96 Fix client authentication with -P switch in client tools (Bug 5435).
Guenther
(This used to be commit d077ef64cd)
2008-05-05 16:59:53 +02:00
Jeremy Allison
3cfd1f2be7 Tidyup to ensure '\n' is treated identically in all
cases.
Jeremy.
(This used to be commit 818fbc9889)
2008-05-01 08:48:52 -07:00
Jeremy Allison
e9accc2ad6 Fix bug #5434 found by Ted Percival <ted@midg3t.net>.
Introduced by me in the strlcpy cleanup. Ensure the
loaded password doesn't contain the '\n' at the end.
Jeremy.
(This used to be commit 41984743d9)
2008-05-01 08:39:16 -07:00
Jeremy Allison
17ade782b9 Sync up client/mount.cifs.c with v3-2-test.
Jeremy.
(This used to be commit 7a724d78e1)
2008-04-25 09:29:11 -07:00
Karolin Seeger
ea56d4a234 mount.cifs: Zero mountpassword content before freeing.
Karolin
(This used to be commit d99a31848b)
2008-04-25 12:40:54 +02:00
Jeremy Allison
9174e864fe Make mount.cifs.c consistent with other Samba code usage w.r.t
SAFE_FREE. Use #define constants not arbitrary numbers. Stevef
please check. Karolyn, once Steve has checked please pull for
3.2-stable.
Jeremy.
(This used to be commit cc23f91d63)
2008-04-24 10:24:05 -07:00
James Peach
6db1eba547 smbspool: Fix the smbspool build.
(This used to be commit a51cb3c1a9)
2008-04-21 11:19:22 -07:00
James Peach
582d813d79 smbspool: minor formatting cleanups.
(This used to be commit 831a09ae25)
2008-04-21 10:57:09 -07:00
James Peach
ab4bf4e499 smbspool: Run indent to approximate conding standards.
(This used to be commit 4244be792e)
2008-04-21 10:10:29 -07:00
James Peach
65357898ba smbspool: add my copyright.
(This used to be commit b294b2055a)
2008-04-21 09:29:07 -07:00
Mike Sweet
9fb111ba5f smbspool: Fix CUPS authentication protocol support.
There were a couple of places where we weren't checking for
authentication correctly. This chance fixes those places and properly
supports Kerberos where available.
(This used to be commit 8eff35bc4a)
2008-04-21 09:19:51 -07:00
Mike Sweet
7e166858c3 smbspool: fix Kerberos support for CUPS 1.3.
To summarize the changes, the patches remove the old (probably non-
working) Kerberos support code which is unnecessary with CUPS 1.3
and adds some checks on the NT status we get back to see whether
the connection error is related to authentication.  If so, we send
the ATTR: message to tell CUPS we need a username and password and
return exit code 2 so cupsd will do the right thing.

AUTH_USERNAME, AUTH_PASSWORD, and KRB5CCNAME are set and supported
by CUPS 1.3.  The new exit code is supported by CUPS 1.2.x and 1.3,
and it treated as a general failure in CUPS 1.1.  The ATTR: message
is only supported by CUPS 1.3, while CUPS 1.2 will assume the
"username,password" value we are setting.

The current code only uses the AUTH_* env vars if they are set.
If not, we fall back to the previous behavior.

I really can't tell whether the Kerberos code that was in there
would work at all. It did not work for Mac OS X which is why
I dropped it.
(This used to be commit 8c12c5cea0)
2008-04-21 09:16:01 -07:00
Volker Lendecke
e73e8297f5 Replace cli_rpc_pipe_close by a talloc destructor on rpc_pipe_struct
(This used to be commit 99fc3283c4)
2008-04-20 14:08:16 +02:00
Volker Lendecke
2a2188591b Add "desthost" to rpc_pipe_client
This reduces the dependency on cli_state
(This used to be commit 783afab9c8)
2008-04-20 00:13:09 +02:00
Jeremy Allison
4939a24cbc Fix the problem when -L is used with IPv6 addresses. Don't try to
connect on port 139 with IPv6. Found by David Holder @ Erion.
Karolin please merge to 3.2-stable.
Jeremy.
(This used to be commit c003e66ff1)
2008-04-17 09:24:54 -07:00
Jeff Layton
161db3e8e8 mount.cifs: fix several problems when mounting subdirectories of shares (try 2)
This patch is the second patch to attempt to fix up some of the problems
with mounting subdirectories of shares. The earlier patch didn't handle
this correctly when POSIX extensions were enabled. This one does.

This is a bit of a confusing area since the different components of
a service string have different rules:

1) hostname: no '/' (slash) or '\' (backslash) is allowed to be
	     embedded within the string

2) sharename: same rules as hostname

3) prefixpath: '\' *is* allowed to be embedded in a path component,
	       iff POSIX extensions are enabled. Otherwise, neither
	       character is allowed.

The idea here is to allow either character to act as a delimiter when we
know that the character can't be anything but a delimiter (namely
everywhere up to the start of the prefixpath). The patch will convert
any '\' unconditionally to '/' in the UNC portion of the string.

However, inside the prefixpath, we can't make assumptions about what
constitutes a delimiter because POSIX allows for embedded '\'
characters. So there we don't attempt to do any conversion, and pass the
prefixpath to the kernel as is. Once the kernel determines whether POSIX
extensions are enabled, it can then convert the path if needed and it's
able to do so. A patch to handle this has already been committed to the
cifs-2.6 git tree.

This patch also fixes an annoyance. When you mount a subdir of a share,
mount.cifs munges the device string so that you can't tell what the
prefixpath is. So if I mount:

	//server/share/p1/p2/p3

..then /proc/mounts and mtab will show only:

	//server/share

Finally, it also tries to apply some consistent rules to the uppercasing
of strings.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
(This used to be commit e03d1dfdb8)
2008-03-31 16:05:20 -04:00
Volker Lendecke
8f6b03b673 More ssize_t->SMB_OFF_T
(This used to be commit 8dd6458049)
2008-03-28 15:32:02 +01:00
Marc VanHeyningen
e06aa46b9f Coverity fixes
(This used to be commit 3fc85d2259)
2008-03-17 20:52:25 +01:00
Volker Lendecke
82117aaaea Fix Coverity ID 563
dirmask is always set here, we've dereferenced it before anyway
(This used to be commit e6787aa133)
2008-03-15 22:30:25 +01:00
Volker Lendecke
fa495ce1c1 Fix Coverity ID 564
finfo1==NULL just does not happen in current code
(This used to be commit 9ea0078c31)
2008-03-15 22:30:25 +01:00
Günther Deschner
251a16c900 Use rpccli_srvsvc_NetShareEnumAll in smbclient.
Guenther
(This used to be commit 1121633652)
2008-03-10 04:33:06 +01:00
Derrell Lipman
914cd3e483 Eliminate global variable in_client and a plethora of extern declarations.
Derrell
(This used to be commit b7f34e7ef2)
2008-03-06 10:41:42 -05:00
Volker Lendecke
5193ae9b5a Change default bufsize to 512k
I did not do any scientific tests, but the dummy test on my laptop against a
w2k3 vmware shows that in this specific situation going beyond 512k seems not
to gain anything anymore.

smb: \> iosize 64512
iosize is now 64512
smb: \> lcd /dev
smb: \> get random null
getting file \random of size 104857600 as null (33453,1 kb/s) (average 19718,5 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (34236,0 kb/s) (average 20509,1 kb/s)
smb: \> iosize 524288
iosize is now 524288
smb: \> get random null
getting file \random of size 104857600 as null (49042,1 kb/s) (average 22521,9 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (49420,8 kb/s) (average 23432,9 kb/s)
smb: \> iosize 1048576
iosize is now 1048576
smb: \> get random null
getting file \random of size 104857600 as null (49420,8 kb/s) (average 24284,2 kb/s)
smb: \> get random null
getting file \random of size 104857600 as null (49136,3 kb/s) (average 25076,9 kb/s)
(This used to be commit 1bcfef6a90)
2008-03-06 13:28:23 +01:00
Volker Lendecke
a8003f1af2 Use io_bufsize as window size in smbclient get command
(This used to be commit e602f06cbb)
2008-03-06 13:28:23 +01:00
Volker Lendecke
6244578835 Add async cli_pull support
This is the big (and potentially controversial) one. It took a phone call to
explain to metze what is going on inside cli_pull_read_done, but I would really
like everybody to understand this function. It is a very good and reasonably
complex example of async programming. If we want more asynchronism in s3, this
is what we will have to deal with :-)

Make use of it in the smbclient "get" command.

Volker
(This used to be commit 76f9b360ee)
2008-03-06 13:28:23 +01:00
Volker Lendecke
a34d158880 Revert "Add async cli_pull support"
This reverts commit 844a163458.
(This used to be commit 5ab1cfda50)
2008-03-01 09:38:14 +01:00
Volker Lendecke
1c02bee829 Revert "Fix warnings"
This reverts commit 9a966e5593.
(This used to be commit 413695e8d0)
2008-03-01 09:38:14 +01:00
Volker Lendecke
b50eb31bb4 Fix warnings
(This used to be commit 9a966e5593)
2008-02-29 15:17:38 +01:00
Karolin Seeger
e1b32594c7 Remove smbmount.
Karolin
(This used to be commit 5fbd98f706)
2008-02-28 15:53:43 +01:00
Volker Lendecke
525aac775e Add async cli_pull support
This is the big (and potentially controversial) one. It took a phone call to
explain to metze what is going on inside cli_pull_read_done, but I would really
like everybody to understand this function. It is a very good and reasonably
complex example of async programming. If we want more asynchronism in s3, this
is what we will have to deal with :-)

Make use of it in the smbclient "get" command.

Volker
(This used to be commit 844a163458)
2008-02-28 15:27:55 +01:00
Volker Lendecke
c7522804a5 Do the formatting change in all 3 places :-)
(This used to be commit d32066eaef)
2008-02-25 09:55:53 +01:00