From 03f8ea2b9c9ca63c0dfb47fb03b0a15c46e33294 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 1 Jan 2022 17:32:03 -0500 Subject: [PATCH] Set up a proper favicon.ico in both webcit-classic and webcit-ng with a version of the Citadel logo in it --- webcit-ng/request.c | 5 +++++ webcit-ng/static.c | 5 +++++ webcit-ng/static/{ => images}/citadel-logo.gif | Bin webcit-ng/static/images/favicon.ico | Bin 0 -> 2238 bytes webcit-ng/static/{ => images}/throbber.gif | Bin webcit-ng/static/js/main.js | 2 +- webcit/static/favicon.ico | Bin 894 -> 2238 bytes 7 files changed, 11 insertions(+), 1 deletion(-) rename webcit-ng/static/{ => images}/citadel-logo.gif (100%) create mode 100644 webcit-ng/static/images/favicon.ico rename webcit-ng/static/{ => images}/throbber.gif (100%) diff --git a/webcit-ng/request.c b/webcit-ng/request.c index a27a65ac2..349bae915 100644 --- a/webcit-ng/request.c +++ b/webcit-ng/request.c @@ -97,6 +97,11 @@ void perform_request(struct http_transaction *h) { return; } + if (!strcasecmp(h->url, "/favicon.ico")) { + output_static(h); + return; + } + // Everything below this line is strictly REST URL patterns. if (strncasecmp(h->url, HKEY("/ctdl/"))) { // Reject non-REST diff --git a/webcit-ng/static.c b/webcit-ng/static.c index f4aefa776..c34f12e3a 100644 --- a/webcit-ng/static.c +++ b/webcit-ng/static.c @@ -20,12 +20,17 @@ void output_static(struct http_transaction *h) { char filename[PATH_MAX]; struct stat statbuf; + syslog(LOG_DEBUG, "static: %s", h->url); + if (!strncasecmp(h->url, "/ctdl/s/", 8)) { snprintf(filename, sizeof filename, "static/%s", &h->url[8]); } else if (!strncasecmp(h->url, "/.well-known/", 13)) { snprintf(filename, sizeof filename, "static/.well-known/%s", &h->url[13]); } + else if (!strcasecmp(h->url, "/favicon.ico")) { + snprintf(filename, sizeof filename, "static/images/favicon.ico"); + } else { do_404(h); return; diff --git a/webcit-ng/static/citadel-logo.gif b/webcit-ng/static/images/citadel-logo.gif similarity index 100% rename from webcit-ng/static/citadel-logo.gif rename to webcit-ng/static/images/citadel-logo.gif diff --git a/webcit-ng/static/images/favicon.ico b/webcit-ng/static/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d8305d983732c460e76cd0f5ec1626df0e44459b GIT binary patch literal 2238 zcmb7^eN>az9ml^aY_3%~!*j|!a|L>~PS4!gsk*gVDNhJ52}vjI zKF|H!-+k`O_Xe0kzpyY+IUPHv1J3}MM?p;xD8%*&1^B9oatf6cE{6+=@riKdx!|$8 zv2@W=logaho1jHnavJX6yN^_LD%P!D2S=_0oO7t-)j0e4StQC6kswQeBjYucI=%1| zdQe$biF03^!@l-?P{t_XusV>gOGn@BJ{&r52vrqTNY|$0!nq5u8m)M}r~-=Uc*qOA z*ig3tDTyh_O3Om+?`vU9&_VyfQCQNt3Gm&U_R&laNv32_OKER`TWN{%v58MI0*+y!p9ZAB=y7C}cmCNc(Ur5YuU zFPN;hux-hwy31P>oR#L&Jsj+R#HjIpnAZl3@^htWC;#BDG?@>8XMPdM5-ngEzK=BcJvt9TH0{(#7V?S;?UU8h^=pL#pX@*Fr}MtrRxfMuJxd1 zO%3+{Z9j79{09dIQNFw!U-oB?5N0>_(+~1&k?1IIT_;*a{FU#NySuKcVBj z4!Ck%Snlw^M1HW*y0w34!}fQ#leY{|lP|r+CD4&iKRWUek`zfe&~X664~CJPm<+vI z4_!hsO7p$c_5gBYExlkP?=dGq3hi|D-Ai3(RaOetBY z-&l`5t$Wbk)($!OS5E%9as39aU%!q_x;r;-+(fCn6!O$8RFqV}YPP~=wjpv!B>6Uz z_P&+8n@c{4nYhcG&w4?n)oLYL?ay4C|1&Qo#wW3^{w3!>UMn!h1SSYI1rj%L3Hw6#1c%|po>pIn zv!R3LZ}BF^GJg_C`Ldi4J!8*viQt!iKKg(Bio&sY<>c|t{Eq3r%9kpFp8dmQ&dZ5g z14%hjMF!1m()_qh(9g-){qy_3j*=?0uZeullk+E@xnSXmUC+HI^KrZ2w|;J8ncg4% z{j+(I#3hu!fmu9Htbc;v82+?9QWjzm`AWu~el~tW`C>oHUl1`c@45T3aE-`+(Zz)3 zJn_gE&ACUsh3OYG&R?=GM;307(1G%z5ITOJdg=88raT-PI=?Qoq0B5XQUmvx=Da8s zmGMXF{TqR4luC_4sbDPksdHino}V5^T2ab*xrKZr`biYkPm5ppMrjf;S*f5@#Q16eE{)`0@Qr5o#s(1p8z?TS zC=Qm9eZ=@s { // Display a room list in the main div. // function display_room_list() { - document.getElementById("roomlist").innerHTML = ""; // show throbber while loading + document.getElementById("roomlist").innerHTML = ""; // show throbber while loading fetch_room_list = async() => { response = await fetch("/ctdl/r/"); diff --git a/webcit/static/favicon.ico b/webcit/static/favicon.ico index d0c1741f9226ee02df503d48e354a657121d84fc..d8305d983732c460e76cd0f5ec1626df0e44459b 100644 GIT binary patch literal 2238 zcmb7^eN>az9ml^aY_3%~!*j|!a|L>~PS4!gsk*gVDNhJ52}vjI zKF|H!-+k`O_Xe0kzpyY+IUPHv1J3}MM?p;xD8%*&1^B9oatf6cE{6+=@riKdx!|$8 zv2@W=logaho1jHnavJX6yN^_LD%P!D2S=_0oO7t-)j0e4StQC6kswQeBjYucI=%1| zdQe$biF03^!@l-?P{t_XusV>gOGn@BJ{&r52vrqTNY|$0!nq5u8m)M}r~-=Uc*qOA z*ig3tDTyh_O3Om+?`vU9&_VyfQCQNt3Gm&U_R&laNv32_OKER`TWN{%v58MI0*+y!p9ZAB=y7C}cmCNc(Ur5YuU zFPN;hux-hwy31P>oR#L&Jsj+R#HjIpnAZl3@^htWC;#BDG?@>8XMPdM5-ngEzK=BcJvt9TH0{(#7V?S;?UU8h^=pL#pX@*Fr}MtrRxfMuJxd1 zO%3+{Z9j79{09dIQNFw!U-oB?5N0>_(+~1&k?1IIT_;*a{FU#NySuKcVBj z4!Ck%Snlw^M1HW*y0w34!}fQ#leY{|lP|r+CD4&iKRWUek`zfe&~X664~CJPm<+vI z4_!hsO7p$c_5gBYExlkP?=dGq3hi|D-Ai3(RaOetBY z-&l`5t$Wbk)($!OS5E%9as39aU%!q_x;r;-+(fCn6!O$8RFqV}YPP~=wjpv!B>6Uz z_P&+8n@c{4nYhcG&w4?n)oLYL?ay4C|1&Qo#wW3^{w3!>UMn!h1SSYI1rj%L3Hw6#1c%|po>pIn zv!R3LZ}BF^GJg_C`Ldi4J!8*viQt!iKKg(Bio&sY<>c|t{Eq3r%9kpFp8dmQ&dZ5g z14%hjMF!1m()_qh(9g-){qy_3j*=?0uZeullk+E@xnSXmUC+HI^KrZ2w|;J8ncg4% z{j+(I#3hu!fmu9Htbc;v82+?9QWjzm`AWu~el~tW`C>oHUl1`c@45T3aE-`+(Zz)3 zJn_gE&ACUsh3OYG&R?=GM;307(1G%z5ITOJdg=88raT-PI=?Qoq0B5XQUmvx=Da8s zmGMXF{TqR4luC_4sbDPksdHino}V5^T2ab*xrKZr`biYkPm5ppMrjf;S*f5@#Q16eE{)`0@Qr5o#s(1p8z?TS zC=Qm9eZ=@s_? z%~QrejZ#XKISFL4={c8&+(PY<+@+`{1A(1qb^MOK3;%}~V|YLy*aWi?QE zG5KAA0oiJ`phc&)Xh(EkfQ}7^CdU66)+Us`sb6kGmr1y zyxOh0auEuT1bHoJ03-3dXQ&!5ybBp)bU$ZOb4ImeP}y_23o89Zjus3^ybnJ+QeUz) z!s9t7#f|mFto`pp#zxo#g-4Qe>d}G$3BK&TFC?cN`Wu(JJ84bt$3^qr(u6edR_%4< zc1k5A7?9vMe1^lcTcJ3Q*Mkbt$@zY=pui*(=0_ z6+ak|5?>9`HO_ia$u#S0KX&rzc!*^gC_Iw=LJTb!na8OrXRAf*jcnv-`%Uu$|MSyk zvr+uEwNg*{QDFf8&Ep7GEo^Tesgil&Bq2wgglyxQIzh-od_UsGN7J_dbRsA6;<;bT CZ0{TZ -- 2.30.2