summaryrefslogtreecommitdiff
path: root/usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c')
-rw-r--r--usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c166
1 files changed, 0 insertions, 166 deletions
diff --git a/usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c b/usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c
deleted file mode 100644
index 7eab57d0cc..0000000000
--- a/usr/src/cmd/cmd-inet/usr.sbin/kssl/kssladm/kssladm.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <strings.h>
-#include <libscf.h>
-#include <sys/errno.h>
-#include <errno.h>
-#include <sys/stropts.h>
-#include "kssladm.h"
-
-
-/*
- * kssladm(8)
- *
- * Command to manage the entries in kernel SSL proxy table. This is
- * a private command called indirectly from ksslcfg(8).
- */
-
-boolean_t verbose = B_FALSE;
-
-static void
-usage_all(void)
-{
- (void) fprintf(stderr, "Usage:\n");
- usage_create(B_FALSE);
- usage_delete(B_FALSE);
-}
-
-int
-main(int argc, char **argv)
-{
- int rv = SUCCESS;
-
- if (argc < 2) {
- usage_all();
- return (SMF_EXIT_ERR_CONFIG);
- }
-
- if (strcmp(argv[1], "create") == 0) {
- rv = do_create(argc, argv);
- } else if (strcmp(argv[1], "delete") == 0) {
- rv = do_delete(argc, argv);
- } else {
- (void) fprintf(stderr, "Unknown sub-command: %s\n", argv[1]);
- usage_all();
- rv = SMF_EXIT_ERR_CONFIG;
- }
-
- return (rv);
-}
-
-
-/*
- * Read a passphrase from the file into the supplied buffer.
- * A space character and the characters that follow
- * the space character will be ignored.
- * Return 0 when no valid passphrase was found in the file.
- */
-static int
-read_pass_from_file(const char *filename, char *buffer, size_t bufsize)
-{
- char *line;
- char *p;
- FILE *fp;
-
- fp = fopen(filename, "r");
- if (fp == NULL) {
- (void) fprintf(stderr,
- "Unable to open password file for reading");
- return (1);
- }
-
- line = fgets(buffer, bufsize, fp);
- (void) fclose(fp);
- if (line == NULL) {
- return (0);
- }
-
- for (p = buffer; *p != '\0'; p++) {
- if (isspace(*p)) {
- *p = '\0';
- break;
- }
- }
-
- return (p - buffer);
-}
-
-
-int
-get_passphrase(const char *password_file, char *buf, int buf_size)
-{
- if (password_file == NULL) {
- char *passphrase = getpassphrase("Enter passphrase: ");
- if (passphrase) {
- return (strlcpy(buf, passphrase, buf_size));
- }
-
- return (0);
- }
-
- return (read_pass_from_file(password_file, buf, buf_size));
-}
-
-
-int
-kssl_send_command(char *buf, int cmd)
-{
- int ksslfd;
- int rv;
-
- ksslfd = open("/dev/kssl", O_RDWR);
- if (ksslfd < 0) {
- perror("Cannot open /dev/kssl");
- return (-1);
- }
-
- if ((rv = ioctl(ksslfd, cmd, buf)) < 0) {
- switch (errno) {
- case EEXIST:
- (void) fprintf(stderr,
- "Error: Can not create a INADDR_ANY instance"
- " while another instance exists.\n");
- break;
- case EADDRINUSE:
- (void) fprintf(stderr,
- "Error: Another instance with the same"
- " proxy port exists.\n");
- break;
- default:
- perror("ioctl failure");
- break;
- }
- }
-
- (void) close(ksslfd);
-
- return (rv);
-}