aboutsummaryrefslogtreecommitdiff
path: root/cmd-set-password.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd-set-password.c')
-rw-r--r--cmd-set-password.c145
1 files changed, 0 insertions, 145 deletions
diff --git a/cmd-set-password.c b/cmd-set-password.c
deleted file mode 100644
index 3a659a41..00000000
--- a/cmd-set-password.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* $Id: cmd-set-password.c,v 1.9 2009-09-22 14:06:40 tcunha Exp $ */
-
-/*
- * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
- * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <sys/types.h>
-
-#include <pwd.h>
-#include <unistd.h>
-
-#include "tmux.h"
-
-/*
- * Set server password.
- */
-
-int cmd_set_password_parse(struct cmd *, int, char **, char **);
-int cmd_set_password_exec(struct cmd *, struct cmd_ctx *);
-void cmd_set_password_free(struct cmd *);
-void cmd_set_password_init(struct cmd *, int);
-size_t cmd_set_password_print(struct cmd *, char *, size_t);
-
-struct cmd_set_password_data {
- char *password;
- int flag_encrypted;
-};
-
-const struct cmd_entry cmd_set_password_entry = {
- "set-password", "pass",
- "[-c] password",
- 0, 0,
- cmd_set_password_init,
- cmd_set_password_parse,
- cmd_set_password_exec,
- cmd_set_password_free,
- cmd_set_password_print
-};
-
-void
-cmd_set_password_init(struct cmd *self, unused int arg)
-{
- struct cmd_set_password_data *data;
-
- self->data = data = xmalloc(sizeof *data);
- data->password = NULL;
- data->flag_encrypted = 0;
-}
-
-int
-cmd_set_password_parse(struct cmd *self, int argc, char **argv, char **cause)
-{
- struct cmd_set_password_data *data;
- int opt;
- char *out;
-
- self->entry->init(self, KEYC_NONE);
- data = self->data;
-
- while ((opt = getopt(argc, argv, "c")) != -1) {
- switch (opt) {
- case 'c':
- data->flag_encrypted = 1;
- break;
- default:
- goto usage;
- }
- }
- argc -= optind;
- argv += optind;
- if (argc != 1)
- goto usage;
-
- if (!data->flag_encrypted) {
- if ((out = crypt(argv[0], "$1")) != NULL)
- data->password = xstrdup(out);
- } else
- data->password = xstrdup(argv[0]);
-
- return (0);
-
-usage:
- xasprintf(cause, "usage: %s %s", self->entry->name, self->entry->usage);
-
- self->entry->free(self);
- return (-1);
-}
-
-int
-cmd_set_password_exec(struct cmd *self, struct cmd_ctx *ctx)
-{
- struct cmd_set_password_data *data = self->data;
-
- if (data->password == NULL) {
- ctx->error(ctx, "failed to encrypt password");
- return (-1);
- }
-
- if (server_password != NULL)
- xfree(server_password);
- if (*data->password == '\0')
- server_password = NULL;
- else
- server_password = xstrdup(data->password);
-
- return (0);
-}
-
-void
-cmd_set_password_free(struct cmd *self)
-{
- struct cmd_set_password_data *data = self->data;
-
- if (data->password != NULL)
- xfree(data->password);
- xfree(data);
-}
-
-size_t
-cmd_set_password_print(struct cmd *self, char *buf, size_t len)
-{
- struct cmd_set_password_data *data = self->data;
- size_t off = 0;
-
- off += xsnprintf(buf, len, "%s", self->entry->name);
- if (data == NULL)
- return (off);
- if (off < len && data->flag_encrypted)
- off += xsnprintf(buf + off, len - off, " -c");
- if (off < len && data->password != NULL)
- off += xsnprintf(buf + off, len - off, " password");
- return (off);
-}