1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
Commit Graph

307 Commits

Author SHA1 Message Date
Jeremy Allison
f31138ecc7 Fix bug 6726 - Filename length overwrites oplock request field in cli_nt_create().
Jeremy.
2009-09-14 15:10:53 -07:00
Volker Lendecke
e8abc36d2a Fix a valgrind error in cli_ctemp_done
For performance reasons cli_smb_recv does not make copies of the buffers we
received from the client, so both "vwv" and "bytes" vanish with
TALLOC_FREE(subreq). I know this is a bit counter-intuitive, but I think in
this case it's justified not to make copies.

Comments?
2009-07-27 12:47:20 +02:00
Jeremy Allison
1f5aec877f Make cli_unlock and cli_unlock64 async. Fix POSIX lock test.
Jeremy.
2009-07-15 11:49:33 -07:00
Jeremy Allison
e67de63ba6 Make cli_posix_lock/unlock asynchronous.
Jeremy.
2009-07-13 18:43:10 -07:00
Jeremy Allison
dc5c7b7f98 Make ctemp async. Fix the test to pass against W2K3.
Jeremy.
2009-06-10 11:58:00 -07:00
Jeremy Allison
64a1f17aff Make cli_ftruncate async. Also add a simple test.
Jeremy.
2009-06-05 16:06:05 -07:00
Jeremy Allison
684d3dddd6 Make cli_nt_delete_on_close() async.
Jeremy.
2009-05-29 14:58:34 -07:00
Jeremy Allison
9df85a9374 Make cli_posix_chown()/cli_posix_chmod() async.
Jeremy.
2009-05-28 16:15:09 -07:00
Jeremy Allison
656e86d5fa Make cli_posix_stat() async.
Jeremy.
2009-05-28 13:32:00 -07:00
Jeremy Allison
d74e42e0ec Make getfacl async.
Jeremy.
2009-05-28 13:05:50 -07:00
Jeremy Allison
bccc7ee2c6 Add cli_posix_readlink() and a torture test for it.
Jeremy.
2009-05-27 21:51:15 -07:00
Jeremy Allison
f55c7614bd Add aync POSIX hardlink and symlink and torture test for them.
Missing call cli_readlink() is next.
Jeremy.
2009-05-27 17:28:23 -07:00
Volker Lendecke
49ca690b4b Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STAT
This patch introduces

struct stat_ex {
        dev_t           st_ex_dev;
        ino_t           st_ex_ino;
        mode_t          st_ex_mode;
        nlink_t         st_ex_nlink;
        uid_t           st_ex_uid;
        gid_t           st_ex_gid;
        dev_t           st_ex_rdev;
        off_t           st_ex_size;
        struct timespec st_ex_atime;
        struct timespec st_ex_mtime;
        struct timespec st_ex_ctime;
        struct timespec st_ex_btime; /* birthtime */
        blksize_t       st_ex_blksize;
        blkcnt_t        st_ex_blocks;
};
typedef struct stat_ex SMB_STRUCT_STAT;

It is really large because due to the friendly libc headers playing macro
tricks with fields like st_ino, so I renamed them to st_ex_xxx.

Why this change? To support birthtime, we already have quite a few #ifdef's at
places where it does not really belong. With a stat struct that we control, we
can consolidate the nanosecond timestamps and the birthtime deep in the VFS
stat calls.

At this moment it is triggered by a request to support the birthtime field for
GPFS. GPFS does not extend the system level struct stat, but instead has a
separate call that gets us the additional information beyond posix. Without
being able to do that within the VFS stat calls, that support would have to be
scattered around the main smbd code.

It will very likely break all the onefs modules, but I think the changes will
be reasonably easy to do.
2009-05-26 17:48:23 +02:00
Jeremy Allison
000da55dd9 Make cli_posix_open() and cli_posix_mkdir() async.
Jeremy.
2009-05-20 18:31:36 -07:00
Bo Yang
05379f0125 s3: return proper error code in cli_smb_req_send
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-13 18:47:00 +08:00
Jeremy Allison
ad9d64ee1b Clean up assignments to iov_base, ensure it's always cast to void *. This should quieten some warnings with picky compilers on the buildfarm.
Jeremy.
2009-05-12 11:45:37 -07:00
Stefan Metzmacher
5c76472491 s3:libsmb: fix layering of cli_ntrename_internal and its callers
It's easier to have cli_ntrename_internal as a semetric async
tevent_req function. cli_ntrename() and cli_nt_hardlink() should
be callers on top of cli_ntrename_internal().

metze
2009-05-09 09:26:15 +02:00
Jeremy Allison
bb8aff6ffa Async API needs all parameters to be kept around until sent,
ensure they're attached to the state structure. Thanks to Metze
for pointing this out.
Jeremy.
2009-05-07 10:01:28 -07:00
Jeremy Allison
606edf0f35 Make cli_setatr async.
Jeremy.
2009-05-06 16:13:42 -07:00
Jeremy Allison
512879a69b Make cli_setattrE async.
Jeremy.
2009-05-06 15:07:05 -07:00
Jeremy Allison
4cbd0c77e4 Make cli_getatr() async.
Jeremy.
2009-05-05 20:59:22 -07:00
Jeremy Allison
e091fdc565 Make cli_getattrE async.
Jeremy.
2009-05-05 16:28:44 -07:00
Jeremy Allison
d34651f9d2 Fix the async calls for the posix_unlink and posix_rmdir.
Jeremy.
2009-05-04 15:50:35 -07:00
Jeremy Allison
f3af298e5b Cause cli_close to return an NTSTATUS.
Jeremy.
2009-04-30 16:57:42 -07:00
Jeremy Allison
8cf78ff553 Get medieval on our ass about SMB1 file descriptors being 16 bits, not an int.
Convert all uses of cli_open(), cli_nt_createXXX to NTSTATUS versions.
This is smaller than it looks, it just fixes a lot of old code.
Next up, ensure all cli_XX functions return NTSTATUS.
Jeremy.
2009-04-30 15:26:43 -07:00
Jeremy Allison
370e7209db Make cli_unlink async.
Jeremy.
2009-04-29 18:26:02 -07:00
Jeremy Allison
edd25980b0 More async calls in libsmb/clifile.c
Jeremy.
2009-04-29 10:48:16 -07:00
Jeremy Allison
c732e9446f Doh ! Don't need "int dummy" when we have state :-).
Jeremy.
2009-04-28 16:45:13 -07:00
Jeremy Allison
bd6447dcf2 Convert cli_rename to async.
Jeremy.
2009-04-28 16:43:16 -07:00
Jeremy Allison
06e404f574 Convert cli_posix_unlink() and cli_posix_rmdir()
to async. First trans calls I've done.
Jeremy.
2009-04-28 13:18:51 -07:00
Jeremy Allison
bd5c2c7dc8 find/replace. Change uintX types to uintX_t types to tidy up the code.
Jeremy.
2009-04-24 07:06:48 -07:00
Jeremy Allison
455f2a4c65 Make dskattr async.
Jeremy.
2009-04-22 08:04:53 -07:00
Jeremy Allison
502f47c7c0 Make cli_chkpath async.
Jeremy
2009-04-22 06:46:42 -07:00
Stefan Metzmacher
14bbed1d67 s3:libsmb: always use the tevent_req_nomem() for checking allocation failures
This will also make sure we cleanup 'req' in case of an error.

metze
2009-04-21 17:42:39 +02:00
Jeremy Allison
5ccf58ff59 Make rmdir async.
Jeremy.
2009-04-21 06:52:54 -07:00
Jeremy Allison
dfc79de607 Make cli_mkdir async. Change it to return NTSTATUS.
Jeremy.
2009-04-21 05:52:34 -07:00
Andrew Bartlett
3b3e21bd9b Convert Samba3 to use the common lib/util/charset API
This removes calls to push_*_allocate() and pull_*_allocate(), as well
as convert_string_allocate, as they are not in the common API

To allow transition to a common charcnv in future, provide Samba4-like
strupper functions in source3/lib/charcnv.c

(the actual implementation remains distinct, but the API is now shared)

Andrew Bartlett
2009-04-14 12:53:56 +10:00
Volker Lendecke
025eb40fbc Convert cli_open to tevent_req 2009-04-06 21:32:07 +02:00
Volker Lendecke
31910810cf Convert cli_close to tevent_req 2009-04-06 21:32:07 +02:00
Volker Lendecke
ca7cd350a6 Convert cli_ntcreate to tevent_req 2009-04-06 21:32:07 +02:00
Volker Lendecke
c14b7e648b Split up async_req into a generic and a NTSTATUS specific part 2009-02-01 19:05:39 +01:00
Volker Lendecke
a0d52e7d54 Add async cli_ntcreate 2009-01-30 12:47:59 +01:00
Volker Lendecke
37da26a06e Add the strlen to push to smb_bytes_push_str, return the converted size
The pushed strlen replaces the STR_TERMINATE flag which I personally always
find very confusing.
2009-01-29 21:38:06 +01:00
Volker Lendecke
7f25e0da73 Decouple clistr_pull from struct cli_state->inbuf 2009-01-26 05:39:34 +01:00
Volker Lendecke
6baf760d17 Fix an error path memleak 2009-01-25 20:52:42 +01:00
Volker Lendecke
28b7c44de8 Make smb_bytes_push_str deal with a NULL buf returning NULL 2009-01-25 20:52:39 +01:00
Volker Lendecke
4abdd3981e Pass "bytes_alignment" up through cli_request_send
This parameter makes smb_spice_chain add padding before the bytes field
2008-12-19 14:53:29 +01:00
Volker Lendecke
7fbb64d726 Simplify async programming a bit with helper routines
Introduce async_req_is_error() and async_req_simple_recv()
2008-12-08 22:09:33 +01:00
Kai Blin
69debd45e5 libsmb: Fix up pointer passed to cli_send_trans in cli_link_internal 2008-11-18 11:25:14 -08:00
Jelmer Vernooij
4746f79d50 Use {u,}int64_t instead of SMB_BIG_{U,}INT. 2008-10-14 01:59:36 +02:00
Volker Lendecke
6344b8ec27 make smb_bytes_push_str public
(This used to be commit d611f599b4)
2008-09-09 17:37:34 +02:00
Volker Lendecke
cad04676ca Fix typo
(This used to be commit 544d1fd19a)
2008-09-01 23:31:42 +02:00
Volker Lendecke
128524930d Add cli_pull_reply
Along the lines of cli_request_send this abstracts away the smb-level buffer
handling when parsing replies we got from the server.
(This used to be commit 253134d3aa)
2008-08-28 17:53:37 +02:00
Volker Lendecke
2650207d4a Remove cli->event_ctx, pass it explicitly
Storing the event_context as permanent state in struct cli_state creates more
complex code than necessary IMO.
(This used to be commit debb37f703)
2008-08-28 17:53:37 +02:00
Volker Lendecke
de9fcfc795 Add async open&x
(This used to be commit faf353edd6)
2008-08-28 17:53:36 +02:00
Volker Lendecke
8f408a676e Add async cli_close
(This used to be commit f84a2b5dbf)
2008-08-28 17:53:36 +02:00
Volker Lendecke
bf622cb876 Fix a typo
(This used to be commit 37bd2815c7)
2008-08-01 20:46:00 +02:00
Derrell Lipman
c58e7427bf add a function to truncate a file to a specified size
(This used to be commit 7e5752812d)
2008-02-26 21:42:26 -05:00
Tim Potter
441de75e58 Fix memory leaks on error path
(This used to be commit 47dd0700b4)
2008-02-20 18:27:40 -08:00
Jeremy Allison
afc93255d1 Add SMB encryption. Still fixing client decrypt but
negotiation works.
Jeremy.
(This used to be commit d78045601a)
2007-12-26 17:12:36 -08:00
Volker Lendecke
1e26ecf666 Fix C++ warnings
(This used to be commit 01a5c3ea4b)
2007-12-08 09:39:36 -08:00
Jeremy Allison
1938e861d0 Remove arbitrary 1k limit on pathnames. Malloc them.
Jeremy.
(This used to be commit 71770b4c1d)
2007-12-05 13:31:24 -08:00
Volker Lendecke
bbf2cb6da9 Fix some C++ warnings
(This used to be commit 156c7f10bb)
2007-12-01 10:43:35 -08:00
Jeremy Allison
5b184c3525 Remove pstrings from clifile.c.
Jeremy.
(This used to be commit d5658914c2)
2007-11-29 17:47:31 -08:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c)
2007-10-18 17:40:25 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe9)
2007-10-10 15:34:30 -05:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc)
2007-10-10 12:28:22 -05:00
Jeremy Allison
d824b98f80 r23779: Change from v2 or later to v3 or later.
Jeremy.
(This used to be commit 407e6e695b)
2007-10-10 12:28:20 -05:00
Jeremy Allison
902daae1c7 r23347: Fix Coverity 363. Dead code elimination.
Jeremy.
(This used to be commit 4524ee2dbc)
2007-10-10 12:23:08 -05:00
Volker Lendecke
b4a7b7a888 r22844: Introduce const DATA_BLOB data_blob_null = { NULL, 0, NULL }; and
replace all data_blob(NULL, 0) calls.
(This used to be commit 3d3d61687e)
2007-10-10 12:22:01 -05:00
Jeremy Allison
be8b0685a5 r22589: Make TALLOC_ARRAY consistent across all uses.
Jeremy.
(This used to be commit 8968808c3b)
2007-10-10 12:19:49 -05:00
Jeremy Allison
0829e1ad1c r22391: Looks bigger than it is. Make "inbuf" available
to all callers of smb_setlen (via set_message()
calls). This will allow the server to reflect back
the correct encryption context.
Jeremy.
(This used to be commit 2d80a96120)
2007-10-10 12:19:30 -05:00
Jeremy Allison
257d2e0d2a r21777: As Stevef requested and the Apple guys agreed, make
mode_t in posix_open/posix_mkdir -> 8 bytes to match
the SET_UNIX_INFO_BASIC call. Steve is updating the
Wikki.
Jeremy.
(This used to be commit 2f1c95ac77)
2007-10-10 12:18:32 -05:00
Jeremy Allison
b81b6b31c5 r21750: Sync up with SAMBA_3_0_25. Only client changes are in libsmbclient
right now.
Jeremy.
(This used to be commit 6dd5f0ef0f)
2007-10-10 12:18:27 -05:00
Herb Lewis
a4bffe0559 r21703: fix build when O_SYNC not defined
(This used to be commit 73b7a25ba8)
2007-10-10 12:18:23 -05:00
Jeremy Allison
ea3e890130 r21644: Allow mkdir on platforms with no O_DIRECTORY.
Add proper debug to all possible setfilepathinfo
functions.
Jeremy.
(This used to be commit 3c47a5ef25)
2007-10-10 12:18:21 -05:00
Jeremy Allison
6b8e85866e r21643: Put the correct bits on the wire for posix_mkdir.
We're not yet deleting open files on unlink. Investigating...
Jeremy.
(This used to be commit 334b34f131)
2007-10-10 12:18:20 -05:00
Jeremy Allison
cc294350f9 r21640: Fix the build for broken platoforms without O_DIRECT or O_DIRECTORY.
Jeremy.
(This used to be commit 6a0f6fde0a)
2007-10-10 12:18:19 -05:00
Jeremy Allison
c75f0c6126 r21639: Add in implementations of POSIX open/mkdir/unlink/rmdir.
Jeremy.
(This used to be commit 6457d66b9a)
2007-10-10 12:18:19 -05:00
Jeremy Allison
fd5cf34e26 r21604: I got this wrong also in libsmb :-(.
Jeremy.
(This used to be commit 4a04555e23)
2007-10-10 12:18:15 -05:00
Jeremy Allison
618798276b r20744: Fix the build (I missed some chkpth -> checkpath renames).
Jeremy.
(This used to be commit 89b7a0630d)
2007-10-10 12:17:08 -05:00
Derrell Lipman
5e44fc4cd4 r18009: Fixes bug 4026.
This completes the work Jeremy began last week, disambiguating the meaning of
c_time.  (In POSIX terminology, c_time means "status Change time", not "create
time".)  All uses of c_time, a_time and m_time have now been replaced with
change_time, access_time, and write_time, and when creation time is intended,
create_time is used.

Additionally, the capability of setting and retrieving the create time have
been added to the smbc_setxattr() and smbc_getxattr() functions.  An example
of setting all four times can be seen with the program

  examples/libsmbclient/testacl

with the following command line similar to:

  testacl -f -S "system.*:CREATE_TIME:1000000000,ACCESS_TIME:1000000060,WRITE_TIME:1000000120,CHANGE_TIME:1000000180" 'smb://server/share/testfile.txt'

The -f option turns on the new mode which uses full time names in the
attribute specification (e.g. ACCESS_TIME vs A_TIME).
(This used to be commit 8e119b64f1)
2007-10-10 11:39:47 -05:00
Jeremy Allison
ed132d87ce r17902: Fix possible null deref caught by Stanford checker.
Jeremy.
(This used to be commit e8b0649fe1)
2007-10-10 11:38:58 -05:00
Jeremy Allison
a64925ddff r17800: Start using struct timespec internally for file times
on the wire. This allows us to go to nsec resolution
for systems that support it. It should also now be
easy to add a correct "create time" (birth time)
for systems that support it (*BSD). I'll be watching
the build farm closely after this one for breakage :-).
Jeremy.
(This used to be commit 425280a1d2)
2007-10-10 11:38:48 -05:00
Volker Lendecke
02eea79624 r17333: Some C++ warnings
(This used to be commit be9aaffdac)
2007-10-10 11:38:26 -05:00
Jeremy Allison
41a35cfe94 r15028: Fix logic error checking valid args to POSIX lock
call.
Jeremy.
(This used to be commit 44b0d856ae)
2007-10-10 11:15:57 -05:00
Jeremy Allison
22dbd67708 r15018: Merge Volker's ipc/trans2/nttrans changes over
into 3.0. Also merge the new POSIX lock code - this
is not enabled unless -DDEVELOPER is defined.
This doesn't yet map onto underlying system POSIX
locks. Updates vfs to allow lock queries.
Jeremy.
(This used to be commit 08e52ead03)
2007-10-10 11:15:57 -05:00
Jeremy Allison
6d5757395a r11511: A classic "friday night check-in" :-). This moves much
of the Samba4 timezone handling code back into Samba3.
Gets rid of "kludge-gmt" and removes the effectiveness
of the parameter "time offset" (I can add this back
in very easily if needed) - it's no longer being
looked at. I'm hoping this will fix the problems people
have been having with DST transitions. I'll start comprehensive
testing tomorrow, but for now all modifications are done.
Splits time get/set functions into srv_XXX and cli_XXX
as they need to look at different timezone offsets.
Get rid of much of the "efficiency" cruft that was
added to Samba back in the day when the C library
timezone handling functions were slow.
Jeremy.
(This used to be commit 414303bc02)
2007-10-10 11:05:19 -05:00
Jeremy Allison
6baec64a73 r11420: Fix issue pointed out by Dina Fine <dina@exanet.com>. We can
only tell at parse time from the wire if an incoming name
has wildcards or not. If it's a mangled name and we demangle
the demangled name may contain wildcard characters. Ensure
these are ignored.
Jeremy.
(This used to be commit 4cd8e2a96b)
2007-10-10 11:05:15 -05:00
Tim Potter
ab398643a4 r8572: Remove crufty #define NO_SYSLOG as it's not used at all anymore.
(This used to be commit 985dbb47d9)
2007-10-10 11:00:11 -05:00
Jeremy Allison
af8a691db1 r8219: Merge the new open code from HEAD to 3.0. Haven't yet run the torture
tests on this as it's very late NY time (just wanted to get this work
into the tree). I'll test this over the weekend....
Jerry - in looking at the difference between the two trees there
seem to be some printing/ntprinting.c and registry changes we might
want to examine to try keep in sync.
Jeremy.
(This used to be commit c7fe18761e)
2007-10-10 10:58:18 -05:00
Gerald Carter
38e006fe8b r8184: fix build issue on Solaris in smbclient
(This used to be commit 137d270ee3)
2007-10-10 10:58:15 -05:00
Derrell Lipman
d5e18ed8fd r6753: Fixes bug 2663. cli_getattrE() and cli_setattrE() were not formatting or
parsing the timestamp values correctly.  It turns out they were using the
incorrect function for formatting and parsing values.  Thanks to Satwik Hebbar
for reporting this and testing the patch.
(This used to be commit 9144778d09)
2007-10-10 10:56:53 -05:00
Derrell Lipman
1d08b9013a r6392: - Fixes bug 2564: when smbc_opendir() was called with a file rather than
a directory, the errno returned could end up as ENOENT rather than ENOTDIR.

- Fixes some compiler warnings which showed up on IRIX, as reported by
  James Peach.
(This used to be commit 615a62b21f)
2007-10-10 10:56:40 -05:00
Gerald Carter
b3e57cb3ff r5968: derrell's large file fix for libsmbclient (BUG 2505)
(This used to be commit 85be4c5df3)
2007-10-10 10:56:13 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
(This used to be commit 620f2e608f)
2007-10-10 10:53:32 -05:00
Jeremy Allison
1b31f46f22 r3714: Getfacl now seems to work on files and directories. Next do setfacl
and port to Samba4.
Jeremy.
(This used to be commit 4d52bf7c8b)
2007-10-10 10:53:16 -05:00
Jeremy Allison
f995b164b9 r3713: Implementation of get posix acls in UNIX extensions. Passes valgrind.
Need to add printout functions in client and set posix acl in server.
SteveF - take a look at this for the cifsfs client !
Once this is working and tested the next step is to write this up for
the UNIX extensions spec. documents.
Jeremy.
(This used to be commit 1bd3f13344)
2007-10-10 10:53:16 -05:00
Jeremy Allison
f128aa2a55 r2665: Ensure the UNIX info level returned enough data.
Jeremy.
(This used to be commit 8a7741dddf)
2007-10-10 10:52:49 -05:00
Jeremy Allison
eb9a09954b r2651: Added 'stat' command to smbclient to exercise the UNIX_FILE_BASIC
info level. Outputs data on the file in the same format the the
stat command in Linux. Should be useful to people wanting to learn
how to parse the UNIX extension output.
Yes I will add the docs later :-).
Jeremy.
(This used to be commit b25cc59641)
2007-10-10 10:52:48 -05:00
Günther Deschner
3eb42d3b6e r1965: add cli_setattrE (inspired by samba4-code). needed for further
migration-work. could someone possibly double-check the byte-count?

Guenther
(This used to be commit 27302905e8)
2007-10-10 10:52:25 -05:00
Jeremy Allison
1db9257c95 r96: Stupid f&%'n UNIX extensions.... SETPATHINFO
normally takes as it's param entry the filename to
be acted upon.... Unless it's UNIX extensions create
hardlink, or UNIX extensions create symlink. Then it's
param -> newfile name
data -> oldfile name.
This caused me to stuff them up in 3.0.2 (and the
client commands link and symlink). Fixed them, everything
is now called oldname and newname - thus specifying which
name should already exist (hint - the old one...) and which
will be created (newname).
Jeremy.
(This used to be commit 21cc6ab7e8)
2007-10-10 10:51:08 -05:00
Jeremy Allison
a1994d1c96 Ensure we cope correctly with ea length of zero. Detect torture fail correctly.
Jeremy.
(This used to be commit 43db249fb8)
2004-03-30 18:38:21 +00:00
Jeremy Allison
099974aa15 Fix get/set of EA's in client library. Added torture test for it.
Jeremy.
(This used to be commit 0d239a9c07)
2004-03-29 22:21:47 +00:00
Jeremy Allison
651d5b4683 Working (tested) client code for setting EA's by filename and fnum.
Now for parsing out the retrieved EA's.
Jeremy.
(This used to be commit 5eeeee302c)
2004-03-27 02:13:58 +00:00
Jeremy Allison
90f64838f4 Added cli_set_ea(), cli_get_ea next...
Jeremy.
(This used to be commit b0c109c403)
2004-03-24 03:48:08 +00:00
Jeremy Allison
f0039da196 Added client "hardlink" commant to test doing NT rename with hard links.
Added hardlink_internals() code - UNIX extensions now use this too.
Jeremy.
(This used to be commit aad6eb2240)
2004-03-03 23:14:23 +00:00
Jeremy Allison
fba5a72249 Use a common function to parse all pathnames from the wire. This allows
much closer emulation of Win2k3 error return codes.
Jeremy.
(This used to be commit c9f31fafed)
2004-03-03 20:55:59 +00:00
Jeremy Allison
94f59f5492 More tuning from cachegrind. Change most trim_string() calls to trim_char(0,
as that's what they do. Fix string_replace() to fast-path ascii.
Jeremy.
(This used to be commit f35e9a8b90)
2003-09-05 19:59:55 +00:00
Andrew Tridgell
d286e44209 fixed libsmb code to set correct timeout in cli_state when waiting for
a blocking lock
(This used to be commit 3515476fe4)
2003-06-10 14:02:46 +00:00
Andrew Bartlett
2206df6b30 Merge torture tests from HEAD - it looks like we had rather an incomplete
merge last time.  I hope this might fix a few failures on the build farm too.

Andrew Bartlett
(This used to be commit 0c83712692)
2003-04-23 08:12:34 +00:00
Gerald Carter
d15cd357c7 merge in metze' smbcquotas patch from HEAD
(This used to be commit b6a7704888)
2003-04-15 19:51:17 +00:00
Andrew Bartlett
d5ee9b2f48 Jeremy merged across my string parinoia fixes, but forgot to enable them! :-)
This patch catches up on the rest of the work - as much string checking
as is possible is done at compile time, and the rest at runtime.

Lots of code converted to pstrcpy() etc, and other code reworked to correctly
call sizeof().

Andrew Bartlett
(This used to be commit c5b604e2ee)
2003-03-18 11:22:52 +00:00
Jeremy Allison
5ca8254f74 Merge from HEAD. 'win2000 can take much longer than the specified time to respond to a
lock - so to make the torture tests valid I give it a grace time of 10
seconds instead of 2'
Jeremy.
(This used to be commit 41571a69e0)
2003-03-13 07:58:54 +00:00
Jeremy Allison
dbe2858b86 Change size parameters from signed to unsigned to fix up warnings.
Jeremy.
(This used to be commit 33b11d5eb5)
2003-03-13 00:51:05 +00:00
Richard Sharpe
e3fdd289f5 More janitorial duties, fixing the BIG_UINT changes for large offsets.
(This used to be commit 1af39523cc)
2003-03-03 23:00:22 +00:00
Gerald Carter
a834a73e34 sync'ing up for 3.0alpha20 release
(This used to be commit 65e7b5273b)
2002-09-25 15:19:00 +00:00
Andrew Tridgell
e90b652848 updated the 3.0 branch from the head branch - ready for alpha18
(This used to be commit 03ac082dcb)
2002-07-15 10:35:28 +00:00
Andrew Tridgell
cc24c353bb added cli_locktype() for testing different lockingX lock types
(This used to be commit 136b9752fc)
2002-03-11 01:33:06 +00:00
Andrew Tridgell
69b395d2c1 better handling of a zero timeout in cli_lock
(This used to be commit 56662a75f5)
2002-03-10 23:16:15 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06)
2002-01-30 06:08:46 +00:00
Jeremy Allison
5cf6457bcc Merged in %S fixes and XX_NOT_CHANGED fixes from 2.2.
Jeremy.
(This used to be commit 0fcca6c627)
2002-01-16 23:32:10 +00:00
Jeremy Allison
0173911b46 Added CIFS UNIX extension code to client.
Jeremy.
(This used to be commit 794c3e2c76)
2002-01-16 20:13:28 +00:00
Jeremy Allison
d6823366b8 Same fix as went into 2.2 (I'm waiting for jerry to finish some code).
Jeremy.
(This used to be commit 01ff6ce496)
2002-01-11 19:10:25 +00:00
Jeremy Allison
30be58a857 Got serious about const again.
REMOVED BZERO CALLS YET AGAIN !!! Why do these keep creeping back in....
They are *NOT* POSIX. I'm also thinking of removing strncpy as I'm sure
it's not being used correctly....
Jeremy.
(This used to be commit b1930abb35)
2001-11-04 00:14:08 +00:00
Jeremy Allison
f8e2baf39e Added NT_USER_TOKEN into server_info to fix extra groups problem.
Got "medieval on our ass" about const warnings (as many as I could :-).
Jeremy.
(This used to be commit ee5e7ca547)
2001-11-03 23:34:24 +00:00
Andrew Tridgell
23af074326 fixed ctemp in server and client. It turns out that ctemp on NT is completely broken, and it's pointless to emulate their brokenness completely in this case, but at least this makes us use approximately the same packet format. The spec is complelet wrong in this case
(This used to be commit 2d507ec669)
2001-09-17 04:23:48 +00:00
Simo Sorce
bcbd75f7ad move to SAFE_FREE()
(This used to be commit 48fc6a6cd5)
2001-09-17 03:33:37 +00:00
Andrew Tridgell
d53d5beeb2 use cli_is_error() instead of looking in smb_rcls, otherwise NT status
codes don't work correctly
(This used to be commit 55d5828e60)
2001-09-05 11:32:59 +00:00
Andrew Tridgell
f3c1c25b97 use 32 bit locking if client doesn't do 64 bit
(This used to be commit 759ca19f32)
2001-08-23 23:15:18 +00:00
Andrew Tridgell
75eae84b1c string terminate in mkdir
(This used to be commit fe414d5e1a)
2001-08-21 03:50:31 +00:00
Tim Potter
2ccfea3de7 A rewrite of the error handling in the libsmb client code. I've separated
out the error handling into a bunch of separate functions rather than all
being handled in one big function.

Fetch error codes from the last received packet:

    void cli_dos_error(struct cli_state *cli, uint8 *eclass, uint32 *num);
    uint32 cli_nt_error(struct cli_state *);

Convert errors to UNIX errno values:

    int cli_errno_from_dos(uint8 eclass, uint32 num);
    int cli_errno_from_nt(uint32 status);
    int cli_errno(struct cli_state *cli);

Detect different kinds of errors:

    BOOL cli_is_dos_error(struct cli_state *cli);
    BOOL cli_is_nt_error(struct cli_state *cli);
    BOOL cli_is_error(struct cli_state *cli);

This also means we now support CAP_STATUS32 as we can decode and understand
NT errors instead of just DOS errors.  Yay!

Ported a whole bunch of files in libsmb to use this new API instead of the
just the DOS error.
(This used to be commit 6dbdb0d813)
2001-08-10 06:00:33 +00:00
Andrew Tridgell
87fbb7092b The big character set handling changeover!
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
(This used to be commit debb471267)
2001-07-04 07:15:53 +00:00
Jeremy Allison
82b76931cb Insure caught the fact that PTRDIFFs were being done between two unrelated
pointers.
Jeremy.
(This used to be commit 15c64199cb)
2001-07-02 00:33:15 +00:00
Andrew Tridgell
4ff011d88e Added STR_NOALIGN flags to clistr and srvstr fns. Yes, NT actually does
send unaligned unicode strings sometimes!
Fixed our handling of the workgroup name tacked on the end of the
NT1 negprot response (a unaligned unicode)
fixed a couple of places where we should be using the message_end fns instead
of pre-calculated buffer lengths
(This used to be commit 86613493a9)
2001-06-21 05:38:28 +00:00
Richard Sharpe
89de0c46ad Fix a small warning about char * vs unsigned char * that gets some compilers
in a twitch.
(This used to be commit 672242a52e)
2001-05-17 04:09:08 +00:00
Andrew Tridgell
ac9e221c3e merging from 2.2 to head
(This used to be commit bfcc6f8827)
2001-04-22 02:54:04 +00:00
Jeremy Allison
6e7f03f9b9 This is a big, rather ugly patch. Whilst investigating the files not truncated
when copying to a full disk problem, I discovered that we were not allowing
the delete on close flag to be set properly, this led to other things, and
after investigation of the proper delete on close semantics and their relationship
to the file_share_delete flag I discovered there were some cases where we
weren't doing the deny modes properly. And this after only 5 years working
on them..... :-) :-).
So here's the latest attempt. I realised the delete on close flag needs to
be set across all smbds with a dev/ino pair open - in addition, the delete
on close flag, allow share delete and delete access requested all need to
be stored in the share mode tdb.
The "delete_on_close" entry in the fsp struct is now redundant and should
really be removed. This may also mean we can get rid of the "iterate_fsp"
calls that I didn't like adding in the first place. Whilst doing this patch,
I also discovered we needed to do the se_map_generic() call for file opens
and POSIX ACL mapping, so I added that also.
This code, although ugly, now passes the deny mode torture tests plus the
delete on close tests I added. I do need to add one more multiple connection
delete on close test to make sure I got the semantics exactly right, plus we
should also (as Andrew suggested) move to random testing here.

The good news is that NT should now correctly delete the file on disk
full error when copying to a disk :-).

Jeremy.
(This used to be commit 51987684bd)
2001-03-30 08:57:24 +00:00
Jeremy Allison
34508053bf Added cli_nt_delete_on_close() call to allow flag to be set for torture tests.
Jeremy.
(This used to be commit 6f7d9e29e4)
2001-03-29 02:58:47 +00:00
Jeremy Allison
1b95784324 Added cli_nt_create_full() as a way to get at all the ntcreate parameters.
Used in smbtorture mods. Re-cast cli_nt_create() as a call to cli_nt_create_full().
Jeremy.
(This used to be commit f602fa1205)
2001-03-29 00:58:52 +00:00
Andrew Tridgell
9ea70bd003 simpler clistr interface which handles individual packets having
unicode bit set differently to capabilities
(This used to be commit 34a0821e08)
2001-03-14 12:42:43 +00:00
Andrew Tridgell
45c2ee3ff2 to use the same macros in the client and server rename the CLISTR_
macros to STR_
(This used to be commit 95c9e4e0ba)
2001-03-10 11:35:25 +00:00
Andrew Tridgell
21b1ab0a76 cope better with broken filer expectations
(This used to be commit 847de3b4ad)
2001-02-22 03:38:21 +00:00
Andrew Tridgell
a8ab984078 the unicode conversion of our client code is complete enough to be
enabled by default

you can disable it by setting the environment variable CLI_FORCE_ASCII
(This used to be commit 4d59c08c5e)
2001-02-21 03:40:20 +00:00
Andrew Tridgell
f76015333a yipee! client unicode now works well with nt
(This used to be commit 5b2ef8a1b9)
2001-02-20 23:52:27 +00:00
Andrew Tridgell
064898cf8a converted a bunch more fns
(This used to be commit f6b8d67304)
2001-02-20 13:16:01 +00:00
Andrew Tridgell
c28d3f6358 converted nt_create and setatr
(This used to be commit c40a1e4ebd)
2001-02-20 12:49:55 +00:00
Andrew Tridgell
8acf5e0448 - neater setting of bcc
- converted cli_rename and cli_unlink
(This used to be commit 0a8992e224)
2001-02-20 12:45:50 +00:00
Andrew Tridgell
20b037b849 converted cli_open()
(This used to be commit db60c0c262)
2001-02-20 12:30:01 +00:00
Andrew Tridgell
d4b2639c00 converted cli_chkpath()
(This used to be commit 95268f5255)
2001-02-20 12:25:42 +00:00
Andrew Tridgell
23ded01d93 converted cli_mkdir()
(This used to be commit bce3ed01a9)
2001-02-20 10:19:02 +00:00
Tim Potter
8fd4d9fab4 Added a cli_nt_create_uni() to do a ntcreate&x with a unicode filename,
regardless of the settings negotiated in the flags2 smb field.
(This used to be commit c4476c6315)
2000-12-21 05:22:15 +00:00
Andrew Tridgell
d931013008 pass the desired access into cli_nt_create()
(This used to be commit a2d07994e0)
2000-12-04 07:26:56 +00:00
Andrew Tridgell
3a01ece497 fixed indentation
(This used to be commit b7a1c00bed)
2000-12-04 06:39:14 +00:00
Jeremy Allison
6f58dd5871 Ok - fixed a bug in our levelII oplock code. We need to break a level II on
a byte range lock (write lock only, but Win2k breaks on read lock also so I
do the same) - if you think about why, this is obvious. Also fixed our client
code to do level II oplocks, if requested, and fixed the code where we would
assume the client wanted level II if it advertised itself as being level II
capable - it may not want that.
Jeremy.
(This used to be commit 213cd0b519)
2000-11-16 00:59:18 +00:00
Andrew Tridgell
3f35a785b1 added cli_lock64() and cli_unlock64()
(This used to be commit 91f0a3cc2f)
2000-09-29 04:41:52 +00:00
Andrew Tridgell
858e63cab3 split clientgen.c into several parts
the next step is splitting out the auth code, to make adding lukes
NTLMSSP support easier
(This used to be commit 10c5470835)
2000-04-25 14:04:06 +00:00