summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryvesf <yvesf-git@xapek.org>2011-03-29 15:03:26 +0200
committeryvesf <yvesf-git@xapek.org>2011-03-29 15:03:26 +0200
commit12fe9c56af8a6562ee9c90a341a992a4c4ff5805 (patch)
tree4f508e08ba248fa767e346993542caffc77caf18
parent719c7b231cfc73201abab59ef38983c68ae5f6af (diff)
downloaddhbw-calendar-12fe9c56af8a6562ee9c90a341a992a4c4ff5805.tar.gz
dhbw-calendar-12fe9c56af8a6562ee9c90a341a992a4c4ff5805.zip
ssl-anleitung und php-proxy
-rw-r--r--src/site/resources/ics.php.txt62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/site/resources/ics.php.txt b/src/site/resources/ics.php.txt
new file mode 100644
index 0000000..db4140b
--- /dev/null
+++ b/src/site/resources/ics.php.txt
@@ -0,0 +1,62 @@
+<?php
+/*
+ ics.php "reverse-proxy"
+ Copyright (C) 2011 Yves Fischer (i08005)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+
+$proxy_url = "https://dualical.ba-horb.de:8443/dhbwcalendar/ics";
+$curl_handler = curl_init($proxy_url);
+
+curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, true);
+curl_setopt($curl_handler, CURLOPT_BINARYTRANSFER, true);
+curl_setopt($curl_handler, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
+curl_setopt($curl_handler, CURLOPT_WRITEFUNCTION, 'readResponse');
+curl_setopt($curl_handler, CURLOPT_HEADERFUNCTION, 'readHeaders');
+curl_setopt($curl_handler, CURLOPT_SSLVERSION, 3);
+curl_setopt($curl_handler, CURLOPT_CAINFO, getcwd() . "/ics_certificate.pem");
+curl_setopt($curl_handler, CURLOPT_SSL_VERIFYPEER, 1);
+curl_setopt($curl_handler, CURLOPT_VERBOSE, 0);
+
+function readResponse(&$curl, $string) {
+ echo $string;
+ return strlen($string);
+}
+
+function readHeaders(&$curl, $string) {
+ $length = strlen($string);
+ if ($string !== "\r\n") {
+ header(rtrim($string));
+ }
+ return $length;
+}
+
+$headers = apache_request_headers();
+$client_headers = array();
+foreach ($headers as $header => $value) {
+ switch($header) {
+ case 'Host':
+ break;
+ default:
+ $client_headers[] = sprintf('%s: %s', $header, $value);
+ break;
+ }
+}
+
+curl_setopt($curl_handler, CURLOPT_HTTPHEADER, $client_headers);
+curl_exec($curl_handler);
+//echo print_r(curl_getinfo($curl_handler), true);
+?>