kssladm.c revision c28749e97052f09388969427adf7df641cdcdc22
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (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
* 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 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <strings.h>
#include <libscf.h>
#include <errno.h>
#include "kssladm.h"
/*
* kssladm(1M)
*
* Command to manage the entries in kernel SSL proxy table. This is
* a private command called indirectly from ksslcfg(1M).
*/
static void
usage_all(void)
{
}
int
{
if (argc < 2) {
usage_all();
return (SMF_EXIT_ERR_CONFIG);
}
} else {
usage_all();
}
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
{
char *line;
char *p;
"Unable to open password file for reading");
return (1);
}
return (0);
}
for (p = buffer; *p != '\0'; p++) {
if (isspace(*p)) {
*p = '\0';
break;
}
}
return (p - buffer);
}
int
{
if (password_file == NULL) {
if (passphrase) {
}
return (0);
}
}
int
{
int ksslfd;
int rv;
if (ksslfd < 0) {
return (EBADF);
}
switch (errno) {
case EEXIST:
"Error: Can not create a INADDR_ANY instance"
" while another instance exists.\n");
break;
case EADDRINUSE:
"Error: Another instance with the same"
" proxy port exists.\n");
break;
default:
perror("ioctl failure");
break;
}
}
return (rv);
}