1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-21 01:59:07 +03:00

192 Commits

Author SHA1 Message Date
Volker Lendecke
ce3dfd777f s3: cli_qpathinfo->cli_qpathinfo1 2010-07-25 22:29:42 +02:00
Günther Deschner
1d2dd47d31 s3-crypto: only include crypto headers when crypto is done.
Guenther
2010-05-18 00:44:27 +02:00
Günther Deschner
70f707c219 s3-rap: fix cli_oem_change_password() and give room for the convert reply word.
Any servers I could find so far return it.

Guenther
2010-05-12 00:22:13 +02:00
Günther Deschner
7259762909 s3: use generated rap header.
Guenther
2010-04-26 22:52:59 +02:00
Volker Lendecke
8930a9c520 s3: Convert cli_qpathinfo_basic to use cli_trans() 2010-02-20 18:59:30 +01:00
Jeremy Allison
9ad6f432f3 Fix off-by-one error in working out the limit of the NetServerEnum comment.
Jeremy.
2010-02-09 12:17:08 -08:00
Stefan Metzmacher
9b5198dd44 s3:libsmb: fix NetServerEnum3 rap calls.
metze
2010-02-08 18:47:41 +01:00
Stefan Metzmacher
c2e4746fa9 s3:libsmb: don't reuse the callers stype variable in cli_NetServerEnum()
When we need to do more than one network operation to get the
browse list we need to use the same 'stype' value each time.

metze
2010-02-04 14:27:12 +01:00
Volker Lendecke
f4cf1c56a2 s3: Add min_setup, min_param and min_data to cli_trans_recv
Every caller that expects to receive something needs to check if enough was
sent. Make this check mandatory for everyone.

Yes, this makes the parameter list for cli_trans a bit silly, but that's just
the way it is: A silly protocol request :-)

While there, convert some _done functions to tevent_req_simple_finish_ntstatus.
2009-11-14 12:20:12 +01: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
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
Andrew Bartlett
27815a71a9 More work to adapt to merged libcli/auth function prototypes 2009-04-14 16:23:42 +10:00
Andrew Bartlett
f28f113d8e Rework Samba3 to use new libcli/auth code (partial)
This commit is mostly to cope with the removal of SamOemHash (replaced
by arcfour_crypt()) and other collisions (such as changed function
arguments compared to Samba3).

We still provide creds_hash3 until Samba3 uses the credentials code in
netlogon server

Andrew Bartlett
2009-04-14 16:23:35 +10:00
Volker Lendecke
7f25e0da73 Decouple clistr_pull from struct cli_state->inbuf 2009-01-26 05:39:34 +01:00
Volker Lendecke
ce5eded7e0 Move cli_api_pipe() to its only user cli_pipe.c 2009-01-11 22:53:24 +01:00
Volker Lendecke
a1d0f59f46 Fix make test on sparc and possibly also on AIX
(This used to be commit 5721205bff539ed5f8592a86168679ec5a9c368e)
2008-09-09 22:23:05 +02:00
Volker Lendecke
bb2a7183b9 Convert cli_qfileinfo to the async trans call
(This used to be commit ddc5e77b619db7c2369b3bf72b60360051797087)
2008-09-09 17:37:34 +02:00
Volker Lendecke
7fafa9756a Fix a memleak in cli_qfilename (only used in smbtorture)
(This used to be commit 7e0cca19fec078c0b46807492a7a035f4fab612b)
2008-09-09 09:54:36 +02:00
Volker Lendecke
e2d8b0a792 Fix some signed/unsigned warnings
(This used to be commit dbb4d8107a61051d8bcf6c4c69ee976efc50b961)
2008-05-20 23:06:38 +02:00
Tim Prouty
fb37f15600 Cleanup size_t return values in callers of convert_string_allocate
This patch is the second iteration of an inside-out conversion to cleanup
functions in charcnv.c returning size_t == -1 to indicate failure.
(This used to be commit 6b189dabc562d86dcaa685419d0cb6ea276f100d)
2008-05-20 22:40:13 +02:00
Jeremy Allison
c0e92cd4b8 Fix bug reported on IRC enumerating shares with OS/2.
Report and fix from kukks (thanks once again !).
Jeremy.
(This used to be commit 3ca58b792fb10ff2a4c25283c587f8270ed82d74)
2008-02-08 10:07:05 -08:00
Volker Lendecke
3d3d6e7020 Add the "allinfo" command to smbclient
Modeled after the Samba4 allinfo command
(This used to be commit 3fa0cf3fe5f819f6e76df6f7cef3bb4e1c307a52)
2008-01-18 11:08:17 +01:00
Michael Adam
c0c299cb26 Fix a memleak found by the IBM checker.
Michael
(This used to be commit b4a37a66bbd8f5346de743d4ab427d6671e29075)
2008-01-09 22:25:52 +01:00
James Peach
f78ce189c2 Support fetching very long server lists with RAP_NetServerEnum3.
Use the RAP_NetServerEnum3 server list continuation API for retrieving
server lists that are too long to fit in a single reply.

Patch from George Colley <gcolley@apple.com>.
(This used to be commit 40c26d55736ae08934e18c27168fff10dd15442f)
2007-12-09 14:18:54 -08:00
Volker Lendecke
1e26ecf666 Fix C++ warnings
(This used to be commit 01a5c3ea4bf18d99ca1c35e8c38367046e4c867b)
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 71770b4c1d021d829deeb53a6ea3b747fce55c84)
2007-12-05 13:31:24 -08:00
Jeremy Allison
4e266bd60f Remove pstring from clirap.c.
Jeremy.
(This used to be commit 6e27663cb44a79f729fa4366e000c43383f6d1b7)
2007-11-30 16:13:35 -08:00
Jeremy Allison
d2cf97aeba Remove the explicit TALLOC_CTX * from cli_struct.
Make us very explicit about how long a talloc ctx
should last.
Jeremy.
(This used to be commit ba9e2be2b5a59684e854609f9d82ea1633448c62)
2007-11-29 13:24:54 -08:00
Jeremy Allison
cae4c742a8 Always check return from push_ascii.
Jeremy.
(This used to be commit 9c3d10521e691169cfbb8b728f123911c3c970ae)
2007-11-19 17:43:28 -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 f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-18 17:40:25 -07:00
Andrew Tridgell
5e54558c6d r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
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 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10 12:28:20 -05:00
Jeremy Allison
0a2cc569a1 r22045: As Volker noticed, skip_string's last argument is
redundent. Remove it.
Jeremy.
(This used to be commit 140881cfbb59ce4a699b5900efe02bf315be7bd5)
2007-10-10 12:19:05 -05:00
Jeremy Allison
261c004d7b r22014: Make us pass RANDOMIPC test again :-(. This is an ugly check-in,
but I've no option.
Jeremy.
(This used to be commit c3a565081d70b209a4f9e6e8f1859bf7194a5f74)
2007-10-10 12:19:01 -05:00
Stefan Metzmacher
56ba447668 r22001: change prototype of dump_data(), so that it takes unsigned char * now,
which matches what samba4 has.

also fix all the callers to prevent compiler warnings

metze
(This used to be commit fa322f0cc9c26a9537ba3f0a7d4e4a25941317e7)
2007-10-10 12:18:59 -05:00
Jeremy Allison
c2fd7de44e r21864: Reformatting.
Jeremy.
(This used to be commit f18e87ba6b6a3f4c16777cb5b6bf93a656800247)
2007-10-10 12:18:40 -05:00
Jeremy Allison
540911001d r21768: Fix the client dfs code such that smbclient can
process deep dfs links (ie. links that go to non root
parts of a share). Make the directory handling conanonical
in POSIX and Windows pathname processing.
dfs should not be fully working in client tools. Please
bug me if not.
Jeremy.
(This used to be commit 1c9e10569cd97ee41de39f9f012bea4e4c932b5d)
2007-10-10 12:18:30 -05:00
Derrell Lipman
2db5ed7fa5 r19231: I encountered a WinXP/Home system which, acting as the master browser for its
workgroup, decided periodically to stop sending recognized responses to a
NetServerEnum2 request for the workgroup.  Instead of returning the list of
servers (only itself; nothing else in the workgroup), it returns a status code
of 8 which is unsupported by samba3, samba4, and ethereal.

The code for this request assumed that if an unexpected status code was
received, the connection had a problem, i.e. that cli_errno() would show a
problem.  That turns out not to be the case.

This patch changes the behavior so tha any time a response is received and
cli_errno() == 0, we continue processing the reply and base our response on
the returned count (zero).  The pre-existing code then converts this count=0
into an ENOENT errno which can be properly handled by the application (whereas
an error return with errno=0 can't be).

This packet dump has only 2 frames.  Sorry about the text version but it's
most easily attached to this log message.  I also have it saved as .pcap if
anyone wants it.

Derrell

No.     Time            Source                Destination           Protocol Info
      1 14:31:59.802668 192.168.1.106         192.168.1.100         LANMAN   NetServerEnum2 Request, Server, SQL Server, Domain Controller, Backup Controller, Time Source, Apple Server, Novell Server, Domain Member Server, Print Queue Server, Dialin Server, Xenix Server, NT Workstation, Windows for Workgroups, Unknown server type:14, NT Server

Frame 1 (196 bytes on wire, 196 bytes captured)
    Arrival Time: Oct 10, 2006 14:31:59.802668000
    Time delta from previous packet: 0.000000000 seconds
    Time since reference or first frame: 0.000000000 seconds
    Frame Number: 1
    Packet Length: 196 bytes
    Capture Length: 196 bytes
    Protocols in frame: eth:ip:tcp:nbss:smb
Ethernet II, Src: IntelCor_4a:47:bb (00:13:20:4a:47:bb), Dst: Micro-St_74:16:e7 (00:0c:76:74:16:e7)
    Destination: Micro-St_74:16:e7 (00:0c:76:74:16:e7)
    Source: IntelCor_4a:47:bb (00:13:20:4a:47:bb)
    Type: IP (0x0800)
Internet Protocol, Src: 192.168.1.106 (192.168.1.106), Dst: 192.168.1.100 (192.168.1.100)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 182
    Identification: 0xb838 (47160)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (0x06)
    Header checksum: 0xfdea [correct]
        Good: True
        Bad : False
    Source: 192.168.1.106 (192.168.1.106)
    Destination: 192.168.1.100 (192.168.1.100)
Transmission Control Protocol, Src Port: 44932 (44932), Dst Port: netbios-ssn (139), Seq: 851982066, Ack: 1274726157, Len: 130
    Source port: 44932 (44932)
    Destination port: netbios-ssn (139)
    Sequence number: 851982066
    Next sequence number: 851982196
    Acknowledgement number: 1274726157
    Header length: 32 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 6432
    Checksum: 0xb4e0 [correct]
    Options: (12 bytes)
        NOP
        NOP
        Time stamp: tsval 1184074739, tsecr 11576161
NetBIOS Session Service
    Message Type: Session message
    Flags: 0x00
        .... ...0 = Add 0 to length
    Length: 126
SMB (Server Message Block Protocol)
    SMB Header
        Server Component: SMB
        Response in: 2
        SMB Command: Trans (0x25)
        NT Status: STATUS_SUCCESS (0x00000000)
        Flags: 0x08
            0... .... = Request/Response: Message is a request to the server
            .0.. .... = Notify: Notify client only on open
            ..0. .... = Oplocks: OpLock not requested/granted
            ...0 .... = Canonicalized Pathnames: Pathnames are not canonicalized
            .... 1... = Case Sensitivity: Path names are caseless
            .... ..0. = Receive Buffer Posted: Receive buffer has not been posted
            .... ...0 = Lock and Read: Lock&Read, Write&Unlock are not supported
        Flags2: 0xc801
            1... .... .... .... = Unicode Strings: Strings are Unicode
            .1.. .... .... .... = Error Code Type: Error codes are NT error codes
            ..0. .... .... .... = Execute-only Reads: Don't permit reads if execute-only
            ...0 .... .... .... = Dfs: Don't resolve pathnames with Dfs
            .... 1... .... .... = Extended Security Negotiation: Extended security negotiation is supported
            .... .... .0.. .... = Long Names Used: Path names in request are not long file names
            .... .... .... .0.. = Security Signatures: Security signatures are not supported
            .... .... .... ..0. = Extended Attributes: Extended attributes are not supported
            .... .... .... ...1 = Long Names Allowed: Long file names are allowed in the response
        Process ID High: 0
        Signature: 0000000000000000
        Reserved: 0000
        Tree ID: 2048
        Process ID: 12967
        User ID: 2048
        Multiplex ID: 6
    Trans Request (0x25)
        Word Count (WCT): 14
        Total Parameter Count: 36
        Total Data Count: 0
        Max Parameter Count: 8
        Max Data Count: 65535
        Max Setup Count: 0
        Reserved: 00
        Flags: 0x0000
            .... .... .... ..0. = One Way Transaction: Two way transaction
            .... .... .... ...0 = Disconnect TID: Do NOT disconnect TID
        Timeout: Return immediately (0)
        Reserved: 0000
        Parameter Count: 36
        Parameter Offset: 90
        Data Count: 0
        Data Offset: 126
        Setup Count: 0
        Reserved: 00
        Byte Count (BCC): 63
        Transaction Name: \PIPE\LANMAN
SMB Pipe Protocol
Microsoft Windows Lanman Remote API Protocol
    Function Code: NetServerEnum2 (104)
    Parameter Descriptor: WrLehDz
    Return Descriptor: B16BBDz
    Detail Level: 1
    Receive Buffer Length: 65535
    Server Type: 0x0000fffe
        .... .... .... .... .... .... .... ...0 = Workstation: This is NOT a Workstation
        .... .... .... .... .... .... .... ..1. = Server: This is a Server
        .... .... .... .... .... .... .... .1.. = SQL: This is an SQL server
        .... .... .... .... .... .... .... 1... = Domain Controller: This is a Domain Controller
        .... .... .... .... .... .... ...1 .... = Backup Controller: This is a Backup Controller
        .... .... .... .... .... .... ..1. .... = Time Source: This is a Time Source
        .... .... .... .... .... .... .1.. .... = Apple: This is an Apple host
        .... .... .... .... .... .... 1... .... = Novell: This is a Novell server
        .... .... .... .... .... ...1 .... .... = Member: This is a Domain Member server
        .... .... .... .... .... ..1. .... .... = Print: This is a Print Queue server
        .... .... .... .... .... .1.. .... .... = Dialin: This is a Dialin server
        .... .... .... .... .... 1... .... .... = Xenix: This is a Xenix server
        .... .... .... .... ...1 .... .... .... = NT Workstation: This is an NT Workstation
        .... .... .... .... ..1. .... .... .... = WfW: This is a WfW host
        .... .... .... .... 1... .... .... .... = NT Server: This is an NT Server
        .... .... .... ...0 .... .... .... .... = Potential Browser: This is NOT a Potential Browser
        .... .... .... ..0. .... .... .... .... = Backup Browser: This is NOT a Backup Browser
        .... .... .... .0.. .... .... .... .... = Master Browser: This is NOT a Master Browser
        .... .... .... 0... .... .... .... .... = Domain Master Browser: This is NOT a Domain Master Browser
        .... .... ...0 .... .... .... .... .... = OSF: This is NOT an OSF host
        .... .... ..0. .... .... .... .... .... = VMS: This is NOT a VMS host
        .... .... .0.. .... .... .... .... .... = Windows 95+: This is NOT a Windows 95 or above host
        .0.. .... .... .... .... .... .... .... = Local: This is NOT a local list only request
        0... .... .... .... .... .... .... .... = Domain Enum: This is NOT a Domain Enum request
    Enumeration Domain: WORKGROUP

No.     Time            Source                Destination           Protocol Info
      2 14:31:59.803918 192.168.1.100         192.168.1.106         LANMAN   NetServerEnum2 Response

Frame 2 (134 bytes on wire, 134 bytes captured)
    Arrival Time: Oct 10, 2006 14:31:59.803918000
    Time delta from previous packet: 0.001250000 seconds
    Time since reference or first frame: 0.001250000 seconds
    Frame Number: 2
    Packet Length: 134 bytes
    Capture Length: 134 bytes
    Protocols in frame: eth:ip:tcp:nbss:smb
Ethernet II, Src: Micro-St_74:16:e7 (00:0c:76:74:16:e7), Dst: IntelCor_4a:47:bb (00:13:20:4a:47:bb)
    Destination: IntelCor_4a:47:bb (00:13:20:4a:47:bb)
    Source: Micro-St_74:16:e7 (00:0c:76:74:16:e7)
    Type: IP (0x0800)
Internet Protocol, Src: 192.168.1.100 (192.168.1.100), Dst: 192.168.1.106 (192.168.1.106)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 120
    Identification: 0xea10 (59920)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: TCP (0x06)
    Header checksum: 0x8c50 [correct]
        Good: True
        Bad : False
    Source: 192.168.1.100 (192.168.1.100)
    Destination: 192.168.1.106 (192.168.1.106)
Transmission Control Protocol, Src Port: netbios-ssn (139), Dst Port: 44932 (44932), Seq: 1274726157, Ack: 851982196, Len: 68
    Source port: netbios-ssn (139)
    Destination port: 44932 (44932)
    Sequence number: 1274726157
    Next sequence number: 1274726225
    Acknowledgement number: 851982196
    Header length: 32 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 64606
    Checksum: 0x1e0d [correct]
    Options: (12 bytes)
        NOP
        NOP
        Time stamp: tsval 11576161, tsecr 1184074739
NetBIOS Session Service
    Message Type: Session message
    Flags: 0x00
        .... ...0 = Add 0 to length
    Length: 64
SMB (Server Message Block Protocol)
    SMB Header
        Server Component: SMB
        Response to: 1
        Time from request: 0.001250000 seconds
        SMB Command: Trans (0x25)
        NT Status: STATUS_SUCCESS (0x00000000)
        Flags: 0x88
            1... .... = Request/Response: Message is a response to the client/redirector
            .0.. .... = Notify: Notify client only on open
            ..0. .... = Oplocks: OpLock not requested/granted
            ...0 .... = Canonicalized Pathnames: Pathnames are not canonicalized
            .... 1... = Case Sensitivity: Path names are caseless
            .... ..0. = Receive Buffer Posted: Receive buffer has not been posted
            .... ...0 = Lock and Read: Lock&Read, Write&Unlock are not supported
        Flags2: 0xc801
            1... .... .... .... = Unicode Strings: Strings are Unicode
            .1.. .... .... .... = Error Code Type: Error codes are NT error codes
            ..0. .... .... .... = Execute-only Reads: Don't permit reads if execute-only
            ...0 .... .... .... = Dfs: Don't resolve pathnames with Dfs
            .... 1... .... .... = Extended Security Negotiation: Extended security negotiation is supported
            .... .... .0.. .... = Long Names Used: Path names in request are not long file names
            .... .... .... .0.. = Security Signatures: Security signatures are not supported
            .... .... .... ..0. = Extended Attributes: Extended attributes are not supported
            .... .... .... ...1 = Long Names Allowed: Long file names are allowed in the response
        Process ID High: 0
        Signature: 0000000000000000
        Reserved: 0000
        Tree ID: 2048
        Process ID: 12967
        User ID: 2048
        Multiplex ID: 6
    Trans Response (0x25)
        Word Count (WCT): 10
        Total Parameter Count: 8
        Total Data Count: 0
        Reserved: 0000
        Parameter Count: 8
        Parameter Offset: 56
        Parameter Displacement: 0
        Data Count: 0
        Data Offset: 64
        Data Displacement: 0
        Setup Count: 0
        Reserved: 00
        Byte Count (BCC): 9
        Padding: 00
SMB Pipe Protocol
Microsoft Windows Lanman Remote API Protocol
    Function Code: NetServerEnum2 (104)
    Status: Unknown (8)
    Convert: 0
    Entry Count: 0
    Available Entries: 0
(This used to be commit 88fa5ac7347cbae92abe17da8d3af00e85110c43)
2007-10-10 12:15:23 -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 8e119b64f1d92026dda855d904be09912a40601c)
2007-10-10 11:39:47 -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 425280a1d23f97ef0b0be77462386d619f47b21d)
2007-10-10 11:38:48 -05:00
Jeremy Allison
aee6b5942a r17761: Handle times consistently across all client utils.
Fixes bugs reported in libsmbclient.
Jeremy.
(This used to be commit 42a417fb75313b093948602c3be8e2f386048b5f)
2007-10-10 11:38:47 -05:00
Volker Lendecke
02eea79624 r17333: Some C++ warnings
(This used to be commit be9aaffdaccae06c8c035eaf31862e34b7cfbe38)
2007-10-10 11:38:26 -05:00
Jeremy Allison
d1014c1cdf r16582: Fix Klocwork #1997 and all generic class of problems
where we don't correctly check the return from memdup.
Jeremy.
(This used to be commit ce14daf51c7ee2f9c68c77f7f4674e6f0e35c9ca)
2007-10-10 11:19:01 -05:00
Derrell Lipman
7ed3868780 r13216: r12422@cabra: derrell | 2006-01-28 23:57:35 -0500
Fix cli_setpathinfo() to actually do what it's supposed to.

 Also, get rid of some apparently drug-induced code to deal with create time
 which isn't being manipulated anyway.
(This used to be commit aa25dc1248b15e8e1b39cf8a98496e5aba475c4a)
2007-10-10 11:06:18 -05:00
Derrell Lipman
56b20b8397 r12466: r12028@cabra: derrell | 2005-12-24 20:25:38 -0500
parse dates correctly.  w_time and m_time were reversed.
(This used to be commit 481abfbab40209e087c82eadc15c3697eae0ae5b)
2007-10-10 11:05:56 -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 414303bc0272f207046b471a0364fa296b67c1f8)
2007-10-10 11:05:19 -05:00
Jeremy Allison
8d7c886671 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10 11:05:02 -05:00
Tim Potter
ab398643a4 r8572: Remove crufty #define NO_SYSLOG as it's not used at all anymore.
(This used to be commit 985dbb47d925e79c1195ca219f7ab5d6648b22b8)
2007-10-10 11:00:11 -05:00
Derrell Lipman
f3ad9323c6 r7172: This is the proper fix for setting file times from libsmbclient. We now
try setpathinfo, and if that doesn't work (e.g. on win98), revert to the
previous slower method.
(This used to be commit 6c05812bd90b0db69d974ee2758721dc2974a507)
2007-10-10 10:57:04 -05:00
Derrell Lipman
1635d50a20 r6125: smbc_stat() returned incorrect timestamps IFF it used cli_qpathinfo2() to
retrieve the timestamps (Win2k) and not if it used cli-getatr() to retrieve
the timestamps (Win98).  Timestamps are supposed to be in GMT, and should
not have serverzone deducted from them in cli_qpathinfo2().
(This used to be commit 443d8df94c2937b7d458b7228bdc1d433581558a)
2007-10-10 10:56:23 -05:00