summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_smb_traffic_analyzer.c
AgeCommit message (Collapse)AuthorFilesLines
2010-03-16Add rmdir, chdir, and rename as supported VFS functionsHolger Hetterich1-9/+87
2010-03-16The format of data we are sending over the network will be flexible when ↵Holger Hetterich1-4/+74
sending over the network in protocol v2. To be able to do this, we create a new va-list function that is creating the buffer to send. Also it makes it easier for the receiver to parse the data; it sends an initial header containing the full length of the buffer to be send. For the individual strings, it sends sub headers containing the length of the upcoming substring to be send. With the header-data-header-data [..] structure we don't need to quote the sub strings finally enabling having all possible character sets in filenames etc.. In the sending function, implement mkdir to actually send it's data for testing.
2010-03-16Create structs carrying the data of individual VFS functions, and hand those ↵Holger Hetterich1-33/+47
over to the send function, which then casts the void pointer to the struct required by looking at the id. This allows us to return different result data depending on the VFS function that is running. Make the protocol v1 sender compatible to this. Adapt the existing VFS functions to use the new data structures. Make use of the new functionality and extend the mkdir VFS logger function to return the creation mode additionally.
2010-03-16Introduce smb_traffic_analyzer protocol v2.Holger Hetterich1-7/+62
From Holger: Make smb_traffic_analyzer differ the protocol versions to enable the development of version 2 of the protocol. To do this, a new parameter "protocol_version" has been introduced, which can be set to "V1", "V2", or nothing. If protocol_version is not set, V1 will be chosen automatically. Created an enum for identifying VFS functions in the upcoming protocol v2. Converted the existing VFS functions to use the identifier, and set the read/write bool used in protocol v1 accordingly, also ignore any other VFS functions except read/write/pread/pwrite in v1. Added a first new VFS function for mkdir, which I use for testing and implementing both the sender and receiver for v2.
2009-11-30Restructure the connect function code to always callJeremy Allison1-1/+9
down to NEXT-> before initializing. This allows us to do cleanup (by calling DISCONNECT) if initialization fails. Also fix vfs_acl_xattr which was failing to call the NEXT connect function. Jeremy.
2009-07-24Make the smbd VFS typesafeVolker Lendecke1-17/+9
2009-07-20s3: Finish plumbing the fsp->fsp_name smb_fname conversion through the modules.Tim Prouty1-8/+10
2009-02-13Enable total anonymization in vfs_smb_traffic_analyzer, by mapping any user ↵Holger Hetterich1-5/+16
names to the one given by anonymize_prefix, without generating a hash number. This setting is optional and is compatible with the module configuration format of Samba 3.3.
2009-01-04Async wrapper for open_socket_out_send/recvVolker Lendecke1-2/+3
2009-01-03open_socket_out is always used with SOCK_STREAM, remove argument "type"Volker Lendecke1-1/+1
2008-10-29Fix CID 606 - failed to return -1 after socket() fail.Jeremy Allison1-0/+1
Jeremy.
2008-10-13Whitespace tidyup and an optimization to remove a talloc.Jeremy Allison1-7/+5
Jeremy.
2008-10-13Enable optional anonymization of user names,Holger Hetterich1-1/+24
if the configuration parameter anonymization_prefix is defined in smb.conf, and use the prefix given there.
2008-10-06Fixed build warning "passing arg from incompatible pointer type"Tim Prouty1-1/+3
The fix explicitly makes the conversion from timeval to time_t using the existing time utility functions. Compiling modules/vfs_smb_traffic_analyzer.c modules/vfs_smb_traffic_analyzer.c: In function `smb_traffic_analyzer_send_data': modules/vfs_smb_traffic_analyzer.c:173: warning: passing arg 1 of `localtime' from incompatible pointer type
2008-10-01Turn the socket connections into a refcounted list - in the common case ↵Jeremy Allison1-44/+95
there'll now only be one socket per smbd. Changed the format of the wire data to (a) include a version number (V1) as the first element. (b) removed the ";)" at the end an replaced it with a "\n". Receiver can change back if needed, and now receiver can just log "as-is" to a text file (making testing easier). Added my (C). Sorry Holger, but I've changed quite a bit now. Jeremy.
2008-09-30Convert to allocated strings. Use write_data(), not send as this doesn't ↵Jeremy Allison1-58/+42
correctly deal with EINTR. Jim and Holger please check this still works. Jeremy.
2008-09-30Remove current_user_info - not needed.Jeremy Allison1-4/+2
Jeremy.
2008-09-30Restructure the module so it connects to the remote data sinkJeremy Allison1-150/+156
on connect, and closes the socket on client disconnect. This should make it much more efficient. Store the remote fd in a private data pointer off the handle. Finally we need to remove the fstrings and convert to allocated buffer storage. Jeremy.
2008-09-25Use IPv4/v6 independent calls. Change safe_strcpy/cat to strlcpy/cat (thisJeremy Allison1-84/+97
needs changing to talloc_sprintf) and fix file descriptor resource leaks in error paths. Jim and Holger please check ! Jeremy.
2008-09-24Fix the new vfs_smb_traffic_analyzer build for static linksJim McDonough1-2/+2
2008-09-24SMB traffic analyzer vfs module from Holger Hetterich <hhetter@novell.com>Holger Hetterich1-0/+352
Used to gather data to feed to a database for live and historical analysis of usage per user, per share, etc. Helper apps to read the data still to come. This one still needs to be made ipv6 enabled (connection is made to the helper app).