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');