particularly designed to be used in async applications
*/
+#include "libcli/raw/signing.h"
+#include "libcli/raw/libcliraw.h"
+#include "libcli/smb2/smb2.h"
+
/*
a composite open/read(s)/close request that loads a whole file
struct smb_composite_fetchfile {
struct {
const char *dest_host;
- int port;
+ const char **ports;
const char *called_name;
const char *service;
const char *service_type;
+ const char *socket_options;
struct cli_credentials *credentials;
const char *workgroup;
const char *filename;
+ struct smbcli_options options;
+ struct smbcli_session_options session_options;
+ struct resolve_context *resolve_ctx;
+ struct gensec_settings *gensec_settings;
} in;
struct {
uint8_t *data;
- socket establishment
- session request
- negprot
- - session setup
- - tree connect
+ - session setup (if credentials are not NULL)
+ - tree connect (if service is not NULL)
*/
struct smb_composite_connect {
struct {
const char *dest_host;
- int port;
+ const char **dest_ports;
+ const char *socket_options;
const char *called_name;
const char *service;
const char *service_type;
struct cli_credentials *credentials;
bool fallback_to_anonymous;
const char *workgroup;
+ struct smbcli_options options;
+ struct smbcli_session_options session_options;
+ struct gensec_settings *gensec_settings;
} in;
struct {
struct smbcli_tree *tree;
uint32_t capabilities;
struct cli_credentials *credentials;
const char *workgroup;
+ struct gensec_settings *gensec_settings;
} in;
struct {
uint16_t vuid;
struct smb_composite_fsinfo {
struct {
const char *dest_host;
- int port;
+ const char **dest_ports;
+ const char *socket_options;
const char *called_name;
const char *service;
const char *service_type;
struct cli_credentials *credentials;
const char *workgroup;
enum smb_fsinfo_level level;
+ struct gensec_settings *gensec_settings;
} in;
struct {
};
struct smbcli_session;
+struct resolve_context;
#include "libcli/smb_composite/proto.h"