tAdd a flag for custom certificates - surf - customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit d66904675dddd63bab62e9e962cf195248a8bf97
 (DIR) parent 7823ab6fc0d035a1e75a3d08867a0dfd04ff635f
 (HTM) Author: Quentin Rameau <quinq@fifth.space>
       Date:   Sat, 29 Apr 2017 17:21:12 +0200
       
       Add a flag for custom certificates
       
       I don't think a keybinding would be useful here because we can't
       remove a custom certificate which is alread set anyway.
       I'll add it if somebody convince me of it's usefulness.
       
       Diffstat:
         M surf.1                              |       9 +++++++++
         M surf.c                              |      16 ++++++++++++----
       
       2 files changed, 21 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/surf.1 b/surf.1
       t@@ -126,6 +126,12 @@ Prints xid to standard output. This can be used to script the browser in for
        example
        .BR xdotool(1).
        .TP
       +.B -x
       +Disable custom certificates.
       +.TP
       +.B -X
       +Enable custom certificates.
       +.TP
        .B \-z zoomlevel 
        Specify the
        .I zoomlevel
       t@@ -268,6 +274,9 @@ plugins
        .TP
        .B m M
        styles
       +.TP
       +.B x X
       +custom certificates
        .SH INDICATORS OF WEB PAGE
        The second part of the indicators specifies modes of the web page itself.
        .SS First character: encryption
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -236,7 +236,7 @@ static void clicknewwindow(Client *c, const Arg *a, WebKitHitTestResult *h);
        static void clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h);
        
        static char winid[64];
       -static char togglestats[11];
       +static char togglestats[12];
        static char pagestats[2];
        static Atom atoms[AtomLast];
        static Window embed;
       t@@ -590,8 +590,9 @@ gettogglestats(Client *c)
                togglestats[6] = curconfig[Plugins].val.b ?         'V' : 'v';
                togglestats[7] = curconfig[Style].val.b ?           'M' : 'm';
                togglestats[8] = curconfig[FrameFlattening].val.b ? 'F' : 'f';
       -        togglestats[9] = curconfig[StrictTLS].val.b ?       'T' : 't';
       -        togglestats[10] = '\0';
       +        togglestats[9] = curconfig[Certificate].val.b ?     'X' : 'x';
       +        togglestats[10] = curconfig[StrictTLS].val.b ?      'T' : 't';
       +        togglestats[11] = '\0';
        }
        
        void
       t@@ -881,7 +882,7 @@ newwindow(Client *c, const Arg *a, int noembed)
        {
                int i = 0;
                char tmp[64];
       -        const char *cmd[28], *uri;
       +        const char *cmd[29], *uri;
                const Arg arg = { .v = cmd };
        
                cmd[i++] = argv0;
       t@@ -921,6 +922,7 @@ newwindow(Client *c, const Arg *a, int noembed)
                }
                if (showxid)
                        cmd[i++] = "-w";
       +        cmd[i++] = curconfig[Certificate].val.b ? "-X" : "-x" ;
                /* do not keep zoom level */
                cmd[i++] = "--";
                if ((uri = a->v))
       t@@ -1902,6 +1904,12 @@ main(int argc, char *argv[])
                case 'w':
                        showxid = 1;
                        break;
       +        case 'x':
       +                defconfig CSETB(Certificate, 0);
       +                break;
       +        case 'X':
       +                defconfig CSETB(Certificate, 1);
       +                break;
                case 'z':
                        defconfig CSETF(ZoomLevel, strtof(EARGF(usage()), NULL));
                        break;