From 42db69cc217c2f866826d92de78a811999ec7d2e Mon Sep 17 00:00:00 2001
From: Conor Bennett <cjnb@ucc.asn.au>
Date: Tue, 16 Jan 2024 12:38:24 +0800
Subject: [PATCH] Password auth for webcam access + previous uncommitted
 changes Co-authored-by: some noncommitters

---
 .gitignore   |  2 ++
 .htaccess    | 11 +++++++++++
 401.html     |  2 ++
 archive.html |  3 +++
 archive.js   |  1 +
 archive.php  |  1 +
 webcam.css   |  4 ++--
 webcams.js   |  2 +-
 8 files changed, 23 insertions(+), 3 deletions(-)
 create mode 100644 .gitignore
 create mode 100755 401.html

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0b829f9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*~
+password
diff --git a/.htaccess b/.htaccess
index 36e0d11..a4da0ed 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,2 +1,13 @@
 #Options +Indexes +ExecCGI +Multiviews
 addhandler cgi-script .py
+
+# Authentication
+AuthType Basic
+AuthName "Restricted Content"
+AuthBasicProvider file ldap
+AuthUserFile /home/other/webcam/public-html/password
+AuthLDAPURL ldaps://ad.ucc.gu.uwa.edu.au/dc=ad,dc=ucc,dc=gu,dc=uwa,dc=edu,dc=au?cn
+AuthLDAPInitialBindAsUser on
+AuthLDAPInitialBindPattern (.+) cn=$1,cn=Users,dc=ad,dc=ucc,dc=gu,dc=uwa,dc=edu,dc=au
+Require valid-user
+ErrorDocument 401 /401.html
diff --git a/401.html b/401.html
new file mode 100755
index 0000000..a898bf5
--- /dev/null
+++ b/401.html
@@ -0,0 +1,2 @@
+<h1>Unauthorized</h1>
+<p>See here: <a href="https://wiki.ucc.asn.au/Webcam#Authentication">https://wiki.ucc.asn.au/Webcam#Authentication</a></p>
diff --git a/archive.html b/archive.html
index e75c150..6c63b05 100755
--- a/archive.html
+++ b/archive.html
@@ -58,6 +58,7 @@
    <div class="camera" id="webcam1"><img alt="Webcam 2"></div>
    <div class="camera" id="ipcamera1"><img alt="IPCamera1"></div>
    <div class="camera" id="ipcamera11"><img alt="IPCamera11"></div>
+   <div class="camera" id="ipcamera12"><img alt="IPCamera12"></div>
    <div class="camera" id="ipcamera2"><img alt="IPCamera2"></div>
    <div class="camera" id="ipcamera3"><img alt="IPCamera3"></div>
    <div class="camera" id="ipcamera4"><img alt="IPCamera4"></div>
@@ -66,7 +67,9 @@
    <div class="camera" id="ipcamera6"><img alt="IPCamera6"></div>
    <div class="camera" id="ipcamera9"><img alt="IPCamera9"></div>
    <div class="camera" id="ipcamera10"><img alt="IPCamera10"></div>
+   <!-- unisfa committee requested archive not be readily available 2022-03-31
    <div class="camera" id="ipcamera8"><img alt="IPCamera8"></div>
+   -->
   </div>
   <div id="footerNav" class="nav">
    <table>
diff --git a/archive.js b/archive.js
index cec3f38..768083c 100755
--- a/archive.js
+++ b/archive.js
@@ -322,6 +322,7 @@ function setDate()
 		updateWebcam ("uvc1"   , "archive.php?camera=uvc1&timestamp=" + timestamp);
 		updateWebcam ("ipcamera1", "archive.php?camera=ipcamera1&timestamp=" + timestamp);
 		updateWebcam ("ipcamera11", "archive.php?camera=ipcamera11&timestamp=" + timestamp);
+		updateWebcam ("ipcamera12", "archive.php?camera=ipcamera12&timestamp=" + timestamp);
 		updateWebcam ("ipcamera2", "archive.php?camera=ipcamera2&timestamp=" + timestamp);
 		updateWebcam ("ipcamera3", "archive.php?camera=ipcamera3&timestamp=" + timestamp);
 		updateWebcam ("ipcamera4", "archive.php?camera=ipcamera4&timestamp=" + timestamp);
diff --git a/archive.php b/archive.php
index 7030541..b67357d 100644
--- a/archive.php
+++ b/archive.php
@@ -14,6 +14,7 @@
 		"ipcamera1",
 		"ipcamera10",
 		"ipcamera11",
+		"ipcamera12",
 		"ipcamera2",
 		"ipcamera3",
 		"ipcamera4",
diff --git a/webcam.css b/webcam.css
index d8924d3..d7eb46b 100644
--- a/webcam.css
+++ b/webcam.css
@@ -68,8 +68,8 @@ h1 {
 }
 
 .camera img {
-    max-width: 465px;
-    width: 100%;
+    width: 465px;
+    max-width: 100%;
 }
 
 .footer {
diff --git a/webcams.js b/webcams.js
index c84f34b..6f5e2ba 100755
--- a/webcams.js
+++ b/webcams.js
@@ -66,7 +66,7 @@ function updateWebcam (webcamid, webcamurl)
 function updateTime()
 {
 	var date = new Date ();
-	updateWebcam ("ipcamera1", "camera.php?camera=ipcamera1");
+	updateWebcam ("ipcamera11", "camera.php?camera=ipcamera11");
 	updateWebcam ("ipcamera2", "camera.php?camera=ipcamera2");
 	updateWebcam ("ipcamera3", "camera.php?camera=ipcamera3");
 	updateWebcam ("ipcamera4", "camera.php?camera=ipcamera4");
-- 
GitLab