]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libsmb: Make cli_api() static to clirap2.c
authorVolker Lendecke <vl@samba.org>
Sun, 18 Aug 2024 19:45:58 +0000 (21:45 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 20 Aug 2024 09:34:40 +0000 (09:34 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/libsmb/clirap.c
source3/libsmb/clirap.h
source3/utils/clirap2.c

index df7c5ebd6c387a76ac27f6ce11b419b2e48fd37c..8124fc6f6cf9de2e658cda21f672ae32e2b8225e 100644 (file)
 #include <gnutls/gnutls.h>
 #include <gnutls/crypto.h>
 
-#define PIPE_LANMAN   "\\PIPE\\LANMAN"
-
-/****************************************************************************
- Call a remote api
-****************************************************************************/
-
-bool cli_api(struct cli_state *cli,
-            char *param, int prcnt, int mprcnt,
-            char *data, int drcnt, int mdrcnt,
-            char **rparam, unsigned int *rprcnt,
-            char **rdata, unsigned int *rdrcnt)
-{
-       NTSTATUS status;
-
-       uint8_t *my_rparam, *my_rdata;
-       uint32_t num_my_rparam, num_my_rdata;
-
-       status = cli_trans(talloc_tos(), cli, SMBtrans,
-                          PIPE_LANMAN, 0, /* name, fid */
-                          0, 0,           /* function, flags */
-                          NULL, 0, 0,     /* setup */
-                          (uint8_t *)param, prcnt, mprcnt, /* Params, length, max */
-                          (uint8_t *)data, drcnt, mdrcnt,  /* Data, length, max */
-                          NULL,                 /* recv_flags2 */
-                          NULL, 0, NULL,        /* rsetup */
-                          &my_rparam, 0, &num_my_rparam,
-                          &my_rdata, 0, &num_my_rdata);
-       if (!NT_STATUS_IS_OK(status)) {
-               return false;
-       }
-
-       /*
-        * I know this memcpy massively hurts, but there are just tons
-        * of callers of cli_api that eventually need changing to
-        * talloc
-        */
-
-       *rparam = (char *)smb_memdup(my_rparam, num_my_rparam);
-       if (*rparam == NULL) {
-               goto fail;
-       }
-       *rprcnt = num_my_rparam;
-       TALLOC_FREE(my_rparam);
-
-       *rdata = (char *)smb_memdup(my_rdata, num_my_rdata);
-       if (*rdata == NULL) {
-               goto fail;
-       }
-       *rdrcnt = num_my_rdata;
-       TALLOC_FREE(my_rdata);
-
-       return true;
-fail:
-       TALLOC_FREE(my_rdata);
-       TALLOC_FREE(my_rparam);
-       *rparam = NULL;
-       *rprcnt = 0;
-       *rdata = NULL;
-       *rdrcnt = 0;
-       return false;
-}
-
 /****************************************************************************
  Call a NetShareEnum - try and browse available connections on a host.
 ****************************************************************************/
@@ -136,7 +74,7 @@ NTSTATUS cli_RNetShareEnum(
        status = cli_trans(talloc_tos(),       /* mem_ctx */
                           cli,                /* cli */
                           SMBtrans,           /* cmd */
-                          PIPE_LANMAN,        /* name */
+                          "\\PIPE\\LANMAN",           /* name */
                           0,                  /* fid */
                           0,                  /* function */
                           0,                  /* flags */
@@ -320,7 +258,7 @@ bool cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32_t stype,
                status = cli_trans(talloc_tos(),       /* mem_ctx */
                                   cli,                /* cli */
                                   SMBtrans,           /* cmd */
-                                  PIPE_LANMAN,        /* name */
+                                  "\\PIPE\\LANMAN",           /* name */
                                   0,                  /* fid */
                                   0,                  /* function */
                                   0,                  /* flags */
@@ -574,7 +512,7 @@ NTSTATUS cli_oem_change_password(struct cli_state *cli,
        status = cli_trans(talloc_tos(),     /* mem_ctx */
                           cli,              /* cli */
                           SMBtrans,         /* cmd */
-                          PIPE_LANMAN,      /* name */
+                          "\\PIPE\\LANMAN", /* name */
                           0,                /* fid */
                           0,                /* function */
                           0,                /* flags */
index 6af93fcc358af92408f4754e318c855446b77cbc..7db173621653d814a32d1532f784bca5a472cef6 100644 (file)
@@ -29,11 +29,6 @@ struct cli_state;
 
 /* The following definitions come from libsmb/clirap.c  */
 
-bool cli_api(struct cli_state *cli,
-            char *param, int prcnt, int mprcnt,
-            char *data, int drcnt, int mdrcnt,
-            char **rparam, unsigned int *rprcnt,
-            char **rdata, unsigned int *rdrcnt);
 NTSTATUS cli_RNetShareEnum(
        struct cli_state *cli,
        void (*fn)(const char *, uint32_t, const char *, void *),
index b2e51876afddebd2410552aeb8c214954cc8e109..b60cbfd4a70bab43babe18b0213c61830e7e835f 100644 (file)
@@ -244,6 +244,66 @@ static char *make_header(char *param, uint16_t apinum, const char *reqfmt, const
        return param;
 }
 
+/****************************************************************************
+ Call a remote api
+****************************************************************************/
+
+static bool cli_api(struct cli_state *cli,
+                   char *param, int prcnt, int mprcnt,
+                   char *data, int drcnt, int mdrcnt,
+                   char **rparam, unsigned int *rprcnt,
+                   char **rdata, unsigned int *rdrcnt)
+{
+       NTSTATUS status;
+
+       uint8_t *my_rparam, *my_rdata;
+       uint32_t num_my_rparam, num_my_rdata;
+
+       status = cli_trans(talloc_tos(), cli, SMBtrans,
+                          "\\PIPE\\LANMAN", 0, /* name, fid */
+                          0, 0,           /* function, flags */
+                          NULL, 0, 0,     /* setup */
+                          (uint8_t *)param, prcnt, mprcnt, /* Params, length, max */
+                          (uint8_t *)data, drcnt, mdrcnt,  /* Data, length, max */
+                          NULL,                 /* recv_flags2 */
+                          NULL, 0, NULL,        /* rsetup */
+                          &my_rparam, 0, &num_my_rparam,
+                          &my_rdata, 0, &num_my_rdata);
+       if (!NT_STATUS_IS_OK(status)) {
+               return false;
+       }
+
+       /*
+        * I know this memcpy massively hurts, but there are just tons
+        * of callers of cli_api that eventually need changing to
+        * talloc
+        */
+
+       *rparam = (char *)smb_memdup(my_rparam, num_my_rparam);
+       if (*rparam == NULL) {
+               goto fail;
+       }
+       *rprcnt = num_my_rparam;
+       TALLOC_FREE(my_rparam);
+
+       *rdata = (char *)smb_memdup(my_rdata, num_my_rdata);
+       if (*rdata == NULL) {
+               goto fail;
+       }
+       *rdrcnt = num_my_rdata;
+       TALLOC_FREE(my_rdata);
+
+       return true;
+fail:
+       TALLOC_FREE(my_rdata);
+       TALLOC_FREE(my_rparam);
+       *rparam = NULL;
+       *rprcnt = 0;
+       *rdata = NULL;
+       *rdrcnt = 0;
+       return false;
+}
+
 /****************************************************************************
  call a NetGroupDelete - delete user group from remote server
 ****************************************************************************/