{"id":206,"date":"2010-06-22T15:51:17","date_gmt":"2010-06-22T12:51:17","guid":{"rendered":"http:\/\/skeletor.org.ua\/?p=206"},"modified":"2022-04-06T10:50:08","modified_gmt":"2022-04-06T07:50:08","slug":"exim-%d0%b0%d0%b2%d1%82%d0%be%d1%80%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-dovecot-cram-md5-digest-md5","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=206","title":{"rendered":"[exim] \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 dovecot (+cram-md5, digest-md5)"},"content":{"rendered":"<p>\u0417\u0430\u0445\u043e\u0442\u0435\u043b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443&nbsp;<strong>exim+dovecot<\/strong>, \u0437\u0430\u043e\u0434\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e&nbsp;<strong>digest-md5 cram-md5<\/strong>. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043b\u0438\u0448\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&nbsp;<strong>exim, dovecot<\/strong> \u0438 \u0434\u0430\u043c\u043f \u0411\u0414, \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u044e\u0437\u0435\u0440\u0430\u043c\u0438. \u041f\u0440\u0438\u0447\u0451\u043c, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e&nbsp;<strong>cram-md5<\/strong> (\u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e&nbsp;<strong>digest-md5<\/strong>, \u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u043e) \u0447\u0435\u0440\u0435\u0437&nbsp;<strong>dovecot, exim<\/strong> \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c!<\/p>\n<p><!--more--><\/p>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432&nbsp;<strong>exim<\/strong> \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437&nbsp;<strong>dovecot<\/strong> \u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437&nbsp;<strong>cram-md5<\/strong> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432&nbsp;<strong>\/etc\/make.conf<\/strong> \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 (\u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e; \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443&nbsp;<strong>mysql<\/strong>\u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e):<\/p>\n<p><code>PORTSDIR?= \/usr\/ports<br \/>\n.if ${.CURDIR} == ${PORTSDIR}\/mail\/exim<br \/>\nWITH_AUTH_DOVECOT=YES<br \/>\nWITH_AUTH_PLAINTEXT=YES<br \/>\nWITH_AUTH_CRAM_MD5=YES<br \/>\nWITH_AUTH_LOGIN=YES<br \/>\nWITH_PWCHECK=YES<br \/>\n.endif<\/code><\/p>\n<p>\u0425\u043e\u0447\u0443 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e&nbsp;<strong>dovecot<\/strong> \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u0435\u043d\u044f\u0435\u0442! \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u0435\u0440\u0441\u0438\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p><code>router2# pkg_info | grep dovecot<br \/>\ndovecot-1.2.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Secure and compact IMAP and POP3 servers<br \/>\nrouter2# pkg_info | grep exim<br \/>\nexim-4.69_4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; High performance MTA for Unix systems on the Internet<br \/>\n<\/code><br \/>\n\u041a\u043e\u043d\u0444\u0438\u0433&nbsp;<strong>dovecot.conf:<\/strong><\/p>\n<p><code>base_dir = \/var\/run\/dovecot\/<br \/>\nprotocols = imap imaps pop3 pop3s<br \/>\nlisten = 10.0.3.132<br \/>\ndisable_plaintext_auth = no<br \/>\nlog_path = \/var\/log\/maillog<br \/>\nlog_timestamp = \"%b %d %H:%M:%S \"<br \/>\nsyslog_facility = mail<br \/>\ninfo_log_path = \/var\/log\/maillog<br \/>\nmail_debug = no<br \/>\nauth_debug_passwords = no<br \/>\nssl=no<br \/>\nmail_location = maildir:%h<br \/>\nmail_privileged_group = mail<br \/>\ndotlock_use_excl = yes<br \/>\nverbose_proctitle = yes<br \/>\nfirst_valid_uid = 26<br \/>\nfirst_valid_gid = 6<br \/>\nmaildir_copy_with_hardlinks = yes<br \/>\nprotocol imap {<br \/>\nimap_client_workarounds = delay-newmail outlook-idle netscape-eoh&nbsp; tb-extra-mailbox-sep<br \/>\n}<br \/>\nprotocol pop3 {<br \/>\npop3_uidl_format = %08Xu%08Xv<br \/>\npop3_client_workarounds = outlook-no-nuls oe-ns-eoh<br \/>\n}<br \/>\nprotocol lda {<br \/>\npostmaster_address = postmaster@example.com<br \/>\nauth_socket_path = \/var\/run\/dovecot\/auth-master<br \/>\n}<br \/>\nauth_default_realm = router2.tld<br \/>\nauth_username_format = %Lu<br \/>\nauth_verbose = no<br \/>\nauth_debug = no<br \/>\nauth default {<br \/>\nmechanisms = plain login cram-md5 digest-md5<br \/>\npassdb sql {<br \/>\nargs = \/usr\/local\/etc\/dovecot-sql.conf<br \/>\n}<br \/>\nuserdb passwd {<br \/>\nargs = blocking=yes<br \/>\n}<br \/>\nuserdb sql {<br \/>\nargs = \/usr\/local\/etc\/dovecot-sql.conf<br \/>\n}<br \/>\nuser = root<br \/>\nsocket listen {<br \/>\nmaster {<br \/>\npath = \/var\/run\/dovecot\/auth-master<br \/>\nmode = 0600<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\n}<br \/>\nclient {<br \/>\npath = \/var\/run\/dovecot\/auth-client<br \/>\nmode = 0660<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\ndict {<br \/>\n}<br \/>\nplugin {<br \/>\n}<\/code><\/p>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433&nbsp;<strong>dovecot-sql.conf<\/strong>:<\/p>\n<p><code>router2# less dovecot-sql.conf<br \/>\ndriver = mysql<br \/>\nconnect = host=localhost user=dovecot password=dovecot dbname=maildb<br \/>\ndefault_pass_scheme = MD5<br \/>\nuser_query = SELECT CONCAT('\/var\/mail\/exim\/',maildir) AS home, uid AS uid, gid AS gid FROM users WHERE address = '%n@%d'<br \/>\npassword_query = SELECT pw_encrypted AS password FROM users WHERE address = '%n@%d' AND ok = 'Y'<br \/>\n<\/code><br \/>\n\u041a\u043e\u043d\u0444\u0438\u0433&nbsp;<strong>exim<\/strong>:<\/p>\n<p><code>primary_hostname = mail.router2.tld<br \/>\n#hide mysql_servers = localhost\/maildb\/dovecot\/dovecot<br \/>\nhide mysql_servers = localhost::(\/tmp\/mysql.sock)\/maildb\/dovecot\/dovecot<br \/>\ndomainlist local_domains = ${lookup mysql{SELECT `destination` \\<br \/>\nFROM `transport` WHERE \\<br \/>\n`domain`='${domain}' }}<br \/>\ndomainlist relay_to_domains = ${lookup mysql{SELECT `destination` \\<br \/>\nFROM `transport` WHERE \\<br \/>\n`domain`='${domain}' }}<br \/>\nhostlist&nbsp;&nbsp; relay_from_hosts = localhost:127.0.0.0\/8:192.168.0.0\/16<br \/>\nacl_smtp_rcpt = acl_check_rcpt<br \/>\nacl_smtp_data = acl_check_data<br \/>\ndaemon_smtp_ports = 25<br \/>\nqualify_domain = mail.router2.tld<br \/>\nqualify_recipient = mail.router2.tld<br \/>\ndisable_ipv6 = true<br \/>\nexim_user = mailnull<br \/>\nexim_group = mail<br \/>\nnever_users = root<br \/>\nrfc1413_query_timeout = 5s<br \/>\nhost_lookup = *<br \/>\nignore_bounce_errors_after = 2d<br \/>\ntimeout_frozen_after = 7d<br \/>\nlog_selector = +all \\<br \/>\nsyslog_timestamp = no<br \/>\nbegin acl<br \/>\nacl_check_rcpt:<br \/>\naccept&nbsp; hosts = :<br \/>\ndeny&nbsp;&nbsp;&nbsp; message&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = Restricted characters in address<br \/>\ndomains&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = !+local_domains<br \/>\nlocal_parts&nbsp;&nbsp; = ^[.] : ^.*[@%!\/|]<br \/>\ndeny&nbsp;&nbsp;&nbsp; message&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = Restricted characters in address<br \/>\ndomains&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = !+local_domains<br \/>\nlocal_parts&nbsp;&nbsp; = ^[.\/|] : ^.*[@%!] : ^.*\/\\\\.\\\\.\/<br \/>\naccept&nbsp; local_parts&nbsp;&nbsp; = postmaster<br \/>\ndomains&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = +local_domains<br \/>\nrequire verify&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = sender<br \/>\naccept&nbsp; domains&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = +local_domains : +relay_to_domains<br \/>\ncontrol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = submission<br \/>\naccept&nbsp; authenticated = *<br \/>\ncontrol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = submission<br \/>\nrequire message = relay not permitted<br \/>\ndomains = +local_domains : +relay_to_domains<br \/>\nrequire verify = recipient<br \/>\naccept<br \/>\nacl_check_data:<br \/>\naccept<br \/>\nbegin routers<br \/>\ndovecot_user:<br \/>\ndriver = accept<br \/>\ntransport = dovecot_delivery<br \/>\ncondition = ${lookup mysql{SELECT `address` FROM \\<br \/>\n`users` WHERE \\<br \/>\n`address`='${quote_mysql:$local_part@$domain}' OR \\<br \/>\n`address`='${quote_mysql:@$domain}'}{yes}{no}}<br \/>\ndnslookup:<br \/>\ndriver = dnslookup<br \/>\ndomains = !+local_domains<br \/>\ntransport = remote_smtp<br \/>\nignore_target_hosts = 0.0.0.0 : 127.0.0.0\/8 : 10.0.3.132\/32<br \/>\nno_more<br \/>\nsystem_aliases:<br \/>\ndriver = redirect<br \/>\nallow_fail<br \/>\nallow_defer<br \/>\ndata = ${lookup{$local_part}lsearch{\/etc\/aliases}}<br \/>\nuser = mailnull<br \/>\ngroup = mail<br \/>\nfile_transport = address_file<br \/>\npipe_transport = address_pipe<br \/>\nuserforward:<br \/>\ndriver = redirect<br \/>\ncheck_local_user<br \/>\nfile = $home\/.forward<br \/>\nno_verify<br \/>\nno_expn<br \/>\ncheck_ancestor<br \/>\nfile_transport = address_file<br \/>\npipe_transport = address_pipe<br \/>\nreply_transport = address_reply<br \/>\ncondition = ${if exists{$home\/.forward} {yes} {no} }<br \/>\nbegin transports<br \/>\nremote_smtp:<br \/>\ndriver = smtp<br \/>\ndovecot_delivery:<br \/>\ndriver = pipe<br \/>\ncommand = \/usr\/local\/libexec\/dovecot\/deliver -d $local_part@$domain<br \/>\nmessage_prefix =<br \/>\nmessage_suffix =<br \/>\ndelivery_date_add<br \/>\nenvelope_to_add<br \/>\nreturn_path_add<br \/>\nlog_output<br \/>\nuser = mailnull<br \/>\naddress_pipe:<br \/>\ndriver = pipe<br \/>\nreturn_output<br \/>\naddress_file:<br \/>\ndriver = appendfile<br \/>\ndelivery_date_add<br \/>\nenvelope_to_add<br \/>\nreturn_path_add<br \/>\naddress_reply:<br \/>\ndriver = autoreply<br \/>\nbegin retry<br \/>\n*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; F,2h,15m; G,16h,1h,1.5; F,4d,6h<br \/>\nbegin rewrite<br \/>\nbegin authenticators<br \/>\nauth_plain:<br \/>\ndriver = dovecot<br \/>\npublic_name = PLAIN<br \/>\nserver_socket = \/var\/run\/dovecot\/auth-client<br \/>\nserver_set_id = $auth1<br \/>\nauth_login:<br \/>\ndriver = dovecot<br \/>\npublic_name = LOGIN<br \/>\nserver_socket = \/var\/run\/dovecot\/auth-client<br \/>\nserver_set_id = $auth1<br \/>\nauth_cram_md5:<br \/>\ndriver = dovecot<br \/>\npublic_name = CRAM-MD5<br \/>\nserver_socket = \/var\/run\/dovecot\/auth-client<br \/>\nserver_set_id = $auth1<\/code><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043b\u0430\u0437\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430<\/p>\n<p><code>Unable to authenticate at present: authentication socket read error or premature eof<\/code><\/p>\n<p>\u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e dovecot \u0432 exim&#8217;e. \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b dovecot.c \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443&nbsp;<strong>http:\/\/vcs.exim.org\/viewvc\/exim\/exim-src\/src\/auths\/dovecot.c?r1=1.10&amp;view=log<\/strong> , \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 1.7. \u042f \u0431\u0440\u0430\u043b 1.10. \u041a\u0430\u043a \u043f\u0430\u0442\u0447\u0438\u0442\u044c: \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u043e\u0436\u0438\u043c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u0437\u0430\u043c\u0435\u043d \u0438\u043c\u0435\u044e\u0449\u0435\u0433\u043e\u0441\u044f,&nbsp;&nbsp;<strong>exim-src\/src\/auths\/dovecot.c<\/strong> \u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c exim<strong><br \/>\n<\/strong><\/p>\n<p><span style=\"color: #ff6600;\"><strong><em>\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438:<\/em><\/strong><\/span><\/p>\n<p><strong><span style=\"color: #0000ff;\">&#8211;&nbsp;cram-md5<\/span><\/strong><\/p>\n<p>\u0422\u0443\u0442 \u043f\u0440\u043e\u0441\u0442\u043e: \u0432 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0435 \u0441 dovecot&#8217;\u043e\u043c \u0438\u0434\u0451\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u0430&nbsp;<strong>dovecotpw<\/strong>. \u0414\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0451, \u0438 \u043f\u043e\u0442\u043e\u043c \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<p><code># dovecotpw<br \/>\nEnter new password: password<br \/>\nRetype new password: password<br \/>\n{CRAM-MD5}26b633ec8bf9dd526293c5897400bddeef9299fad<br \/>\n<\/code><br \/>\n\u0412 \u0411\u0414 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u043c\u0438 \u0441\u043a\u043e\u0431\u043a\u0430\u043c\u0438 \u0438 \u0441\u043b\u043e\u0432\u043e\u043c.<\/p>\n<p><strong><span style=\"color: #0000ff;\">&#8211;&nbsp;digest-md5<\/span><\/strong><\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<p><code>router2# echo -n \"password\" | md5<br \/>\n5f4dcc3b5aa765d61d8327deb882cf99<\/code><\/p>\n<p>\u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0445\u0435\u0448\u044c \u0432 \u0411\u0414.<\/p>\n<p>\u041f\u0440\u0438\u0432\u043e\u0436\u0443 \u0434\u0430\u043c\u043f \u0411\u0414&nbsp;<strong>maildb<\/strong> \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u044e\u0437\u0435\u0440\u0430\u043c\u0438 \u0438 \u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438:<\/p>\n<p><code>-- MySQL dump 10.11<br \/>\n--<br \/>\n-- Host: localhost&nbsp;&nbsp;&nbsp; Database: maildb<br \/>\n-- ------------------------------------------------------<br \/>\n-- Server version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.0.84<br \/>\n\/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT *\/;<br \/>\n\/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS *\/;<br \/>\n\/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION *\/;<br \/>\n\/*!40101 SET NAMES utf8 *\/;<br \/>\n\/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE *\/;<br \/>\n\/*!40103 SET TIME_ZONE='+00:00' *\/;<br \/>\n\/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 *\/;<br \/>\n\/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 *\/;<br \/>\n\/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' *\/;<br \/>\n\/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 *\/;<br \/>\n--<br \/>\n-- Table structure for table `transport`<br \/>\n--<br \/>\nDROP TABLE IF EXISTS `transport`;<br \/>\n\/*!40101 SET @saved_cs_client&nbsp;&nbsp;&nbsp;&nbsp; = @@character_set_client *\/;<br \/>\n\/*!40101 SET character_set_client = utf8 *\/;<br \/>\nCREATE TABLE `transport` (<br \/>\n`id` int(10) unsigned NOT NULL auto_increment,<br \/>\n`domain` varchar(128) NOT NULL default '',<br \/>\n`destination` varchar(128) NOT NULL default '',<br \/>\nPRIMARY KEY&nbsp; (`id`),<br \/>\nUNIQUE KEY `domain` (`domain`)<br \/>\n) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;<br \/>\n\/*!40101 SET character_set_client = @saved_cs_client *\/;<br \/>\n--<br \/>\n-- Dumping data for table `transport`<br \/>\n--<br \/>\nLOCK TABLES `transport` WRITE;<br \/>\n\/*!40000 ALTER TABLE `transport` DISABLE KEYS *\/;<br \/>\nINSERT INTO `transport` VALUES (1,'router2.tld','virtual:'),(2,'mail.router2.tld','local:'),(3,'domain.ru','virtual:');<br \/>\n\/*!40000 ALTER TABLE `transport` ENABLE KEYS *\/;<br \/>\nUNLOCK TABLES;<br \/>\n--<br \/>\n-- Table structure for table `users`<br \/>\n--<br \/>\nDROP TABLE IF EXISTS `users`;<br \/>\n\/*!40101 SET @saved_cs_client&nbsp;&nbsp;&nbsp;&nbsp; = @@character_set_client *\/;<br \/>\n\/*!40101 SET character_set_client = utf8 *\/;<br \/>\nCREATE TABLE `users` (<br \/>\n`id` int(10) unsigned NOT NULL auto_increment,<br \/>\n`address` varchar(128) NOT NULL default '',<br \/>\n`pw_clear` varchar(32) NOT NULL default '',<br \/>\n`pw_encrypted` varchar(200) default NULL,<br \/>\n`name` varchar(128) NOT NULL default '',<br \/>\n`uid` int(11) unsigned NOT NULL default '26',<br \/>\n`gid` int(11) unsigned NOT NULL default '26',<br \/>\n`maildir` varchar(128) NOT NULL default '',<br \/>\n`quota` int(10) unsigned NOT NULL default '0',<br \/>\n`ok` enum('Y','N') NOT NULL default 'Y',<br \/>\nPRIMARY KEY&nbsp; (`id`),<br \/>\nUNIQUE KEY `address` (`address`)<br \/>\n) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;<br \/>\n\/*!40101 SET character_set_client = @saved_cs_client *\/;<br \/>\n--<br \/>\n-- Dumping data for table `users`<br \/>\n--<br \/>\nLOCK TABLES `users` WRITE;<br \/>\n\/*!40000 ALTER TABLE `users` DISABLE KEYS *\/;<br \/>\nINSERT INTO `users` VALUES (1,'admin@router2.tld','12345','{CRAM-MD5}365ea5b640cf5bc3d3c7ebeeb3194c4f46a2c30fd8a7b017b5cecb0c3501459c','Admin Admin',26,26,'router2.tld\/admin@router2.tld\/',0,'Y'),(2,'root@router2.tld','12345','{CRAM-MD5}365ea5b640cf5bc3d3c7ebeeb3194c4f46a2c30fd8a7b017b5cecb0c3501459c','',26,26,'router2.tld\/root@router2.tld\/',0,'Y'),(3,'user@domain.ru','7TN4ogHs','92f3f6276b2c024aa23c0203d9c40dff','',26,26,'domain.ru\/user@domain.ru\/',0,'Y');<br \/>\n\/*!40000 ALTER TABLE `users` ENABLE KEYS *\/;<br \/>\nUNLOCK TABLES;<br \/>\n--<br \/>\n-- Table structure for table `virtual`<br \/>\n--<br \/>\nDROP TABLE IF EXISTS `virtual`;<br \/>\n\/*!40101 SET @saved_cs_client&nbsp;&nbsp;&nbsp;&nbsp; = @@character_set_client *\/;<br \/>\n\/*!40101 SET character_set_client = utf8 *\/;<br \/>\nCREATE TABLE `virtual` (<br \/>\n`id` int(10) unsigned NOT NULL auto_increment,<br \/>\n`address` varchar(128) NOT NULL default '',<br \/>\n`destination` text NOT NULL,<br \/>\nPRIMARY KEY&nbsp; (`id`),<br \/>\nUNIQUE KEY `domain` (`address`)<br \/>\n) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;<br \/>\n\/*!40101 SET character_set_client = @saved_cs_client *\/;<br \/>\n--<br \/>\n-- Dumping data for table `virtual`<br \/>\n--<br \/>\nLOCK TABLES `virtual` WRITE;<br \/>\n\/*!40000 ALTER TABLE `virtual` DISABLE KEYS *\/;<br \/>\nINSERT INTO `virtual` VALUES (1,'admin.admin@router2.tld','admin@router2.tld');<br \/>\n\/*!40000 ALTER TABLE `virtual` ENABLE KEYS *\/;<br \/>\nUNLOCK TABLES;<br \/>\n\/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE *\/;<br \/>\n\/*!40101 SET SQL_MODE=@OLD_SQL_MODE *\/;<br \/>\n\/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS *\/;<br \/>\n\/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS *\/;<br \/>\n\/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT *\/;<br \/>\n\/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS *\/;<br \/>\n\/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION *\/;<br \/>\n\/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES *\/;<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0417\u0430\u0445\u043e\u0442\u0435\u043b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443&nbsp;exim+dovecot, \u0437\u0430\u043e\u0434\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e&nbsp;digest-md5 cram-md5. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043b\u0438\u0448\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&nbsp;exim, dovecot \u0438 \u0434\u0430\u043c\u043f \u0411\u0414, \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u044e\u0437\u0435\u0440\u0430\u043c\u0438. \u041f\u0440\u0438\u0447\u0451\u043c, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e&nbsp;cram-md5 (\u0435\u0441\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e&nbsp;digest-md5, \u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u043e) \u0447\u0435\u0440\u0435\u0437&nbsp;dovecot, exim \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c!<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,11],"tags":[],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-mail"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=206"}],"version-history":[{"count":4,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":5887,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/206\/revisions\/5887"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}