diff --git a/Makefile b/Makefile
index 47b6dd4b..862de2af 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ install:
install-common:
# Shell Scripts
test -d $(DESTDIR)/usr/lib/alternc || mkdir -p $(DESTDIR)/usr/lib/alternc
- cp src/* $(DESTDIR)/usr/lib/alternc/
+ cp -r src/* $(DESTDIR)/usr/lib/alternc/
chown root:root $(DESTDIR)/usr/lib/alternc/*
chmod 755 $(DESTDIR)/usr/lib/alternc/*
@@ -69,6 +69,15 @@ install-alternc: install-common
# Man pages
install -o root -g root -m 644 man/*.8 $(DESTDIR)/usr/share/man/man8/
+#SSL functions
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_panel-ssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_vhost-mixssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_roundcube-ssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_squirrelmail-ssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_php52-ssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_php52-mixssl.sh
+ ln -s hosting_vhost-ssl.sh $(DESTDIR)/etc/alternc/functions_hosting/hosting_url-ssl.sh
+
install-slave: install-common
# Man pages
pod2man --center "" --date "" --release "AlternC" --section=8 man/alternc.install.pod >$(DESTDIR)/usr/share/man/man8/alternc.install.8
diff --git a/ssl/panel/admin/images/ssl.png b/bureau/admin/images/ssl.png
similarity index 100%
rename from ssl/panel/admin/images/ssl.png
rename to bureau/admin/images/ssl.png
diff --git a/ssl/panel/admin/ssl_delete.php b/bureau/admin/ssl_delete.php
similarity index 100%
rename from ssl/panel/admin/ssl_delete.php
rename to bureau/admin/ssl_delete.php
diff --git a/ssl/panel/admin/ssl_doimport.php b/bureau/admin/ssl_doimport.php
similarity index 100%
rename from ssl/panel/admin/ssl_doimport.php
rename to bureau/admin/ssl_doimport.php
diff --git a/ssl/panel/admin/ssl_donew.php b/bureau/admin/ssl_donew.php
similarity index 100%
rename from ssl/panel/admin/ssl_donew.php
rename to bureau/admin/ssl_donew.php
diff --git a/ssl/panel/admin/ssl_finalize.php b/bureau/admin/ssl_finalize.php
similarity index 100%
rename from ssl/panel/admin/ssl_finalize.php
rename to bureau/admin/ssl_finalize.php
diff --git a/ssl/panel/admin/ssl_list.php b/bureau/admin/ssl_list.php
similarity index 100%
rename from ssl/panel/admin/ssl_list.php
rename to bureau/admin/ssl_list.php
diff --git a/ssl/panel/admin/ssl_new.php b/bureau/admin/ssl_new.php
similarity index 100%
rename from ssl/panel/admin/ssl_new.php
rename to bureau/admin/ssl_new.php
diff --git a/ssl/panel/admin/ssl_share.php b/bureau/admin/ssl_share.php
similarity index 100%
rename from ssl/panel/admin/ssl_share.php
rename to bureau/admin/ssl_share.php
diff --git a/ssl/panel/admin/ssl_view.php b/bureau/admin/ssl_view.php
similarity index 100%
rename from ssl/panel/admin/ssl_view.php
rename to bureau/admin/ssl_view.php
diff --git a/bureau/admin/styles/style.css b/bureau/admin/styles/style.css
index 35dbcbd6..33b33b32 100644
--- a/bureau/admin/styles/style.css
+++ b/bureau/admin/styles/style.css
@@ -1022,6 +1022,13 @@ div.progress-bar div.txt {
padding-left: 30px;
}
+.ssl a, a.ssl, input.ssl, .ssl-menu .menu-title {
+ background-image: url(../images/ssl.png);
+ background-repeat: no-repeat;
+ background-position: 8px 3px;
+ padding-left: 30px;
+}
+
.filter a, a.edit, input.filter {
background-image: url(../icon/filter.png);
background-repeat: no-repeat;
@@ -1093,8 +1100,13 @@ body .ui-widget-content a {
padding: 0 16px;
}
-th.headerSortUp {
- background-image: url(../images/asc.gif);
+textarea.cert {
+ font-family: Courier New, Courier, monospace, fixed;
+ font-size: 12px;
+}
+
+th.headerSortUp {
+ background-image: url(../images/asc.gif);
background-repeat: no-repeat;
background-position: right;
cursor: pointer;
@@ -1196,4 +1208,6 @@ th.headerSortDown {
float: none;
width:auto;
}
+textarea[readonly='readonly'] {
+ background-color: #ddd;
}
diff --git a/ssl/panel/class/m_ssl.php b/bureau/class/m_ssl.php
similarity index 100%
rename from ssl/panel/class/m_ssl.php
rename to bureau/class/m_ssl.php
diff --git a/ssl/panel/locales/de_DE/LC_MESSAGES/ssl.po b/bureau/locales/de_DE/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/de_DE/LC_MESSAGES/ssl.po
rename to bureau/locales/de_DE/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/en_GB b/bureau/locales/en_GB
similarity index 100%
rename from ssl/panel/locales/en_GB
rename to bureau/locales/en_GB
diff --git a/ssl/panel/locales/en_US/LC_MESSAGES/ssl.po b/bureau/locales/en_US/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/en_US/LC_MESSAGES/ssl.po
rename to bureau/locales/en_US/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/es_ES/LC_MESSAGES/ssl.po b/bureau/locales/es_ES/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/es_ES/LC_MESSAGES/ssl.po
rename to bureau/locales/es_ES/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/fr_CA b/bureau/locales/fr_CA
similarity index 100%
rename from ssl/panel/locales/fr_CA
rename to bureau/locales/fr_CA
diff --git a/ssl/panel/locales/fr_FR/LC_MESSAGES/ssl.po b/bureau/locales/fr_FR/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/fr_FR/LC_MESSAGES/ssl.po
rename to bureau/locales/fr_FR/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/it_IT/LC_MESSAGES/ssl.po b/bureau/locales/it_IT/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/it_IT/LC_MESSAGES/ssl.po
rename to bureau/locales/it_IT/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/nl_NL/LC_MESSAGES/ssl.po b/bureau/locales/nl_NL/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/nl_NL/LC_MESSAGES/ssl.po
rename to bureau/locales/nl_NL/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/pt_BR/LC_MESSAGES/ssl.po b/bureau/locales/pt_BR/LC_MESSAGES/ssl.po
similarity index 100%
rename from ssl/panel/locales/pt_BR/LC_MESSAGES/ssl.po
rename to bureau/locales/pt_BR/LC_MESSAGES/ssl.po
diff --git a/ssl/panel/locales/ssl.pot b/bureau/locales/ssl.pot
similarity index 100%
rename from ssl/panel/locales/ssl.pot
rename to bureau/locales/ssl.pot
diff --git a/ssl/hosting_vhost-ssl.sh b/etc/alternc/functions_hosting/hosting_vhost-ssl.sh
similarity index 100%
rename from ssl/hosting_vhost-ssl.sh
rename to etc/alternc/functions_hosting/hosting_vhost-ssl.sh
diff --git a/ssl/openssl.cnf b/etc/alternc/openssl.cnf
similarity index 100%
rename from ssl/openssl.cnf
rename to etc/alternc/openssl.cnf
diff --git a/etc/alternc/templates/alternc/apache2.conf b/etc/alternc/templates/alternc/apache2.conf
index 514d695d..b0d6c316 100644
--- a/etc/alternc/templates/alternc/apache2.conf
+++ b/etc/alternc/templates/alternc/apache2.conf
@@ -75,6 +75,9 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
Order allow,deny
Allow from all
+
+ allow from all
+
Include /etc/alternc/bureau.conf
diff --git a/ssl/ssl.conf b/etc/alternc/templates/apache2/mods-available/ssl.conf
similarity index 100%
rename from ssl/ssl.conf
rename to etc/alternc/templates/apache2/mods-available/ssl.conf
diff --git a/ssl/templates/panel-ssl.conf b/etc/alternc/templates/apache2/panel-ssl.conf
similarity index 100%
rename from ssl/templates/panel-ssl.conf
rename to etc/alternc/templates/apache2/panel-ssl.conf
diff --git a/ssl/templates/roundcube-ssl.conf b/etc/alternc/templates/apache2/roundcube-ssl.conf
similarity index 100%
rename from ssl/templates/roundcube-ssl.conf
rename to etc/alternc/templates/apache2/roundcube-ssl.conf
diff --git a/ssl/templates/squirrelmail-ssl.conf b/etc/alternc/templates/apache2/squirrelmail-ssl.conf
similarity index 100%
rename from ssl/templates/squirrelmail-ssl.conf
rename to etc/alternc/templates/apache2/squirrelmail-ssl.conf
diff --git a/ssl/templates/url-ssl.conf b/etc/alternc/templates/apache2/url-ssl.conf
similarity index 100%
rename from ssl/templates/url-ssl.conf
rename to etc/alternc/templates/apache2/url-ssl.conf
diff --git a/ssl/templates/vhost-mixssl.conf b/etc/alternc/templates/apache2/vhost-mixssl.conf
similarity index 100%
rename from ssl/templates/vhost-mixssl.conf
rename to etc/alternc/templates/apache2/vhost-mixssl.conf
diff --git a/ssl/templates/vhost-ssl.conf b/etc/alternc/templates/apache2/vhost-ssl.conf
similarity index 100%
rename from ssl/templates/vhost-ssl.conf
rename to etc/alternc/templates/apache2/vhost-ssl.conf
diff --git a/ssl/alternc-ssl.incron.d b/etc/incron.d/alternc-ssl
similarity index 100%
rename from ssl/alternc-ssl.incron.d
rename to etc/incron.d/alternc-ssl
diff --git a/install/mysql.sql b/install/mysql.sql
index 8a339b25..0b9f628a 100644
--- a/install/mysql.sql
+++ b/install/mysql.sql
@@ -770,3 +770,43 @@ CREATE TABLE IF NOT EXISTS `csrf` (
-- make it re-exec-proof
DELETE FROM alternc_status WHERE name='alternc_version';
INSERT INTO alternc_status SET name='alternc_version',value='3.4.8.sql';
+
+-- SSL managment
+CREATE TABLE `certificates` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(10) unsigned NOT NULL,
+ `status` tinyint(3) unsigned NOT NULL,
+ `shared` tinyint(3) unsigned NOT NULL,
+ `fqdn` varchar(255) NOT NULL,
+ `altnames` text NOT NULL,
+ `validstart` datetime NOT NULL,
+ `validend` datetime NOT NULL,
+ `sslcsr` text NOT NULL,
+ `sslkey` text NOT NULL,
+ `sslcrt` text NOT NULL,
+ `sslchain` text NOT NULL,
+ `ssl_action` varchar(32) NOT NULL,
+ `ssl_result` varchar(32) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `ssl_action` (`ssl_action`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `certif_alias` (
+ `name` varchar(255) NOT NULL,
+ `content` text NOT NULL,
+ `uid` int(10) unsigned NOT NULL,
+ `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`name`),
+ KEY `uid` (`uid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Global aliases defined for SSL certificates FILE validation processes';
+
+CREATE TABLE IF NOT EXISTS `certif_hosts` (
+ `certif` int(10) unsigned NOT NULL,
+ `sub` int(10) unsigned NOT NULL,
+ `uid` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`certif`,`sub`),
+ KEY `uid` (`uid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='VHosts of a user using defined or self-signed certificates';
+
+INSERT IGNORE INTO defquotas VALUES ('ssl', 0, 'default');
\ No newline at end of file
diff --git a/ssl/api/Ssl.php b/lib/Alternc/Api/Object/Ssl.php
similarity index 100%
rename from ssl/api/Ssl.php
rename to lib/Alternc/Api/Object/Ssl.php
diff --git a/ssl/alternc-ssl.install.php b/src/install.d/alternc-ssl
similarity index 100%
rename from ssl/alternc-ssl.install.php
rename to src/install.d/alternc-ssl
diff --git a/ssl/ssl_alias_manager.sh b/src/ssl_alias_manager.sh
similarity index 100%
rename from ssl/ssl_alias_manager.sh
rename to src/ssl_alias_manager.sh
diff --git a/ssl/panel/admin/styles/style.css b/ssl/panel/admin/styles/style.css
deleted file mode 100644
index 1770c4e4..00000000
--- a/ssl/panel/admin/styles/style.css
+++ /dev/null
@@ -1,1072 +0,0 @@
-html, body {
- margin: 0px;
- padding: 0px;
-}
-
-body {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #000000;
- background-color: #B2CFE4;
-}
-
-body.light {
- background-color: #F0F0F4;
-}
-
-.hlp {
- font-family: Helvetica, Tahoma, sans-serif;
- font-size: 11px;
- color: #202020;
-}
-
-table {
- border-collapse: collapse;
-}
-
-td {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #000000;
- padding-right: 6px;
-}
-
-th {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: black;
- background: #B2CFE4;
- font-weight: normal;
- text-align: left;
-}
-
-h3 {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 23px;
- font-weight: normal;
- color: #444;
- text-align: left;
- padding: 11px;
- padding-left: 0;
- margin: 0px;
- word-wrap: break-word;
-}
-
-.trbtn {
- text-align: right;
-}
-
-h4 {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 16px;
- font-weight: bold;
- color: #007777
-}
-
-hr {
- /*color: #007799;*/
- height: 1px;
- /*border: 1px solid #007799;*/
- border: 1px solid #555;
- border-width: 1px 0 0 0;
-}
-
-a {
- text-decoration: none;
- color: #0D5689;
-}
-
-a:hover {
- text-decoration: underline;
- color: #000000;
-}
-
-fieldset {
- border: 1px solid #555;
-}
-
-pre {
- overflow: auto;
- background-color: #ddd;
- padding: 10px;
- border: solid 1px #999;
- border-radius: 4px;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
-}
-
-.inp {
- /* Should not be use anymore !!! */
- border-color: blue;
- border-width: 5px;
- background-color: #500000;
- color: white;
-}
-
-.inc, .inl {
- border: 1px solid black;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- border-style: none;
- color: black;
- background: white;
-}
-
-.inb {
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- border: 1px solid #999;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- padding: 4px 6px;
- color: black;
- background-color: #CFE3F1;
- cursor: pointer;
- margin-right: 4px;
- height: 25px;
- vertical-align: middle;
-}
-.inb:hover {
- background-color: #BFD3E1;
-}
-.ina a, .ina a:hover, .inb a, .inb a:hover {
- color: #000;
- text-decoration: none;
- vertical-align: middle;
- line-height: 15px;
-}
-
-span.inb {
- display: inline-block;
- height: 15px;
- padding: 4px 6px;
-}
-
-input.ina, input.inav {
- border: 1px solid #999;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- padding: 2px 4px 2px 4px;
- color: black;
- cursor: pointer;
- /*float: right;*/
-}
-
-input.ina:hover, input.ina, input.inav, input.inav:hover {
- border: 1px solid #999;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- color: black;
- cursor: pointer;
- /*float: right;*/
-}
-
-input.ina, .ina a {
- background-color: #F1F8FD;
-}
-input.ina:hover, .ina a:hover,
-input.inav, .inav a {
- background-color: #CFE3F1;
-}
-input.inav:hover, .inav a:hover, a.inav:hover {
- background-color: #F1F8FD;
-}
-
-.ina-active a, a.ina-active, input.ina-active {
- background-color: #C1FFCD;
-}
-
-.ina a, a.ina, .inav a, a.inav {
- color: black;
- white-space: nowrap;
- border: 1px solid #999;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- padding: 4px 10px;
- color: black;
- cursor: pointer;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- display: inline-block;
- vertical-align: middle;
- line-height: 15px;
- height: 15px;
-}
-
-.inb a, a.inb {
- padding: 4px 10px;
-}
-
-input[type=button],
-input[type=submit] {
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- height: 25px;
-}
-.ina a:hover, a.ina:hover, .inav a:hover, a.inav:hover {
- text-decoration: none;
- color: black;
-}
-
-.ina img, .ina img {
- vertical-align: middle;
- padding: 0 2px 0 0;
- float: left;
-}
-.bff {
- border: 1px solid #999;
- background-color: #F1F8FD;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- padding-left: 2px;
- padding-right: 4px;
- color: black;
- cursor: pointer;
-}
-.int {
- border: 1px dotted black;
- background-color: white;
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- padding: 2px;
-}
-.intleft {
- border-right: 0px;
- padding-right: 0px;
-}
-.intright {
- border-left: 0px;
- padding-left: 0px;
-}
-
-.lst2 {
- /*background-color: #F1F8FD;*/
- background-color: #E7F0F9;
-}
-.lst1 {
- background-color: #CFE3F1;
-}
-
-.lst:nth-child(even) { background:#E7F0F9; }
-.lst:nth-child(odd) { background:#CFE3F1; }
-
-.dlogin {
- text-align: center;
-}
-
-.login {
- margin-left: auto;
- margin-right: auto;
-}
-
-img {
- border: 0px;
- vertical-align: middle;
-}
-
-/* Alerts */
-.alert {
- border: 1px solid transparent;
- border-radius: 4px 4px 4px 4px;
- margin-bottom: 20px;
- padding: 15px;
-}
-.alert h4 {
- color: inherit;
- margin-top: 0;
-}
-.alert .alert-link {
- font-weight: bold;
-}
-.alert > p, .alert > ul {
- margin-bottom: 0;
-}
-.alert > p + p {
- margin-top: 5px;
-}
-.alert-dismissable {
- padding-right: 35px;
-}
-.alert-dismissable .close {
- color: inherit;
- position: relative;
- right: -21px;
- top: -2px;
-}
-.alert-success {
- background-color: #DFF0D8;
- border-color: #D6E9C6;
- color: #356635;
-}
-.alert-success hr {
- border-top-color: #C9E2B3;
-}
-.alert-success .alert-link,
-.alert-success a{
- color: #234323;
-}
-.alert-info {
- background-color: #D9EDF7;
- border-color: #BCE8F1;
- color: #2D6987;}
-.alert-info hr {
- border-top-color: #A6E1EC;
-}
-.alert-info .alert-link,
-.alert-info a
-{
- color: #193B4D;
-}
-.alert-warning {
- background-color: #FCF8E3;
- border-color: #FBEED5;
- color: #A47E3C;
-}
-.alert-warning hr {
- border-top-color: #F8E5BE;
-}
-.alert-warning .alert-link,
-.alert-warning a {
- color: #6C5228;
-}
-.alert-danger {
- background-color: #F2DEDE;
- border-color: #EED3D7;
- color: #953B39;
-}
-.alert-danger hr {
- border-top-color: #E6C1C7;
-}
-.alert-danger .alert-link,
-.alert-danger a{
- color: #6F2B2A;
-}
-
-/* Alert icons */
-#content .alert {
- background-position: 12px 10px;
- background-repeat: no-repeat;
- padding-left: 48px;
-}
-#content .alert-danger {
- background-image: url("../images/danger.png");
-}
-#content .alert-info{
- background-image: url("../images/info.png");
-}
-#content .alert-success {
- background-image: url("../images/success.png");
-}
-#content .alert-warning {
- background-image: url("../images/warning.png");
-}
-
-
-.alerte {
- color: #A00;
- font-style: italic;
-}
-
-/* Over quota class */
-.over {
- color: red;
-}
-
-.code {
- font-size: 16px;
- font-family: Courier New, Fixed;
- font-weight: bold;
- text-align: center;
-}
-
-#global {
- display: block;
- margin-left: auto;
- margin-right: auto;
- margin-top: 20px;
- margin-bottom: 20px;
- width: 1020px;
- border: 1px solid #888;
- -webkit-border-radius: 10px;
- -moz-border-radius: 10px;
- border-radius: 10px;
- box-shadow: 1px 1px 15px #555;
- background-color: #F0F0F4;
-}
-
-/* Main container */
-
-#menu {
- display: block;
- border-right: 1px solid #888;
- padding: 0;
-}
-
-#content {
- display: block;
- width: 770px;
- float: right;
- margin-left: 10px;
- padding-right: 10px;
- vertical-align: top;
-}
-
-.clearfix:after {
- visibility: hidden;
- display: block;
- content: "";
- clear: both;
- height: 0;
- }
-
-/* Menu */
-
-#menu {
- display: block;
- float: left;
- padding: 0px;
- margin: 0px;
- width: 200px;
- padding-right: 10px;
- padding-bottom: 10px;
- padding-left: 10px;
- border-radius: 10px 0 0 10px;
- -webkit-border-radius: 10px 0 0 10px;
- -moz-border-radius: 10px 0 0 10px;
-}
-
-.menu-box {
- margin-bottom: 10px;
- font-size: 11px;
- background-color: #F4F4FA;
- border: 1px solid #888;
- box-shadow: 1px 1px 5px #888;
- border-radius: 4px 4px 0 0;
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
-}
-
-.menu-box .menu-title {
- display: block;
- color: #000000;
- border-bottom: 2px solid #AAA;
- background-color: #CFE3F1;
- padding: 3px;
- -webkit-border-radius: 4px 4px 0 0;
- -moz-border-radius: 4px 4px 0 0;
- border-radius: 4px 4px 0 0;
-}
-
-.menu-box a .menu-title {
- min-height: 16px;
-}
-
-.menu-box .menu-conmargin {
- margin: 0 5px 5px 5px;
-}
-
-.menu-box ul {
- margin: 0px;
- padding: 5px 0 5px 0;
- list-style-type: none;
-}
-
-.menu-box li {
-}
-
-.menu-box a {
- text-decoration: none;
- color: #0D5689;
-}
-
-.menu-box a:hover,
-.menu-box a:hover .menu-title {
- text-decoration: none;
- background-color: #DFEEF8;
-}
-
-.menu-box li a {
- display: block;
- padding: 5px 5px 5px 10px;
- color: #0D5689;
- text-decoration: none;
- border: 1px solid transparent;
- border-width: 1px 0;
- line-height: 0.75em;
- height: 10px;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- -o-text-overflow: ellipsis; /* Opera 9*/
- outline:none;
-}
-
-.menu-box li a img {
- float: left;
- width: 16px;
- height: 16px;
- margin: 0px;
- padding: 0px;
- top: -3px;
- position: relative;
-}
-
-.menu-box li a:hover {
- color: #000000;
- border: 1px solid #C1D8E9;
- border-width: 1px 0;
- text-decoration: none;
- background-color: #DFEEF8;
-}
-
-.menu-box .full {
- color: red;
-}
-
-/* Bars */
-
-.barempty {
- background-color: white;
- border: 1px solid black;
- height: 8px;
- -webkit-border-radius:4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-.barfill {
- float: left;
- background-color: red;
- height: 8px;
-}
-
-/* Infos */
-#recap table {
- text-align: center;
- margin-left: auto;
- margin-right: auto;
-}
-
-table.searchtable {
- width: 700px;
- border: 1px dotted #99f;
- margin: 20px 0 20px 0px;
-}
-
-table.searchtable td {
- padding: 5px;
-}
-
-/* Others */
-.center {
- text-align: center;
- margin-left: auto;
- margin-right: auto;
-}
-
-.border {
- border: 1px solid #C0DCF0;
-}
-
-.bold {
- font-weight: bold;
-}
-
-
-#sendthisfile {
- margin-top: 6px;
-}
-
-.breadcrumb {
- font-size: 12px;
-
-}
-
-#newdomwww, #sub, #usernpfx, #dbnpfx {
- border-right: 0;
- padding-right: 0;
-}
-#newdomain, #newsubname, #usern, #dbn {
- border-left: 0;
- padding-left: 0;
-}
-
-#create_dom_list_pfx {
- border-right: 0;
- padding: 3px;
-}
-#create_dom_list {
- border-left: 0;
- padding-left: 0;
-}
-
-
-
-input#email {
- border-right: 0;
- padding-right: 0;
- text-align: right;
-}
-
-span#emaildom {
- border-left: 0;
- padding-left: 2px;
-}
-
-.tedit {
- border: 1px solid #aaa;
- padding: 6px;
- margin: 0;
- border-collapse: collapse;
- }
-.tedit td, .tedit th {
- border: 1px solid #aaa;
- padding: 10px;
- margin: 0;
-}
-
-.formcell {
- vertical-align: top;
- border: 1px solid #aaa;
- padding: 10px;
-}
-
-.tlist, .tlist td, .tlist th,
-.tlist2, .tlist2 td, .tlist2 th {
- padding: 4px;
- margin: 0;
- border-collapse: collapse;
-}
-
-.tlist {
- width: 100%;
- border: 1px solid #C1D8E9;
-}
-
-.tlistb, .tlistb td, .tlistb th {
- padding: 4px;
- margin: 0;
- border-collapse: collapse;
-}
-
-table.tlistb, .tlistb tr {
- border: solid 1px #C1D8E9;
-}
-
-.tlist tr:hover, .tlist2 tr:hover {
- background-color: #F1D5CF;
-}
-
-.tlist th, .tlist2 th {
- font-size: 125%;
-}
-
-input#dir, input#sub_local {
- width: 200px;
-}
-
-.tab-ok {
- background-color: lightgreen;
-}
-.tab-err {
- background-color: red;
-}
-.tab-warn {
- background-color: coral;
-}
-
-.warningmsg {
- width: 500px;
-}
-
-#mx {
- width: 300px;
-}
-
-#admlistbtn {
- padding-bottom: 6px;
-}
-
-.advdom {
- padding-top: 6px;
-}
-
-.grey, .grey td {
- color: #999;
-}
-
-.retour-auto {
- max-width:220px;
- word-wrap:break-word;
-}
-
-.menutoplogo {
- margin: 10px 0 0 5px;
- width: 190px;
-}
-
-.currentuser {
- margin: 5px 5px 10px 5px;
- color:#444;
-}
-
-.adminmenu {
- color: #800;
-}
-
-.menu-quota dd {
- margin: 5px 5px 5px 10px;
-}
-
-.menu-quota div.progress-bar {
- width: 180px;
- background: #fff;
- border: solid 1px #AAA;
- margin-left: 10px;
-}
-
-div.progress-bar {
- position: relative;
- width: 100%;
- height: 20px;
- background-color: #fff;
- border: solid 1px #aaa;
- overflow: hidden;
- -webkit-border-radius: 4px;
- -moz-border-radius: 4px;
- border-radius: 4px;
-}
-
-div.progress-bar div.barre {
- position: absolute;
- top: 0;
- left: 0;
- height: 20px;
- background-color: #CCC;
- border: none;
-}
-
-div.progress-bar div.txt {
- position: absolute;
- top: 3px;
- left: 0;
- width: 100%;
- text-align:center;
-}
-
-.ombrage {
- border: 1px solid #888;
- box-shadow: 1px 1px 15px #555;
-}
-
-.petit,
-.petit p,
-.petit th,
-.petit td {
- font-size:95%;
-}
-
-#adm_panel li, #adm_panel_root li {
- padding: 4px 0 4px 0;
-}
-#adm_panel li:hover, #adm_panel_root li:hover {
- background-color: #BFD3E1;
-}
-
-.edit a, a.edit, input.edit {
- background-image: url(../images/edit.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.view a, a.view, input.view {
- background-image: url(../images/code.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.delete a, a.delete, input.delete {
- background-image: url(../icon/delete.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.lock a, a.lock, input.lock {
- background-image: url(../icon/encrypted.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.settings a, a.settings, input.settings {
- background-image: url(../icon/settings.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.ok a, a.ok, input.ok {
- background-image: url(../icon/ok.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.cancel a, a.cancel, input.cancel {
- background-image: url(../icon/cancel.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.add a, a.add, input.add {
- background-image: url(../icon/add.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.configure a, a.configure, input.configure {
- background-image: url(../icon/configure.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.edit a, a.edit, input.edit {
- background-image: url(../icon/edit.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.save a, a.save, input.save {
- background-image: url(../icon/save.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.down a, a.down, input.down {
- background-image: url(../icon/save.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.up a, a.up, input.up {
- background-image: url(../icon/up.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.back a, a.back, input.back {
- background-image: url(../icon/back.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.admin a, a.admin, input.admin, .admin-menu .menu-title {
- background-image: url(../images/admin.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.home a, a.home, input.home, .home-menu .menu-title {
- background-image: url(../images/home.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.dom a, a.dom, input.dom, .dom-menu .menu-title {
- background-image: url(../images/dom.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.mail a, a.mail, input.mail, .mail-menu .menu-title {
- background-image: url(../images/mail.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.bro a, a.bro, input.bro, .bro-menu .menu-title {
- background-image: url(../images/folder.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.hta a, a.hta, input.hta, .hta-menu .menu-title {
- background-image: url(../images/password.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.ftp a, a.ftp, input.ftp, .ftp-menu .menu-title {
- background-image: url(../images/ftp.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.cron a, a.cron, input.cron, .cron-menu .menu-title {
- background-image: url(../images/schedule.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.lxc a, a.lxc, input.lxc, .lxc-menu .menu-title {
- background-image: url(../images/ssh.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.mysql a, a.mysql, input.mysql, .mysql-menu .menu-title {
- background-image: url(../images/mysql.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.quota a, a.quota, input.quota, .quota-menu .menu-title {
- background-image: url(../images/quota.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.authip a, a.authip, input.authip, .authip-menu .menu-title {
- background-image: url(../images/ip.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.log a, a.log, input.log, .log-menu .menu-title {
- background-image: url(../images/logs.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.help a, a.help, input.help, .help-menu .menu-title {
- background-image: url(../images/help.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.lang a, a.lang, input.lang, .lang-menu .menu-title {
- background-image: url(../images/lang.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.mem a, a.mem, input.mem, .mem-menu .menu-title {
- background-image: url(../images/settings.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.logout a, a.logout, input.logout, .logout-menu .menu-title {
- background-image: url(../images/exit.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.ssl a, a.ssl, input.ssl, .ssl-menu .menu-title {
- background-image: url(../images/ssl.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-.filter a, a.edit, input.filter {
- background-image: url(../icon/filter.png);
- background-repeat: no-repeat;
- background-position: 8px 3px;
- padding-left: 30px;
-}
-
-/* Jquery-ui */
-
-body .ui-widget-content {
-/* margin-top: 15px; */
-}
-
-body .ui-widget-header {
- background: #CFE3F1;
-}
-
-body .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
- color: #0D5689;
-}
-
-body .ui-state-default, body .ui-widget-content .ui-state-default, body .ui-widget-header .ui-state-default {
- background: #F0F0F4;
-}
-
-body .ui-state-active, body .ui-widget-content, body .ui-state-active, body .ui-widget-header .ui-state-active {
- background: #F0F0F4;
-}
-
-body .ui-state-active a, body .ui-state-active a:link {
- color: black;
-}
-
-body .ui-tabs .ui-tabs-panel {
- background: #F0F0F4;
-}
-
-body .ui-tabs .ui-tabs-nav li a {
- padding: .5em 1em .5em 30px;
-}
-
-body .ui-state-active, body .ui-widget-content .ui-state-active, body .ui-widget-header .ui-state-active,
-body ui-state-hover, body .ui-widget-content .ui-state-hover, body .ui-widget-header .ui-state-hover, body .ui-state-focus, body .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus,
-body .ui-state-default, body .ui-widget-content .ui-state-default, body .ui-widget-header .ui-state-default {
- font-weight: normal;
-}
-
-body .ui-dialog .ui-dialog-title {
- color: black;
-}
-
-body .ui-widget-content a {
- color: #0D5689;
-}
-
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
- outline:none;
-}
-
-.ui-tabs .ui-tabs-nav li a, .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
- outline:none;
-}
-
-textarea.cert {
- font-family: Courier New, Courier, monospace, fixed;
- font-size: 12px;
-}
-textarea[readonly='readonly'] {
- background-color: #ddd;
-}
diff --git a/ssl/panel/index.php b/ssl/panel/index.php
deleted file mode 100644
index 7f93307b..00000000
--- a/ssl/panel/index.php
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/ssl/panel/locales/Makefile b/ssl/panel/locales/Makefile
deleted file mode 100644
index 26554b44..00000000
--- a/ssl/panel/locales/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-all: ssl.pot */LC_MESSAGES/ssl.po
-
-ssl.pot: ../*/*.php
- [ -r $@ ] || touch $@
- xgettext --copyright-holder="AlternC Team" --package-name="AlternC" --package-version="2.0" --msgid-bugs-address="i18n@alternc.org" --force-po -o $@ --keyword=__ --keyword=_ -L PHP -F --from-code UTF-8 $^
-
-%/LC_MESSAGES/ssl.po: ssl.pot
- msgmerge -v -U $@ $^
diff --git a/ssl/panel/locales/README b/ssl/panel/locales/README
deleted file mode 100644
index ab6f871a..00000000
--- a/ssl/panel/locales/README
+++ /dev/null
@@ -1,46 +0,0 @@
-Le système de langue fonctionne ainsi :
-
-dans bureau/locales/ on trouve un DOSSIER par langue sous la forme
-major_minor/
-exemple : fr_FR en_US ...
-dans lequel on a un sous-dossier LC_MESSAGES
-dans lequel on a des fichiers .po en vrac (normalement 1 ou 2 fichiers .po par module d'AlternC.)
-
-Le fichier alternc.mo est donc construit à partir de TOUS les fichiers .po d'une même langue.
-
-Pour mettre a jour les fichiers .po a partir des sources :
-
-cd bureau/locales
-make
-
-puis allez voir les fichiers .po pour les mettre a jour (cherchez les fuzzy et les msgstr vide a remplir)
-
-une fois les modifications effectuees, lancer svn commit pour valider vos modifications dans les sources officielles d'AlternC.
-
-Howto translate AlternC in a new language
-=========================================
-
-This folder contains po and pot files, who are templates that allows you
-to translate AlternC in any language.
-
-1. How to add a language :
-- create a folder with your iso language code (ex: de_DE for
- German from Germany see `dpkg-reconfigure locales` for available codes.)
-- create a subfolder LC_MESSAGES in this folder
-- copy .po and .pot files and rename .pot to .po
-- Translate them ;)
-- Send them to us so that we can add them to the next release or as a language pack.
-
-2. How to update language files.
-
-When the programm is updated, the po files in locales/ are changed to
-reflect the new developped features.
-
-You can just call the makefile to have the files regenerated:
-
-cd bureau/locales
-make
-
-from "locales/" to update your language po files. New strings will have
-an empty "msgstr" value, and obsoletes one will be commented out with
-#~
diff --git a/ssl/ssl.sql b/ssl/ssl.sql
deleted file mode 100644
index 285d39b8..00000000
--- a/ssl/ssl.sql
+++ /dev/null
@@ -1,39 +0,0 @@
-
-CREATE TABLE `certificates` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL,
- `status` tinyint(3) unsigned NOT NULL,
- `shared` tinyint(3) unsigned NOT NULL,
- `fqdn` varchar(255) NOT NULL,
- `altnames` text NOT NULL,
- `validstart` datetime NOT NULL,
- `validend` datetime NOT NULL,
- `sslcsr` text NOT NULL,
- `sslkey` text NOT NULL,
- `sslcrt` text NOT NULL,
- `sslchain` text NOT NULL,
- `ssl_action` varchar(32) NOT NULL,
- `ssl_result` varchar(32) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `ssl_action` (`ssl_action`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `certif_alias` (
- `name` varchar(255) NOT NULL,
- `content` text NOT NULL,
- `uid` int(10) unsigned NOT NULL,
- `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (`name`),
- KEY `uid` (`uid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Global aliases defined for SSL certificates FILE validation processes';
-
-CREATE TABLE IF NOT EXISTS `certif_hosts` (
- `certif` int(10) unsigned NOT NULL,
- `sub` int(10) unsigned NOT NULL,
- `uid` int(10) unsigned NOT NULL,
- PRIMARY KEY (`certif`,`sub`),
- KEY `uid` (`uid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='VHosts of a user using defined or self-signed certificates';
-
-INSERT IGNORE INTO defquotas VALUES ('ssl', 0, 'default');