postfix_admin 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +37 -0
- data/CHANGELOG.md +4 -0
- data/docker-admin/Dockerfile +6 -0
- data/docker-admin/config.local.php +21 -0
- data/docker-app-2.5/Dockerfile +15 -0
- data/docker-app/Dockerfile +25 -0
- data/{docker-entrypoint.sh → docker-app/docker-entrypoint.sh} +0 -0
- data/docker-app/my.cnf +5 -0
- data/docker-compose.yml +31 -9
- data/docker-db/postfix.v1841.sql +383 -0
- data/docker-db/postfix.v352.sql +223 -0
- data/docker-db/postfix.v740.sql +269 -0
- data/lib/postfix_admin/admin.rb +12 -2
- data/lib/postfix_admin/base.rb +6 -0
- data/lib/postfix_admin/cli.rb +4 -2
- data/lib/postfix_admin/doveadm.rb +7 -2
- data/lib/postfix_admin/version.rb +1 -1
- data/postfix_admin.gemspec +2 -0
- metadata +13 -5
- data/Dockerfile +0 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 70bd18f454fd77684ab652949e36829f6d9e3e8e275e475819b60b025b3fea6e
|
|
4
|
+
data.tar.gz: 477da494d685bcaeb45f090d92edbfb1abc6af811e04172a4e4f1865b51eac46
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a7b8c5f69e4f15589ca5c10250e88d9dfb76e623bed02548161e24c29fca02e74e97b154bf5f876936922e7b7d134f4fb6f46ab2e85765198fbaf5c7dddb1c32
|
|
7
|
+
data.tar.gz: 777b1af93896c8df8a4eab31af493af872a694502cab871c0ea99bcf7e8a82ce014228e82b117c37a3c9953ec86bd54648a01954c2bcae72c373fca94d1c18dc
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
|
2
|
+
# They are provided by a third-party and are governed by
|
|
3
|
+
# separate terms of service, privacy policy, and support
|
|
4
|
+
# documentation.
|
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
|
7
|
+
|
|
8
|
+
name: Ruby
|
|
9
|
+
|
|
10
|
+
on:
|
|
11
|
+
push:
|
|
12
|
+
branches: [ master ]
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [ master ]
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
test:
|
|
18
|
+
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v2
|
|
23
|
+
- name: Set up Ruby
|
|
24
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
|
25
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
|
26
|
+
# uses: ruby/setup-ruby@v1
|
|
27
|
+
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
|
28
|
+
with:
|
|
29
|
+
ruby-version: 2.6
|
|
30
|
+
- name: docker-compose up
|
|
31
|
+
run: docker-compose up -d
|
|
32
|
+
- name: Run tests for Ruby 2.6
|
|
33
|
+
run: docker-compose exec -T app /wait-for-it.sh db:3306 -- rake
|
|
34
|
+
- name: Remove Gemfile.lock
|
|
35
|
+
run: rm -f Gemfile.lock
|
|
36
|
+
- name: Run tests for Ruby 2.5.0
|
|
37
|
+
run: docker-compose exec -T app2.5 rake
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
## 0.2.1
|
|
2
|
+
* Supported `superadmin` column of `admin` table
|
|
3
|
+
* Added `passwordhash_prefix` keyword in the configuration format for backward compatibility
|
|
4
|
+
|
|
1
5
|
## 0.2.0
|
|
2
6
|
* Switched its object-relational mapper from DataMapper to ActiveRecord
|
|
3
7
|
* Stored password hash includes scheme prefix: like `{CRAM-MD5}`, `{PLAIN}`
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
$CONF['configured'] = true;
|
|
3
|
+
|
|
4
|
+
$CONF['database_type'] = 'mysqli';
|
|
5
|
+
$CONF['database_user'] = 'postfix';
|
|
6
|
+
$CONF['database_password'] = 'password';
|
|
7
|
+
$CONF['database_name'] = 'postfix';
|
|
8
|
+
$CONF['database_host'] = 'db';
|
|
9
|
+
|
|
10
|
+
$CONF['password_validation'] = array(
|
|
11
|
+
# '/regular expression/' => '$PALANG key (optional: + parameter)',
|
|
12
|
+
'/.{5}/' => 'password_too_short 5', # minimum length 5 characters
|
|
13
|
+
'/([a-zA-Z].*){3}/' => 'password_no_characters 3', # must contain at least 3 characters
|
|
14
|
+
// '/([0-9].*){2}/' => 'password_no_digits 2', # must contain at least 2 digits
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
|
|
18
|
+
|
|
19
|
+
// setup_password: 'password'
|
|
20
|
+
$CONF['setup_password'] = '87745eb0269b2f42813b23601be3231a:6e41880f73d97321f2f0b25a5ee30f57f5ab3be8';
|
|
21
|
+
?>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
FROM ruby:2.5.0
|
|
2
|
+
|
|
3
|
+
RUN apt-get update && \
|
|
4
|
+
apt-get install -y dovecot-core iproute2 mariadb-client && \
|
|
5
|
+
rm -rf /var/lib/apt/lists/*
|
|
6
|
+
|
|
7
|
+
WORKDIR /app
|
|
8
|
+
|
|
9
|
+
COPY Gemfile postfix_admin.gemspec ./
|
|
10
|
+
COPY ./lib/postfix_admin/version.rb ./lib/postfix_admin/version.rb
|
|
11
|
+
|
|
12
|
+
RUN gem install bundler && bundle install
|
|
13
|
+
|
|
14
|
+
COPY spec/postfix_admin.conf /root/.postfix_admin.conf
|
|
15
|
+
COPY docker-app/my.cnf /root/.my.cnf
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
FROM ruby:2.6
|
|
2
|
+
|
|
3
|
+
RUN apt-get update && \
|
|
4
|
+
apt-get install -y dovecot-core iproute2 mariadb-client && \
|
|
5
|
+
rm -rf /var/lib/apt/lists/*
|
|
6
|
+
|
|
7
|
+
WORKDIR /app
|
|
8
|
+
|
|
9
|
+
COPY Gemfile postfix_admin.gemspec ./
|
|
10
|
+
COPY ./lib/postfix_admin/version.rb ./lib/postfix_admin/version.rb
|
|
11
|
+
|
|
12
|
+
RUN gem install bundler && bundle install
|
|
13
|
+
|
|
14
|
+
COPY spec/postfix_admin.conf /root/.postfix_admin.conf
|
|
15
|
+
COPY docker-app/my.cnf /root/.my.cnf
|
|
16
|
+
|
|
17
|
+
# for GitHub Actions
|
|
18
|
+
RUN curl https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -so /wait-for-it.sh && \
|
|
19
|
+
chmod 755 /wait-for-it.sh
|
|
20
|
+
|
|
21
|
+
COPY docker-app/docker-entrypoint.sh /docker-entrypoint.sh
|
|
22
|
+
RUN chmod +x /docker-entrypoint.sh
|
|
23
|
+
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
24
|
+
|
|
25
|
+
CMD ["irb"]
|
|
File without changes
|
data/docker-app/my.cnf
ADDED
data/docker-compose.yml
CHANGED
|
@@ -2,21 +2,43 @@ version: '3.8'
|
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
app:
|
|
5
|
-
build:
|
|
5
|
+
build:
|
|
6
|
+
context: .
|
|
7
|
+
dockerfile: docker-app/Dockerfile
|
|
6
8
|
tty: true
|
|
7
|
-
ports:
|
|
8
|
-
- '7080:80'
|
|
9
9
|
volumes:
|
|
10
10
|
- .:/app
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
depends_on:
|
|
12
|
+
- db
|
|
13
|
+
app2.5:
|
|
14
|
+
tty: true
|
|
15
|
+
build:
|
|
16
|
+
context: .
|
|
17
|
+
dockerfile: docker-app-2.5/Dockerfile
|
|
18
|
+
volumes:
|
|
19
|
+
- .:/app
|
|
20
|
+
depends_on:
|
|
21
|
+
- db
|
|
22
|
+
admin:
|
|
23
|
+
build: docker-admin
|
|
24
|
+
ports:
|
|
25
|
+
- '8080:80'
|
|
26
|
+
volumes:
|
|
27
|
+
- ./docker-admin/config.local.php:/var/www/html/config.local.php
|
|
28
|
+
depends_on:
|
|
29
|
+
- db
|
|
30
|
+
# environment:
|
|
31
|
+
# - POSTFIXADMIN_DB_TYPE=mysqli
|
|
32
|
+
# - POSTFIXADMIN_DB_HOST=db
|
|
33
|
+
# - POSTFIXADMIN_DB_USER=postfix
|
|
34
|
+
# - POSTFIXADMIN_DB_PASSWORD=password
|
|
35
|
+
# - POSTFIXADMIN_DB_NAME=postfix
|
|
16
36
|
db:
|
|
17
37
|
image: mariadb:10
|
|
18
38
|
volumes:
|
|
19
|
-
- ./
|
|
39
|
+
- ./docker-db/postfix.v1841.sql:/docker-entrypoint-initdb.d/postfix.sql
|
|
40
|
+
# - ./docker-db/postfix.v740.sql:/docker-entrypoint-initdb.d/postfix.sql
|
|
41
|
+
# - ./docker-db/postfix.v352.sql:/docker-entrypoint-initdb.d/postfix.sql
|
|
20
42
|
environment:
|
|
21
43
|
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
|
22
44
|
- MYSQL_USER=postfix
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
-- phpMyAdmin SQL Dump
|
|
2
|
+
-- version 4.9.1
|
|
3
|
+
-- https://www.phpmyadmin.net/
|
|
4
|
+
--
|
|
5
|
+
-- Host: localhost
|
|
6
|
+
-- Generation Time: May 30, 2020 at 04:28 PM
|
|
7
|
+
-- Server version: 10.3.17-MariaDB-log
|
|
8
|
+
-- PHP Version: 7.2.11
|
|
9
|
+
|
|
10
|
+
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
|
11
|
+
SET AUTOCOMMIT = 0;
|
|
12
|
+
START TRANSACTION;
|
|
13
|
+
SET time_zone = "+00:00";
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
17
|
+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
18
|
+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
19
|
+
/*!40101 SET NAMES utf8mb4 */;
|
|
20
|
+
|
|
21
|
+
--
|
|
22
|
+
-- Database: `postfix`
|
|
23
|
+
--
|
|
24
|
+
|
|
25
|
+
-- --------------------------------------------------------
|
|
26
|
+
|
|
27
|
+
--
|
|
28
|
+
-- Table structure for table `admin`
|
|
29
|
+
--
|
|
30
|
+
|
|
31
|
+
CREATE TABLE `admin` (
|
|
32
|
+
`username` varchar(255) NOT NULL,
|
|
33
|
+
`password` varchar(255) NOT NULL,
|
|
34
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
35
|
+
`modified` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
36
|
+
`active` tinyint(1) NOT NULL DEFAULT 1,
|
|
37
|
+
`superadmin` tinyint(1) NOT NULL DEFAULT 0,
|
|
38
|
+
`phone` varchar(30) NOT NULL DEFAULT '',
|
|
39
|
+
`email_other` varchar(255) NOT NULL DEFAULT '',
|
|
40
|
+
`token` varchar(255) NOT NULL DEFAULT '',
|
|
41
|
+
`token_validity` datetime NOT NULL DEFAULT '2000-01-01 00:00:00'
|
|
42
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Admins';
|
|
43
|
+
|
|
44
|
+
-- --------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
--
|
|
47
|
+
-- Table structure for table `alias`
|
|
48
|
+
--
|
|
49
|
+
|
|
50
|
+
CREATE TABLE `alias` (
|
|
51
|
+
`address` varchar(255) NOT NULL,
|
|
52
|
+
`goto` text NOT NULL,
|
|
53
|
+
`domain` varchar(255) NOT NULL,
|
|
54
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
55
|
+
`modified` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
56
|
+
`active` tinyint(1) NOT NULL DEFAULT 1
|
|
57
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Aliases';
|
|
58
|
+
|
|
59
|
+
-- --------------------------------------------------------
|
|
60
|
+
|
|
61
|
+
--
|
|
62
|
+
-- Table structure for table `alias_domain`
|
|
63
|
+
--
|
|
64
|
+
|
|
65
|
+
CREATE TABLE `alias_domain` (
|
|
66
|
+
`alias_domain` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
|
|
67
|
+
`target_domain` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
|
|
68
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
69
|
+
`modified` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
70
|
+
`active` tinyint(1) NOT NULL DEFAULT 1
|
|
71
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Domain Aliases';
|
|
72
|
+
|
|
73
|
+
-- --------------------------------------------------------
|
|
74
|
+
|
|
75
|
+
--
|
|
76
|
+
-- Table structure for table `config`
|
|
77
|
+
--
|
|
78
|
+
|
|
79
|
+
CREATE TABLE `config` (
|
|
80
|
+
`id` int(11) NOT NULL,
|
|
81
|
+
`name` varchar(20) NOT NULL DEFAULT '',
|
|
82
|
+
`value` varchar(20) NOT NULL DEFAULT ''
|
|
83
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='PostfixAdmin settings';
|
|
84
|
+
|
|
85
|
+
--
|
|
86
|
+
-- Dumping data for table `config`
|
|
87
|
+
--
|
|
88
|
+
|
|
89
|
+
INSERT INTO `config` (`id`, `name`, `value`) VALUES
|
|
90
|
+
(1, 'version', '1841');
|
|
91
|
+
|
|
92
|
+
-- --------------------------------------------------------
|
|
93
|
+
|
|
94
|
+
--
|
|
95
|
+
-- Table structure for table `domain`
|
|
96
|
+
--
|
|
97
|
+
|
|
98
|
+
CREATE TABLE `domain` (
|
|
99
|
+
`domain` varchar(255) NOT NULL,
|
|
100
|
+
`description` varchar(255) NOT NULL,
|
|
101
|
+
`aliases` int(10) NOT NULL DEFAULT 0,
|
|
102
|
+
`mailboxes` int(10) NOT NULL DEFAULT 0,
|
|
103
|
+
`maxquota` bigint(20) NOT NULL DEFAULT 0,
|
|
104
|
+
`quota` bigint(20) NOT NULL DEFAULT 0,
|
|
105
|
+
`transport` varchar(255) NOT NULL,
|
|
106
|
+
`backupmx` tinyint(1) NOT NULL DEFAULT 0,
|
|
107
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
108
|
+
`modified` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
109
|
+
`active` tinyint(1) NOT NULL DEFAULT 1
|
|
110
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Domains';
|
|
111
|
+
|
|
112
|
+
--
|
|
113
|
+
-- Dumping data for table `domain`
|
|
114
|
+
--
|
|
115
|
+
|
|
116
|
+
INSERT INTO `domain` (`domain`, `description`, `aliases`, `mailboxes`, `maxquota`, `quota`, `transport`, `backupmx`, `created`, `modified`, `active`) VALUES
|
|
117
|
+
('ALL', '', 0, 0, 0, 0, '', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1);
|
|
118
|
+
|
|
119
|
+
-- --------------------------------------------------------
|
|
120
|
+
|
|
121
|
+
--
|
|
122
|
+
-- Table structure for table `domain_admins`
|
|
123
|
+
--
|
|
124
|
+
|
|
125
|
+
CREATE TABLE `domain_admins` (
|
|
126
|
+
`username` varchar(255) NOT NULL,
|
|
127
|
+
`domain` varchar(255) NOT NULL,
|
|
128
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
129
|
+
`active` tinyint(1) NOT NULL DEFAULT 1
|
|
130
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Domain Admins';
|
|
131
|
+
|
|
132
|
+
-- --------------------------------------------------------
|
|
133
|
+
|
|
134
|
+
--
|
|
135
|
+
-- Table structure for table `fetchmail`
|
|
136
|
+
--
|
|
137
|
+
|
|
138
|
+
CREATE TABLE `fetchmail` (
|
|
139
|
+
`id` int(11) UNSIGNED NOT NULL,
|
|
140
|
+
`mailbox` varchar(255) NOT NULL,
|
|
141
|
+
`src_server` varchar(255) NOT NULL,
|
|
142
|
+
`src_auth` enum('password','kerberos_v5','kerberos','kerberos_v4','gssapi','cram-md5','otp','ntlm','msn','ssh','any') DEFAULT NULL,
|
|
143
|
+
`src_user` varchar(255) NOT NULL,
|
|
144
|
+
`src_password` varchar(255) NOT NULL,
|
|
145
|
+
`src_folder` varchar(255) NOT NULL,
|
|
146
|
+
`poll_time` int(11) UNSIGNED NOT NULL DEFAULT 10,
|
|
147
|
+
`fetchall` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
148
|
+
`keep` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
149
|
+
`protocol` enum('POP3','IMAP','POP2','ETRN','AUTO') DEFAULT NULL,
|
|
150
|
+
`usessl` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
|
|
151
|
+
`extra_options` text DEFAULT NULL,
|
|
152
|
+
`returned_text` text DEFAULT NULL,
|
|
153
|
+
`mda` varchar(255) NOT NULL,
|
|
154
|
+
`date` timestamp NOT NULL DEFAULT '1999-12-31 15:00:00',
|
|
155
|
+
`sslcertck` tinyint(1) NOT NULL DEFAULT 0,
|
|
156
|
+
`sslcertpath` varchar(255) DEFAULT '',
|
|
157
|
+
`sslfingerprint` varchar(255) CHARACTER SET latin1 DEFAULT '',
|
|
158
|
+
`domain` varchar(255) CHARACTER SET latin1 DEFAULT '',
|
|
159
|
+
`active` tinyint(1) NOT NULL DEFAULT 0,
|
|
160
|
+
`created` timestamp NOT NULL DEFAULT '1999-12-31 15:00:00',
|
|
161
|
+
`modified` timestamp NOT NULL DEFAULT current_timestamp()
|
|
162
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
163
|
+
|
|
164
|
+
-- --------------------------------------------------------
|
|
165
|
+
|
|
166
|
+
--
|
|
167
|
+
-- Table structure for table `log`
|
|
168
|
+
--
|
|
169
|
+
|
|
170
|
+
CREATE TABLE `log` (
|
|
171
|
+
`timestamp` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
172
|
+
`username` varchar(255) NOT NULL,
|
|
173
|
+
`domain` varchar(255) NOT NULL,
|
|
174
|
+
`action` varchar(255) NOT NULL,
|
|
175
|
+
`data` text NOT NULL,
|
|
176
|
+
`id` int(11) NOT NULL
|
|
177
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Log';
|
|
178
|
+
|
|
179
|
+
-- --------------------------------------------------------
|
|
180
|
+
|
|
181
|
+
--
|
|
182
|
+
-- Table structure for table `mailbox`
|
|
183
|
+
--
|
|
184
|
+
|
|
185
|
+
CREATE TABLE `mailbox` (
|
|
186
|
+
`username` varchar(255) NOT NULL,
|
|
187
|
+
`password` varchar(255) NOT NULL,
|
|
188
|
+
`name` varchar(255) NOT NULL,
|
|
189
|
+
`maildir` varchar(255) NOT NULL,
|
|
190
|
+
`quota` bigint(20) NOT NULL DEFAULT 0,
|
|
191
|
+
`local_part` varchar(255) NOT NULL,
|
|
192
|
+
`domain` varchar(255) NOT NULL,
|
|
193
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
194
|
+
`modified` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
195
|
+
`active` tinyint(1) NOT NULL DEFAULT 1,
|
|
196
|
+
`phone` varchar(30) NOT NULL DEFAULT '',
|
|
197
|
+
`email_other` varchar(255) NOT NULL DEFAULT '',
|
|
198
|
+
`token` varchar(255) NOT NULL DEFAULT '',
|
|
199
|
+
`token_validity` datetime NOT NULL DEFAULT '2000-01-01 00:00:00'
|
|
200
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Mailboxes';
|
|
201
|
+
|
|
202
|
+
-- --------------------------------------------------------
|
|
203
|
+
|
|
204
|
+
--
|
|
205
|
+
-- Table structure for table `quota`
|
|
206
|
+
--
|
|
207
|
+
|
|
208
|
+
CREATE TABLE `quota` (
|
|
209
|
+
`username` varchar(255) NOT NULL,
|
|
210
|
+
`path` varchar(100) NOT NULL,
|
|
211
|
+
`current` bigint(20) DEFAULT NULL
|
|
212
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
213
|
+
|
|
214
|
+
-- --------------------------------------------------------
|
|
215
|
+
|
|
216
|
+
--
|
|
217
|
+
-- Table structure for table `quota2`
|
|
218
|
+
--
|
|
219
|
+
|
|
220
|
+
CREATE TABLE `quota2` (
|
|
221
|
+
`username` varchar(100) NOT NULL,
|
|
222
|
+
`bytes` bigint(20) NOT NULL DEFAULT 0,
|
|
223
|
+
`messages` int(11) NOT NULL DEFAULT 0
|
|
224
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
225
|
+
|
|
226
|
+
-- --------------------------------------------------------
|
|
227
|
+
|
|
228
|
+
--
|
|
229
|
+
-- Table structure for table `vacation`
|
|
230
|
+
--
|
|
231
|
+
|
|
232
|
+
CREATE TABLE `vacation` (
|
|
233
|
+
`email` varchar(255) NOT NULL,
|
|
234
|
+
`subject` varchar(255) NOT NULL,
|
|
235
|
+
`body` text NOT NULL,
|
|
236
|
+
`cache` text NOT NULL,
|
|
237
|
+
`domain` varchar(255) NOT NULL,
|
|
238
|
+
`created` datetime NOT NULL DEFAULT '2000-01-01 00:00:00',
|
|
239
|
+
`active` tinyint(1) NOT NULL DEFAULT 1,
|
|
240
|
+
`modified` timestamp NOT NULL DEFAULT current_timestamp(),
|
|
241
|
+
`activefrom` timestamp NOT NULL DEFAULT '1999-12-31 15:00:00',
|
|
242
|
+
`activeuntil` timestamp NOT NULL DEFAULT '2038-01-17 15:00:00',
|
|
243
|
+
`interval_time` int(11) NOT NULL DEFAULT 0
|
|
244
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Vacation';
|
|
245
|
+
|
|
246
|
+
-- --------------------------------------------------------
|
|
247
|
+
|
|
248
|
+
--
|
|
249
|
+
-- Table structure for table `vacation_notification`
|
|
250
|
+
--
|
|
251
|
+
|
|
252
|
+
CREATE TABLE `vacation_notification` (
|
|
253
|
+
`on_vacation` varchar(150) NOT NULL,
|
|
254
|
+
`notified` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',
|
|
255
|
+
`notified_at` timestamp NOT NULL DEFAULT current_timestamp()
|
|
256
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Vacation Notifications';
|
|
257
|
+
|
|
258
|
+
--
|
|
259
|
+
-- Indexes for dumped tables
|
|
260
|
+
--
|
|
261
|
+
|
|
262
|
+
--
|
|
263
|
+
-- Indexes for table `admin`
|
|
264
|
+
--
|
|
265
|
+
ALTER TABLE `admin`
|
|
266
|
+
ADD PRIMARY KEY (`username`);
|
|
267
|
+
|
|
268
|
+
--
|
|
269
|
+
-- Indexes for table `alias`
|
|
270
|
+
--
|
|
271
|
+
ALTER TABLE `alias`
|
|
272
|
+
ADD PRIMARY KEY (`address`),
|
|
273
|
+
ADD KEY `domain` (`domain`);
|
|
274
|
+
|
|
275
|
+
--
|
|
276
|
+
-- Indexes for table `alias_domain`
|
|
277
|
+
--
|
|
278
|
+
ALTER TABLE `alias_domain`
|
|
279
|
+
ADD PRIMARY KEY (`alias_domain`),
|
|
280
|
+
ADD KEY `active` (`active`),
|
|
281
|
+
ADD KEY `target_domain` (`target_domain`);
|
|
282
|
+
|
|
283
|
+
--
|
|
284
|
+
-- Indexes for table `config`
|
|
285
|
+
--
|
|
286
|
+
ALTER TABLE `config`
|
|
287
|
+
ADD PRIMARY KEY (`id`),
|
|
288
|
+
ADD UNIQUE KEY `name` (`name`);
|
|
289
|
+
|
|
290
|
+
--
|
|
291
|
+
-- Indexes for table `domain`
|
|
292
|
+
--
|
|
293
|
+
ALTER TABLE `domain`
|
|
294
|
+
ADD PRIMARY KEY (`domain`);
|
|
295
|
+
|
|
296
|
+
--
|
|
297
|
+
-- Indexes for table `domain_admins`
|
|
298
|
+
--
|
|
299
|
+
ALTER TABLE `domain_admins`
|
|
300
|
+
ADD KEY `username` (`username`);
|
|
301
|
+
|
|
302
|
+
--
|
|
303
|
+
-- Indexes for table `fetchmail`
|
|
304
|
+
--
|
|
305
|
+
ALTER TABLE `fetchmail`
|
|
306
|
+
ADD PRIMARY KEY (`id`);
|
|
307
|
+
|
|
308
|
+
--
|
|
309
|
+
-- Indexes for table `log`
|
|
310
|
+
--
|
|
311
|
+
ALTER TABLE `log`
|
|
312
|
+
ADD PRIMARY KEY (`id`),
|
|
313
|
+
ADD KEY `timestamp` (`timestamp`),
|
|
314
|
+
ADD KEY `domain_timestamp` (`domain`,`timestamp`);
|
|
315
|
+
|
|
316
|
+
--
|
|
317
|
+
-- Indexes for table `mailbox`
|
|
318
|
+
--
|
|
319
|
+
ALTER TABLE `mailbox`
|
|
320
|
+
ADD PRIMARY KEY (`username`),
|
|
321
|
+
ADD KEY `domain` (`domain`);
|
|
322
|
+
|
|
323
|
+
--
|
|
324
|
+
-- Indexes for table `quota`
|
|
325
|
+
--
|
|
326
|
+
ALTER TABLE `quota`
|
|
327
|
+
ADD PRIMARY KEY (`username`,`path`);
|
|
328
|
+
|
|
329
|
+
--
|
|
330
|
+
-- Indexes for table `quota2`
|
|
331
|
+
--
|
|
332
|
+
ALTER TABLE `quota2`
|
|
333
|
+
ADD PRIMARY KEY (`username`);
|
|
334
|
+
|
|
335
|
+
--
|
|
336
|
+
-- Indexes for table `vacation`
|
|
337
|
+
--
|
|
338
|
+
ALTER TABLE `vacation`
|
|
339
|
+
ADD PRIMARY KEY (`email`),
|
|
340
|
+
ADD KEY `email` (`email`);
|
|
341
|
+
|
|
342
|
+
--
|
|
343
|
+
-- Indexes for table `vacation_notification`
|
|
344
|
+
--
|
|
345
|
+
ALTER TABLE `vacation_notification`
|
|
346
|
+
ADD PRIMARY KEY (`on_vacation`,`notified`);
|
|
347
|
+
|
|
348
|
+
--
|
|
349
|
+
-- AUTO_INCREMENT for dumped tables
|
|
350
|
+
--
|
|
351
|
+
|
|
352
|
+
--
|
|
353
|
+
-- AUTO_INCREMENT for table `config`
|
|
354
|
+
--
|
|
355
|
+
ALTER TABLE `config`
|
|
356
|
+
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
|
|
357
|
+
|
|
358
|
+
--
|
|
359
|
+
-- AUTO_INCREMENT for table `fetchmail`
|
|
360
|
+
--
|
|
361
|
+
ALTER TABLE `fetchmail`
|
|
362
|
+
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
|
|
363
|
+
|
|
364
|
+
--
|
|
365
|
+
-- AUTO_INCREMENT for table `log`
|
|
366
|
+
--
|
|
367
|
+
ALTER TABLE `log`
|
|
368
|
+
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
|
369
|
+
|
|
370
|
+
--
|
|
371
|
+
-- Constraints for dumped tables
|
|
372
|
+
--
|
|
373
|
+
|
|
374
|
+
--
|
|
375
|
+
-- Constraints for table `vacation_notification`
|
|
376
|
+
--
|
|
377
|
+
ALTER TABLE `vacation_notification`
|
|
378
|
+
ADD CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE;
|
|
379
|
+
COMMIT;
|
|
380
|
+
|
|
381
|
+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
382
|
+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
383
|
+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
-- phpMyAdmin SQL Dump
|
|
2
|
+
-- version 3.4.7
|
|
3
|
+
-- http://www.phpmyadmin.net
|
|
4
|
+
--
|
|
5
|
+
-- ホスト: localhost
|
|
6
|
+
-- 生成時間: 2012 年 9 月 25 日 23:12
|
|
7
|
+
-- サーバのバージョン: 5.5.15
|
|
8
|
+
-- PHP のバージョン: 5.3.15
|
|
9
|
+
|
|
10
|
+
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
|
|
11
|
+
SET time_zone = "+00:00";
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
15
|
+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
16
|
+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
17
|
+
/*!40101 SET NAMES utf8 */;
|
|
18
|
+
|
|
19
|
+
--
|
|
20
|
+
-- データベース: `postfix_test`
|
|
21
|
+
--
|
|
22
|
+
|
|
23
|
+
-- --------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
--
|
|
26
|
+
-- テーブルの構造 `admin`
|
|
27
|
+
--
|
|
28
|
+
|
|
29
|
+
CREATE TABLE IF NOT EXISTS `admin` (
|
|
30
|
+
`username` varchar(255) NOT NULL DEFAULT '',
|
|
31
|
+
`password` varchar(255) NOT NULL DEFAULT '',
|
|
32
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
33
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
34
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
35
|
+
PRIMARY KEY (`username`)
|
|
36
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Admins';
|
|
37
|
+
|
|
38
|
+
-- --------------------------------------------------------
|
|
39
|
+
|
|
40
|
+
--
|
|
41
|
+
-- テーブルの構造 `alias`
|
|
42
|
+
--
|
|
43
|
+
|
|
44
|
+
CREATE TABLE IF NOT EXISTS `alias` (
|
|
45
|
+
`address` varchar(255) NOT NULL DEFAULT '',
|
|
46
|
+
`goto` text NOT NULL,
|
|
47
|
+
`domain` varchar(255) NOT NULL DEFAULT '',
|
|
48
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
49
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
50
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
51
|
+
PRIMARY KEY (`address`)
|
|
52
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Aliases';
|
|
53
|
+
|
|
54
|
+
--
|
|
55
|
+
-- テーブルのデータをダンプしています `alias`
|
|
56
|
+
--
|
|
57
|
+
|
|
58
|
+
-- --------------------------------------------------------
|
|
59
|
+
|
|
60
|
+
--
|
|
61
|
+
-- テーブルの構造 `config`
|
|
62
|
+
--
|
|
63
|
+
|
|
64
|
+
CREATE TABLE IF NOT EXISTS `config` (
|
|
65
|
+
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
66
|
+
`name` varchar(20) CHARACTER SET latin1 NOT NULL DEFAULT '',
|
|
67
|
+
`value` varchar(20) CHARACTER SET latin1 NOT NULL DEFAULT '',
|
|
68
|
+
PRIMARY KEY (`id`),
|
|
69
|
+
UNIQUE KEY `name` (`name`)
|
|
70
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='PostfixAdmin settings' AUTO_INCREMENT=2 ;
|
|
71
|
+
|
|
72
|
+
--
|
|
73
|
+
-- テーブルのデータをダンプしています `config`
|
|
74
|
+
--
|
|
75
|
+
|
|
76
|
+
INSERT INTO `config` (`id`, `name`, `value`) VALUES
|
|
77
|
+
(1, 'version', '352');
|
|
78
|
+
|
|
79
|
+
-- --------------------------------------------------------
|
|
80
|
+
|
|
81
|
+
--
|
|
82
|
+
-- テーブルの構造 `domain`
|
|
83
|
+
--
|
|
84
|
+
|
|
85
|
+
CREATE TABLE IF NOT EXISTS `domain` (
|
|
86
|
+
`domain` varchar(255) NOT NULL DEFAULT '',
|
|
87
|
+
`description` varchar(255) NOT NULL DEFAULT '',
|
|
88
|
+
`aliases` int(10) NOT NULL DEFAULT '0',
|
|
89
|
+
`mailboxes` int(10) NOT NULL DEFAULT '0',
|
|
90
|
+
`maxquota` bigint(20) NOT NULL DEFAULT '0',
|
|
91
|
+
`quota` bigint(20) NOT NULL DEFAULT '0',
|
|
92
|
+
`transport` varchar(255) DEFAULT NULL,
|
|
93
|
+
`backupmx` tinyint(1) NOT NULL DEFAULT '0',
|
|
94
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
95
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
96
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
97
|
+
PRIMARY KEY (`domain`)
|
|
98
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Domains';
|
|
99
|
+
|
|
100
|
+
--
|
|
101
|
+
-- テーブルのデータをダンプしています `domain`
|
|
102
|
+
--
|
|
103
|
+
|
|
104
|
+
INSERT INTO `domain` (`domain`, `description`, `aliases`, `mailboxes`, `maxquota`, `quota`, `transport`, `backupmx`, `created`, `modified`, `active`) VALUES
|
|
105
|
+
('ALL', '', 0, 0, 0, 0, NULL, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1);
|
|
106
|
+
|
|
107
|
+
-- --------------------------------------------------------
|
|
108
|
+
|
|
109
|
+
--
|
|
110
|
+
-- テーブルの構造 `domain_admins`
|
|
111
|
+
--
|
|
112
|
+
|
|
113
|
+
CREATE TABLE IF NOT EXISTS `domain_admins` (
|
|
114
|
+
`username` varchar(255) NOT NULL DEFAULT '',
|
|
115
|
+
`domain` varchar(255) NOT NULL DEFAULT '',
|
|
116
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
117
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
118
|
+
KEY `username` (`username`)
|
|
119
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Domain Admins';
|
|
120
|
+
|
|
121
|
+
-- --------------------------------------------------------
|
|
122
|
+
|
|
123
|
+
--
|
|
124
|
+
-- テーブルの構造 `fetchmail`
|
|
125
|
+
--
|
|
126
|
+
|
|
127
|
+
CREATE TABLE IF NOT EXISTS `fetchmail` (
|
|
128
|
+
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
129
|
+
`mailbox` varchar(255) NOT NULL DEFAULT '',
|
|
130
|
+
`src_server` varchar(255) NOT NULL DEFAULT '',
|
|
131
|
+
`src_auth` enum('password','kerberos_v5','kerberos','kerberos_v4','gssapi','cram-md5','otp','ntlm','msn','ssh','any') DEFAULT NULL,
|
|
132
|
+
`src_user` varchar(255) NOT NULL DEFAULT '',
|
|
133
|
+
`src_password` varchar(255) NOT NULL DEFAULT '',
|
|
134
|
+
`src_folder` varchar(255) NOT NULL DEFAULT '',
|
|
135
|
+
`poll_time` int(11) unsigned NOT NULL DEFAULT '10',
|
|
136
|
+
`fetchall` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
|
137
|
+
`keep` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
|
138
|
+
`protocol` enum('POP3','IMAP','POP2','ETRN','AUTO') DEFAULT NULL,
|
|
139
|
+
`extra_options` text,
|
|
140
|
+
`returned_text` text,
|
|
141
|
+
`mda` varchar(255) NOT NULL DEFAULT '',
|
|
142
|
+
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
143
|
+
PRIMARY KEY (`id`)
|
|
144
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
|
|
145
|
+
|
|
146
|
+
-- --------------------------------------------------------
|
|
147
|
+
|
|
148
|
+
--
|
|
149
|
+
-- テーブルの構造 `log`
|
|
150
|
+
--
|
|
151
|
+
|
|
152
|
+
CREATE TABLE IF NOT EXISTS `log` (
|
|
153
|
+
`timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
154
|
+
`username` varchar(255) NOT NULL DEFAULT '',
|
|
155
|
+
`domain` varchar(255) NOT NULL DEFAULT '',
|
|
156
|
+
`action` varchar(255) NOT NULL DEFAULT '',
|
|
157
|
+
`data` varchar(255) NOT NULL DEFAULT '',
|
|
158
|
+
KEY `timestamp` (`timestamp`)
|
|
159
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Log';
|
|
160
|
+
|
|
161
|
+
-- --------------------------------------------------------
|
|
162
|
+
|
|
163
|
+
--
|
|
164
|
+
-- テーブルの構造 `mailbox`
|
|
165
|
+
--
|
|
166
|
+
|
|
167
|
+
CREATE TABLE IF NOT EXISTS `mailbox` (
|
|
168
|
+
`username` varchar(255) NOT NULL DEFAULT '',
|
|
169
|
+
`password` varchar(255) NOT NULL DEFAULT '',
|
|
170
|
+
`name` varchar(255) NOT NULL DEFAULT '',
|
|
171
|
+
`maildir` varchar(255) NOT NULL DEFAULT '',
|
|
172
|
+
`quota` bigint(20) NOT NULL DEFAULT '0',
|
|
173
|
+
`domain` varchar(255) NOT NULL DEFAULT '',
|
|
174
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
175
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
176
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
177
|
+
PRIMARY KEY (`username`)
|
|
178
|
+
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Mailboxes';
|
|
179
|
+
|
|
180
|
+
-- --------------------------------------------------------
|
|
181
|
+
|
|
182
|
+
--
|
|
183
|
+
-- テーブルの構造 `vacation`
|
|
184
|
+
--
|
|
185
|
+
|
|
186
|
+
CREATE TABLE IF NOT EXISTS `vacation` (
|
|
187
|
+
`email` varchar(255) NOT NULL,
|
|
188
|
+
`subject` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
|
189
|
+
`body` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
|
190
|
+
`cache` text NOT NULL,
|
|
191
|
+
`domain` varchar(255) NOT NULL,
|
|
192
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
193
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
194
|
+
PRIMARY KEY (`email`),
|
|
195
|
+
KEY `email` (`email`)
|
|
196
|
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Postfix Admin - Virtual Vacation';
|
|
197
|
+
|
|
198
|
+
-- --------------------------------------------------------
|
|
199
|
+
|
|
200
|
+
--
|
|
201
|
+
-- テーブルの構造 `vacation_notification`
|
|
202
|
+
--
|
|
203
|
+
|
|
204
|
+
CREATE TABLE IF NOT EXISTS `vacation_notification` (
|
|
205
|
+
`on_vacation` varchar(255) NOT NULL,
|
|
206
|
+
`notified` varchar(255) NOT NULL,
|
|
207
|
+
`notified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
208
|
+
PRIMARY KEY (`on_vacation`,`notified`)
|
|
209
|
+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Postfix Admin - Virtual Vacation Notifications';
|
|
210
|
+
|
|
211
|
+
--
|
|
212
|
+
-- ダンプしたテーブルの制約
|
|
213
|
+
--
|
|
214
|
+
|
|
215
|
+
--
|
|
216
|
+
-- テーブルの制約 `vacation_notification`
|
|
217
|
+
--
|
|
218
|
+
ALTER TABLE `vacation_notification`
|
|
219
|
+
ADD CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE;
|
|
220
|
+
|
|
221
|
+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
222
|
+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
223
|
+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
|
|
2
|
+
-- phpMyAdmin SQL Dump
|
|
3
|
+
-- version 3.5.7
|
|
4
|
+
-- http://www.phpmyadmin.net
|
|
5
|
+
--
|
|
6
|
+
-- ホスト: localhost
|
|
7
|
+
-- 生成日時: 2013 年 5 月 09 日 08:25
|
|
8
|
+
-- サーバのバージョン: 5.5.29
|
|
9
|
+
-- PHP のバージョン: 5.3.20
|
|
10
|
+
|
|
11
|
+
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
|
|
12
|
+
SET time_zone = "+00:00";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
16
|
+
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
17
|
+
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
18
|
+
/*!40101 SET NAMES utf8 */;
|
|
19
|
+
|
|
20
|
+
--
|
|
21
|
+
-- データベース: `postfix`
|
|
22
|
+
--
|
|
23
|
+
|
|
24
|
+
-- --------------------------------------------------------
|
|
25
|
+
|
|
26
|
+
--
|
|
27
|
+
-- テーブルの構造 `admin`
|
|
28
|
+
--
|
|
29
|
+
|
|
30
|
+
CREATE TABLE IF NOT EXISTS `admin` (
|
|
31
|
+
`username` varchar(255) NOT NULL,
|
|
32
|
+
`password` varchar(255) NOT NULL,
|
|
33
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
34
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
35
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
36
|
+
PRIMARY KEY (`username`)
|
|
37
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Admins';
|
|
38
|
+
|
|
39
|
+
-- --------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
--
|
|
42
|
+
-- テーブルの構造 `alias`
|
|
43
|
+
--
|
|
44
|
+
|
|
45
|
+
CREATE TABLE IF NOT EXISTS `alias` (
|
|
46
|
+
`address` varchar(255) NOT NULL,
|
|
47
|
+
`goto` text NOT NULL,
|
|
48
|
+
`domain` varchar(255) NOT NULL,
|
|
49
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
50
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
51
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
52
|
+
PRIMARY KEY (`address`),
|
|
53
|
+
KEY `domain` (`domain`)
|
|
54
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Aliases';
|
|
55
|
+
|
|
56
|
+
-- --------------------------------------------------------
|
|
57
|
+
|
|
58
|
+
--
|
|
59
|
+
-- テーブルの構造 `alias_domain`
|
|
60
|
+
--
|
|
61
|
+
|
|
62
|
+
CREATE TABLE IF NOT EXISTS `alias_domain` (
|
|
63
|
+
`alias_domain` varchar(255) NOT NULL,
|
|
64
|
+
`target_domain` varchar(255) NOT NULL,
|
|
65
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
66
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
67
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
68
|
+
PRIMARY KEY (`alias_domain`),
|
|
69
|
+
KEY `active` (`active`),
|
|
70
|
+
KEY `target_domain` (`target_domain`)
|
|
71
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Domain Aliases';
|
|
72
|
+
|
|
73
|
+
-- --------------------------------------------------------
|
|
74
|
+
|
|
75
|
+
--
|
|
76
|
+
-- テーブルの構造 `config`
|
|
77
|
+
--
|
|
78
|
+
|
|
79
|
+
CREATE TABLE IF NOT EXISTS `config` (
|
|
80
|
+
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
81
|
+
`name` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
82
|
+
`value` varchar(20) CHARACTER SET utf8 NOT NULL DEFAULT '',
|
|
83
|
+
PRIMARY KEY (`id`),
|
|
84
|
+
UNIQUE KEY `name` (`name`)
|
|
85
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='PostfixAdmin settings' AUTO_INCREMENT=2 ;
|
|
86
|
+
|
|
87
|
+
--
|
|
88
|
+
-- テーブルのデータのダンプ `config`
|
|
89
|
+
--
|
|
90
|
+
|
|
91
|
+
INSERT INTO `config` (`id`, `name`, `value`) VALUES
|
|
92
|
+
(1, 'version', '740');
|
|
93
|
+
|
|
94
|
+
-- --------------------------------------------------------
|
|
95
|
+
|
|
96
|
+
--
|
|
97
|
+
-- テーブルの構造 `domain`
|
|
98
|
+
--
|
|
99
|
+
|
|
100
|
+
CREATE TABLE IF NOT EXISTS `domain` (
|
|
101
|
+
`domain` varchar(255) NOT NULL,
|
|
102
|
+
`description` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
103
|
+
`aliases` int(10) NOT NULL DEFAULT '0',
|
|
104
|
+
`mailboxes` int(10) NOT NULL DEFAULT '0',
|
|
105
|
+
`maxquota` bigint(20) NOT NULL DEFAULT '0',
|
|
106
|
+
`quota` bigint(20) NOT NULL DEFAULT '0',
|
|
107
|
+
`transport` varchar(255) NOT NULL,
|
|
108
|
+
`backupmx` tinyint(1) NOT NULL DEFAULT '0',
|
|
109
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
110
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
111
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
112
|
+
PRIMARY KEY (`domain`)
|
|
113
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Domains';
|
|
114
|
+
|
|
115
|
+
--
|
|
116
|
+
-- テーブルのデータのダンプ `domain`
|
|
117
|
+
--
|
|
118
|
+
|
|
119
|
+
INSERT INTO `domain` (`domain`, `description`, `aliases`, `mailboxes`, `maxquota`, `quota`, `transport`, `backupmx`, `created`, `modified`, `active`) VALUES
|
|
120
|
+
('ALL', '', 0, 0, 0, 0, '', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1);
|
|
121
|
+
|
|
122
|
+
-- --------------------------------------------------------
|
|
123
|
+
|
|
124
|
+
--
|
|
125
|
+
-- テーブルの構造 `domain_admins`
|
|
126
|
+
--
|
|
127
|
+
|
|
128
|
+
CREATE TABLE IF NOT EXISTS `domain_admins` (
|
|
129
|
+
`username` varchar(255) NOT NULL,
|
|
130
|
+
`domain` varchar(255) NOT NULL,
|
|
131
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
132
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
133
|
+
KEY `username` (`username`)
|
|
134
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Domain Admins';
|
|
135
|
+
|
|
136
|
+
-- --------------------------------------------------------
|
|
137
|
+
|
|
138
|
+
--
|
|
139
|
+
-- テーブルの構造 `fetchmail`
|
|
140
|
+
--
|
|
141
|
+
|
|
142
|
+
CREATE TABLE IF NOT EXISTS `fetchmail` (
|
|
143
|
+
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
|
144
|
+
`mailbox` varchar(255) NOT NULL,
|
|
145
|
+
`src_server` varchar(255) NOT NULL,
|
|
146
|
+
`src_auth` enum('password','kerberos_v5','kerberos','kerberos_v4','gssapi','cram-md5','otp','ntlm','msn','ssh','any') CHARACTER SET utf8 DEFAULT NULL,
|
|
147
|
+
`src_user` varchar(255) NOT NULL,
|
|
148
|
+
`src_password` varchar(255) NOT NULL,
|
|
149
|
+
`src_folder` varchar(255) NOT NULL,
|
|
150
|
+
`poll_time` int(11) unsigned NOT NULL DEFAULT '10',
|
|
151
|
+
`fetchall` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
|
152
|
+
`keep` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
|
153
|
+
`protocol` enum('POP3','IMAP','POP2','ETRN','AUTO') CHARACTER SET utf8 DEFAULT NULL,
|
|
154
|
+
`usessl` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
|
155
|
+
`extra_options` text,
|
|
156
|
+
`returned_text` text,
|
|
157
|
+
`mda` varchar(255) NOT NULL,
|
|
158
|
+
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
159
|
+
PRIMARY KEY (`id`)
|
|
160
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
|
|
161
|
+
|
|
162
|
+
-- --------------------------------------------------------
|
|
163
|
+
|
|
164
|
+
--
|
|
165
|
+
-- テーブルの構造 `log`
|
|
166
|
+
--
|
|
167
|
+
|
|
168
|
+
CREATE TABLE IF NOT EXISTS `log` (
|
|
169
|
+
`timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
170
|
+
`username` varchar(255) NOT NULL,
|
|
171
|
+
`domain` varchar(255) NOT NULL,
|
|
172
|
+
`action` varchar(255) NOT NULL,
|
|
173
|
+
`data` text NOT NULL,
|
|
174
|
+
KEY `timestamp` (`timestamp`)
|
|
175
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Log';
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
-- --------------------------------------------------------
|
|
179
|
+
|
|
180
|
+
--
|
|
181
|
+
-- テーブルの構造 `mailbox`
|
|
182
|
+
--
|
|
183
|
+
|
|
184
|
+
CREATE TABLE IF NOT EXISTS `mailbox` (
|
|
185
|
+
`username` varchar(255) NOT NULL,
|
|
186
|
+
`password` varchar(255) NOT NULL,
|
|
187
|
+
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
188
|
+
`maildir` varchar(255) NOT NULL,
|
|
189
|
+
`quota` bigint(20) NOT NULL DEFAULT '0',
|
|
190
|
+
`local_part` varchar(255) NOT NULL,
|
|
191
|
+
`domain` varchar(255) NOT NULL,
|
|
192
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
193
|
+
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
194
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
195
|
+
PRIMARY KEY (`username`),
|
|
196
|
+
KEY `domain` (`domain`)
|
|
197
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Mailboxes';
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
-- --------------------------------------------------------
|
|
201
|
+
|
|
202
|
+
--
|
|
203
|
+
-- テーブルの構造 `quota`
|
|
204
|
+
--
|
|
205
|
+
|
|
206
|
+
CREATE TABLE IF NOT EXISTS `quota` (
|
|
207
|
+
`username` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
208
|
+
`path` varchar(100) CHARACTER SET utf8 NOT NULL,
|
|
209
|
+
`current` bigint(20) DEFAULT NULL,
|
|
210
|
+
PRIMARY KEY (`username`,`path`)
|
|
211
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8;
|
|
212
|
+
|
|
213
|
+
-- --------------------------------------------------------
|
|
214
|
+
|
|
215
|
+
--
|
|
216
|
+
-- テーブルの構造 `quota2`
|
|
217
|
+
--
|
|
218
|
+
|
|
219
|
+
CREATE TABLE IF NOT EXISTS `quota2` (
|
|
220
|
+
`username` varchar(100) CHARACTER SET utf8 NOT NULL,
|
|
221
|
+
`bytes` bigint(20) NOT NULL DEFAULT '0',
|
|
222
|
+
`messages` int(11) NOT NULL DEFAULT '0',
|
|
223
|
+
PRIMARY KEY (`username`)
|
|
224
|
+
) ENGINE=INNODB DEFAULT CHARSET=utf8;
|
|
225
|
+
|
|
226
|
+
-- --------------------------------------------------------
|
|
227
|
+
|
|
228
|
+
--
|
|
229
|
+
-- テーブルの構造 `vacation`
|
|
230
|
+
--
|
|
231
|
+
|
|
232
|
+
CREATE TABLE IF NOT EXISTS `vacation` (
|
|
233
|
+
`email` varchar(255) NOT NULL,
|
|
234
|
+
`subject` varchar(255) CHARACTER SET utf8 NOT NULL,
|
|
235
|
+
`body` text CHARACTER SET utf8 NOT NULL,
|
|
236
|
+
`cache` text NOT NULL,
|
|
237
|
+
`domain` varchar(255) NOT NULL,
|
|
238
|
+
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
239
|
+
`active` tinyint(1) NOT NULL DEFAULT '1',
|
|
240
|
+
PRIMARY KEY (`email`),
|
|
241
|
+
KEY `email` (`email`)
|
|
242
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Vacation';
|
|
243
|
+
|
|
244
|
+
-- --------------------------------------------------------
|
|
245
|
+
|
|
246
|
+
--
|
|
247
|
+
-- テーブルの構造 `vacation_notification`
|
|
248
|
+
--
|
|
249
|
+
|
|
250
|
+
CREATE TABLE IF NOT EXISTS `vacation_notification` (
|
|
251
|
+
`on_vacation` varchar(150) CHARACTER SET utf8 NOT NULL,
|
|
252
|
+
`notified` varchar(150) NOT NULL,
|
|
253
|
+
`notified_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
254
|
+
PRIMARY KEY (`on_vacation`,`notified`)
|
|
255
|
+
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Vacation Notifications';
|
|
256
|
+
|
|
257
|
+
--
|
|
258
|
+
-- ダンプしたテーブルの制約
|
|
259
|
+
--
|
|
260
|
+
|
|
261
|
+
--
|
|
262
|
+
-- テーブルの制約 `vacation_notification`
|
|
263
|
+
--
|
|
264
|
+
ALTER TABLE `vacation_notification`
|
|
265
|
+
ADD CONSTRAINT `vacation_notification_pkey` FOREIGN KEY (`on_vacation`) REFERENCES `vacation` (`email`) ON DELETE CASCADE;
|
|
266
|
+
|
|
267
|
+
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
268
|
+
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
269
|
+
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
data/lib/postfix_admin/admin.rb
CHANGED
|
@@ -24,7 +24,11 @@ module PostfixAdmin
|
|
|
24
24
|
|
|
25
25
|
def super_admin?
|
|
26
26
|
if @super_admin.nil?
|
|
27
|
-
@super_admin =
|
|
27
|
+
@super_admin = if has_superadmin_column?
|
|
28
|
+
self.superadmin && rel_domains.exists?("ALL")
|
|
29
|
+
else
|
|
30
|
+
rel_domains.exists?("ALL")
|
|
31
|
+
end
|
|
28
32
|
else
|
|
29
33
|
@super_admin
|
|
30
34
|
end
|
|
@@ -35,10 +39,16 @@ module PostfixAdmin
|
|
|
35
39
|
domain_ids = self.rel_domain_ids.dup
|
|
36
40
|
domain_ids << "ALL"
|
|
37
41
|
self.rel_domain_ids = domain_ids
|
|
38
|
-
|
|
42
|
+
self.superadmin = true if has_superadmin_column?
|
|
39
43
|
else
|
|
40
44
|
domain_admins.where(domain: "ALL").delete_all
|
|
45
|
+
self.superadmin = false if has_superadmin_column?
|
|
41
46
|
end
|
|
47
|
+
save!
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def has_superadmin_column?
|
|
51
|
+
has_attribute?(:superadmin)
|
|
42
52
|
end
|
|
43
53
|
|
|
44
54
|
def has_admin?(admin)
|
data/lib/postfix_admin/base.rb
CHANGED
|
@@ -13,6 +13,7 @@ module PostfixAdmin
|
|
|
13
13
|
'mailboxes' => 30,
|
|
14
14
|
'maxquota' => 100,
|
|
15
15
|
'scheme' => 'CRAM-MD5',
|
|
16
|
+
'passwordhash_prefix' => true
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
def initialize(config)
|
|
@@ -22,6 +23,11 @@ module PostfixAdmin
|
|
|
22
23
|
@config[:mailboxes] = config['mailboxes'] || 30
|
|
23
24
|
@config[:maxquota] = config['maxquota'] || 100
|
|
24
25
|
@config[:scheme] = config['scheme'] || 'CRAM-MD5'
|
|
26
|
+
@config[:passwordhash_prefix] = if config['passwordhash_prefix'].nil?
|
|
27
|
+
true
|
|
28
|
+
else
|
|
29
|
+
config['passwordhash_prefix']
|
|
30
|
+
end
|
|
25
31
|
end
|
|
26
32
|
|
|
27
33
|
def db_setup
|
data/lib/postfix_admin/cli.rb
CHANGED
|
@@ -4,7 +4,8 @@ require 'postfix_admin/doveadm'
|
|
|
4
4
|
|
|
5
5
|
module PostfixAdmin
|
|
6
6
|
class CLI
|
|
7
|
-
|
|
7
|
+
DEFAULT_CONFIG_PATH = '~/.postfix_admin.conf'
|
|
8
|
+
@config_file = DEFAULT_CONFIG_PATH
|
|
8
9
|
MIN_NUM_PASSWORD_CHARACTER = 5
|
|
9
10
|
|
|
10
11
|
def initialize
|
|
@@ -482,9 +483,10 @@ module PostfixAdmin
|
|
|
482
483
|
private
|
|
483
484
|
|
|
484
485
|
def hashed_password(password, in_scheme = nil)
|
|
486
|
+
prefix = @base.config[:passwordhash_prefix]
|
|
485
487
|
scheme = in_scheme || @base.config[:scheme]
|
|
486
488
|
puts "scheme: #{scheme}"
|
|
487
|
-
PostfixAdmin::Doveadm.password(password, scheme)
|
|
489
|
+
PostfixAdmin::Doveadm.password(password, scheme, prefix)
|
|
488
490
|
end
|
|
489
491
|
end
|
|
490
492
|
end
|
|
@@ -9,14 +9,19 @@ module PostfixAdmin
|
|
|
9
9
|
result.split
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
def self.password(in_password, in_scheme)
|
|
12
|
+
def self.password(in_password, in_scheme, prefix)
|
|
13
13
|
password = Shellwords.escape(in_password)
|
|
14
14
|
scheme = Shellwords.escape(in_scheme)
|
|
15
15
|
stdin, stdout, stderr = Open3.popen3("#{self.command_name} -s #{scheme} -p #{password}")
|
|
16
16
|
if stderr.readlines.to_s =~ /Fatal:/
|
|
17
17
|
raise Error, stderr.readlines
|
|
18
18
|
else
|
|
19
|
-
stdout.readlines.first.chomp
|
|
19
|
+
res = stdout.readlines.first.chomp
|
|
20
|
+
if prefix
|
|
21
|
+
res
|
|
22
|
+
else
|
|
23
|
+
res.gsub("{#{scheme}}", "")
|
|
24
|
+
end
|
|
20
25
|
end
|
|
21
26
|
end
|
|
22
27
|
|
data/postfix_admin.gemspec
CHANGED
|
@@ -10,6 +10,8 @@ Gem::Specification.new do |gem|
|
|
|
10
10
|
gem.description = %q{Command Line Tools for Postfix Admin}
|
|
11
11
|
gem.homepage = "https://github.com/krhitoshi/postfix_admin"
|
|
12
12
|
|
|
13
|
+
gem.required_ruby_version = ">= 2.5.0"
|
|
14
|
+
|
|
13
15
|
gem.add_dependency 'thor', '~> 1.0.1'
|
|
14
16
|
gem.add_dependency 'activerecord', '~> 6.0.3'
|
|
15
17
|
gem.add_dependency 'mysql2', '>= 0.5.3'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: postfix_admin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hitoshi Kurokawa
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-07-
|
|
11
|
+
date: 2020-07-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: thor
|
|
@@ -116,18 +116,26 @@ executables:
|
|
|
116
116
|
extensions: []
|
|
117
117
|
extra_rdoc_files: []
|
|
118
118
|
files:
|
|
119
|
+
- ".github/workflows/ruby.yml"
|
|
119
120
|
- ".gitignore"
|
|
120
121
|
- ".rubocop.yml"
|
|
121
122
|
- CHANGELOG.md
|
|
122
|
-
- Dockerfile
|
|
123
123
|
- Gemfile
|
|
124
124
|
- LICENSE
|
|
125
125
|
- README.md
|
|
126
126
|
- Rakefile
|
|
127
127
|
- Thorfile
|
|
128
128
|
- bin/console
|
|
129
|
+
- docker-admin/Dockerfile
|
|
130
|
+
- docker-admin/config.local.php
|
|
131
|
+
- docker-app-2.5/Dockerfile
|
|
132
|
+
- docker-app/Dockerfile
|
|
133
|
+
- docker-app/docker-entrypoint.sh
|
|
134
|
+
- docker-app/my.cnf
|
|
129
135
|
- docker-compose.yml
|
|
130
|
-
- docker-
|
|
136
|
+
- docker-db/postfix.v1841.sql
|
|
137
|
+
- docker-db/postfix.v352.sql
|
|
138
|
+
- docker-db/postfix.v740.sql
|
|
131
139
|
- exe/postfix_admin
|
|
132
140
|
- lib/postfix_admin.rb
|
|
133
141
|
- lib/postfix_admin/admin.rb
|
|
@@ -161,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
161
169
|
requirements:
|
|
162
170
|
- - ">="
|
|
163
171
|
- !ruby/object:Gem::Version
|
|
164
|
-
version:
|
|
172
|
+
version: 2.5.0
|
|
165
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
174
|
requirements:
|
|
167
175
|
- - ">="
|
data/Dockerfile
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
FROM centos:8
|
|
2
|
-
|
|
3
|
-
RUN dnf -y module enable ruby:2.6 \
|
|
4
|
-
&& dnf -y install \
|
|
5
|
-
ruby ruby-devel mariadb-devel sqlite-devel gcc make redhat-rpm-config \
|
|
6
|
-
mariadb dovecot git \
|
|
7
|
-
&& dnf clean all
|
|
8
|
-
|
|
9
|
-
WORKDIR /app
|
|
10
|
-
|
|
11
|
-
COPY Gemfile postfix_admin.gemspec ./
|
|
12
|
-
COPY ./lib/postfix_admin/version.rb ./lib/postfix_admin/version.rb
|
|
13
|
-
|
|
14
|
-
RUN gem install bundler && bundle install
|
|
15
|
-
|
|
16
|
-
COPY spec/postfix_admin.conf /root/.postfix_admin.conf
|
|
17
|
-
|
|
18
|
-
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
19
|
-
RUN chmod +x /docker-entrypoint.sh
|
|
20
|
-
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
21
|
-
|
|
22
|
-
EXPOSE 80
|
|
23
|
-
|
|
24
|
-
CMD ["/sbin/init"]
|