summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2014-06-04 15:18:30 +0200
committerSimon Rettberg2014-06-04 15:18:30 +0200
commit2b2df5bf91f06cbc64368b9a0816fd3c5a60f4d2 (patch)
tree1b7ae71d2d19eb502f7b4efd52401a48a9afbd25
parentRemove old download stuff (diff)
downloadslx-admin-2b2df5bf91f06cbc64368b9a0816fd3c5a60f4d2.tar.gz
slx-admin-2b2df5bf91f06cbc64368b9a0816fd3c5a60f4d2.tar.xz
slx-admin-2b2df5bf91f06cbc64368b9a0816fd3c5a60f4d2.zip
Add RO-Credentials to CIFS VMStore
-rw-r--r--apis/getconfig.inc.php19
-rw-r--r--modules/vmstore.inc.php2
-rw-r--r--style/default.css6
-rw-r--r--templates/page-vmstore.html32
4 files changed, 37 insertions, 22 deletions
diff --git a/apis/getconfig.inc.php b/apis/getconfig.inc.php
index f29118c8..0a8db6be 100644
--- a/apis/getconfig.inc.php
+++ b/apis/getconfig.inc.php
@@ -1,6 +1,9 @@
<?php
-require_once 'inc/property.inc.php';
+function escape($string)
+{
+ return str_replace("'", "\\'", $string);
+}
// Dump config from DB
$res = Database::simpleQuery('SELECT setting.setting, setting.defaultvalue, setting.permissions, setting.description, tbl.value
@@ -12,20 +15,24 @@ while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
echo $row['setting'] . "='" . str_replace("'", "'\"'\"'", $row['value']) . "'\n";
}
// Additional "intelligent" config
-echo "SLX_REMOTE_LOG='http://${_SERVER['SERVER_ADDR']}/slxadmin/api.php?do=clientlog'\n";
-$vmstore = Property::getVmStoreConfig();
+// Remote log URL
+echo "SLX_REMOTE_LOG='http://" . escape($_SERVER['SERVER_ADDR']) . "/slxadmin/api.php?do=clientlog'\n";
+// VMStore path and type
+$vmstore = Property::getVmStoreConfig();
if (is_array($vmstore)) {
switch ($vmstore['storetype']) {
case 'internal';
- echo "SLX_VM_NFS='{$_SERVER['SERVER_ADDR']}:/srv/openslx/nfs'\n";
+ echo "SLX_VM_NFS='" . escape($_SERVER['SERVER_ADDR']) . ":/srv/openslx/nfs'\n";
break;
case 'nfs';
- echo "SLX_VM_NFS='{$vmstore['nfsaddr']}'\n";
+ echo "SLX_VM_NFS='" . escape($vmstore['nfsaddr']) . "'\n";
break;
case 'cifs';
- echo "SLX_VM_NFS='{$vmstore['cifsaddr']}'\n";
+ echo "SLX_VM_NFS='" . escape($vmstore['cifsaddr']) . "'\n";
+ echo "SLX_VM_NFS_USER='" . escape($vmstore['cifsuserro']) . "'\n";
+ echo "SLX_VM_NFS_PASSWD='" . escape($vmstore['cifspasswdro']) . "'\n";
break;
}
}
diff --git a/modules/vmstore.inc.php b/modules/vmstore.inc.php
index a8f2ec48..602ab258 100644
--- a/modules/vmstore.inc.php
+++ b/modules/vmstore.inc.php
@@ -39,7 +39,7 @@ class Page_VmStore extends Page
private function setStore()
{
- foreach (array('storetype', 'nfsaddr', 'cifsaddr', 'cifsuser', 'cifspasswd') as $key) {
+ foreach (array('storetype', 'nfsaddr', 'cifsaddr', 'cifsuser', 'cifspasswd', 'cifsuserro', 'cifspasswdro') as $key) {
$vmstore[$key] = trim(Request::post($key, ''));
}
$storetype = $vmstore['storetype'];
diff --git a/style/default.css b/style/default.css
index 3e5f1a56..813e54c2 100644
--- a/style/default.css
+++ b/style/default.css
@@ -98,4 +98,8 @@ body {
.input-group {
margin-bottom: 2px;
-} \ No newline at end of file
+}
+
+.slx-md-width {
+ max-width: 600px;
+}
diff --git a/templates/page-vmstore.html b/templates/page-vmstore.html
index 8732276f..1dde2734 100644
--- a/templates/page-vmstore.html
+++ b/templates/page-vmstore.html
@@ -6,7 +6,7 @@
<div class="panel-heading">
VM Speicherort <a class="btn btn-default" data-toggle="modal" data-target="#help-store"><span class="glyphicon glyphicon-question-sign"></span></a>
</div>
- <div class="panel-body">
+ <div class="panel-body slx-md-width">
<p>Bitte wählen Sie, wo die Images der Virtuellen Maschinen gespeichert werden sollen.</p>
<div class="panel panel-default">
<div class="panel-heading">
@@ -21,12 +21,8 @@
<input type="radio" name="storetype" value="nfs" {{pre-nfs}}> NFS
</div>
<div class="panel-body">
- <div class="input-group">
- <span class="input-group-addon slx-ga">
- NFS-Export
- </span>
- <input type="text" class="form-control" name="nfsaddr" value="{{nfsaddr}}" placeholder="1.2.3.4:/export/bwlp">
- </div>
+ <label for="nfsaddr">NFS-Export</label>
+ <input type="text" class="form-control" name="nfsaddr" value="{{nfsaddr}}" placeholder="1.2.3.4:/export/bwlp" id="nfsaddr">
</div>
</div>
<div class="panel panel-default">
@@ -34,23 +30,31 @@
<input type="radio" name="storetype" value="cifs" {{pre-cifs}}> CIFS
</div>
<div class="panel-body">
+ <label for="cifsaddr">UNC-Pfad</label>
+ <input type="text" class="form-control" name="cifsaddr" value="{{cifsaddr}}" placeholder="\\samba.server.example.com\bwlp" id="cifsaddr">
+ <br>
+ <label for="cifsuser">Lese/Schreib-Zugangsdaten</label>
<div class="input-group">
<span class="input-group-addon slx-ga">
- UNC-Pfad
+ Benutzername
+ </span>
+ <input type="text" class="form-control" name="cifsuser" value="{{cifsuser}}" placeholder="Benutzername" id="cifsuser">
+ <span class="input-group-addon">
+ Passwort
</span>
- <input type="text" class="form-control" name="cifsaddr" value="{{cifsaddr}}" placeholder="\\samba.server.example.com\bwlp">
+ <input type="text" class="form-control" name="cifspasswd" value="{{cifspasswd}}" placeholder="Passwort">
</div>
+ <br>
+ <label for="cifsuserro">Nur-Lese-Zugangsdaten</label>
<div class="input-group">
<span class="input-group-addon slx-ga">
Benutzername
</span>
- <input type="text" class="form-control" name="cifsuser" value="{{cifsuser}}" placeholder="Benutzername">
- </div>
- <div class="input-group">
- <span class="input-group-addon slx-ga">
+ <input type="text" class="form-control" name="cifsuserro" value="{{cifsuserro}}" placeholder="Benutzername" id="cifsuserro">
+ <span class="input-group-addon">
Passwort
</span>
- <input type="text" class="form-control" name="cifspasswd" value="{{cifspasswd}}" placeholder="Passwort">
+ <input type="text" class="form-control" name="cifspasswdro" value="{{cifspasswdro}}" placeholder="Passwort">
</div>
</div>
</div>