summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2000-07-14 16:54:07 +0000
committerGerald Carter <jerry@samba.org>2000-07-14 16:54:07 +0000
commit02fd5b08b55b8ff60eb9f78d5d61f889d102cad0 (patch)
treebef82eaea92d19fce12c7b6fe3081f1309842a06
parent7a88bb6baab1762798fcf4b6d1a17c59e5d98f83 (diff)
downloadsamba-02fd5b08b55b8ff60eb9f78d5d61f889d102cad0.tar.gz
samba-02fd5b08b55b8ff60eb9f78d5d61f889d102cad0.tar.bz2
samba-02fd5b08b55b8ff60eb9f78d5d61f889d102cad0.zip
Fixed a bug in cmd_interp.c where if user%pass was entered on
the command line, the password would still be cached in memory in plain text for the lifetime of the rpcclient command line session. removed loopback connection functions from msrpc-client.c since we don't support that in the server code now anyways. simplify, simplify, ... --jerry (This used to be commit 8599e1bc394b1caee2483ec72d439a34d3f30629)
-rw-r--r--source3/lib/cmd_interp.c11
-rw-r--r--source3/lib/msrpc-client.c198
2 files changed, 3 insertions, 206 deletions
diff --git a/source3/lib/cmd_interp.c b/source3/lib/cmd_interp.c
index 5dbb4f9074..201a244385 100644
--- a/source3/lib/cmd_interp.c
+++ b/source3/lib/cmd_interp.c
@@ -1011,13 +1011,7 @@ static uint32 cmd_set(struct client_info *info, int argc, char *argv[])
*lp = 0;
pstrcpy(password, lp + 1);
cmd_set_options |= CMD_PASS;
- memset(strchr(optarg, '%') + 1, 'X',
- strlen(password));
- }
- if (usr.ntc.user_name[0] == 0
- && password[0] == 0)
- {
- cmd_set_options |= CMD_NOPW;
+ memset(lp+1, 'X', strlen(password));
}
break;
}
@@ -1195,7 +1189,8 @@ static uint32 cmd_set(struct client_info *info, int argc, char *argv[])
{
report(out_hnd, "FAILED\n");
}
- usr_creds = NULL;
+ /* ???? --jerry
+ usr_creds = NULL; */
}
if (cmd_str != NULL)
{
diff --git a/source3/lib/msrpc-client.c b/source3/lib/msrpc-client.c
index 8d7efb6fb9..60924ed81c 100644
--- a/source3/lib/msrpc-client.c
+++ b/source3/lib/msrpc-client.c
@@ -27,29 +27,6 @@
extern int DEBUGLEVEL;
/****************************************************************************
-open the msrpcent sockets
-****************************************************************************/
-static BOOL ncalrpc_l_connect(struct msrpc_local *msrpc, const char *pipe_name)
-{
- fstring path;
- fstring pname;
- fstrcpy(pname, pipe_name);
- strlower(pname);
- slprintf(path, sizeof(path) - 1, "%s/.msrpc/%s", LOCKDIR, pname);
-
- fstrcpy(msrpc->pipe_name, pipe_name);
-
- msrpc->fd = open_pipe_sock(path);
-
- if (msrpc->fd == -1)
- {
- return False;
- }
-
- return True;
-}
-
-/****************************************************************************
read an msrpc pdu from a fd.
The timeout is in milliseconds.
****************************************************************************/
@@ -153,136 +130,6 @@ BOOL msrpc_receive(int fd, prs_struct *ps)
}
/****************************************************************************
-close the socket descriptor
-****************************************************************************/
-static void ncalrpc_l_close_socket(struct msrpc_local *msrpc)
-{
- if (msrpc->fd != -1)
- {
- close(msrpc->fd);
- }
- msrpc->fd = -1;
-}
-
-static BOOL ncalrpc_l_authenticate(struct msrpc_local *msrpc)
-{
- int sock = msrpc->fd;
- uint32 len;
- char *data;
- prs_struct ps;
- uint32 status;
-
- uint16 command;
-
- command = AGENT_CMD_CON;
-
- if (!create_user_creds(&ps, msrpc->pipe_name, 0x0, command,
- msrpc->nt.key.pid, NULL))
- {
- DEBUG(0, ("could not parse credentials\n"));
- close(sock);
- return False;
- }
-
- len = ps.data_offset;
- data = prs_data(&ps, 0);
-
- SIVAL(data, 0, len);
-
-#ifdef DEBUG_PASSWORD
- DEBUG(100, ("data len: %d\n", len));
- dump_data(100, data, len);
-#endif
-
- if (write_socket(sock, data, len) <= 0)
- {
- DEBUG(0, ("write failed\n"));
- return False;
- }
- len = read_data(sock, (char*)&status, sizeof(status));
-
- return len == sizeof(status) && status == 0x0;
-}
-
-
-/****************************************************************************
-shutdown a msrpcent structure
-****************************************************************************/
-void ncalrpc_l_shutdown(struct msrpc_local *msrpc)
-{
- DEBUG(10, ("msrpc_shutdown\n"));
- if (msrpc->outbuf)
- {
- free(msrpc->outbuf);
- }
- if (msrpc->inbuf)
- {
- free(msrpc->inbuf);
- }
- ncalrpc_l_close_socket(msrpc);
- memset(msrpc, 0, sizeof(*msrpc));
-}
-
-/****************************************************************************
-initialise a msrpcent structure
-****************************************************************************/
-struct msrpc_local *ncalrpc_l_initialise(struct msrpc_local *msrpc,
- const vuser_key * key)
-{
- if (!msrpc)
- {
- msrpc = (struct msrpc_local *)malloc(sizeof(*msrpc));
- if (!msrpc)
- return NULL;
- ZERO_STRUCTP(msrpc);
- }
-
- if (msrpc->initialised)
- {
- ncalrpc_l_shutdown(msrpc);
- }
-
- ZERO_STRUCTP(msrpc);
-
- msrpc->fd = -1;
- msrpc->outbuf = (char *)malloc(CLI_BUFFER_SIZE + 4);
- msrpc->inbuf = (char *)malloc(CLI_BUFFER_SIZE + 4);
- if (!msrpc->outbuf || !msrpc->inbuf)
- {
- return False;
- }
-
- msrpc->initialised = 1;
-
- if (key != NULL)
- {
- msrpc->nt.key = *key;
- }
- else
- {
- NET_USER_INFO_3 usr;
-#if 0
- uid_t uid = getuid();
- gid_t gid = getgid();
- char *name = uidtoname(uid);
-#endif
-
- ZERO_STRUCT(usr);
-
- msrpc->nt.key.pid = sys_getpid();
-
-#if 0 /* comment ou by JERRY */
- msrpc->nt.key.vuid = register_vuid(msrpc->nt.key.pid,
- uid, gid,
- name, name, False, &usr);
-#endif /* comment ou by JERRY */
- }
-
- return msrpc;
-}
-
-
-/****************************************************************************
open the msrpcent sockets
****************************************************************************/
BOOL msrpc_connect(struct msrpc_state *msrpc, const char *pipe_name)
@@ -554,48 +401,3 @@ BOOL msrpc_establish_connection(struct msrpc_state *msrpc,
return True;
}
-/****************************************************************************
-establishes a connection right up to doing tconX, reading in a password.
-****************************************************************************/
-BOOL ncalrpc_l_establish_connection(struct msrpc_local *msrpc,
- const char *pipe_name)
-{
- if (strnequal("\\PIPE\\", pipe_name, 6))
- {
- pipe_name = &pipe_name[6];
- }
-
- DEBUG(5, ("ncalrpc_l_establish_connection: connecting to %s\n",
- pipe_name));
-
- /* establish connection */
-
- if (!msrpc->initialised)
- {
- return False;
- }
-
- if (msrpc->fd == -1)
- {
- if (!ncalrpc_l_connect(msrpc, pipe_name))
- {
- DEBUG(1,
- ("ncalrpc_l_establish_connection: failed %s)\n",
- pipe_name));
-
- return False;
- }
- }
-
- if (!ncalrpc_l_authenticate(msrpc))
- {
- DEBUG(0, ("authenticate failed\n"));
- close(msrpc->fd);
- msrpc->fd = -1;
- return False;
- }
-
- return True;
-}
-
-