summaryrefslogtreecommitdiff
path: root/frontends/monkey/cert.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2020-05-22 09:01:39 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2020-05-22 09:01:39 +0100
commite6c666d4f432d51ff449bbd4dfd137107c9e774c (patch)
tree9e66a539e1a0cd55d1146c4898f71aecfddabdf5 /frontends/monkey/cert.c
parent10fc242aa94c8a9a440baccbf7170b36b4d54cb7 (diff)
downloadnetsurf-e6c666d4f432d51ff449bbd4dfd137107c9e774c.tar.gz
netsurf-e6c666d4f432d51ff449bbd4dfd137107c9e774c.tar.bz2
chore: Perform sslcert_viewer-ectomy
This removes the sslcert_viewer entirely from the code. Where possible I've also trimmed out of frontends any code I think should not be present. Frontends should check and remove any further references that I have failed to catch. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'frontends/monkey/cert.c')
-rw-r--r--frontends/monkey/cert.c149
1 files changed, 0 insertions, 149 deletions
diff --git a/frontends/monkey/cert.c b/frontends/monkey/cert.c
deleted file mode 100644
index 3ec2fbee0..000000000
--- a/frontends/monkey/cert.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2011 Daniel Silverstone <dsilvers@digital-scurf.org>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "utils/ring.h"
-#include "utils/nsurl.h"
-#include "content/urldb.h"
-
-#include "monkey/output.h"
-#include "monkey/cert.h"
-
-struct monkey_cert {
- struct monkey_cert *r_next, *r_prev;
- uint32_t num;
- nserror (*cb)(bool,void*);
- void *cbpw;
- nsurl *url;
-};
-
-static struct monkey_cert *cert_ring = NULL;
-static uint32_t cert_ctr = 0;
-
-nserror
-gui_cert_verify(nsurl *url,
- const struct cert_chain *chain,
- nserror (*cb)(bool proceed, void *pw),
- void *cbpw)
-{
- struct monkey_cert *mcrt_ctx;
-
- mcrt_ctx = calloc(sizeof(*mcrt_ctx), 1);
- if (mcrt_ctx == NULL) {
- return NSERROR_NOMEM;
- }
-
- mcrt_ctx->cb = cb;
- mcrt_ctx->cbpw = cbpw;
- mcrt_ctx->num = cert_ctr++;
- mcrt_ctx->url = nsurl_ref(url);
-
- RING_INSERT(cert_ring, mcrt_ctx);
-
- moutf(MOUT_SSLCERT, "VERIFY CWIN %u URL %s",
- mcrt_ctx->num, nsurl_access(url));
-
- return NSERROR_OK;
-}
-
-
-static struct monkey_cert *
-monkey_find_sslcert_by_num(uint32_t sslcert_num)
-{
- struct monkey_cert *ret = NULL;
-
- RING_ITERATE_START(struct monkey_cert, cert_ring, c_ring) {
- if (c_ring->num == sslcert_num) {
- ret = c_ring;
- RING_ITERATE_STOP(cert_ring, c_ring);
- }
- } RING_ITERATE_END(cert_ring, c_ring);
-
- return ret;
-}
-
-static void free_sslcert_context(struct monkey_cert *mcrt_ctx) {
- moutf(MOUT_SSLCERT, "DESTROY CWIN %u", mcrt_ctx->num);
- RING_REMOVE(cert_ring, mcrt_ctx);
- if (mcrt_ctx->url) {
- nsurl_unref(mcrt_ctx->url);
- }
- free(mcrt_ctx);
-}
-
-static void
-monkey_sslcert_handle_go(int argc, char **argv)
-{
- struct monkey_cert *mcrt_ctx;
-
- if (argc != 3) {
- moutf(MOUT_ERROR, "SSLCERT GO ARGS BAD");
- return;
- }
-
- mcrt_ctx = monkey_find_sslcert_by_num(atoi(argv[2]));
- if (mcrt_ctx == NULL) {
- moutf(MOUT_ERROR, "SSLCERT NUM BAD");
- return;
- }
-
- urldb_set_cert_permissions(mcrt_ctx->url, true);
-
- mcrt_ctx->cb(true, mcrt_ctx->cbpw);
-
- free_sslcert_context(mcrt_ctx);
-}
-
-static void
-monkey_sslcert_handle_destroy(int argc, char **argv)
-{
- struct monkey_cert *mcrt_ctx;
-
- if (argc != 3) {
- moutf(MOUT_ERROR, "SSLCERT DESTROY ARGS BAD");
- return;
- }
-
- mcrt_ctx = monkey_find_sslcert_by_num(atoi(argv[2]));
- if (mcrt_ctx == NULL) {
- moutf(MOUT_ERROR, "SSLCERT NUM BAD");
- return;
- }
-
- mcrt_ctx->cb(false, mcrt_ctx->cbpw);
-
- free_sslcert_context(mcrt_ctx);
-}
-
-void
-monkey_sslcert_handle_command(int argc, char **argv)
-{
- if (argc == 1)
- return;
-
- if (strcmp(argv[1], "DESTROY") == 0) {
- monkey_sslcert_handle_destroy(argc, argv);
- } else if (strcmp(argv[1], "GO") == 0) {
- monkey_sslcert_handle_go(argc, argv);
- } else {
- moutf(MOUT_ERROR, "SSLCERT COMMAND UNKNOWN %s", argv[1]);
- }
-}