Index: nss/lib/nss/nssoptions.c |
diff --git a/nss/lib/nss/nssoptions.c b/nss/lib/nss/nssoptions.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..10b0138df589813d752e911814f3c230ffd0789a |
--- /dev/null |
+++ b/nss/lib/nss/nssoptions.c |
@@ -0,0 +1,73 @@ |
+/* |
+ * NSS utility functions |
+ * |
+ * This Source Code Form is subject to the terms of the Mozilla Public |
+ * License, v. 2.0. If a copy of the MPL was not distributed with this |
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
+ |
+#include <ctype.h> |
+#include <string.h> |
+#include <assert.h> |
+ |
+#include "seccomon.h" |
+#include "secoidt.h" |
+#include "secoid.h" |
+#include "nss.h" |
+#include "nssoptions.h" |
+ |
+struct nssOps { |
+ PRInt32 rsaMinKeySize; |
+ PRInt32 dhMinKeySize; |
+ PRInt32 dsaMinKeySize; |
+}; |
+ |
+static struct nssOps nss_ops = { |
+ SSL_RSA_MIN_MODULUS_BITS, |
+ SSL_DH_MIN_P_BITS, |
+ SSL_DSA_MIN_P_BITS |
+}; |
+ |
+SECStatus |
+NSS_OptionSet(PRInt32 which, PRInt32 value) |
+{ |
+SECStatus rv = SECSuccess; |
+ |
+ switch (which) { |
+ case NSS_RSA_MIN_KEY_SIZE: |
+ nss_ops.rsaMinKeySize = value; |
+ break; |
+ case NSS_DH_MIN_KEY_SIZE: |
+ nss_ops.dhMinKeySize = value; |
+ break; |
+ case NSS_DSA_MIN_KEY_SIZE: |
+ nss_ops.dsaMinKeySize = value; |
+ break; |
+ default: |
+ rv = SECFailure; |
+ } |
+ |
+ return rv; |
+} |
+ |
+SECStatus |
+NSS_OptionGet(PRInt32 which, PRInt32 *value) |
+{ |
+SECStatus rv = SECSuccess; |
+ |
+ switch (which) { |
+ case NSS_RSA_MIN_KEY_SIZE: |
+ *value = nss_ops.rsaMinKeySize; |
+ break; |
+ case NSS_DH_MIN_KEY_SIZE: |
+ *value = nss_ops.dhMinKeySize; |
+ break; |
+ case NSS_DSA_MIN_KEY_SIZE: |
+ *value = nss_ops.dsaMinKeySize; |
+ break; |
+ default: |
+ rv = SECFailure; |
+ } |
+ |
+ return rv; |
+} |
+ |