summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulien.pierre.bugs%sun.com <devnull@localhost>2005-11-11 04:02:16 +0000
committerjulien.pierre.bugs%sun.com <devnull@localhost>2005-11-11 04:02:16 +0000
commit9d3532d38a20b2bd32ea2c3a714371807eaa0596 (patch)
tree15394e3a80d8542c61c92979f5a53c5382d89c9c
parentb5882ef97019a4ad2a29112729d5fdeddc24d028 (diff)
downloadnss-hg-9d3532d38a20b2bd32ea2c3a714371807eaa0596.tar.gz
Fix for bug 315033 . Remove dead command-line tool sources. r=nelson
-rw-r--r--security/nss/cmd/cmdlib/Makefile79
-rw-r--r--security/nss/cmd/cmdlib/cmdline.c477
-rw-r--r--security/nss/cmd/cmdlib/cmdutil.h118
-rw-r--r--security/nss/cmd/cmdlib/config.mk47
-rw-r--r--security/nss/cmd/cmdlib/manifest.mn53
-rw-r--r--security/nss/cmd/ilock/Makefile79
-rw-r--r--security/nss/cmd/ilock/ilock.c202
-rw-r--r--security/nss/cmd/ilock/manifest.mn48
-rw-r--r--security/nss/cmd/include/secnew.h166
-rw-r--r--security/nss/cmd/keyutil/Makefile77
-rw-r--r--security/nss/cmd/keyutil/keyutil.c344
-rw-r--r--security/nss/cmd/keyutil/manifest.mn54
-rw-r--r--security/nss/cmd/pkiutil/Makefile80
-rw-r--r--security/nss/cmd/pkiutil/manifest.mn51
-rw-r--r--security/nss/cmd/pkiutil/pkiutil.c376
-rw-r--r--security/nss/cmd/pkiutil/platlibs.mk57
-rw-r--r--security/nss/cmd/sslstrength/Makefile86
-rw-r--r--security/nss/cmd/sslstrength/manifest.mn54
-rw-r--r--security/nss/cmd/sslstrength/sslstr.cgi300
-rw-r--r--security/nss/cmd/sslstrength/sslstrength.c618
-rwxr-xr-xsecurity/nss/cmd/sslstrength/sslwrap185
-rw-r--r--security/nss/cmd/ttformat/Makefile78
-rw-r--r--security/nss/cmd/ttformat/manifest.mn52
-rwxr-xr-xsecurity/nss/cmd/ttformat/nClient49
-rwxr-xr-xsecurity/nss/cmd/ttformat/nServ49
-rwxr-xr-xsecurity/nss/cmd/ttformat/redux.pl77
-rw-r--r--security/nss/cmd/ttformat/reduxhwm.pl33
-rw-r--r--security/nss/cmd/ttformat/ttformat.c138
28 files changed, 0 insertions, 4027 deletions
diff --git a/security/nss/cmd/cmdlib/Makefile b/security/nss/cmd/cmdlib/Makefile
deleted file mode 100644
index c4f18fb5d..000000000
--- a/security/nss/cmd/cmdlib/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include config.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-
diff --git a/security/nss/cmd/cmdlib/cmdline.c b/security/nss/cmd/cmdlib/cmdline.c
deleted file mode 100644
index 164b03835..000000000
--- a/security/nss/cmd/cmdlib/cmdline.c
+++ /dev/null
@@ -1,477 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include <string.h>
-#include <ctype.h>
-
-#include "cmdutil.h"
-
-static int s_indent_size = 4;
-
-void
-CMD_SetIndentSize(int size)
-{
- s_indent_size = size;
-}
-
-#if 0
-static void
-indent(PRFileDesc *out, int level)
-{
- int i, j;
- for (i=0; i<level; i++)
- for (j=0; j<s_indent_size; j++)
- PR_fprintf(out, " ");
-}
-#endif
-
-struct cmdPrintStateStr {
- PRFileDesc *file;
- int width;
- int indent;
- int linepos;
-};
-
-static void
-init_print_ps(cmdPrintState *ps, PRFileDesc *outfile, int width, int indent)
-{
- ps->file = (outfile) ? outfile : PR_STDOUT;
- ps->width = (width > 0) ? width : 80;
- ps->indent = (indent > 0) ? indent : 0;
- ps->linepos = 0;
-}
-
-static void
-print_ps_indent(cmdPrintState *ps)
-{
- int j;
- if (ps->linepos != 0) {
- PR_fprintf(ps->file, "\n");
- ps->linepos = 0;
- }
- for (j=0; j<=ps->indent; j++) PR_fprintf(ps->file, " ");
- ps->linepos = ps->indent;
-}
-
-static void
-print_ps_to_indent(cmdPrintState *ps)
-{
- if (ps->linepos > ps->indent)
- PR_fprintf(ps->file, "\n");
- while (ps->linepos <= ps->indent) {
- PR_fprintf(ps->file, " ");
- ps->linepos++;
- }
-}
-
-static void
-nprintbuf(cmdPrintState *ps, char *buf, int start, int len)
-{
- int j;
- for (j=start; j<start + len; j++) {
- if (buf[j] == '\n') {
- PR_fprintf(ps->file, "\n");
- ps->linepos = 0;
- print_ps_indent(ps);
- } else {
- PR_fprintf(ps->file, "%c", buf[j]);
- ps->linepos++;
- }
- }
-}
-
-static void
-nprintf(cmdPrintState *ps, char *msg, ...)
-{
- char buf[256];
- int i, len, grouplen;
- PRBool openquote, openbracket, openparen, openangle, itsaword;
- va_list args;
- va_start(args, msg);
- vsprintf(buf, msg, args);
- len = strlen(buf);
- /* print_ps_indent(ps); */
- if (len < ps->width - ps->linepos) {
- nprintbuf(ps, buf, 0, len + 1);
- return;
- }
- /* group in this order: " [ ( < word > ) ] " */
- i=0;
- openquote=openbracket=openparen=openangle=itsaword=PR_FALSE;
- while (i<len) {
- grouplen = 0;
- if (buf[i] == '\"') { openquote = PR_TRUE; grouplen = 1; }
- else if (buf[i] == '[') { openbracket = PR_TRUE; grouplen = 1; }
- else if (buf[i] == '(') { openparen = PR_TRUE; grouplen = 1; }
- else if (buf[i] == '<') { openangle = PR_TRUE; grouplen = 1; }
- else itsaword = PR_TRUE;
- while (grouplen < len && buf[i+grouplen] != '\0' &&
- ((openquote && buf[i+grouplen] != '\"') ||
- (openbracket && buf[i+grouplen] != ']') ||
- (openparen && buf[i+grouplen] != ')') ||
- (openangle && buf[i+grouplen] != '>') ||
- (itsaword && !isspace(buf[i+grouplen]))))
- grouplen++;
- grouplen++; /* grab the terminator (whitespace for word) */
- if (!itsaword && isspace(buf[i+grouplen])) grouplen++;
- if (grouplen < ps->width - ps->linepos) {
- nprintbuf(ps, buf, i, grouplen);
- } else if (grouplen < ps->width - ps->indent) {
- print_ps_indent(ps);
- nprintbuf(ps, buf, i, grouplen);
- } else {
- /* it's just too darn long. what to do? */
- }
- i += grouplen;
- openquote=openbracket=openparen=openangle=itsaword=PR_FALSE;
- }
- va_end(args);
-}
-
-void
-CMD_PrintUsageString(cmdPrintState *ps, char *str)
-{
- nprintf(ps, "%s", str);
-}
-
-/* void because it exits with Usage() if failure */
-static void
-command_line_okay(cmdCommand *cmd, char *progName)
-{
- int i, c = -1;
- /* user asked for help. hope somebody gives it to them. */
- if (cmd->opt[0].on) return;
- /* check that the command got all of its needed options */
- for (i=0; i<cmd->ncmd; i++) {
- if (cmd->cmd[i].on) {
- if (c > 0) {
- fprintf(stderr,
- "%s: only one command can be given at a time.\n",
- progName);
- CMD_Usage(progName, cmd);
- } else {
- c = i;
- }
- }
- }
- if (cmd->cmd[c].argUse == CMDArgReq && cmd->cmd[c].arg == NULL) {
- /* where's the arg when you need it... */
- fprintf(stderr, "%s: command --%s requires an argument.\n",
- progName, cmd->cmd[c].s);
- fprintf(stderr, "type \"%s --%s --help\" for help.\n",
- progName, cmd->cmd[c].s);
- CMD_Usage(progName, cmd);
- }
- for (i=0; i<cmd->nopt; i++) {
- if (cmd->cmd[c].req & CMDBIT(i)) {
- /* command requires this option */
- if (!cmd->opt[i].on) {
- /* but it ain't there */
- fprintf(stderr, "%s: command --%s requires option --%s.\n",
- progName, cmd->cmd[c].s, cmd->opt[i].s);
- } else {
- /* okay, its there, but does it have an arg? */
- if (cmd->opt[i].argUse == CMDArgReq && !cmd->opt[i].arg) {
- fprintf(stderr, "%s: option --%s requires an argument.\n",
- progName, cmd->opt[i].s);
- }
- }
- } else if (cmd->cmd[c].opt & CMDBIT(i)) {
- /* this option is optional */
- if (cmd->opt[i].on) {
- /* okay, its there, but does it have an arg? */
- if (cmd->opt[i].argUse == CMDArgReq && !cmd->opt[i].arg) {
- fprintf(stderr, "%s: option --%s requires an argument.\n",
- progName, cmd->opt[i].s);
- }
- }
- } else {
- /* command knows nothing about it */
- if (cmd->opt[i].on) {
- /* so why the h--- is it on? */
- fprintf(stderr, "%s: option --%s not used with command --%s.\n",
- progName, cmd->opt[i].s, cmd->cmd[c].s);
- }
- }
- }
-}
-
-static char *
-get_arg(char *curopt, char **nextopt, int argc, int *index)
-{
- char *str;
- if (curopt) {
- str = curopt;
- } else {
- if (*index + 1 >= argc) return NULL;
- /* not really an argument but another flag */
- if (nextopt[*index+1][0] == '-') return NULL;
- str = nextopt[++(*index)];
- }
- /* parse the option */
- return strdup(str);
-}
-
-int
-CMD_ParseCommandLine(int argc, char **argv, char *progName, cmdCommand *cmd)
-{
- int i, j, k;
- int cmdToRun = -1;
- char *flag;
- i=1;
- if (argc <= 1) return -2; /* gross hack for cmdless things like atob */
- do {
- flag = argv[i];
- if (strlen(flag) < 2) /* huh? */
- return -1;
- if (flag[0] != '-')
- return -1;
- /* ignore everything after lone "--" (app-specific weirdness there) */
- if (strcmp(flag, "--") == 0)
- return cmdToRun;
- /* single hyphen means short alias (single-char) */
- if (flag[1] != '-') {
- j=1;
- /* collect a set of opts, ex. -abc */
- while (flag[j] != '\0') {
- PRBool found = PR_FALSE;
- /* walk the command set looking for match */
- for (k=0; k<cmd->ncmd; k++) {
- if (flag[j] == cmd->cmd[k].c) {
- /* done - only take one command at a time */
- if (j > 1) return -1;
- cmd->cmd[k].on = found = PR_TRUE;
- cmdToRun = k;
- if (cmd->cmd[k].argUse != CMDNoArg)
- cmd->cmd[k].arg = get_arg(NULL, argv, argc, &i);
- goto next_flag;
- }
- }
- /* wasn't found in commands, try options */
- for (k=0; k<cmd->nopt; k++) {
- if (flag[j] == cmd->opt[k].c) {
- /* collect this option and keep going */
- cmd->opt[k].on = found = PR_TRUE;
- if (flag[j+1] == '\0') {
- if (cmd->opt[k].argUse != CMDNoArg)
- cmd->opt[k].arg = get_arg(NULL, argv, argc, &i);
- goto next_flag;
- }
- }
- }
- j++;
- if (!found) return -1;
- }
- } else { /* long alias, ex. --list */
- char *fl = NULL, *arg = NULL;
- PRBool hyphened = PR_FALSE;
- fl = &flag[2];
- arg = strchr(fl, '=');
- if (arg) {
- *arg++ = '\0';
- } else {
- arg = strchr(fl, '-');
- if (arg) {
- hyphened = PR_TRUE; /* watch this, see below */
- *arg++ = '\0';
- }
- }
- for (k=0; k<cmd->ncmd; k++) {
- if (strcmp(fl, cmd->cmd[k].s) == 0) {
- cmd->cmd[k].on = PR_TRUE;
- cmdToRun = k;
- if (cmd->cmd[k].argUse != CMDNoArg || hyphened) {
- cmd->cmd[k].arg = get_arg(arg, argv, argc, &i);
- }
- if (arg) arg[-1] = '=';
- goto next_flag;
- }
- }
- for (k=0; k<cmd->nopt; k++) {
- if (strcmp(fl, cmd->opt[k].s) == 0) {
- cmd->opt[k].on = PR_TRUE;
- if (cmd->opt[k].argUse != CMDNoArg || hyphened) {
- cmd->opt[k].arg = get_arg(arg, argv, argc, &i);
- }
- if (arg) arg[-1] = '=';
- goto next_flag;
- }
- }
- return -1;
- }
-next_flag:
- i++;
- } while (i < argc);
- command_line_okay(cmd, progName);
- return cmdToRun;
-}
-
-void
-CMD_LongUsage(char *progName, cmdCommand *cmd, cmdUsageCallback usage)
-{
- int i, j;
- PRBool oneCommand = PR_FALSE;
- cmdPrintState ps;
- init_print_ps(&ps, PR_STDERR, 80, 0);
- nprintf(&ps, "\n%s: ", progName);
- /* prints app-specific header */
- ps.indent = strlen(progName) + 4;
- usage(&ps, 0, PR_FALSE, PR_TRUE, PR_FALSE);
- for (i=0; i<cmd->ncmd; i++) if (cmd->cmd[i].on) oneCommand = PR_TRUE;
- for (i=0; i<cmd->ncmd; i++) {
- if ((oneCommand && cmd->cmd[i].on) || !oneCommand) {
- ps.indent = 0;
- print_ps_indent(&ps);
- if (cmd->cmd[i].c != 0) {
- nprintf(&ps, "-%c, ", cmd->cmd[i].c);
- nprintf(&ps, "--%-16s ", cmd->cmd[i].s);
- } else {
- nprintf(&ps, "--%-20s ", cmd->cmd[i].s);
- }
- ps.indent += 20;
- usage(&ps, i, PR_TRUE, PR_FALSE, PR_FALSE);
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].req & CMDBIT(j)) {
- ps.indent = 0;
- print_ps_indent(&ps);
- nprintf(&ps, "%3s* ", "");
- if (cmd->opt[j].c != 0) {
- nprintf(&ps, "-%c, ", cmd->opt[j].c);
- nprintf(&ps, "--%-16s ", cmd->opt[j].s);
- } else {
- nprintf(&ps, "--%-20s ", cmd->opt[j].s);
- }
- ps.indent += 29;
- usage(&ps, j, PR_FALSE, PR_FALSE, PR_FALSE);
- }
- }
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].opt & CMDBIT(j)) {
- ps.indent = 0;
- print_ps_indent(&ps);
- nprintf(&ps, "%5s", "");
- if (cmd->opt[j].c != 0) {
- nprintf(&ps, "-%c, ", cmd->opt[j].c);
- nprintf(&ps, "--%-16s ", cmd->opt[j].s);
- } else {
- nprintf(&ps, "--%-20s ", cmd->opt[j].s);
- }
- ps.indent += 29;
- usage(&ps, j, PR_FALSE, PR_FALSE, PR_FALSE);
- }
- }
- }
- nprintf(&ps, "\n");
- }
- ps.indent = 0;
- nprintf(&ps, "\n* - required flag for command\n\n");
- /* prints app-specific footer */
- usage(&ps, 0, PR_FALSE, PR_FALSE, PR_TRUE);
- /*nprintf(&ps, "\n\n");*/
- exit(1);
-}
-
-void
-CMD_Usage(char *progName, cmdCommand *cmd)
-{
- int i, j, inc;
- PRBool first;
- cmdPrintState ps;
- init_print_ps(&ps, PR_STDERR, 80, 0);
- nprintf(&ps, "%s", progName);
- ps.indent = strlen(progName) + 1;
- print_ps_to_indent(&ps);
- for (i=0; i<cmd->ncmd; i++) {
- if (cmd->cmd[i].c != 0) {
- nprintf(&ps, "-%c", cmd->cmd[i].c);
- inc = 4;
- } else {
- nprintf(&ps, "--%s", cmd->cmd[i].s);
- inc = 4 + strlen(cmd->cmd[i].s);
- }
- first = PR_TRUE;
- ps.indent += inc;
- print_ps_to_indent(&ps);
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].req & CMDBIT(j)) {
- if (cmd->opt[j].c != 0 && cmd->opt[j].argUse == CMDNoArg) {
- if (first) {
- nprintf(&ps, "-");
- first = !first;
- }
- nprintf(&ps, "%c", cmd->opt[j].c);
- }
- }
- }
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].req & CMDBIT(j)) {
- if (cmd->opt[j].c != 0)
- nprintf(&ps, "-%c ", cmd->opt[j].c);
- else
- nprintf(&ps, "--%s ", cmd->opt[j].s);
- if (cmd->opt[j].argUse != CMDNoArg)
- nprintf(&ps, "%s ", cmd->opt[j].s);
- }
- }
- first = PR_TRUE;
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].opt & CMDBIT(j)) {
- if (cmd->opt[j].c != 0 && cmd->opt[j].argUse == CMDNoArg) {
- if (first) {
- nprintf(&ps, "[-");
- first = !first;
- }
- nprintf(&ps, "%c", cmd->opt[j].c);
- }
- }
- }
- if (!first) nprintf(&ps, "] ");
- for (j=0; j<cmd->nopt; j++) {
- if (cmd->cmd[i].opt & CMDBIT(j) &&
- cmd->opt[j].argUse != CMDNoArg) {
- if (cmd->opt[j].c != 0)
- nprintf(&ps, "[-%c %s] ", cmd->opt[j].c, cmd->opt[j].s);
- else
- nprintf(&ps, "[--%s %s] ", cmd->opt[j].s, cmd->opt[j].s);
- }
- }
- ps.indent -= inc;
- print_ps_indent(&ps);
- }
- ps.indent = 0;
- nprintf(&ps, "\n");
- exit(1);
-}
diff --git a/security/nss/cmd/cmdlib/cmdutil.h b/security/nss/cmd/cmdlib/cmdutil.h
deleted file mode 100644
index a51583f1c..000000000
--- a/security/nss/cmd/cmdlib/cmdutil.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef _CMDUTIL_H_
-#define _CMDUTIL_H_
-
-#include <stdio.h>
-#include "nspr.h"
-#include "nssbase.h"
-
-typedef int
-(* CMD_PPFunc)(PRFileDesc *out, NSSItem *item, char *msg, int level);
-
-
-/*
- * Command Line Parsing routines
- *
- * The attempt here is to provide common functionality for command line
- * parsing across an array of tools. The tools should obey the historical
- * rules of:
- *
- * (1) one command per line,
- * (2) the command should be uppercase,
- * (3) options should be lowercase,
- * (4) a short usage statement is presented in case of error,
- * (5) a long usage statement is given by -? or --help
- */
-
-/* To aid in formatting usage output. XXX Uh, why exposed? */
-typedef struct cmdPrintStateStr cmdPrintState;
-
-typedef enum {
- CMDArgReq = 0,
- CMDArgOpt,
- CMDNoArg
-} CMDArg;
-
-struct cmdCommandLineArgStr {
- char c; /* one-character alias for flag */
- char *s; /* string alias for flag */
- CMDArg argUse; /* flag takes an argument */
- char *arg; /* argument given for flag */
- PRBool on; /* flag was issued at command-line */
- int req; /* required arguments for commands */
- int opt; /* optional arguments for commands */
-};
-
-struct cmdCommandLineOptStr {
- char c; /* one-character alias for flag */
- char *s; /* string alias for flag */
- CMDArg argUse; /* flag takes an argument */
- char *arg; /* argument given for flag */
- PRBool on; /* flag was issued at command-line */
-};
-
-typedef struct cmdCommandLineArgStr cmdCommandLineArg;
-typedef struct cmdCommandLineOptStr cmdCommandLineOpt;
-
-struct cmdCommandStr {
- int ncmd;
- int nopt;
- cmdCommandLineArg *cmd;
- cmdCommandLineOpt *opt;
-};
-
-typedef struct cmdCommandStr cmdCommand;
-
-int
-CMD_ParseCommandLine(int argc, char **argv, char *progName, cmdCommand *cmd);
-
-typedef void
-(* cmdUsageCallback)(cmdPrintState *, int, PRBool, PRBool, PRBool);
-
-#define CMDBIT(n) (1<<n)
-
-void
-CMD_Usage(char *progName, cmdCommand *cmd);
-
-void
-CMD_LongUsage(char *progName, cmdCommand *cmd, cmdUsageCallback use);
-
-void
-CMD_PrintUsageString(cmdPrintState *ps, char *str);
-
-#endif /* _CMDUTIL_H_ */
diff --git a/security/nss/cmd/cmdlib/config.mk b/security/nss/cmd/cmdlib/config.mk
deleted file mode 100644
index 665828c63..000000000
--- a/security/nss/cmd/cmdlib/config.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#
-# Override TARGETS variable so that only static libraries
-# are specifed as dependencies within rules.mk.
-#
-
-TARGETS = $(LIBRARY)
-SHARED_LIBRARY =
-IMPORT_LIBRARY =
-PROGRAM =
-
diff --git a/security/nss/cmd/cmdlib/manifest.mn b/security/nss/cmd/cmdlib/manifest.mn
deleted file mode 100644
index 1456a6a38..000000000
--- a/security/nss/cmd/cmdlib/manifest.mn
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-CORE_DEPTH = ../../..
-
-LIBRARY_NAME = cmdutil
-
-# MODULE public and private header directories are implicitly REQUIRED.
-MODULE = seccmd
-
-DEFINES = -DNSPR20
-
-EXPORTS = cmdutil.h \
- $(NULL)
-
-CSRCS = cmdline.c \
- $(NULL)
-
-REQUIRES = nss nspr dbm
-
diff --git a/security/nss/cmd/ilock/Makefile b/security/nss/cmd/ilock/Makefile
deleted file mode 100644
index 9ee2a8f00..000000000
--- a/security/nss/cmd/ilock/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include ../platlibs.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-
-include ../platrules.mk
-
diff --git a/security/nss/cmd/ilock/ilock.c b/security/nss/cmd/ilock/ilock.c
deleted file mode 100644
index a62f9aacb..000000000
--- a/security/nss/cmd/ilock/ilock.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File: ilock.c
-** Description: ilock.c is a unit test for nssilock. ilock.c
-** tests the basic operation of nssilock. It should not be
-** considered a complete test suite.
-**
-** To check that logging works, before running this test,
-** define the following environment variables:
-**
-**
-**
-**
-**
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <plgetopt.h>
-#include <nspr.h>
-#include <nssilock.h>
-
-
-/*
-** Test harness infrastructure
-*/
-PRLogModuleInfo *lm;
-PRLogModuleLevel msgLevel = PR_LOG_NONE;
-PRIntn debug = 0;
-PRUint32 failed_already = 0;
-/* end Test harness infrastructure */
-
-PRIntn optIterations = 1; /* default iterations */
-
-PRIntn main(PRIntn argc, char *argv[])
-{
- PRIntn i;
- {
- /*
- ** Get command line options
- */
- PLOptStatus os;
- PLOptState *opt = PL_CreateOptState(argc, argv, "hdvi:");
-
- while (PL_OPT_EOL != (os = PL_GetNextOpt(opt)))
- {
- if (PL_OPT_BAD == os) continue;
- switch (opt->option)
- {
- case 'd': /* debug */
- debug = 1;
- msgLevel = PR_LOG_ERROR;
- break;
- case 'v': /* verbose mode */
- msgLevel = PR_LOG_DEBUG;
- break;
- case 'i': /* number of iterations */
- optIterations = atol( opt->value );
- if ( 0 == optIterations ) optIterations = 1; /* coerce default on zero */
- break;
- default:
- break;
- }
- }
- PL_DestroyOptState(opt);
- }
-
- for ( i = 0 ; i < optIterations ; i++ ) {
- /* First, test Lock */
- {
- PZLock *pl;
- PZMonitor *pm;
- PZCondVar *cv;
- PRStatus rc;
-
- pl = PZ_NewLock( nssILockOther );
- if ( NULL == pl ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- PZ_Lock( pl );
-
- rc = PZ_Unlock( pl );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- PZ_DestroyLock( pl );
-
- /* now, test CVar */
- /* re-create the lock we just destroyed */
- pl = PZ_NewLock( nssILockOther );
- if ( NULL == pl ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
-
- cv = PZ_NewCondVar( pl );
- if ( NULL == cv ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
-
- PZ_Lock( pl );
- rc = PZ_NotifyCondVar( cv );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
-
- rc = PZ_NotifyAllCondVar( cv );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
-
- rc = PZ_WaitCondVar( cv, PR_SecondsToInterval(1));
- if ( PR_FAILURE == rc ) {
- if ( PR_UNKNOWN_ERROR != PR_GetError()) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- }
- PZ_Unlock( pl );
- PZ_DestroyCondVar( cv );
-
- /* Now, test Monitor */
- pm = PZ_NewMonitor( nssILockOther );
- if ( NULL == pm ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
-
- PZ_EnterMonitor( pm );
-
- rc = PZ_Notify( pm );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- rc = PZ_NotifyAll( pm );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- rc = PZ_Wait( pm, PR_INTERVAL_NO_WAIT );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- rc = PZ_ExitMonitor( pm );
- if ( PR_FAILURE == rc ) {
- failed_already = PR_TRUE;
- goto Finished;
- }
- PZ_DestroyMonitor( pm );
- }
- } /* --- end for() --- */
-
-
-Finished:
- if (debug) printf("%s\n", (failed_already)? "FAIL" : "PASS");
- return( (failed_already == PR_TRUE )? 1 : 0 );
-} /* main() */
-/* end ilock.c */
-
diff --git a/security/nss/cmd/ilock/manifest.mn b/security/nss/cmd/ilock/manifest.mn
deleted file mode 100644
index 055b0a05b..000000000
--- a/security/nss/cmd/ilock/manifest.mn
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-CORE_DEPTH = ../../..
-
-DEFINES += -DNSPR20
-
-# MODULE public and private header directories are implicitly REQUIRED.
-MODULE = nss
-
-CSRCS = ilock.c
-
-PROGRAM = ilock
-# PROGRAM = ./$(OBJDIR)/ilock.exe
-
diff --git a/security/nss/cmd/include/secnew.h b/security/nss/cmd/include/secnew.h
deleted file mode 100644
index b8310596b..000000000
--- a/security/nss/cmd/include/secnew.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-#ifndef __secnew_h_
-#define __secnew_h_
-
-#include <stdio.h>
-
-typedef struct BERTemplateStr BERTemplate;
-typedef struct BERParseStr BERParse;
-typedef struct SECArbStr SECArb;
-
-/*
- * An array of these structures define an encoding for an object using
- * DER. The array is terminated with an entry where kind == 0.
- */
-struct BERTemplateStr {
- /* Kind of item to decode/encode */
- unsigned long kind;
-
- /*
- * Offset from base of structure to SECItem that will hold
- * decoded/encoded value.
- */
- unsigned short offset;
-
- /*
- * Used with DER_SET or DER_SEQUENCE. If not zero then points to a
- * sub-template. The sub-template is filled in and completed before
- * continuing on.
- */
- BERTemplate *sub;
-
- /*
- * Argument value, dependent on kind. Size of structure to allocate
- * when kind==DER_POINTER For Context-Specific Implicit types its the
- * underlying type to use.
- */
- unsigned long arg;
-};
-
-/*
- * an arbitrary object
- */
-struct SECArbStr {
- unsigned long tag; /* NOTE: does not support high tag form */
- unsigned long length; /* as reported in stream */
- union {
- SECItem item;
- struct {
- int numSubs;
- SECArb **subs;
- } cons;
- } body;
-};
-
-/*
- * Decode a piece of der encoded data.
- * "dest" points to a structure that will be filled in with the
- * decoding results.
- * "t" is a template structure which defines the shape of the
- * expected data.
- * "src" is the ber encoded data.
- */
-
-extern SECStatus BER_Decode(PRArenaPool * arena, void *dest, BERTemplate *t,
- SECArb *arb);
-
-
-/*
- * Encode a data structure into DER.
- * "dest" will be filled in (and memory allocated) to hold the der
- * encoded structure in "src"
- * "t" is a template structure which defines the shape of the
- * stored data
- * "src" is a pointer to the structure that will be encoded
- */
-
-extern SECStatus BER_Encode(PRArenaPool *arena, SECItem *dest, BERTemplate *t,
- void *src);
-
-/*
- * Client provided function that will get called with all the bytes
- * passing through the parser
- */
-typedef void (*BERFilterProc)(void *instance, unsigned char *buf, int length);
-
-/*
- * Client provided function that can will be called after the tag and
- * length information has been collected. It can be set up to be called
- * either before or after the data has been colleced.
- */
-typedef void (*BERNotifyProc)(
- void *instance, SECArb *arb, int depth, PRBool before);
-
-extern BERParse *BER_ParseInit(PRArenaPool *arena, PRBool forceDER);
-extern SECArb *BER_ParseFini(BERParse *h);
-extern SECStatus BER_ParseSome(BERParse *h, unsigned char *buf, int len);
-
-extern void BER_SetFilter(BERParse *h, BERFilterProc proc, void *instance);
-extern void BER_SetLeafStorage(BERParse *h, PRBool keep);
-extern void BER_SetNotifyProc(BERParse *h, BERNotifyProc proc, void *instance,
- PRBool beforeData);
-
-/*
- * A BERUnparseProc is used as a callback to put the encoded SECArb tree
- * tree to some stream. It returns PR_TRUE if the unparsing is to be
- * aborted.
- */
-typedef SECStatus (*BERUnparseProc)(
- void *instance, unsigned char *data, int length, SECArb* arb);
-
-/*
- * BER_Unparse walks the SECArb tree calling the BERUnparseProc with
- * various pieces. It returns SECFailure if there was an error during that
- * tree walk.
- */
-extern SECStatus BER_Unparse(SECArb *arb, BERUnparseProc proc, void *instance);
-
-/*
- * BER_ResolveLengths does a recursive walk through the tree generating
- * non-zero entries for the length field of each node. It will fail if it
- * discoveres a non-constructed node with a unknown length data field.
- * Leaves are supposed to be of known length.
- */
-extern SECStatus BER_ResolveLengths(SECArb *arb);
-
-/*
- * BER_PRettyPrintArb will write an ASCII version of the tree to the FILE
- * out.
- */
-extern SECStatus BER_PrettyPrintArb(FILE *out, SECArb* a);
-
-#endif /* __secnew_h_ */
diff --git a/security/nss/cmd/keyutil/Makefile b/security/nss/cmd/keyutil/Makefile
deleted file mode 100644
index eab21f369..000000000
--- a/security/nss/cmd/keyutil/Makefile
+++ /dev/null
@@ -1,77 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include ../platlibs.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-include ../platrules.mk
diff --git a/security/nss/cmd/keyutil/keyutil.c b/security/nss/cmd/keyutil/keyutil.c
deleted file mode 100644
index 4da43a1bd..000000000
--- a/security/nss/cmd/keyutil/keyutil.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include <stdio.h>
-#include <string.h>
-#include "secutil.h"
-
-#if defined(XP_UNIX)
-#include <unistd.h>
-#include <sys/time.h>
-#include <termios.h>
-#endif
-
-#include "secopt.h"
-
-#if defined(XP_WIN)
-#include <time.h>
-#include <conio.h>
-#endif
-
-#if defined(__sun) && !defined(SVR4)
-extern int fclose(FILE*);
-extern int fprintf(FILE *, char *, ...);
-extern int getopt(int, char**, char*);
-extern int isatty(int);
-extern char *optarg;
-extern char *sys_errlist[];
-#define strerror(errno) sys_errlist[errno]
-#endif
-
-#include "nspr.h"
-#include "prtypes.h"
-#include "prtime.h"
-#include "prlong.h"
-
-static char *progName;
-
-static SECStatus
-ListKeys(SECKEYKeyDBHandle *handle, FILE *out)
-{
- int rt;
-
- rt = SECU_PrintKeyNames(handle, out);
- if (rt) {
- SECU_PrintError(progName, "unable to list nicknames");
- return SECFailure;
- }
- return SECSuccess;
-}
-
-static SECStatus
-DumpPublicKey(SECKEYKeyDBHandle *handle, char *nickname, FILE *out)
-{
- SECKEYLowPrivateKey *privKey;
- SECKEYLowPublicKey *publicKey;
-
- /* check if key actually exists */
- if (SECU_CheckKeyNameExists(handle, nickname) == PR_FALSE) {
- SECU_PrintError(progName, "the key \"%s\" does not exist", nickname);
- return SECFailure;
- }
-
- /* Read in key */
- privKey = SECU_GetPrivateKey(handle, nickname);
- if (!privKey) {
- return SECFailure;
- }
-
- publicKey = SECKEY_LowConvertToPublicKey(privKey);
-
- /* Output public key (in the clear) */
- switch(publicKey->keyType) {
- case rsaKey:
- fprintf(out, "RSA Public-Key:\n");
- SECU_PrintInteger(out, &publicKey->u.rsa.modulus, "modulus", 1);
- SECU_PrintInteger(out, &publicKey->u.rsa.publicExponent,
- "publicExponent", 1);
- break;
- case dsaKey:
- fprintf(out, "DSA Public-Key:\n");
- SECU_PrintInteger(out, &publicKey->u.dsa.params.prime, "prime", 1);
- SECU_PrintInteger(out, &publicKey->u.dsa.params.subPrime,
- "subPrime", 1);
- SECU_PrintInteger(out, &publicKey->u.dsa.params.base, "base", 1);
- SECU_PrintInteger(out, &publicKey->u.dsa.publicValue, "publicValue", 1);
- break;
- default:
- fprintf(out, "unknown key type\n");
- break;
- }
- return SECSuccess;
-}
-
-static SECStatus
-DumpPrivateKey(SECKEYKeyDBHandle *handle, char *nickname, FILE *out)
-{
- SECKEYLowPrivateKey *key;
-
- /* check if key actually exists */
- if (SECU_CheckKeyNameExists(handle, nickname) == PR_FALSE) {
- SECU_PrintError(progName, "the key \"%s\" does not exist", nickname);
- return SECFailure;
- }
-
- /* Read in key */
- key = SECU_GetPrivateKey(handle, nickname);
- if (!key) {
- SECU_PrintError(progName, "error retrieving key");
- return SECFailure;
- }
-
- switch(key->keyType) {
- case rsaKey:
- fprintf(out, "RSA Private-Key:\n");
- SECU_PrintInteger(out, &key->u.rsa.modulus, "modulus", 1);
- SECU_PrintInteger(out, &key->u.rsa.publicExponent, "publicExponent", 1);
- SECU_PrintInteger(out, &key->u.rsa.privateExponent,
- "privateExponent", 1);
- SECU_PrintInteger(out, &key->u.rsa.prime1, "prime1", 1);
- SECU_PrintInteger(out, &key->u.rsa.prime2, "prime2", 1);
- SECU_PrintInteger(out, &key->u.rsa.exponent1, "exponent1", 1);
- SECU_PrintInteger(out, &key->u.rsa.exponent2, "exponent2", 1);
- SECU_PrintInteger(out, &key->u.rsa.coefficient, "coefficient", 1);
- break;
- case dsaKey:
- fprintf(out, "DSA Private-Key:\n");
- SECU_PrintInteger(out, &key->u.dsa.params.prime, "prime", 1);
- SECU_PrintInteger(out, &key->u.dsa.params.subPrime, "subPrime", 1);
- SECU_PrintInteger(out, &key->u.dsa.params.base, "base", 1);
- SECU_PrintInteger(out, &key->u.dsa.publicValue, "publicValue", 1);
- SECU_PrintInteger(out, &key->u.dsa.privateValue, "privateValue", 1);
- break;
- default:
- fprintf(out, "unknown key type\n");
- break;
- }
- return SECSuccess;
-}
-
-static SECStatus
-ChangePassword(SECKEYKeyDBHandle *handle)
-{
- SECStatus rv;
-
- /* Write out database with a new password */
- rv = SECU_ChangeKeyDBPassword(handle, NULL);
- if (rv) {
- SECU_PrintError(progName, "unable to change key password");
- }
- return rv;
-}
-
-static SECStatus
-DeletePrivateKey (SECKEYKeyDBHandle *keyHandle, char *nickName)
-{
- SECStatus rv;
-
- rv = SECU_DeleteKeyByName (keyHandle, nickName);
- if (rv != SECSuccess)
- fprintf(stderr, "%s: problem deleting private key (%s)\n",
- progName, SECU_Strerror(PR_GetError()));
- return (rv);
-
-}
-
-
-static void
-Usage(const char *progName)
-{
- fprintf(stderr,
- "Usage: %s -p name [-d keydir]\n", progName);
- fprintf(stderr,
- " %s -P name [-d keydir]\n", progName);
- fprintf(stderr,
- " %s -D name [-d keydir]\n", progName);
- fprintf(stderr,
- " %s -l [-d keydir]\n", progName);
- fprintf(stderr,
- " %s -c [-d keydir]\n", progName);
-
- fprintf(stderr, "%-20s Pretty print public key info for named key\n",
- "-p nickname");
- fprintf(stderr, "%-20s Pretty print private key info for named key\n",
- "-P nickname");
- fprintf(stderr, "%-20s Delete named private key from the key database\n",
- "-D nickname");
- fprintf(stderr, "%-20s List the nicknames for the keys in a database\n",
- "-l");
- fprintf(stderr, "%-20s Change the key database password\n",
- "-c");
- fprintf(stderr, "\n");
- fprintf(stderr, "%-20s Key database directory (default is ~/.netscape)\n",
- "-d keydir");
-
- exit(-1);
-}
-
-int main(int argc, char **argv)
-{
- int o, changePassword, deleteKey, dumpPublicKey, dumpPrivateKey, list;
- char *nickname;
- SECStatus rv;
- SECKEYKeyDBHandle *keyHandle;
-
- progName = strrchr(argv[0], '/');
- progName = progName ? progName+1 : argv[0];
-
- /* Parse command line arguments */
- changePassword = deleteKey = dumpPublicKey = dumpPrivateKey = list = 0;
- nickname = NULL;
-
- while ((o = getopt(argc, argv, "ADP:cd:glp:")) != -1) {
- switch (o) {
- case '?':
- Usage(progName);
- break;
-
- case 'A':
- fprintf(stderr, "%s: Can no longer add a key.", progName);
- fprintf(stderr, " Use pkcs12 to import a key.\n\n");
- Usage(progName);
- break;
-
- case 'D':
- deleteKey = 1;
- nickname = optarg;
- break;
-
- case 'P':
- dumpPrivateKey = 1;
- nickname = optarg;
- break;
-
- case 'c':
- changePassword = 1;
- break;
-
- case 'd':
- SECU_ConfigDirectory(optarg);
- break;
-
- case 'g':
- fprintf(stderr, "%s: Can no longer generate a key.", progName);
- fprintf(stderr, " Use certutil to generate a cert request.\n\n");
- Usage(progName);
- break;
-
- case 'l':
- list = 1;
- break;
-
- case 'p':
- dumpPublicKey = 1;
- nickname = optarg;
- break;
- }
- }
-
- if (dumpPublicKey+changePassword+dumpPrivateKey+list+deleteKey != 1)
- Usage(progName);
-
- if ((list || changePassword) && nickname)
- Usage(progName);
-
- if ((dumpPublicKey || dumpPrivateKey || deleteKey) && !nickname)
- Usage(progName);
-
-
- /* Call the libsec initialization routines */
- PR_Init( PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1);
- SEC_Init();
-
- /*
- * XXX Note that the following opens the key database writable.
- * If dumpPublicKey or dumpPrivateKey or list, though, we only want
- * to open it read-only. There needs to be a better interface
- * to the initialization routines so that we can specify which way
- * to open it.
- */
- rv = SECU_PKCS11Init();
- if (rv != SECSuccess) {
- SECU_PrintError(progName, "SECU_PKCS11Init failed");
- return -1;
- }
-
- keyHandle = SECKEY_GetDefaultKeyDB();
- if (keyHandle == NULL) {
- SECU_PrintError(progName, "could not open key database");
- return -1;
- }
-
- SECU_RegisterDynamicOids();
- if (dumpPublicKey) {
- rv = DumpPublicKey(keyHandle, nickname, stdout);
- } else
- if (changePassword) {
- rv = ChangePassword(keyHandle);
- } else
- if (dumpPrivateKey) {
- rv = DumpPrivateKey(keyHandle, nickname, stdout);
- } else
- if (list) {
- rv = ListKeys(keyHandle, stdout);
- } else
- if (deleteKey) {
- rv = DeletePrivateKey(keyHandle, nickname);
- }
-
-
- return rv ? -1 : 0;
-}
diff --git a/security/nss/cmd/keyutil/manifest.mn b/security/nss/cmd/keyutil/manifest.mn
deleted file mode 100644
index ec2d043c8..000000000
--- a/security/nss/cmd/keyutil/manifest.mn
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-CORE_DEPTH = ../../..
-
-DEFINES += -DNSPR20
-
-# MODULE public and private header directories are implicitly REQUIRED.
-MODULE = nss
-
-CSRCS = \
- keyutil.c \
- $(NULL)
-
-# The MODULE is always implicitly required.
-# Listing it here in REQUIRES makes it appear twice in the cc command line.
-REQUIRES = seccmd dbm
-
-
-PROGRAM = keyutil
diff --git a/security/nss/cmd/pkiutil/Makefile b/security/nss/cmd/pkiutil/Makefile
deleted file mode 100644
index 865888882..000000000
--- a/security/nss/cmd/pkiutil/Makefile
+++ /dev/null
@@ -1,80 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include platlibs.mk
-
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-
-include ../platrules.mk
-
diff --git a/security/nss/cmd/pkiutil/manifest.mn b/security/nss/cmd/pkiutil/manifest.mn
deleted file mode 100644
index e82483ca1..000000000
--- a/security/nss/cmd/pkiutil/manifest.mn
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-CORE_DEPTH = ../../..
-
-# MODULE public and private header directories are implicitly REQUIRED.
-MODULE = nss
-
-CSRCS = \
- pkiutil.c \
- $(NULL)
-
-# The MODULE is always implicitly required.
-# Listing it here in REQUIRES makes it appear twice in the cc command line.
-REQUIRES = dbm seccmd
-
-PROGRAM = pkiutil
diff --git a/security/nss/cmd/pkiutil/pkiutil.c b/security/nss/cmd/pkiutil/pkiutil.c
deleted file mode 100644
index b059baa87..000000000
--- a/security/nss/cmd/pkiutil/pkiutil.c
+++ /dev/null
@@ -1,376 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "nspr.h"
-#include "prtypes.h"
-#include "prtime.h"
-#include "prlong.h"
-#include "nss.h"
-#include "cmdutil.h"
-#include "nsspki.h"
-/* hmmm...*/
-#include "pki.h"
-
-#define PKIUTIL_VERSION_STRING "pkiutil version 0.1"
-
-char *progName = NULL;
-
-typedef struct {
- PRBool raw;
- PRBool ascii;
- char *name;
- PRFileDesc *file;
-} objOutputMode;
-
-typedef enum {
- PKIUnknown = -1,
- PKICertificate,
- PKIPublicKey,
- PKIPrivateKey,
- PKIAny
-} PKIObjectType;
-
-static PKIObjectType
-get_object_class(char *type)
-{
- if (strcmp(type, "certificate") == 0 || strcmp(type, "cert") == 0 ||
- strcmp(type, "Certificate") == 0 || strcmp(type, "Cert") == 0) {
- return PKICertificate;
- } else if (strcmp(type, "public_key") == 0 ||
- strcmp(type, "PublicKey") == 0) {
- return PKIPublicKey;
- } else if (strcmp(type, "private_key") == 0 ||
- strcmp(type, "PrivateKey") == 0) {
- return PKIPrivateKey;
- } else if (strcmp(type, "all") == 0 || strcmp(type, "any") == 0) {
- return PKIAny;
- }
- fprintf(stderr, "%s: \"%s\" is not a valid PKCS#11 object type.\n",
- progName, type);
- return PKIUnknown;
-}
-
-static PRStatus
-print_cert_callback(NSSCertificate *c, void *arg)
-{
- int i;
- NSSUTF8 *label;
- NSSItem *id;
- label = NSSCertificate_GetLabel(c);
- printf("%s\n", label);
- nss_ZFreeIf((void*)label);
-#if 0
- id = NSSCertificate_GetID(c);
- for (i=0; i<id->size; i++) {
- printf("%c", ((char *)id->data)[i]);
- }
- printf("\n");
-#endif
- return PR_SUCCESS;
-}
-
-/* pkiutil commands */
-enum {
- cmd_Add = 0,
- cmd_Dump,
- cmd_List,
- cmd_Version,
- pkiutil_num_commands
-};
-
-/* pkiutil options */
-enum {
- opt_Help = 0,
- opt_Ascii,
- opt_ProfileDir,
- opt_TokenName,
- opt_InputFile,
- opt_Nickname,
- opt_OutputFile,
- opt_Binary,
- opt_Trust,
- opt_Type,
- pkiutil_num_options
-};
-
-static cmdCommandLineArg pkiutil_commands[] =
-{
- { /* cmd_Add */ 'A', "add", CMDNoArg, 0, PR_FALSE,
- CMDBIT(opt_Nickname) | CMDBIT(opt_Trust),
- CMDBIT(opt_Ascii) | CMDBIT(opt_ProfileDir)
- | CMDBIT(opt_TokenName) | CMDBIT(opt_InputFile)
- | CMDBIT(opt_Binary) | CMDBIT(opt_Type) },
- { /* cmd_Dump */ 0 , "dump", CMDNoArg, 0, PR_FALSE,
- CMDBIT(opt_Nickname),
- CMDBIT(opt_Ascii) | CMDBIT(opt_ProfileDir)
- | CMDBIT(opt_TokenName) | CMDBIT(opt_Binary)
- | CMDBIT(opt_Type) },
- { /* cmd_List */ 'L', "list", CMDNoArg, 0, PR_FALSE, 0,
- CMDBIT(opt_Ascii) | CMDBIT(opt_ProfileDir)
- | CMDBIT(opt_TokenName) | CMDBIT(opt_Binary)
- | CMDBIT(opt_Nickname) | CMDBIT(opt_Type) },
- { /* cmd_Version */ 'Y', "version", CMDNoArg, 0, PR_FALSE, 0, 0 }
-};
-
-static cmdCommandLineOpt pkiutil_options[] =
-{
- { /* opt_Help */ '?', "help", CMDNoArg, 0, PR_FALSE },
- { /* opt_Ascii */ 'a', "ascii", CMDNoArg, 0, PR_FALSE },
- { /* opt_ProfileDir */ 'd', "dbdir", CMDArgReq, 0, PR_FALSE },
- { /* opt_TokenName */ 'h', "token", CMDArgReq, 0, PR_FALSE },
- { /* opt_InputFile */ 'i', "infile", CMDArgReq, 0, PR_FALSE },
- { /* opt_Nickname */ 'n', "nickname", CMDArgReq, 0, PR_FALSE },
- { /* opt_OutputFile */ 'o', "outfile", CMDArgReq, 0, PR_FALSE },
- { /* opt_Binary */ 'r', "raw", CMDNoArg, 0, PR_FALSE },
- { /* opt_Trust */ 't', "trust", CMDArgReq, 0, PR_FALSE },
- { /* opt_Type */ 0 , "type", CMDArgReq, 0, PR_FALSE }
-};
-
-void pkiutil_usage(cmdPrintState *ps,
- int num, PRBool cmd, PRBool header, PRBool footer)
-{
-#define pusg CMD_PrintUsageString
- if (header) {
- pusg(ps, "utility for managing PKCS#11 objects (certs and keys)\n");
- } else if (footer) {
- /*
- printf("certificate trust can be:\n");
- printf(" p - valid peer, P - trusted peer (implies p)\n");
- printf(" c - valid CA\n");
- printf(" T - trusted CA to issue client certs (implies c)\n");
- printf(" C - trusted CA to issue server certs (implies c)\n");
- printf(" u - user cert\n");
- printf(" w - send warning\n");
- */
- } else if (cmd) {
- switch(num) {
- case cmd_Add:
- pusg(ps, "Add an object to the token"); break;
- case cmd_Dump:
- pusg(ps, "Dump a single object"); break;
- case cmd_List:
- pusg(ps, "List objects on the token (-n for single object)"); break;
- case cmd_Version:
- pusg(ps, "Report version"); break;
- default:
- pusg(ps, "Unrecognized command"); break;
- }
- } else {
- switch(num) {
- case opt_Ascii:
- pusg(ps, "Use ascii (base-64 encoded) mode for I/O"); break;
- case opt_ProfileDir:
- pusg(ps, "Directory containing security databases (def: \".\")");
- break;
- case opt_TokenName:
- pusg(ps, "Name of PKCS#11 token to use (def: internal)"); break;
- case opt_InputFile:
- pusg(ps, "File for input (def: stdin)"); break;
- case opt_Nickname:
- pusg(ps, "Nickname of object"); break;
- case opt_OutputFile:
- pusg(ps, "File for output (def: stdout)"); break;
- case opt_Binary:
- pusg(ps, "Use raw (binary der-encoded) mode for I/O"); break;
- case opt_Trust:
- pusg(ps, "Trust level for certificate"); break;
- case opt_Help: break;
- default:
- pusg(ps, "Unrecognized option");
- }
- }
-}
-
-int
-main(int argc, char **argv)
-{
- PRFileDesc *infile = NULL;
- PRFileDesc *outfile = NULL;
- char *profiledir = "./";
-#if 0
- secuPWData pwdata = { PW_NONE, 0 };
-#endif
- int objclass = 3; /* ANY */
- NSSTrustDomain *root_cert_td = NULL;
- char *rootpath = NULL;
- char builtin_name[]= "libnssckbi.so"; /* temporary hardcode */
- PRStatus rv = PR_SUCCESS;
-
- int cmdToRun;
- cmdCommand pkiutil;
- pkiutil.ncmd = pkiutil_num_commands;
- pkiutil.nopt = pkiutil_num_options;
- pkiutil.cmd = pkiutil_commands;
- pkiutil.opt = pkiutil_options;
-
- progName = strrchr(argv[0], '/');
- progName = progName ? progName+1 : argv[0];
-
- cmdToRun = CMD_ParseCommandLine(argc, argv, progName, &pkiutil);
-
-#if 0
- { int i, nc;
- for (i=0; i<pkiutil.ncmd; i++)
- printf("%s: %s <%s>\n", pkiutil.cmd[i].s,
- (pkiutil.cmd[i].on) ? "on" : "off",
- pkiutil.cmd[i].arg);
- for (i=0; i<pkiutil.nopt; i++)
- printf("%s: %s <%s>\n", pkiutil.opt[i].s,
- (pkiutil.opt[i].on) ? "on" : "off",
- pkiutil.opt[i].arg);
- }
-#endif
-
- if (pkiutil.opt[opt_Help].on)
- CMD_LongUsage(progName, &pkiutil, pkiutil_usage);
-
- if (cmdToRun < 0)
- CMD_Usage(progName, &pkiutil);
-
- /* -d */
- if (pkiutil.opt[opt_ProfileDir].on) {
- profiledir = strdup(pkiutil.opt[opt_ProfileDir].arg);
- }
-
- /* -i */
- if (pkiutil.opt[opt_InputFile].on) {
- char *fn = pkiutil.opt[opt_InputFile].arg;
- infile = PR_Open(fn, PR_RDONLY, 0660);
- } else {
- infile = PR_STDIN;
- }
-
- /* -o */
- if (pkiutil.opt[opt_OutputFile].on) {
- char *fn = pkiutil.opt[opt_OutputFile].arg;
- outfile = PR_Open(fn, PR_WRONLY | PR_CREATE_FILE, 0660);
- } else {
- outfile = PR_STDOUT;
- }
-
- /* --type can be found on many options */
- if (pkiutil.opt[opt_Type].on)
- objclass = get_object_class(pkiutil.opt[opt_Type].arg);
- else if (cmdToRun == cmd_Dump && pkiutil.cmd[cmd_Dump].arg)
- objclass = get_object_class(pkiutil.cmd[cmd_Dump].arg);
- else if (cmdToRun == cmd_List && pkiutil.cmd[cmd_List].arg)
- objclass = get_object_class(pkiutil.cmd[cmd_List].arg);
- else if (cmdToRun == cmd_Add && pkiutil.cmd[cmd_Add].arg)
- objclass = get_object_class(pkiutil.cmd[cmd_Add].arg);
- if (objclass < 0)
- goto done;
-
- /* --print is an alias for --list --nickname */
- if (cmdToRun == cmd_Dump) cmdToRun = cmd_List;
-
- /* if list has raw | ascii must have -n. can't have both raw and ascii */
- if (pkiutil.opt[opt_Binary].on || pkiutil.opt[opt_Ascii].on) {
- if (cmdToRun == cmd_List && !pkiutil.opt[opt_Nickname].on) {
- fprintf(stderr, "%s: specify a object to output with -n\n",
- progName);
- CMD_LongUsage(progName, &pkiutil, pkiutil_usage);
- }
- }
-
- /* initialize */
- PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1);
- /* NSS_InitReadWrite(profiledir); */
- NSS_NoDB_Init(NULL);
-
- /* Display version info and exit */
- if (cmdToRun == cmd_Version) {
- printf("%s\nNSS Version %s\n", PKIUTIL_VERSION_STRING, NSS_VERSION);
- goto done;
- }
-
- /* XXX okay - bootstrap stan by loading the root cert module for testing */
- root_cert_td = NSSTrustDomain_Create(NULL, NULL, NULL, NULL);
- {
- int rootpathlen = strlen(profiledir) + strlen(builtin_name) + 1;
- rootpath = (char *)malloc(rootpathlen);
- memcpy(rootpath, profiledir, strlen(profiledir));
- memcpy(rootpath + strlen(profiledir),
- builtin_name, strlen(builtin_name));
- rootpath[rootpathlen - 1] = '\0';
- }
- NSSTrustDomain_LoadModule(root_cert_td, "Builtin Root Module", rootpath,
- NULL, NULL);
-
- printf("\n");
- if (pkiutil.opt[opt_Nickname].on) {
- int i;
- NSSCertificate **certs;
- NSSCertificate *cert;
- certs = NSSTrustDomain_FindCertificatesByNickname(root_cert_td,
- pkiutil.opt[opt_Nickname].arg, NULL, 0, NULL);
- i = 0;
- while ((cert = certs[i++]) != NULL) {
- printf("Found cert:\n");
- print_cert_callback(cert, NULL);
- }
- } else {
- NSSTrustDomain_TraverseCertificates(root_cert_td, print_cert_callback, 0);
- }
-
- NSSTrustDomain_Destroy(root_cert_td);
-
- /* List token objects */
- if (cmdToRun == cmd_List) {
-#if 0
- rv = list_token_objects(slot, objclass,
- pkiutil.opt[opt_Nickname].arg,
- pkiutil.opt[opt_Binary].on,
- pkiutil.opt[opt_Ascii].on,
- outfile, &pwdata);
-#endif
- goto done;
- }
-
-#if 0
- /* Import an object into the token. */
- if (cmdToRun == cmd_Add) {
- rv = add_object_to_token(slot, object);
- goto done;
- }
-#endif
-
-done:
- if (NSS_Shutdown() != SECSuccess) {
- exit(1);
- }
-
- return rv;
-}
diff --git a/security/nss/cmd/pkiutil/platlibs.mk b/security/nss/cmd/pkiutil/platlibs.mk
deleted file mode 100644
index d0cd7ee58..000000000
--- a/security/nss/cmd/pkiutil/platlibs.mk
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-# $(PROGRAM) has explicit dependencies on $(EXTRA_LIBS)
-EXTRA_LIBS += \
- $(DIST)/lib/libcmdutil.$(LIB_SUFFIX) \
- $(NULL)
-
-ifeq ($(OS_ARCH), AIX)
-EXTRA_SHARED_LIBS += -brtl
-endif
-
-# $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
-# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
-EXTRA_SHARED_LIBS += \
- -L$(DIST)/lib/ \
- -lnsspki3 \
- -lnss3 \
- -lplc4 \
- -lplds4 \
- -lnspr4 \
- $(NULL)
-
diff --git a/security/nss/cmd/sslstrength/Makefile b/security/nss/cmd/sslstrength/Makefile
deleted file mode 100644
index 7cfeaac2a..000000000
--- a/security/nss/cmd/sslstrength/Makefile
+++ /dev/null
@@ -1,86 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include ../platlibs.mk
-
-ifeq (,$(filter-out WINNT WIN95 WIN16,$(OS_TARGET))) # omits WINCE
-ifndef BUILD_OPT
-LDFLAGS += /subsystem:console /profile /debug /machine:I386 /incremental:no
-OS_CFLAGS += -D_CONSOLE
-endif
-endif
-
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-#include ../platlibs.mk
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-include ../platrules.mk
-
diff --git a/security/nss/cmd/sslstrength/manifest.mn b/security/nss/cmd/sslstrength/manifest.mn
deleted file mode 100644
index ceb49dd59..000000000
--- a/security/nss/cmd/sslstrength/manifest.mn
+++ /dev/null
@@ -1,54 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-CORE_DEPTH = ../../..
-
-MODULE = nss
-
-EXPORTS =
-
-CSRCS = sslstrength.c \
- $(NULL)
-
-PROGRAM = sslstrength
-
-REQUIRES = dbm seccmd
-
-DEFINES += -DDLL_PREFIX=\"$(DLL_PREFIX)\" -DDLL_SUFFIX=\"$(DLL_SUFFIX)\"
-
-PACKAGE_FILES = sslstrength
-
-ARCHIVE_NAME = sslstrength
diff --git a/security/nss/cmd/sslstrength/sslstr.cgi b/security/nss/cmd/sslstrength/sslstr.cgi
deleted file mode 100644
index dc632eebf..000000000
--- a/security/nss/cmd/sslstrength/sslstr.cgi
+++ /dev/null
@@ -1,300 +0,0 @@
-#!/usr/bin/perl
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-
-use CGI qw(:standard);
-
-
-
-# Replace this will the full path to the sslstrength executable.
-$sslstrength = "./sslstrength";
-
-
-# Replace this with the name of this CGI.
-
-$sslcgi = "sslstr.cgi";
-
-
-$query = new CGI;
-
-print header;
-
-print "<HTML><HEAD>
-<SCRIPT language='javascript'>
-
-function doexport(form) {
- form.ssl2ciphers.options[0].selected=0;
- form.ssl2ciphers.options[1].selected=0;
- form.ssl2ciphers.options[2].selected=0;
- form.ssl2ciphers.options[3].selected=0;
- form.ssl2ciphers.options[4].selected=1;
- form.ssl2ciphers.options[5].selected=1;
-
- form.ssl3ciphers.options[0].selected=1;
- form.ssl3ciphers.options[1].selected=1;
- form.ssl3ciphers.options[2].selected=0;
- form.ssl3ciphers.options[3].selected=1;
- form.ssl3ciphers.options[4].selected=1;
- form.ssl3ciphers.options[5].selected=1;
- form.ssl3ciphers.options[6].selected=0;
- form.ssl3ciphers.options[7].selected=0;
-
-
-}
-
-function dodomestic(form) {
- form.ssl2ciphers.options[0].selected=1;
- form.ssl2ciphers.options[1].selected=1;
- form.ssl2ciphers.options[2].selected=1;
- form.ssl2ciphers.options[3].selected=1;
- form.ssl2ciphers.options[4].selected=1;
- form.ssl2ciphers.options[5].selected=1;
-
- form.ssl3ciphers.options[0].selected=1;
- form.ssl3ciphers.options[1].selected=1;
- form.ssl3ciphers.options[2].selected=1;
- form.ssl3ciphers.options[3].selected=1;
- form.ssl3ciphers.options[4].selected=1;
- form.ssl3ciphers.options[5].selected=1;
- form.ssl3ciphers.options[6].selected=1;
- form.ssl3ciphers.options[7].selected=1;
-
-}
-
-function doclearssl2(form) {
- form.ssl2ciphers.options[0].selected=0;
- form.ssl2ciphers.options[1].selected=0;
- form.ssl2ciphers.options[2].selected=0;
- form.ssl2ciphers.options[3].selected=0;
- form.ssl2ciphers.options[4].selected=0;
- form.ssl2ciphers.options[5].selected=0;
-}
-
-
-function doclearssl3(form) {
- form.ssl3ciphers.options[0].selected=0;
- form.ssl3ciphers.options[1].selected=0;
- form.ssl3ciphers.options[2].selected=0;
- form.ssl3ciphers.options[3].selected=0;
- form.ssl3ciphers.options[4].selected=0;
- form.ssl3ciphers.options[5].selected=0;
- form.ssl3ciphers.options[6].selected=0;
- form.ssl3ciphers.options[7].selected=0;
-
-}
-
-function dohost(form,hostname) {
- form.host.value=hostname;
- }
-
-
-
-</SCRIPT>
-<TITLE>\n";
-print "SSLStrength\n";
-print "</TITLE></HEAD>\n";
-
-print "<h1>SSLStrength</h1>\n";
-
-if ($query->param('dotest')) {
- print "Output from sslstrength: \n";
- print "<pre>\n";
-
- $cs = "";
-
- @ssl2ciphers = $query->param('ssl2ciphers');
- for $cipher (@ssl2ciphers) {
- if ($cipher eq "SSL_EN_RC2_128_WITH_MD5") { $cs .= "a"; }
- if ($cipher eq "SSL_EN_RC2_128_CBC_WITH_MD5") { $cs .= "b"; }
- if ($cipher eq "SSL_EN_DES_192_EDE3_CBC_WITH_MD5") { $cs .= "c"; }
- if ($cipher eq "SSL_EN_DES_64_CBC_WITH_MD5") { $cs .= "d"; }
- if ($cipher eq "SSL_EN_RC4_128_EXPORT40_WITH_MD5") { $cs .= "e"; }
- if ($cipher eq "SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5") { $cs .= "f"; }
- }
-
- @ssl3ciphers = $query->param('ssl3ciphers');
- for $cipher (@ssl3ciphers) {
- if ($cipher eq "SSL_RSA_WITH_RC4_128_MD5") { $cs .= "i"; }
- if ($cipher eq "SSL_RSA_WITH_3DES_EDE_CBC_SHA") { $cs .= "j"; }
- if ($cipher eq "SSL_RSA_WITH_DES_CBC_SHA") { $cs .= "k"; }
- if ($cipher eq "SSL_RSA_EXPORT_WITH_RC4_40_MD5") { $cs .= "l"; }
- if ($cipher eq "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5") { $cs .= "m"; }
- if ($cipher eq "SSL_RSA_WITH_NULL_MD5") { $cs .= "o"; }
- if ($cipher eq "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA") { $cs .= "p"; }
- if ($cipher eq "SSL_RSA_FIPS_WITH_DES_CBC_SHA") { $cs .= "q"; }
- }
-
- $hs = $query->param('host');
- if ($hs eq "") {
- print "</pre>You must specify a host to connect to.<br><br>\n";
- exit(0);
- }
-
- $ps = $query->param('policy');
-
- $cmdstring = "$sslstrength $hs policy=$ps ciphers=$cs";
-
- print "running sslstrength:\n";
- print "$cmdstring\n";
-
- $r = open(SSLS, "$cmdstring |");
- if ($r == 0) {
- print "<pre>There was a problem starting $cmdstring<br><br>\n";
- exit(0);
- }
- while (<SSLS>) {
- print "$_";
- }
- close(SSLS);
-
-
- print "</pre>\n";
-
-}
-
-else {
-print "<FORM method=post action=$sslcgi>\n";
-print "<hr>
-<h2>Host Name</h2>
-<TABLE BORDER=0 CELLPADDING=20>
-<TR>
-<TD>
-Type hostname here:<br>
-<input type=text name=host size=30>&nbsp;<br><br>
-<TD>
- <b>Or click these buttons to test some well-known servers</b><br>
- <TABLE BORDER=0>
- <TR>
- <TD>
- Export servers:
- <TD>
- <input type=button value='F-Tech' onclick=dohost(this.form,'strongbox.ftech.net')>
- </TR>
- <TR>
- <TD>
- Domestic servers:
- <TD>
- <input type=button value='Wells Fargo' onclick=dohost(this.form,'banking.wellsfargo.com')>
- </TR>
- <TR>
- <TD>
- Step-Up Servers
- <TD>
- <input type=button value='Barclaycard' onclick=dohost(this.form,'enigma.barclaycard.co.uk')>
- <input type=button value='BBVnet' onclick=dohost(this.form,'www.bbvnet.com')>&nbsp;
- <input type=button value='BHIF' onclick=dohost(this.form,'empresas.bhif.cl')>&nbsp;
- </TR>
- </TABLE>
-</TR>
-</TABLE>
-<br>
-<hr>
-<br>
-<h2>Encryption policy</h2>
-<input type=radio name=policy VALUE=export onclick=doexport(this.form)>&nbsp;
-Export<br>
-<input type=radio name=policy VALUE=domestic CHECKED onclick=dodomestic(this.form)>&nbsp;
-Domestic<br>
-<br>
-<hr>
-<br>
-<h2>Cipher Selection</h2>
-(use ctrl to multi-select)<br>
-<table>
-<tr>
-<td>SSL 2 Ciphers
-<td>
-<SELECT NAME=ssl2ciphers SIZE=6 MULTIPLE align=bottom>
-<OPTION SELECTED>SSL_EN_RC4_128_WITH_MD5
-<OPTION SELECTED>SSL_EN_RC2_128_CBC_WITH_MD5
-<OPTION SELECTED>SSL_EN_DES_192_EDE3_CBC_WITH_MD5
-<OPTION SELECTED>SSL_EN_DES_64_CBC_WITH_MD5
-<OPTION SELECTED>SSL_EN_RC4_128_EXPORT40_WITH_MD5
-<OPTION SELECTED>SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5
-</SELECT>
-<input type=button Value='Clear all' onclick = 'doclearssl2(this.form)'>
-</tr>
-<tr>
-<td>SSL3 Ciphers
-<td>
-<SELECT NAME=ssl3ciphers SIZE=8 MULTIPLE>
-<OPTION SELECTED>SSL_RSA_WITH_RC4_128_MD5
-<OPTION SELECTED>SSL_RSA_WITH_3DES_EDE_CBC_SHA
-<OPTION SELECTED>SSL_RSA_WITH_DES_CBC_SHA
-<OPTION SELECTED>SSL_RSA_EXPORT_WITH_RC4_40_MD5
-<OPTION SELECTED>SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
-<OPTION SELECTED>SSL_RSA_WITH_NULL_MD5
-<OPTION SELECTED>SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
-<OPTION SELECTED>SSL_RSA_FIPS_WITH_DES_CBC_SHA
-</SELECT>
-<input type=button value='Clear all' onclick = 'doclearssl3(this.form)'>
-
-<TD>
-<input type=submit name=dotest value='Run SSLStrength'>
-</tr>
-</table>
-<input type=hidden name=dotest>
-<br>
-<br>
-</form>
-\n";
-
-}
-
-
-exit(0);
-
-
-__END__
-
- id CipherName Domestic Export
- a SSL_EN_RC4_128_WITH_MD5 (ssl2) Yes No
- b SSL_EN_RC2_128_CBC_WITH_MD5 (ssl2) Yes No
- c SSL_EN_DES_192_EDE3_CBC_WITH_MD5 (ssl2) Yes No
- d SSL_EN_DES_64_CBC_WITH_MD5 (ssl2) Yes No
- e SSL_EN_RC4_128_EXPORT40_WITH_MD5 (ssl2) Yes Yes
- f SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5 (ssl2) Yes Yes
- i SSL_RSA_WITH_RC4_128_MD5 (ssl3) Yes Step-up only
- j SSL_RSA_WITH_3DES_EDE_CBC_SHA (ssl3) Yes Step-up only
- k SSL_RSA_WITH_DES_CBC_SHA (ssl3) Yes No
- l SSL_RSA_EXPORT_WITH_RC4_40_MD5 (ssl3) Yes Yes
- m SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (ssl3) Yes Yes
- o SSL_RSA_WITH_NULL_MD5 (ssl3) Yes Yes
-
-
-
diff --git a/security/nss/cmd/sslstrength/sslstrength.c b/security/nss/cmd/sslstrength/sslstrength.c
deleted file mode 100644
index 34ac5c0df..000000000
--- a/security/nss/cmd/sslstrength/sslstrength.c
+++ /dev/null
@@ -1,618 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#ifdef SSLTELNET
-#include <termios.h>
-#endif
-
-/* Portable layer header files */
-#include "prinit.h"
-#include "prprf.h"
-#include "prsystem.h"
-#include "prmem.h"
-#include "plstr.h"
-#include "prnetdb.h"
-#include "prinrval.h"
-
-#include "secutil.h"
-
-/* Security library files */
-#include "cert.h"
-#include "ssl.h"
-#include "sslproto.h"
-#include "secmod.h"
-#include "nss.h"
-
-/* define this if you want telnet capability! */
-
-/* #define SSLTELNET 1 */
-
-PRInt32 debug;
-
-#ifdef DEBUG_stevep
-#define dbmsg(x) if (verbose) PR_fprintf(PR_STDOUT,x);
-#else
-#define dbmsg(x) ;
-#endif
-
-
-/* Set SSL Policy to Domestic (strong=1) or Export (strong=0) */
-
-#define ALLOW(x) SSL_CipherPolicySet(x,SSL_ALLOWED); SSL_CipherPrefSetDefault(x,1);
-#define DISALLOW(x) SSL_CipherPolicySet(x,SSL_NOT_ALLOWED); SSL_CipherPrefSetDefault(x,0);
-#define MAYBEALLOW(x) SSL_CipherPolicySet(x,SSL_RESTRICTED); SSL_CipherPrefSetDefault(x,1);
-
-struct CipherPolicy {
- char number;
- long id;
- char *name;
- PRInt32 pref;
- PRInt32 domestic;
- PRInt32 export;
-};
-
-struct CipherPolicy ciphers[] = {
- { 'a',SSL_EN_RC4_128_WITH_MD5, "SSL_EN_RC4_128_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'b',SSL_EN_RC2_128_CBC_WITH_MD5, "SSL_EN_RC2_128_CBC_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'c',SSL_EN_DES_192_EDE3_CBC_WITH_MD5, "SSL_EN_DES_192_EDE3_CBC_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'd',SSL_EN_DES_64_CBC_WITH_MD5, "SSL_EN_DES_64_CBC_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'e',SSL_EN_RC4_128_EXPORT40_WITH_MD5, "SSL_EN_RC4_128_EXPORT40_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_ALLOWED },
- { 'f',SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5, "SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5 (ssl2)",1, SSL_ALLOWED,SSL_ALLOWED },
- { 'i',SSL_RSA_WITH_RC4_128_MD5, "SSL_RSA_WITH_RC4_128_MD5 (ssl3)",1, SSL_ALLOWED,SSL_RESTRICTED },
- { 'j',SSL_RSA_WITH_3DES_EDE_CBC_SHA, "SSL_RSA_WITH_3DES_EDE_CBC_SHA (ssl3)",1, SSL_ALLOWED,SSL_RESTRICTED },
- { 'k',SSL_RSA_WITH_DES_CBC_SHA, "SSL_RSA_WITH_DES_CBC_SHA (ssl3)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'l',SSL_RSA_EXPORT_WITH_RC4_40_MD5, "SSL_RSA_EXPORT_WITH_RC4_40_MD5 (ssl3)",1, SSL_ALLOWED,SSL_ALLOWED },
- { 'm',SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5, "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (ssl3)",1, SSL_ALLOWED,SSL_ALLOWED },
- { 'o',SSL_RSA_WITH_NULL_MD5, "SSL_RSA_WITH_NULL_MD5 (ssl3)",1, SSL_ALLOWED,SSL_ALLOWED },
- { 'p',SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA, "SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA (ssl3)",1, SSL_ALLOWED,SSL_NOT_ALLOWED },
- { 'q',SSL_RSA_FIPS_WITH_DES_CBC_SHA, "SSL_RSA_FIPS_WITH_DES_CBC_SHA (ssl3)",1, SSL_ALLOWED,SSL_NOT_ALLOWED }
-
-};
-
-void PrintErrString(char *progName,char *msg) {
-
- PRErrorCode e = PORT_GetError();
- char *s=NULL;
-
-
- if ((e >= PR_NSPR_ERROR_BASE) && (e < PR_MAX_ERROR)) {
-
- if (e == PR_DIRECTORY_LOOKUP_ERROR)
- s = PL_strdup("Hostname Lookup Failed");
- else if (e == PR_NETWORK_UNREACHABLE_ERROR)
- s = PL_strdup("Network Unreachable");
- else if (e == PR_CONNECT_TIMEOUT_ERROR)
- s = PL_strdup("Connection Timed Out");
- else s = PR_smprintf("%d",e);
-
- if (!s) return;
- }
- else {
- s = PL_strdup(SECU_ErrorString(e));
- }
-
- PR_fprintf(PR_STDOUT,"%s: ",progName);
- if (s) {
- if (*s)
- PR_fprintf(PR_STDOUT, "%s\n", s);
- else
- PR_fprintf(PR_STDOUT, "\n");
-
- PR_Free(s);
- }
-
-}
-
-void PrintCiphers(int onlyenabled) {
- int ciphercount,i;
-
- if (onlyenabled) {
- PR_fprintf(PR_STDOUT,"Your Cipher preference:\n");
- }
-
- ciphercount = sizeof(ciphers)/sizeof(struct CipherPolicy);
- PR_fprintf(PR_STDOUT,
- " %s %-45s %-12s %-12s\n","id","CipherName","Domestic","Export");
-
- for (i=0;i<ciphercount;i++) {
- if ( (onlyenabled ==0) || ((onlyenabled==1)&&(ciphers[i].pref))) {
- PR_fprintf(PR_STDOUT,
- " %c %-45s %-12s %-12s\n",ciphers[i].number,ciphers[i].name,
- (ciphers[i].domestic==SSL_ALLOWED)?"Yes":
- ( (ciphers[i].domestic==SSL_NOT_ALLOWED)?"No":"Step-up only"),
- (ciphers[i].export==SSL_ALLOWED)?"Yes":
- ( (ciphers[i].export==SSL_NOT_ALLOWED)?"No":"Step-up only"));
- }
- }
-}
-
-
-void SetPolicy(char *c,int policy) { /* policy==1 : domestic, policy==0, export */
- int i,j,cpolicy;
- /* first, enable all relevant ciphers according to policy */
- for (j=0;j<(sizeof(ciphers)/sizeof(struct CipherPolicy));j++) {
- SSL_CipherPolicySet(ciphers[j].id,policy?ciphers[j].domestic:ciphers[j].export);
- SSL_CipherPrefSetDefault(ciphers[j].id, PR_FALSE);
- ciphers[j].pref =0;
- }
-
-
- for (i=0;i<(int)PL_strlen(c);i++) {
- for (j=0;j<(sizeof(ciphers)/sizeof(struct CipherPolicy));j++) {
- if (ciphers[j].number == c[i]) {
- cpolicy = policy?ciphers[j].domestic:ciphers[j].export;
- if (cpolicy == SSL_NOT_ALLOWED) {
- PR_fprintf(PR_STDOUT, "You're trying to enable a cipher (%c:%s) outside of your policy. ignored\n",
- c[i],ciphers[j].name);
- }
- else {
- ciphers[j].pref=1;
- SSL_CipherPrefSetDefault(ciphers[j].id, PR_TRUE);
- }
- }
- }
- }
-}
-
-
-int MyAuthCertificateHook(void *arg, PRFileDesc *fd, PRBool checksig, PRBool isserver) {
- return SECSuccess;
-}
-
-
-void Usage() {
-#ifdef SSLTELNET
- PR_fprintf(PR_STDOUT,"SSLTelnet ");
-#else
- PR_fprintf(PR_STDOUT,"SSLStrength (No telnet functionality) ");
-#endif
- PR_fprintf(PR_STDOUT,"Version 1.5\n");
-
- PR_fprintf(PR_STDOUT,"Usage:\n sslstrength hostname[:port] [ciphers=xyz] [certdir=x] [debug] [verbose] "
-#ifdef SSLTELNET
-"[telnet]|[servertype]|[querystring=<string>] "
-#endif
-"[policy=export|domestic]\n sslstrength ciphers\n");
-}
-
-
-PRInt32 debug = 0;
-PRInt32 verbose = 0;
-
-PRInt32 main(PRInt32 argc,char **argv, char **envp)
-{
-
-
- /* defaults for command line arguments */
- char *hostnamearg=NULL;
- char *portnumarg=NULL;
- char *sslversionarg=NULL;
- char *keylenarg=NULL;
- char *certdir=NULL;
- char *hostname;
- char *nickname=NULL;
- char *progname=NULL;
- /* struct sockaddr_in addr; */
- PRNetAddr addr;
-
- int ss_on;
- char *ss_cipher;
- int ss_keysize;
- int ss_secretsize;
- char *ss_issuer;
- char *ss_subject;
- int policy=1;
- char *set_ssl_policy=NULL;
- int print_ciphers=0;
-
- char buf[10];
- char netdbbuf[PR_NETDB_BUF_SIZE];
- PRHostEnt hp;
- PRStatus r;
- PRNetAddr na;
- SECStatus rv;
- int portnum=443; /* default https: port */
- PRFileDesc *s,*fd;
-
- CERTCertDBHandle *handle;
- CERTCertificate *c;
- PRInt32 i;
-#ifdef SSLTELNET
- struct termios tmp_tc;
- char cb;
- int prev_lflag,prev_oflag,prev_iflag;
- int t_fin,t_fout;
- int servertype=0, telnet=0;
- char *querystring=NULL;
-#endif
-
- debug = 0;
-
- progname = (char *)PL_strrchr(argv[0], '/');
- progname = progname ? progname+1 : argv[0];
-
- /* Read in command line args */
- if (argc == 1) {
- Usage();
- return(0);
- }
-
- if (! PL_strcmp("ciphers",argv[1])) {
- PrintCiphers(0);
- exit(0);
- }
-
- hostname = argv[1];
-
- if (!PL_strcmp(hostname , "usage") || !PL_strcmp(hostname, "-help") ) {
- Usage();
- exit(0);
- }
-
- if ((portnumarg = PL_strchr(hostname,':'))) {
- *portnumarg = 0;
- portnumarg = &portnumarg[1];
- }
-
- if (portnumarg) {
- if (*portnumarg == 0) {
- PR_fprintf(PR_STDOUT,"malformed port number supplied\n");
- return(1);
- }
- portnum = atoi(portnumarg);
- }
-
- for (i = 2 ; i < argc; i++)
- {
- if (!PL_strncmp(argv[i] , "sslversion=",11) )
- sslversionarg=&(argv[i][11]);
- else if (!PL_strncmp(argv[i], "certdir=",8) )
- certdir = &(argv[i][8]);
- else if (!PL_strncmp(argv[i], "ciphers=",8) )
- {
- set_ssl_policy=&(argv[i][8]);
- }
- else if (!PL_strncmp(argv[i], "policy=",7) ) {
- if (!PL_strcmp(&(argv[i][7]),"domestic")) policy=1;
- else if (!PL_strcmp(&(argv[i][7]),"export")) policy=0;
- else {
- PR_fprintf(PR_STDOUT,"sslstrength: invalid argument. policy must be one of (domestic,export)\n");
- }
- }
- else if (!PL_strcmp(argv[i] , "debug") )
- debug = 1;
-#ifdef SSLTELNET
- else if (!PL_strcmp(argv[i] , "telnet") )
- telnet = 1;
- else if (!PL_strcmp(argv[i] , "servertype") )
- servertype = 1;
- else if (!PL_strncmp(argv[i] , "querystring=",11) )
- querystring = &argv[i][12];
-#endif
- else if (!PL_strcmp(argv[i] , "verbose") )
- verbose = 1;
- }
-
-#ifdef SSLTELNET
- if (telnet && (servertype || querystring)) {
- PR_fprintf(PR_STDOUT,"You can't use telnet and (server or querystring) options at the same time\n");
- exit(1);
- }
-#endif
-
- PR_fprintf(PR_STDOUT,"Using %s policy\n",policy?"domestic":"export");
-
- /* allow you to set env var SSLDIR to set the cert directory */
- if (! certdir) certdir = SECU_DefaultSSLDir();
-
- /* if we don't have one still, initialize with no databases */
- if (!certdir) {
- rv = NSS_NoDB_Init(NULL);
-
- (void) SECMOD_AddNewModule("Builtins", DLL_PREFIX"nssckbi."DLL_SUFFIX,0,0);
- } else {
- rv = NSS_Init(certdir);
- SECU_ConfigDirectory(certdir);
- }
-
- /* Lookup host */
- r = PR_GetHostByName(hostname,netdbbuf,PR_NETDB_BUF_SIZE,&hp);
-
- if (r) {
- PrintErrString(progname,"Host Name lookup failed");
- return(1);
- }
-
- /* should the third field really be 0? */
-
- PR_EnumerateHostEnt(0,&hp,0,&na);
- PR_InitializeNetAddr(PR_IpAddrNull,portnum,&na);
-
- PR_fprintf(PR_STDOUT,"Connecting to %s:%d\n",hostname, portnum);
-
- /* Create socket */
-
- fd = PR_NewTCPSocket();
- if (fd == NULL) {
- PrintErrString(progname, "error creating socket");
- return -1;
- }
-
- s = SSL_ImportFD(NULL,fd);
- if (s == NULL) {
- PrintErrString(progname, "error creating socket");
- return -1;
- }
-
- dbmsg("10: About to enable security\n");
-
- rv = SSL_OptionSet(s, SSL_SECURITY, PR_TRUE);
- if (rv < 0) {
- PrintErrString(progname, "error enabling socket");
- return -1;
- }
-
- if (set_ssl_policy) {
- SetPolicy(set_ssl_policy,policy);
- }
- else {
- PR_fprintf(PR_STDOUT,"Using all ciphersuites usually found in client\n");
- if (policy) {
- SetPolicy("abcdefghijklmnopqrst",policy);
- }
- else {
- SetPolicy("efghijlmo",policy);
- }
- }
-
- PrintCiphers(1);
-
- rv = SSL_OptionSet(s, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE);
- if (rv < 0) {
- PrintErrString(progname, "error enabling client handshake");
- return -1;
- }
-
- dbmsg("30: About to set AuthCertificateHook\n");
-
-
- SSL_AuthCertificateHook(s, MyAuthCertificateHook, (void *)handle);
- /* SSL_AuthCertificateHook(s, SSL_AuthCertificate, (void *)handle); */
- /* SSL_GetClientAuthDataHook(s, GetClientAuthDataHook, (void *)nickname);*/
-
-
- dbmsg("40: About to SSLConnect\n");
-
- /* Try to connect to the server */
- /* now SSL_Connect takes new arguments. */
-
-
- r = PR_Connect(s, &na, PR_TicksPerSecond()*5);
- if (r < 0) {
- PrintErrString(progname, "unable to connect");
- return -1;
- }
-
- rv = SSL_ForceHandshake(s);
-
- if (rv) {
- PrintErrString(progname,"SSL Handshake failed. ");
- exit(1);
- }
-
- rv = SSL_SecurityStatus(s, &ss_on, &ss_cipher,
- &ss_keysize, &ss_secretsize,
- &ss_issuer, &ss_subject);
-
-
- dbmsg("60: done with security status, about to print\n");
-
- c = SSL_PeerCertificate(s);
- if (!c) PR_fprintf(PR_STDOUT,"Couldn't retrieve peers Certificate\n");
- PR_fprintf(PR_STDOUT,"SSL Connection Status\n",rv);
-
- PR_fprintf(PR_STDOUT," Cipher: %s\n",ss_cipher);
- PR_fprintf(PR_STDOUT," Key Size: %d\n",ss_keysize);
- PR_fprintf(PR_STDOUT," Secret Key Size: %d\n",ss_secretsize);
- PR_fprintf(PR_STDOUT," Issuer: %s\n",ss_issuer);
- PR_fprintf(PR_STDOUT," Subject: %s\n",ss_subject);
-
- PR_fprintf(PR_STDOUT," Valid: from %s to %s\n",
- c==NULL?"???":DER_TimeChoiceDayToAscii(&c->validity.notBefore),
- c==NULL?"???":DER_TimeChoiceDayToAscii(&c->validity.notAfter));
-
-#ifdef SSLTELNET
-
-
-
-
- if (servertype || querystring) {
- char buffer[1024];
- char ch;
- char qs[] = "HEAD / HTTP/1.0";
-
-
-
-
- if (!querystring) querystring = qs;
- PR_fprintf(PR_STDOUT,"\nServer query mode\n>>Sending:\n%s\n",querystring);
-
- PR_fprintf(PR_STDOUT,"\n*** Server said:\n");
- ch = querystring[PL_strlen(querystring)-1];
- if (ch == '"' || ch == '\'') {
- PR_fprintf(PR_STDOUT,"Warning: I'm not smart enough to cope with quotes mid-string like that\n");
- }
-
- rv = PR_Write(s,querystring,PL_strlen(querystring));
- if ((rv < 1) ) {
- PR_fprintf(PR_STDOUT,"Oh dear - couldn't send servertype query\n");
- goto closedown;
- }
-
- rv = PR_Write(s,"\r\n\r\n",4);
- rv = PR_Read(s,buffer,1024);
- if ((rv < 1) ) {
- PR_fprintf(PR_STDOUT,"Oh dear - couldn't read server repsonse\n");
- goto closedown;
- }
- PR_Write(PR_STDOUT,buffer,rv);
- }
-
-
- if (telnet) {
-
- PR_fprintf(PR_STDOUT,"---------------------------\n"
- "telnet mode. CTRL-C to exit\n"
- "---------------------------\n");
-
-
-
- /* fudge terminal attributes */
- t_fin = PR_FileDesc2NativeHandle(PR_STDIN);
- t_fout = PR_FileDesc2NativeHandle(PR_STDOUT);
-
- tcgetattr(t_fin,&tmp_tc);
- prev_lflag = tmp_tc.c_lflag;
- prev_oflag = tmp_tc.c_oflag;
- prev_iflag = tmp_tc.c_iflag;
- tmp_tc.c_lflag &= ~ECHO;
- /* tmp_tc.c_oflag &= ~ONLCR; */
- tmp_tc.c_lflag &= ~ICANON;
- tmp_tc.c_iflag &= ~ICRNL;
- tmp_tc.c_cflag |= CS8;
- tmp_tc.c_cc[VMIN] = 1;
- tmp_tc.c_cc[VTIME] = 0;
-
- tcsetattr(t_fin, TCSANOW, &tmp_tc);
- /* ioctl(tin, FIONBIO, (char *)&onoff);
- ioctl(tout, FIONBIO, (char *)&onoff);*/
-
-
- {
- PRPollDesc pds[2];
- char buffer[1024];
- int amt,amtwritten;
- char *x;
-
- /* STDIN */
- pds[0].fd = PR_STDIN;
- pds[0].in_flags = PR_POLL_READ;
- pds[1].fd = s;
- pds[1].in_flags = PR_POLL_READ | PR_POLL_EXCEPT;
-
- while (1) {
- int nfds;
-
- nfds = PR_Poll(pds,2,PR_SecondsToInterval(2));
- if (nfds == 0) continue;
-
- /** read input from keyboard*/
- /* note: this is very inefficient if reading from a file */
-
- if (pds[0].out_flags & PR_POLL_READ) {
- amt = PR_Read(PR_STDIN,&buffer,1);
- /* PR_fprintf(PR_STDOUT,"fd[0]:%d=%d\r\n",amt,buffer[0]); */
- if (amt == 0) {
- PR_fprintf(PR_STDOUT,"\n");
- goto loser;
- }
-
- if (buffer[0] == '\r') {
- buffer[0] = '\r';
- buffer[1] = '\n';
- amt = 2;
- }
- rv = PR_Write(PR_STDOUT,buffer,amt);
-
-
- rv = PR_Write(s,buffer,amt);
- if (rv == -1) {
- PR_fprintf(PR_STDOUT,"Error writing to socket: %d\n",PR_GetError());
- }
- }
-
- /***/
-
-
- /***/
- if (pds[1].out_flags & PR_POLL_EXCEPT) {
- PR_fprintf(PR_STDOUT,"\r\nServer closed connection\r\n");
- goto loser;
- }
- if (pds[1].out_flags & PR_POLL_READ) {
- amt = PR_Read(s,&buffer,1024);
-
- if (amt == 0) {
- PR_fprintf(PR_STDOUT,"\r\nServer closed connection\r\n");
- goto loser;
- }
- rv = PR_Write(PR_STDOUT,buffer,amt);
- }
- /***/
-
- }
- }
- loser:
-
- /* set terminal back to normal */
- tcgetattr(t_fin,&tmp_tc);
-
- tmp_tc.c_lflag = prev_lflag;
- tmp_tc.c_oflag = prev_oflag;
- tmp_tc.c_iflag = prev_iflag;
- tcsetattr(t_fin, TCSANOW, &tmp_tc);
-
- /* ioctl(tin, FIONBIO, (char *)&onoff);
- ioctl(tout, FIONBIO, (char *)&onoff); */
- }
-
-#endif
- /* SSLTELNET */
-
- closedown:
-
- PR_Close(s);
-
- if (NSS_Shutdown() != SECSuccess) {
- exit(1);
- }
-
- return(0);
-
-} /* main */
-
-/*EOF*/
-
diff --git a/security/nss/cmd/sslstrength/sslwrap b/security/nss/cmd/sslstrength/sslwrap
deleted file mode 100755
index 892fd349e..000000000
--- a/security/nss/cmd/sslstrength/sslwrap
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/usr/bin/perl
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-
-@profiles = (
-# "host:port" "policy" "ciphers" "exp-cipher" "expkeysize"
-
- [ "cfu:443", "export", "efijlmo", "RC4-40", "40" ],
- [ "hbombsgi:448", "export", "efijlmo", "RC4-40", "40" ],
- [ "hbombsgi:448", "domestic", "abcdefijklmo", "RC4", "128" ],
- [ "gandalf:5666", "domestic", "abcdefijklmo", "RC4", "128" ],
- [ "gandalf:5666", "export", "efijlmo", "RC4", "128" ],
- [ "gandalf:5666", "domestic", "j", "3DES-EDE-CBC", "168" ],
- [ "gandalf:5666", "domestic", "k", "DES-CBC", "56" ],
- [ "gandalf:5666", "export", "l", "RC4-40", "40" ],
- [ "gandalf:5666", "export", "efijlmo", "RC4", "128" ],
- [ "hbombcfu:443", "export", "efijlmo", "RC4", "128" ],
-
- );
-
-$file = &filename;
-
-open(HTML, ">$file.htm") || die"Cannot open html output file\n";
-
-$mutversion = "";
-$platform = $ARGV[0];
-
-
-print HTML
-"<HTML><HEAD>
-<TITLE>ssl/sslstrength: Version: $mutversion Platform: $platform Run date mm/dd/yy</TITLE></HEAD><BODY>\n";
-
-print HTML
-"<TABLE BORDER=1><TR>
-<TD><B>Test Case Number</B></TD>
-<TD><B>Program</B></TD>
-<TD><B>Description of Test Case</B></TD>
-<TD><B>Start date/time<B></TD>
-<TD><B>End date/time<B></TD>
-<TD><B>PASS/FAIL</B></TD>
-</TR>\n";
-
-$countpass =0;
-$countfail =0;
-
-
-$testnum =0;
-for $profile (@profiles) {
- $testnum ++;
- ($host, $policy, $ciphers, $expcipher, $expkeysize) = @$profile;
-
- $cmd = "./sslstrength $host policy=$policy ciphers=$ciphers";
-
- $starttime = &datestring." ".&timestring;
- print STDERR "$cmd\n";
- open(PIPE, "$cmd|") || die "Cannot start sslstrength\n";
-
- $cipher = "";
- $keysize = "";
- while (<PIPE>) {
- chop;
- if (/^ Cipher: *(.*)/) {
- $cipher = $1;
- }
- if (/^ Secret Key Size: (.*)/) {
- $keysize = $1;
- }
- }
- close(PIPE);
- $endtime = &datestring." ".&timestring;
-
- if (( $? != 0) || ($cipher ne $expcipher) || ($keysize ne $expkeysize)) {
- $countfail ++;
- $passed =0;
- }
- else {
- $countpass ++;
- $passed =1;
- }
-
-print HTML
-"<TR>
-<TD><B>$testnum</B></TD>
-<TD></TD>
-<TD>$cmd</TD>
-<TD>$starttime</TD>
-<TD>$endtime</TD>
-<TD><B>".($passed ? "PASS" : "<FONT COLOR=red>FAIL: return code =
-c=$cipher, ec=$expcipher, s=$keysize, es=$expkeysize.</FONT>")."
-</B></TD>
-</TR>\n";
-
-}
-
-print HTML "</table>\n";
-
-close(HTML);
-
-open (SUM, ">$file.sum") ||die "couldn't open summary file for writing\n";
-
-print SUM <<EOM;
-[Status]
-mut=SSL
-mutversion=1.0
-platform=$platform
-pass=$countpass
-fail=$countfail
-knownFail=0
-malformed=0
-EOM
-
- close(SUM);
-
-
-
-sub timestring
-{
-
- my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
- my $string;
-
- $string = sprintf "%2d:%02d:%02d",$hour, $min, $sec;
- return $string;
-}
-
-sub datestring
-{
-
- my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
- my $string;
-
- $string = sprintf "%d/%d/%2d",$mon+1, $mday+1, $year;
- return $string;
-}
-
-sub filename
-{
-
- my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
- my $string;
-
- $string = sprintf "%04d%02d%02d",$year+1900, $mon+1, $mday;
- return $string;
-}
-
-
-
-
-
-
diff --git a/security/nss/cmd/ttformat/Makefile b/security/nss/cmd/ttformat/Makefile
deleted file mode 100644
index 4de295a9c..000000000
--- a/security/nss/cmd/ttformat/Makefile
+++ /dev/null
@@ -1,78 +0,0 @@
-#! gmake
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-include ../platlibs.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-
-include ../platrules.mk
-
diff --git a/security/nss/cmd/ttformat/manifest.mn b/security/nss/cmd/ttformat/manifest.mn
deleted file mode 100644
index 39667ee88..000000000
--- a/security/nss/cmd/ttformat/manifest.mn
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Netscape security libraries.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1994-2000
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-CORE_DEPTH = ../../..
-
-DEFINES += -DNSPR20
-
-# MODULE public and private header directories are implicitly REQUIRED.
-MODULE = nss
-
-CSRCS = ttformat.c
-
-# The MODULE is always implicitly required.
-# Listing it here in REQUIRES makes it appear twice in the cc command line.
-REQUIRES = seccmd dbm
-
-PROGRAM = ttformat
-
diff --git a/security/nss/cmd/ttformat/nClient b/security/nss/cmd/ttformat/nClient
deleted file mode 100755
index aab8402bd..000000000
--- a/security/nss/cmd/ttformat/nClient
+++ /dev/null
@@ -1,49 +0,0 @@
-# /bin/ksh
-#
-# nClient -- run the nss test strsclnt for performance testing
-#
-# syntax: nClient [options]
-#
-# where: options are:
-# any valid command line option for strsclnt
-# Note that some options are set by this script!
-#
-# Description:
-# nClient runs the nss test program "strsclnt" for purposes of
-# gathering performance data.
-#
-# some shell variables are set at the top of the script
-# you may have to change these, depending on the host you
-# are running on and other "stuff". caveat emptor.
-#
-# You will have to tinker with this script to get it to
-# run for you.
-#
-# See also: nServ
-#
-# --- begin nClient -------------------------------------------------------
-baseDir=/home/lorenzo/nss-raw/mozilla
-#
-# shell variables for running strsclnt
-#
-export HOST=`hostname -s`
-export DOMSUF=red.iplanet.com
-serverHost=dbldog
-nssDB=${baseDir}/tests_results/security/${HOST}.1/client
-nssHost=${HOST}.red.iplanet.com
-pushd ${baseDir}/security/nss/tests/common
-objDir=`gmake objdir_name`
-popd
-#
-#
-nssOptions="-p 12944 ${serverHost}.red.iplanet.com"
-export LD_LIBRARY_PATH=${baseDir}/dist/${objDir}/lib
-clientProg=${baseDir}/security/nss/cmd/strsclnt/${objDir}/strsclnt
-#
-# do the test
-#
-nssCommand="${clientProg} -d ${nssDB} ${nssOptions}"
-echo $nssCommand $*
-${nssCommand} $* &
-#
-# --- end nClient --------------------------------------------------------
diff --git a/security/nss/cmd/ttformat/nServ b/security/nss/cmd/ttformat/nServ
deleted file mode 100755
index ddf51b0e8..000000000
--- a/security/nss/cmd/ttformat/nServ
+++ /dev/null
@@ -1,49 +0,0 @@
-# /bin/ksh
-#
-# nServ -- run the nss test selfserv for performance testing
-#
-# syntax: nServ [options]
-#
-# where: options are:
-# Valid arguments to the selfserv program
-# Note that this script sets some options
-#
-# Description:
-# nServ runs the nss test program "selfserv" for purposes of
-# gathering performance data.
-#
-# some shell variables are set at the top of the script
-# you may have to change these, depending on the host you
-# are running on and other "stuff". caveat emptor.
-#
-# See also: nClinet
-#
-# --- begin nServ -------------------------------------------------------
-#
-baseDir=/home/lorenzo/nss-server/mozilla
-#
-# shell variables for running selfserv
-#
-export HOST=`hostname -s`
-export DOMSUF=red.iplanet.com
-nssDB=${baseDir}/tests_results/security/${HOST}.1/server
-nssHost=${HOST}.red.iplanet.com
-nssOptions="-p 12944 -w nss"
-pushd ${baseDir}/security/nss/tests/common
-objDir=`gmake objdir_name`
-popd
-export LD_LIBRARY_PATH=${baseDir}/dist/${objDir}/lib
-#
-# shell variables for capturing instrumentation data
-#
-export NSPR_LOG_MODULES=TestCase:6
-export NSPR_LOG_FILE=xxxLogfile
-#
-# do the test
-#
-nssCommand="${baseDir}/dist/${objDir}/bin/selfserv -d ${nssDB} -n ${nssHost} ${nssOptions}"
-echo $nssCommand
-${nssCommand} $* &
-# xxgdb ${baseDir}/dist/${objDir}/bin/selfserv
-#
-# --- end nServ -------------------------------------------------------
diff --git a/security/nss/cmd/ttformat/redux.pl b/security/nss/cmd/ttformat/redux.pl
deleted file mode 100755
index ccc13c24a..000000000
--- a/security/nss/cmd/ttformat/redux.pl
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-# redux.pl -- general nss trace data extraction
-#
-# syntax: redux.pl
-#
-# redux.pl reads a file of formatted trace table records from stdin
-# The trace records are formatted by nssilock.c
-# redux.pl parses the lines and accumulates data in a hash
-# When finished with stdin, redux.pl traverses the hash and emits
-# the accumulated data.
-#
-# Operation:
-# read stdin, accumulate in a hash by file, line, type.
-# traverse the hash, reporting data.
-#
-# raw data format:
-# thredid op ltype callTime heldTime lock line file
-#
-# Notes:
-# After running redux.pl, sort the report on column 4 in decending sequence
-# to see where the lock contention is.
-#
-#
-# -----------------------------------------------------------------------
-use Getopt::Std;
-
-getopts("h") || die "redux.pl: unrecognized command option";
-
-
-# -----------------------------------------------------------------------
-# read stdin to exhaustion
-while ( <STDIN> ) {
- $recordCount++;
-# next if ($recordCount < 36000 ); # skip initialization records
- chomp;
- ($thredid, $op, $ltype, $callTime, $heldTime, $lock, $line, $file) = split;
-
-# select out un-interesting lines
-# next if (( $callTime < $opt_c ) && ( $heldTime < $opt_h ));
-# print $_, "\n";
-
-# count general stats
- $interesting++;
-
-# format the key
- $hashKey = $file ." ". $line ." ". $ltype;
-
-# Update the data in the hash entry
- $theData = $theHash{$hashKey}; # read it if it already exists
- ( $hCount, $hcallTime, $hheldTime, $hcallMax, $hheldMax ) = split(/\s+/, $theData );
- $hCount++;
- $hcallTime += $callTime;
- $hheldTime += $heldTime;
- $hcallMax = ( $hcallMax > $callTime )? $hcallMax : $callTime;
- $hheldMax = ( $hheldMax > $heldTime )? $hheldMax : $heldTime;
-
-# Write theData back to the hash
- $theData = $hCount." ".$hcallTime." ".$hheldTime." ".$hcallMax." ".$hheldMax;
- $theHash{$hashKey} = $theData;
-} # end while()
-
-# -----------------------------------------------------------------------
-# traverse theHash
- printf("%-16s %6s %-16s %8s %8s %8s %8s %8s\n",
- "File","line","ltype","hits","calltim","heldtim","callmax","heldmax" );
-while (($hashKey,$theData) = each(%theHash)) {
- $hashElements++;
- ($file, $line, $ltype) = split(/\s+/, $hashKey );
- ( $hCount, $hcallTime, $hheldTime, $hcallMax, $hheldMax ) = split(/\s+/, $theData );
- printf("%-16s %6d %-16s %8d %8d %8d %8d %8d\n",
- $file, $line, $ltype, $hCount, $hcallTime, $hheldTime, $hcallMax, $hheldMax );
-} # end while()
-
-# -----------------------------------------------------------------------
-# dump global statistics
-printf ("Record count: %d\n", $recordCount );
-printf("Interesting: %d, HashElements: %d\n", $interesting, $hashElements);
diff --git a/security/nss/cmd/ttformat/reduxhwm.pl b/security/nss/cmd/ttformat/reduxhwm.pl
deleted file mode 100644
index f442ff4e4..000000000
--- a/security/nss/cmd/ttformat/reduxhwm.pl
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# reduxhwm.pl -- analyze highwatermark data in xxxLogfile
-#
-# example interesting line in xxxLogfile
-# 1026[8154da0]: selfserv: Launched thread in slot 37, highWaterMark: 63
-#
-#
-#
-while ( <STDIN> ) {
- chomp;
- ($proc, $who, $launched, $thread, $in, $slotx, $slot, $hwm, $highwatermark) = split;
- if ( $launched == "Launched" ) {
- next if ( $slot == 0 );
- $notInteresting++;
- if ( $hwmMax < $highwatermark ){
- $hwmMax = $highwatermark;
- }
- $hwmArray[$slot] += 1;
- $interesting++;
- }
-} # end while()
-
-printf ("Interesteing: %d\n", $interesting );
-printf ("Not Interesting: %d\n", $notInteresting - $interesting );
-
-foreach $element (@hwmArray) {
- $percent = 100*($element / $interesting);
- $percentTotal += $percent;
- printf("Slot %2d: %d hits, %2.2f percent, %2.2f total percent\n", $i, $element, $percent, $percentTotal );
- $i++;
-}
-printf("Sum of percentages: %3.2f\n", $percentTotal );
-# --- end ---
diff --git a/security/nss/cmd/ttformat/ttformat.c b/security/nss/cmd/ttformat/ttformat.c
deleted file mode 100644
index 26c9bbbce..000000000
--- a/security/nss/cmd/ttformat/ttformat.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998-2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/*
-** File: ttformat.c
-** Description: ttformat.c reads the file "xxxTTLog". xxxTTLog
-** contains fixed length binary data written by nssilock.
-** ttformat formats the data to a human readable form (printf)
-** usable for visual scanning and for processing via a perl script.
-** Output is written to stdout
-**
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <nssilock.h>
-
-/*
-** struct maps enum nssILockType to character representation
-*/
-struct {
- nssILockType ltype;
- char *name;
-} ltypeNameT[] = {
- { nssILockArena, "Arena" },
- { nssILockSession, "Session" },
- { nssILockObject, "Object" },
- { nssILockRefLock, "RefLock" },
- { nssILockCert, "Cert", },
- { nssILockCertDB, "CertDB" },
- { nssILockDBM, "DBM" },
- { nssILockCache, "Cache" },
- { nssILockSSL, "SSL" },
- { nssILockList, "List" },
- { nssILockSlot, "Slot" },
- { nssILockFreelist, "Freelist" },
- { nssILockOID, "OID" },
- { nssILockAttribute, "Attribute" },
- { nssILockPK11cxt, "PK11Context" },
- { nssILockRWLock, "RWLock" },
- { nssILockOther, "Other" },
- { nssILockSelfServ, "SelfServ" }
-}; /* end ltypeNameT */
-
-/*
-** struct maps enum nssILockOp to character representation
-*/
-struct {
- nssILockOp op;
- char *name;
-} opNameT[] = {
- { FlushTT, "FlushTT" },
- { NewLock, "NewLock" },
- { Lock, "Lock" },
- { Unlock, "Unlock" },
- { DestroyLock, "DestroyLock" },
- { NewCondVar, "NewCondVar" },
- { WaitCondVar, "WaitCondVar" },
- { NotifyCondVar, "NotifyCondVar" },
- { NotifyAllCondVar, "NotifyAllCondVar" },
- { DestroyCondVar, "DestroyCondVar" },
- { NewMonitor, "NewMonitor" },
- { EnterMonitor, "EnterMonitor" },
- { ExitMonitor, "ExitMonitor" },
- { Notify, "Notify" },
- { NotifyAll, "NotifyAll" },
- { Wait, "Wait" },
- { DestroyMonitor, "DestroyMonitor" }
-}; /* end opNameT */
-
-
-int main(int argc, char *argv[])
-{
- FILE *filea;
- struct pzTrace_s inBuf;
- char *opName;
- char *ltypeName;
- int rCount = 0;
- int oCount = 0;
-
- filea = fopen( "xxxTTLog", "r" );
- if ( NULL == filea ) {
- fprintf( stderr, "ttformat: Oh drat! Can't open 'xxxTTLog'\n" );
- exit(1);
- }
-
- while(1 == (fread( &inBuf, sizeof(inBuf), 1 , filea ))) {
- ++rCount;
- if ( inBuf.op > DestroyMonitor ) continue;
- if ( inBuf.op < FlushTT ) continue;
-
- opName = opNameT[inBuf.op].name;
- ltypeName = ltypeNameT[inBuf.ltype].name;
-
- ++oCount;
- printf("%8d %18s %18s %6d %6d %12p %6d %20s\n",
- inBuf.threadID, opName, ltypeName, inBuf.callTime, inBuf.heldTime,
- inBuf.lock, inBuf.line, inBuf.file );
- } /* end while() */
-
- fprintf( stderr, "Read: %d, Wrote: %d\n", rCount, oCount );
- return 0;
-} /* main() */
-/* end ttformat.c */