3,926

(31 篇回复,发表在 iRedMail 技术支持)

在这里可以找到:
http://policyd.sourceforge.net/readme.html

3,927

(4 篇回复,发表在 iRedMail 技术支持)

检查一下 /etc/dovecot-mysql.conf 里的 vmail 用户密码是否正确。

设置为 1K 不够好。

还是会占用系统的一些资源,不如在 SMTP 会话阶段就干掉来得省事、剩系统资源。

3,929

(15 篇回复,发表在 iRedMail 技术支持)

1:分组,就是发信给hotline@iedmail.org后所有属于“hotline”组的成员都收到。
2:全局目录服务。
3:自动转发邮件(万一分组不行的话就用这个方式来群发组邮件。。


1:分组。这是邮件列表干的事情。当然,用邮件里的别名也是可以实现的,只是管理起来稍微麻烦一些。但是如果有一个管理后台来做操作,那还是无所谓的。
2:全局目录服务,这个只能是 LDAP 了。但是目前 Roundcube 里无法修改 LDAP 密码,也无法设置转发。这两个补丁需要有人来写才行。
3:这个大概就是我说的别名(alias)。

第二次试装,Openldap+Extmail,发现连Webmail入口都找不到*^_^*


ExtMail 的地址是:http://ip/extmail/

这些地址在 /root/iRedMail/iRedMail.tips 文件里都有详细记录。

3,930

(31 篇回复,发表在 iRedMail 技术支持)

你给的链接里的内容已经过时了(虽然有些还可以用)。
不过你说的很多功能都可以用 policyd 来实现,iRedMail 里已经带了 policyd。

3,931

(1 篇回复,发表在 iRedMail 技术支持)

A version amavisd-new-2.6.2 has been released, it is available at:

  http://www.ijs.si/software/amavisd/amavisd-new-2.6.2.tar.gz

The 2.6.2 is mainly a maintenance release, but also adds some
new features. It is compatible with 2.6.1.

Release notes are also available on-line:
  http://www.ijs.si/software/amavisd/release-notes.txt



amavisd-new-2.6.2 release notes

MAIN NEW FEATURES SUMMARY

- bounce killer: improved detection of nonstandard bounces;
- bounces to be killed no longer waste SpamAssassin time;
- tool to convert dkim-filter keysfile into amavisd configuration;
- compatibility with SpamAssassin 3.3 (CVS head) regained;
- rewritten and expanded documentation section on DKIM signing and
  verification in amavisd-new-docs.html;


COMPATIBILITY WITH 2.6.1

- apart from small differences in logging and notifications, the
  version 2.6.2 is compatible with 2.6.1, with its configuration file
  and its environment;

- virus scanner entries were updated (as described below, most notably by
  adding a regexp flag m), so be sure to update existing configuration file;
  updated virus scanner entries can be used with 2.6.1 too;

- the %sql_clause default has changed in detail (see below), if its value
  is overridden in a configuration file the setting may need updating;


BUG FIXES

- when feeding a message by SMTP back to MTA and MTA rejects a recipient as
  invalid and a smtp connection cache is enabled, the SMTP protocol can get
  out of step, rejecting the next message in the same connection with a
  "503 5.5.1 Error: nested MAIL command"; this only affects (hopefully) rare
  sites where recipient validation is performed after content filtering
  instead of before content filtering; reported by Richard Smits;

- logging routines reporting warnings failed to include a diagnostics message
  in a log, instead only a dry '_WARN:' or '_DIE:' with no explanation was
  logged; a bug was introduced in 2.6.1; reported by Mike Cappella;

- amavisd-release: add a 'partition_tag' attribute to a release request if
  a specified quarantine name ends up in a partition tag string in square
  brackets; this feature was announced in 2.6.1 release notes, but never
  made it into a distribution;

- amavisd-report failed on reading a message from SQL quarantine:
    dispatch_from_quarantine failed: read: sql select failed,
      DBD::Pg::st fetchrow_arrayref failed: no statement executing
  reported by Achraf Tangui;

- while evaluating compiled regular expressions (qr), perl 5.10.0 ignores
  flag m when present in the final expression but not in the qr itself,
  causing messages containing multiple viruses not to report any virus
  names (mail is still considered infected, but list of names is empty).
  Changed regular expressions in virus entries by appending a /m flag
  to regular expressions in the 6th element of each entry. According to
  Perl maintainers this was a bug in 5.8.x and earlier, and the behaviour
  of perl 5.10.0 is now according to specs; reported by Martin Huber;

- envelope sender address for administrator- and recipient notifications
  ($mailfrom_notify_admin, $mailfrom_notify_spamadmin, $mailfrom_notify_recip,
  %mailfrom_notify_admin_by_ccat, %mailfrom_notify_recip_by_ccat) was
  not expanded when their value is left unspecified in a configuration
  file and defaults to parsing of $hdrfrom_notify_* settings. This leads
  to MTA rejecting a notification from 'postmaster@${myhostname}' by a
  '501 5.1.7 Bad sender address syntax'. Reported by Aleksey Chudov,
  Jonas Jacobsson, Durk Strooisma, and Adam;

- remove unintentionally hard-coded SSL certificate and key file locations
  stored in variables $smtpd_tls_key_file and $smtpd_tls_cert_file, they
  are now configurable through a configuration file as intended;

- a macro 'rfc2822_sender' now returns a Sender address in a quoted form,
  just like its cousin 'rfc2822_from';

- when stopping or restarting amavisd, check a PID file for being stale
  _before_ testing whether a process exists, not the other way around;
  previously an unlucky starting amavisd process could hit a:
    Can't send SIG 0 to process [nnnn]: Operation not permitted
  which prevented its startup when a stale PID was reused by an unrelated
  process; reported by Zhang Huangbin;

- error reporting improvement: localize variables $@ and $! in all DESTROY
  methods, thus preventing these variables from being clobbered behind
  the scenes (e.g. by calling eval or system routines from DESTROY),
  which could cause a surprising empty (or unrelated) error message
  being reported by surrounding eval blocks;

- avoid problematic perl constructs open('|-') and open('-|') which fail
  to catch certain fork errors, or waits indefinitely when resources
  are tight; just explicitly create a pipe and call fork in subroutines
  run_command, run_command_consumer and in run_as_subprocess. The change
  possibly also solves some mystery cases where amavisd would appear
  to hang when resources are tight (running out of swap space or near a
  maxprocesses limit) instead of reporting a fork failure. Problem with
  fork failing without giving a reason for failure reported by Uwe Kiewel;

- amavisd.conf-default: definition of %sql_clause default was out of date;
  reported by Roland;

- releasing a non-existent message from a SQL quarantine produced an
  inappropriate error message about a subsequent failure, instead of
  reporting a missing record; reported by Rick (rn). Also let SQL treat
  a NULL in mail_text.partition_tag as 0 by using coalesce() - changed
  a $sql_clause{'sel_quar'} from:
    SELECT mail_text FROM quarantine
      WHERE partition_tag=? AND mail_id=?
      ORDER BY chunk_ind
  into:
    SELECT mail_text FROM quarantine
      WHERE coalesce(partition_tag,0)=coalesce(?,0) AND mail_id=?
      ORDER BY chunk_ind
  to facilitate transition from not having a partition_tag defined
  (resulting in NULL partition_tag fields in SQL) into using it as a
  numeric value (e.g. a week-of-the-year number);

- modified AV entry for a grisoft.com virus scanner by adding a regexp
  flag /m to let ^ match at any line beginning of a possibly multi-line
  response from a virus scanner; problem reported by John Beranek;

- recognize any 'ERROR:' result from a file(1) utility - not just an
  'ERROR: Corrupted', and do not treat its exit status 1 as fatal,
  but just log a warning;

- protect logging from being recursively re-entered when an error occurs
  during writing of a log entry;


NEW FEATURES:

- bounce killer: improved parsing of nonstandard bounce messages (from
  qmail, spamarrest.com and similar) yields more effective protection
  against third-party bounces, including those without a Message-ID.

  An analysis of 1000 previously passed bounces showed that 2/3 of those
  are now recognized and blocked, bringing a bounce killer rate to 94 % of
  all received bounces (with about 4 % of passed unverifiable bounces not
  carrying an original mail header, and a tiny trickle of true bounces),
  while still ensuring that bounces (in response to our genuine outbound
  mail) and message disposition notifications (MDN, RFC 3798) are still
  received reliably.

  As a reminder: bounce killer is enabled by setting $bounce_killer_score
  to a large value, e.g. 100.  A pre-requisite for proper operation of
  a bounce killer is a working SQL logging database (pen pals), or that
  outbound DSN messages have a Message-ID with a fully qualified domain
  name matching the @local_domains_maps list of lookup tables.
  Parts decoding must also not be disabled ($bypass_decode_parts=0), which
  is a default. Conditions are easily met when all mail from local users
  is submitted through a domain's official mailer, which goes hand in hand
  with the requirement for DKIM signing and for other similar anti-spoofing
  techniques (SPF, whitelisting by IP address in Received trace, ...).

  The $bounce_killer_score should not be enabled when not all outgoing
  mail can be identified either by a local domain name in Message-ID or by
  being registered in pen pals SQL database, otherwise genuine bounces and
  returning MDN messages will be considered spam.

- to facilitate transition of DKIM signing from dkim-milter to amavisd-new,
  a new command-line tool is available (the extra utility code is not
  loaded during normal operation), taking a file name as its argument,
  e.g.:

    # amavisd convert_keysfile /var/db/dkim/keysfile.txt

  and writing to stdout a set of lines that may be directly included into
  amavisd.conf configurations file, matching semantics of a dkim-filter
  keys file. It can be useful during transition, or for those who prefer
  to specify signing keys and sender-to-key mappings as a file in a
  syntax compatible with options -K -k of dkim-filter, and can live with
  limitations of such syntax. See dkim-filter(8) man page for details
  on the syntax.

  The produced output consists of signing key declarations (calls to a
  procedure dkim_key), where each call normally corresponds to exactly
  one DNS resource record publishing a corresponding DKIM public key.
  When necessary output also produces an assignment to a list of lookup
  tables @dkim_signature_options_bysender_maps, which supplies non-default
  mappings of sender domains to signing keys, e.g. when third-party
  signatures are desired.

  From the dkim-filter man page: The keyfile should contain a set of lines
  of the form sender-pattern:signing-domain:keypath where sender-pattern
  is a pattern to match against message senders (with a special character
  "*" interpreted as "zero or more characters"), signing-domain is the
  domain to announce as the signing domain when generating signatures
  (or a '*', implying author's domain), and keypath is a path to the
  PEM-formatted private key to be used for signing messages which match
  the sender-pattern. The selector used in the signature will be the
  filename portion of keypath. A line starting with "/" is interpreted as
  a root directory for keys, meaning the keypath values after that line
  in the file are taken relative to that path. If a file referenced by
  keypath cannot be opened, the filter will try again by appending ".pem"
  and then ".private". '#'-delimited comments and blank lines are ignored.

- DKIM verification now logs a note (at log level 2) when a signature
  timestamp is in future;

- allow expiration time (tag x) to be requested with DKIM signing,
  it is now supported since Mail::DKIM 0.29;

- when determining which DKIM-signing key should be applied or which
  disclaimer options to apply, consider also addresses in all Resent-Sender
  header fields. The search order is: From, followed by Resent-From and
  Resent-Sender address pairs traversed top-down by resent blocks,
  followed by Sender, and by envelope sender;

- amavisd-report no longer lets amavisd strip header fields found in a
  quarantined message which were previously inserted by amavisd; most of
  X-Spam-* and X-Amavisd-* header fields are now retained in a reported
  message; suggested by Achraf Tangui;

- support IPv6 when connecting over an INET socket to virus scanners;

- support SMTP, LMTP and TCP_LOOKUP protocols also over Unix sockets;

- added a LDAP attribute amavisArchiveQuarantineTo to code and to
  LDAP.schema;  a patch was provided by Anand Palaniswamy (back in
  October 2006); prompted by Quanah Gibson-Mount, both of zimbra.com.

- new file in the package: LDAP.ldif, same schema as in LDAP.schema, but
  in ldif format; contributed by Quanah Gibson-Mount and independently
  also by Michael Hall;

- @remove_existing_spam_headers_maps is now a per-recipient list of lookup
  tables, so pre-existing X-Spam* header fields may be selectively removed
  according to preferences of individual recipients or sub-domains, e.g.:

    @remove_existing_spam_headers_maps = ({
      'user@example.com' => 0,
      'user@office.example.net' => 1,
      '.office.example.net' => 0,
      '.' => 1,  # all the rest
    });

- added a macro b64encode, which could be used in log template to
  facilitate log parsing, perhaps by using the following in a $log_templ:
    [? [:header_field|Subject]||, \
    Subject: [:b64encode|[:header_field|Subject|100]]]#
  Suggested by Rajkumar S;

- added a macro HEADER as a synonym for a macro header_field
  for compatibility with SpamAssassin;

- added a configuration variable $logline_maxlen (default value is 980,
  lower bound is 50), allowing user to customize syslog line wrapping
  threshold; based on a patch by Charles A. Scheidecker;

- when loading a policy bank, most entries from an associative array (hash)
  being loaded entirely replace entries of the same key in the currently
  active policy bank, but entries which are references to a hash are
  normally merged with existing hashes, replacing only specified key/values
  but leaving remaining (non-existent in a new hash) key/values pairs
  unchanged. In some rare cases it would be more desirable to entirely
  replace existing hashes, which so far was not possible.

  For this purpose a hack was introduced: if a hash in a policy bank being
  loaded contains a key name 'REPLACE' (uppercase) and its value is true,
  this hash replaces a current hash, instead of being merged with it.

  For example, a policy bank 'DITCH' when loaded replaces a hash
  %final_destiny_by_ccat entirely, leaving only a key CC_CATCHALL there:

    $policy_bank{'DITCH'} = {
      final_destiny_by_ccat => { REPLACE=>1, (CC_CATCHALL) => D_DISCARD },
    };

  Without specifying a  REPLACE=>1  remaining key/value pairs in a hash
  %final_destiny_by_ccat would stay unchanged and only the CC_CATCHALL
  key/value pair would be replaced by a new setting (which may not be
  desirable):
    $policy_bank{'DITCH'} = {
      final_destiny_by_ccat => { REPLACE=>0, (CC_CATCHALL) => D_DISCARD },
    };
  or equivalently:
    $policy_bank{'DITCH'} = {
      final_destiny_by_ccat => { (CC_CATCHALL) => D_DISCARD },
    };

- rewritten and expanded documentation section on DKIM signing and
  verification in amavisd-new-docs.html;


OTHER

- tested with perl 5.10.0;

- package Amavis::IO::FileHandle now supports a method READ (i.e. invoked
  by a perl functions sysread through a tied hash), which is needed by
  SpamAssassin revisions since 2008-09-25 (3.3), bringing a little speedup
  to transferring a message from amavisd to SpamAssassin, and avoiding a
  Perl I/O bug (perl bug 39060; SA: bug 5985) on some installations;

- updated @virus_name_to_spam_score_maps to recognize new malware name
  formats used by some popular third-party ClamAV signatures (Sanesecurity,
  MSRBL, MBL); thanks to Mike Cappella, Gary V, Wijatmoko U. Prayitno,
  Steve Basford, Luca Gibelli, Bill Landry, Henrik K;

- keep only one (unique) copy of each malware/spam name when infection
  is downgraded to spam through @virus_name_to_spam_score_maps or when
  reported as a virus;

- macro F now only shows the first (if any) banned leaf part name,
  preceded by comments from a banning rule regexp (if any), instead of
  a list of multiple banned parts each with its full MIME/archive path.

  Note that Perl syntax for a comment within a regexp is: (?# ... )
  For example, given the following rule...

    $banned_filename_re = new_RE(
      qr'^\.(exe-ms|dll)$(?# rule #9)',  # banned file(1) types
    );

  ... a macro expansion of macros banning_rule_key, banning_rule_comment,
  banning_rule_rhs, banned_parts and F will be:

    banning_rule_key:      (?-xism:^\\.(exe-ms|dll)$(?# rule #9))
    banning_rule_comment:  rule #9
    banning_rule_rhs:      1
    banned_parts:
        multipart/mixed | application/octet-stream,.exe,.exe-ms,videos.exe
    F:  rule #9:application/octet-stream,.exe,.exe-ms,videos.exe

  Likewise a SMTP response (with D_REJECT) would match a macro F as
  before and would yield:

    554 5.7.0 Reject, id=42721-01 - BANNED: rule #9:application/octet\
      -stream,.exe,.exe-ms,videos.exe

  A default administrator and recipient notification (still using a macro
  F in their template), a main log entry, as well as a DSN and a rejection
  message, will now be shorter and hopefully less confusing to an end user.
  A full list of banned part paths (as previously produced by a macro F)
  is now available under a new name as a macro 'banned_parts' and can be
  used in custom templates to retain previous behaviour if desired.
  Suggested by Andreas Schulze and Peer Heinlein;

- remove a 'LIMIT 1' from default $sql_clause{'sel_penpals_msgid'} and
  from $sql_clause{'sel_penpals'} clauses, it is redundant and it happens
  to make a MySQL 5.1 optimizer choose a slow plan;
  investigated by Michael Scheidell;

- changed a default $sql_select_policy from:
    SELECT *,                 users.id FROM users LEFT JOIN policy ON ...
  into a:
    SELECT users.*, policy.*, users.id FROM users LEFT JOIN policy ON ...

  MySQL and PostgreSQL are happy with a 'SELECT *, users.id', but Oracle
  wants 'SELECT users.*, policy.*, users.id', which is also acceptable
  to MySQL and PostgreSQL and shouldn't make any difference;
  problem reported and a solution provided by Chris Bryant;

- optimize storage of DKIM signing keys when multiple calls to dkim_key()
  (from amavisd.conf) specify the same file to be associated with different
  keys - now only one copy of a private key is kept in memory;

- sanitize (strip) bare CR characters in mail before DKIM-signing a message
  and when forwarding it over SMTP (or LMTP) protocol which prohibits CR
  characters outside of CRLF pairs. Previously a DKIM signature generated
  by amavisd on messages with embedded bare CR characters broke when passed
  back through Postfix (following a principle of garbage-in, garbage-out).
  This was mainly an issue when a message was incorrectly sanitized or
  a disclaimer added by an external program such as altermime, which (due
  to a bug in versions 0.3.10 and older) could inappropriately introduce
  CR characters into a message. Reported by Patrick Wong;

- retain original rfc822 quoting of envelope sender address when forwarding
  mail, instead of using a sanitized version (de-quoted & re-quoted);

- insert autolearn=... information field into an X-Spam-Status header field,
  similar to how SpamAssassin does it; suggested by Jonathan Skanes;

- an SQL field msgs.spam_level now receives a sum of SA score plus a minimum
  of internally generated score boosts across all message recipients, to
  facilitate coarse assessment by third party utilities without having
  to look into msgrcpt records; previously it only reflected a SA score
  (but field msgrcpt.bspam_level remain unchanged, storing a sum for each
  individual recipient as before);

- insert "AM:BOOST=boost_scores_list" into a list of triggered spam tests
  to make visible the internally generated per-recipient spam score boosts
  (like from: pen pals, soft white/black-listing, bounce killer) in the log
  and in the X-Spam-Status header field. The 'tests' list in X-Spam-Status
  or in the log (macro %T) can now look like:
    tests=[AM:BOOST=+1.3+0.51-1.1, BAYES_99=3.6, ...]
  Multiple summands appear in multi-recipient messages where boost scores
  differ between recipients (the list is squashed, only unique values are
  shown). Apparent mismatch in score addition pointed out by John Beranek.

- when quarantining and generating notification for administrator and
  recipients, and the per-recipient contents category differs from a
  per-message summarized contents category, use the per-recipient contents
  category for lookups into settings; a desirable side effect is that
  recipients which are bypassing some tests (like tests for virus or spam)
  no longer receive a recipient notification for cases they are not
  interested in; undesired behaviour pointed out by Erin D. Hughes;

- drop log level of 'smtp resp to NOOP' and related messages from 2 to 3
  to reduce log clutter; reported by kfx;

- log a warning during startup when DKIM verification is not enabled
  (when $enable_dkim_verification is at its default value of undef).
  To quench down the warning and keep DKIM verification disabled, set
  the $enable_dkim_verification explicitly to 0;

- when mail with banned part is to be passed but defanged, provide a more
  informative warning in the text part:
    WARNING: banning rules detected suspect part(s),
    do not open unless you know what you are doing
  suggested by Gerald Macinenti;

- amavisd-agent: Content*Msgs* now take as a 100% reference the InMsgs$2
  counter instead of Content$1Msgs;

- when exec in a forked process fails, call POSIX::_exit with exit status
  6 (SIGABRT) instead of 8 which has different meanings on different OS;

- ensure a BDB cursor is unlocked in put_initial_snmp_data() even in case
  of errors or signals during writing of the initial sys* set of SNMP
  variables;

- provide a generous but firm 4 MB sanity limit on a header section size to
  avoid excessive storage requirements while parsing and storing a runaway
  header section; the limit also protects DKIM signature verifier on huge
  headers; exceeded limit does not affect other mail checks and forwarding,
  only access to individual header fields beyond the limit is crippled and
  DKIM signatures would most likely be invalidated;

- do not pre-load module Mail::SPF::Query with versions of SpamAssassin
  3.2.0 or later, it has been replaced by Mail::SPF;

- internal: modify mail_to_local_mailbox and do_quarantine to better deal
  with suppressing multiple quarantining to the same mailbox, e.g. when
  two quarantining methods are active but point to the same file;

- internal: brush up I/O modules for consistency: open method should
  implicitly close a previously open file, print method should print all
  its arguments, read methods now support reading to a buffer at an offset;

- internal: change most calls to lookup() into calls to a newer lookup2()
  for added flexibility, adding option 'Label' to some calls to facilitate
  debugging;

- internal: passing options to lookup2 (and to other subordinate lookup
  methods) as a hash instead of a hashref;

- internal: renamed Amavis::In::Message::PerRecip methods:
  banned_keys -> banning_rule_key,  banned_rhs -> banning_rule_rhs,
  added: banning_rule_comment and banning_reason_short;

- internal: replace subroutine unique with two: unique_list and unique_ref;

- internal: remove dependency on a module IO::Wrap;

- internal: many rather cosmetic changes for consistency, updated comments;

- README.sql-mysql: add 'ALTER table' suggestions to change CHAR to BINARY
  and VARCHAR to VARBINARY data types; suggested by Peter Huetmannsberger:



Mark

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
AMaViS-user mailing list
AMaViS-user@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/amavis-user 
 AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 
 AMaViS-HowTos:http://www.amavis.org/howto/ 

3,932

(31 篇回复,发表在 iRedMail 技术支持)

很抱歉,暂时不会提供 2.5.x 版本的 Postfix 包。

另外,可否问一下,你需要哪些参数来做什么功能呢?

不要注释掉 smtpd_recipient_restrictions,它是用来防治垃圾邮件的。

3,934

(2 篇回复,发表在 iRedMail 技术支持)

不要直接问这样的问题,你只要说你现在碰到什么问题就好了。大家可以帮你分析和排错,而不是毫无头绪的问一个问题。

3,935

(31 篇回复,发表在 iRedMail 技术支持)

要注意几个问题:
1:如果你现在的邮件系统使用 MYSQL 或 LDAP 存储虚拟用户,那么你的新版本的 Postfix 也一定要加上这样的编译参数才行。如果是直接用 RPM 包的话,也要检查。
2:新版本与旧版本的参数有可能有一些不同,需要先查看发布声明等文件。

其它暂时还没想到要特别留意的。

另外,是否方便问一句,为什么要更新到 2.5.5 呢?

看一下你的 vmail.domains 这个表里有哪些虚拟域。

请将你的邮件日志贴上来。。。

贴 mydestination

检查一下 maillog 里是否有提示类似的错误:

Nov  4 11:23:41 mail postfix/smtpd[3033]: NOQUEUE: reject: RCPT from unknown[xxx.xxx.xxx.xxx]: 450 4.1.8 <postmaster@mydomain.tld>Sender address rejected: Domain not found; from=<xxx@263.net> to=<postmaster@mydomain.tld> proto=ESMTP helo=<smtpcom.263xmail.com>

如果是的话,请贴一下你的 main.cf 里的这三个参数和对应的值:
myhostname
mydomain
myorigin

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


The cluster team and its community are proud to announce the 2.99.13
release from the master branch.

The development cycle for 3.0 is on track and probably the next release
will be 3.0alpha1.

All features we had in mind for 3.0 are completed and it's time to dive into deep testing and bug fixing.

In this release, legacy code does not build. We are aware of the problem but it's low priority. It will be addressed soon.

The 2.99.XX releases are _NOT_ meant to be used for production
environments.. yet.

The master branch is the main development tree that receives all new
features, code, clean up and a whole brand new set of bugs,

At some point in time this code will become the 3.0 stable release.

Everybody with test equipment and time to spare, is highly encouraged to
download, install and test the 2.99 releases and more important report
problems.

In order to build the 2.99.13 release you will need:

- - corosync svn r1709.
- - openais svn r1677.
- - linux kernel (2.6.27)

The new source tarball can be downloaded here:

  ftp://sources.redhat.com/pub/cluster/releases/cluster-2.99.13.tar.gz
  https://fedorahosted.org/releases/c/l/cluster/cluster-2.99.13.tar.gz

To report bugs or issues:

  https://bugzilla.redhat.com/

Would you like to meet the cluster team or members of its community?

  Join us on IRC (irc.freenode.net #linux-cluster) and share your
  experience  with other sysadministrators or power users.

Happy clustering,
Fabio

Under the hood (from 2.99.12):

Abhijith Das (2):
      gfs-kernel: bz466677 - fault in posix_lock_file() - "gfs_controld" responds to orphaned "plock_xop" request - suspected cause is patch for Bug 196318
      gfs-kernel: Bug 466645 - reproduceable gfs (dlm) hanger with simple stresstest

Andrew Beekhof (2):
      dlm_controld: add pacemaker support
      dlm_controld: pacemaker build

Benjamin Marzinski (1):
      gfs-kernel: workaround for potential deadlock. Prefault user pages

Bob Peterson (5):
      GFS2: gfs2_edit savemeta doesn't work with GFS
      Fix many bugs with gfs2_convert.
      Use jbsize for height computations on journaled files.
      mkfs.gfs2 hangs with many journals
      Grab hold of journal-turned-RG buffers so they're not freed.

Christine Caulfield (11):
      cman: Some fixes for configless running
      cman: Add some more comments about shutdown
      cman: Some edits to the cmannotifyd man page
      cman: Tidy some english phrases and typos
      cman: replace high_nodeid with votes in transition message
      cman: fix signatures of cman_get_privdata & cman_set_privdata
      cman: Don't crash cman_tool nodes -a
      cman: make it compile with latest corosync
      cman: Make cman the quorum provider for corosync
      cman: Make cman-preconfig reload <totem> too
      cman: fix memory leak

David Teigland (42):
      gfs_controld: simplify misc device handling and fix plock dump
      dlm_controld: enable calls into deadlock code
      dlm_controld: fix the recent realloc fix in deadlock code
      dlm_controld: join should return error without fence domain
      libfence: remove ccs reconnect code
      libfence: no logging
      dlm_controld: clear plock syncing flags
      fence_tool: refuse to leave if dlm lockspaces exist
      group_tool: show groupd compat info
      fenced/dlm_controld/gfs_controld: config update reread
      libccs: update ccs_read_logging
      liblogthread: new options
      liblogthread: time stamp when entry is added
      fenced: new logging stuff
      groupd: new logging stuff
      liblogthread: improve thread handling
      dlm_controld: new logging stuff
      gfs_controld: new logging stuff
      liblogthread: add LOG_MODE_OUTPUT_STDERR
      groupd/fenced/dlm_controld/gfs_controld: log macros
      fence_node: use logthread
      groupd/fenced/dlm_controld/gfs_controld: don't retry ccs_connect
      groupd/fenced/dlm_controld/gfs_controld: startup info messages
      groupd: libcpg mode can skip some more libgroup stuff
      fenced/dlm_controld/gfs_controld: log exiting message only once
      fenced/dlm_controld/gfs_controld: error handling in groupd detection
      fenced: log protocol message type
      liblogthread: do nothing without init
      groupd/fenced/dlm_controld/gfs_controld: log logging settings
      dlm_controld: recv error checking
      libccs: fix ccs_read_config
      groupd/fenced/dlm_controld/gfs_controld: get logfile from ccs
      fenced/dlm_controld/gfs_controld: improve groupd waiting
      gfs_controld: cannot connect to dlm_controld error
      group_tool: fix dump
      gfs_controld/dlm_controld: fix lock syncing in ownership mode
      dlm_controld/gfs_controld: plock dump display resource owner
      gfs_controld: use new uevent strings
      dlm_controld/gfs_controld: plock config paths
      dlm_controld/gfs_controld: fix plock rate limiting
      dlm_controld/gfs_controld: dump unused resources
      dlm_controld/gfs_controld: read lockless resources from ckpts

Fabio M. Di Nitto (51):
      cman: make cluster_parent_handle function specific
      cman: implement reload operations for cman-preconfig
      cman: implement and simplify configuration reload operations
      cman: update man page for reload operations
      dlm_controld: handle cman config update notifications
      gfs_controld: handle cman config update notifications
      groupd: handle cman config update notifications
      rgmanager: Fix smb.sh shell scripting
      logthread: fix usage of syslog(3)
      cman: add new daemon for notification to custom bits
      cman notify: add call back to external script
      cman notification: add shell and build infrastructure
      cman notify: update init script
      fence scsi: plugin reload notification script into cmannotifyd
      cman notifyd: add man page
      cman notify: add note to man page
      cman notify: add script template to doc/
      cman notify: add logging to cman_notify
      cman notify: fix a few bits in the shell area
      cman notify: wait for forked process to terminate..
      cman notifyd: export quorum information on statechange
      ccs: libccs implement reload operations
      ccs: simplify libccs reload code
      build: prefer init scripts generated in the objdir rather than source
      init scripts: major rework to make them distro agnostic
      build: fix kernel module install dir to respect DESTDIR
      rgmanger: fix build system
      libccs: cleanup
      build: respect build: respect EXTRA_CFLAGS in cobj.mk
      libfence: use ccs_connect instead of force_connect.
      config: fix loading of multiple objects with no subojects
      build: allow libs to have indipendent sonames
      build: change error string
      gnbd: remove from cluster project
      xmlconfig: major rework
      cman: port notifyd to new logthread api
      build: fix missing ${logtlibdir} for linking
      build: allow system to use zlib in non standard paths
      cman: make init script stop cmannotifyd
      build: fix fence_node Makefile
      cman: reenable stderr output in notifyd
      fence: install virsh fence agent man page
      libccs: build with latest corosync
      dlm_controld: include saAis from openais
      build: fix dlm_controld makefile
      build: fix fence agents man page Makefile
      build: install fence_vmware_vi bits in the appropriate locations
      build: don't set exec bit on built files.
      build: install fence_vmware_vi_helper in sbindir
      build: fix typo and get rgmanager to build again
      build: fix fence_scsi installation bits

Jan Friesse (13):
      fence: Fix operation 'list' and 'monitor' for LDOM and ePowerSwitch
      fence: New fence agent for VMware using vmrun command.
      fence: IPMI over lan timeout adjusted and configurable
      fence: fix IPMI parameters containing special characters
      fence: fix IPMI typo in help
      fence: fix IPMI spawn /bin/bash rather than /bin/sh
      fence: fix IPMI man page
      fence: fix IPMI over lan to support ciphersuite select
      fence: Add libvirt (virsh) based agent
      fence: Set binary on telnet connections
      fence: Added fence agent based on VMware VI API
      fence: VMware VI helper path fix
      fence: VMware VI better handling of "strange" names

Lon Hohberger (32):
      [fence] Make fence_xvmd "reboot" work with newer versions of libvirt
      qdisk: fix block size check
      fence: Fix bug in make_args()
      liblogthread: Fix sefault if fopen() fails for any reason
      rgmanager: Nuke clurmtabd since it's not used/needed
      rgmanager: Rename clurgmgrd -> rgmanager
      rgmanager: Enable stderr logging when run in foreground
      rgmanager: Use CCS again instead of building everything NO_CCS
      rgmanager: Fix debug build error
      rgmanager: Handle notifications from cman for config updates
      rgmanager: Remove polling code; misc cleanups
      rgmanager: Put init_resource_groups prototype in one place
      rgmanager: make clulog accept "-" as the first char in messages
      rgmanager: Avoid status checks during reconfiguration
      qdiskd: Always use O_NONBLOCK when writing to status_file
      qdiskd: Process reconfiguration events from CMAN
      rgmanager: make max_restarts work w/o restart_expire_time
      qdisk: Make online reconfig actually work
      qdisk: Update man page.  Nuke crc32 code and use zlib.
      qdisk: Remove antique #ifdefs for old kernel-mode CMAN
      liblogthread: work with stderr etc
      qdiskd: Misc. cleanups, esp. loop cleanups in main.c
      qdisk: More misc cleanups.
      qdisk: Allow old logging style until next release
      rgmanager: make dtest compile
      rgmanager: Include follow-service.sl in the install
      rgmanager: Fix license for follow-service.sl
      logthread: Make multiple init/exit calls work
      logthread: Add missing prototype
      fence_xvm: Use new logging config parameters
      rgmanager: Fix up logging, part 1
      rgmanager: Part 2 - flip logging function name

Marek 'marx' Grac (4):
      [FENCE] Support for long options (eg. --ssh, --help)
      [fence] Extension to fence agent for BladeCenter with 'list'/'monitor' operation
      [fence] Extension to fence agent for LPAR/HMC with 'list'/'monitor' operation
      [FENCE] Support for 'metadata' option for fencing agents / default values

Mark Grimme (1):
      rgmanager: Add follows-service script

Mark Hlawatschek (1):
      rgmanager: Update SAPInstance / SAPDatabase to current versions

Nicolas MONNET (1):
      rgmanager: Make postgres-8.sh use su instead of sudo

Ryan McCabe (1):
      libfence: whitespace cleanup

Ryan O'Hara (2):
      BZ 453429: Fix conditional check of $OCF_RESKEY_migration_mapping
      Fix check_mount to correctly test if device is mounted/busy.

Steven Whitehouse (6):
      libgfs2: Remove unused #defines
      mount.gfs2: Remove unused ondisk2.c file
      gfs_controld: recv error checking
      GFS: Send sensible sysfs stuff
      GFS: Send useful information with uevent messages
      cman: loading lock_dlm module should be optional in initscript

 Makefile                                         |   12 +-
 cman/Makefile                                    |    2 +-
 cman/daemon/ais.c                                |   35 +-
 cman/daemon/ais.h                                |    3 +
 cman/daemon/cman-preconfig.c                     |  100 ++-
 cman/daemon/cmanconfig.c                         |   23 +-
 cman/daemon/cnxman-private.h                     |    4 +-
 cman/daemon/commands.c                           |   97 +-
 cman/init.d/Makefile                             |   22 +-
 cman/init.d/cman                                 |  704 ------------
 cman/init.d/cman.in                              |  779 +++++++++++++
 cman/init.d/qdiskd                               |   88 --
 cman/init.d/qdiskd.in                            |  128 +++
 cman/lib/libcman.c                               |    7 +-
 cman/lib/libcman.h                               |    6 +-
 cman/man/Makefile                                |    3 +-
 cman/man/cman_tool.8                             |   18 +-
 cman/man/cmannotifyd.8                           |   66 ++
 cman/man/qdisk.5                                 |   24 +-
 cman/notifyd/Makefile                            |   37 +
 cman/notifyd/cman_notify.in                      |   40 +
 cman/notifyd/main.c                              |  381 +++++++
 cman/qdisk/Makefile                              |    7 +-
 cman/qdisk/README                                |    1 -
 cman/qdisk/crc32.c                               |   97 --
 cman/qdisk/daemon_init.c                         |   10 +-
 cman/qdisk/disk.c                                |   85 +-
 cman/qdisk/disk.h                                |   10 +-
 cman/qdisk/disk_util.c                           |   11 +-
 cman/qdisk/main.c                                |  875 ++++++++-------
 cman/qdisk/mkqdisk.c                             |   15 +-
 cman/qdisk/proc.c                                |   42 +-
 cman/qdisk/score.c                               |   18 +-
 common/liblogthread/liblogthread.c               |  250 +++--
 common/liblogthread/liblogthread.h               |   14 +-
 config/libs/libccsconfdb/ccs.h                   |    5 +-
 config/libs/libccsconfdb/ccs_internal.h          |    2 +-
 config/libs/libccsconfdb/extras.c                |  191 +++-
 config/libs/libccsconfdb/fullxpath.c             |   18 +-
 config/libs/libccsconfdb/libccs.c                |  198 +++-
 config/libs/libccsconfdb/xpathlite.c             |   38 +-
 config/plugins/xml/Makefile                      |    2 +-
 config/plugins/xml/config.c                      |  289 +----
 configure                                        |   43 +-
 doc/cman_notify_template.sh                      |   57 +
 fence/agents/bladecenter/fence_bladecenter.py    |   26 +-
 fence/agents/eps/fence_eps.py                    |    2 +-
 fence/agents/gnbd/Makefile                       |   25 -
 fence/agents/gnbd/main.c                         |  327 ------
 fence/agents/ipmilan/expect.c                    |    2 +-
 fence/agents/ipmilan/ipmilan.c                   |  140 ++-
 fence/agents/ldom/fence_ldom.py                  |    2 +-
 fence/agents/lib/fencing.py.py                   |  176 +++-
 fence/agents/lpar/fence_lpar.py                  |   29 +-
 fence/agents/scsi/Makefile                       |   14 +-
 fence/agents/scsi/scsi_reserve                   |  316 -----
 fence/agents/scsi/scsi_reserve.in                |  338 ++++++
 fence/agents/scsi/scsi_reserve_notify.in         |    5 +
 fence/agents/virsh/Makefile                      |    5 +
 fence/agents/virsh/fence_virsh.py                |   86 ++
 fence/agents/vmware_vi/Makefile                  |    5 +
 fence/agents/vmware_vi/fence_vmware_vi.py        |  149 +++
 fence/agents/vmware_vi/fence_vmware_vi_helper.pl |  237 ++++
 fence/agents/vmware_vmrun/Makefile               |    4 +
 fence/agents/vmware_vmrun/fence_vmware_vmrun.py  |  154 +++
 fence/agents/xvm/Makefile                        |    3 +-
 fence/agents/xvm/debug.c                         |    2 -
 fence/agents/xvm/debug.h                         |    4 +-
 fence/agents/xvm/fence_xvm.c                     |   40 +-
 fence/agents/xvm/fence_xvmd.c                    |  349 +++----
 fence/agents/xvm/ip_lookup.c                     |    3 +-
 fence/agents/xvm/mcast.c                         |    2 -
 fence/agents/xvm/options.c                       |   28 +-
 fence/agents/xvm/options.h                       |    3 +-
 fence/agents/xvm/simple_auth.c                   |    2 -
 fence/agents/xvm/tcp.c                           |    2 -
 fence/agents/xvm/virt.c                          |    2 -
 fence/agents/xvm/xml.c                           |    2 -
 fence/fence_node/Makefile                        |    4 +-
 fence/fence_node/fence_node.c                    |   22 +-
 fence/fence_tool/fence_tool.c                    |   60 +-
 fence/fenced/Makefile                            |    6 +-
 fence/fenced/config.c                            |   39 +-
 fence/fenced/config.h                            |    6 +-
 fence/fenced/cpg.c                               |    2 +
 fence/fenced/fd.h                                |   23 +-
 fence/fenced/group.c                             |   47 +-
 fence/fenced/logging.c                           |  188 +---
 fence/fenced/main.c                              |   38 +-
 fence/fenced/member_cman.c                       |    1 +
 fence/libfence/agent.c                           |   59 +-
 fence/man/Makefile                               |   15 +-
 fence/man/fence.8                                |    2 +-
 fence/man/fence_gnbd.8                           |   84 --
 fence/man/fence_ipmilan.8                        |   22 +-
 fence/man/fence_virsh.8                          |  104 ++
 fence/man/fence_vmware_vmrun.8                   |  137 +++
 gfs-kernel/src/gfs/incore.h                      |    3 +
 gfs-kernel/src/gfs/inode.c                       |    4 +
 gfs-kernel/src/gfs/lock_dlm_mount.c              |   12 +-
 gfs-kernel/src/gfs/lock_dlm_sysfs.c              |   15 +-
 gfs-kernel/src/gfs/ops_file.c                    |  121 ++-
 gfs-kernel/src/gfs/ops_inode.c                   |   13 +-
 gfs-kernel/src/gfs/sys.c                         |   15 +-
 gfs/init.d/Makefile                              |    9 +-
 gfs/init.d/gfs                                   |   97 --
 gfs/init.d/gfs.in                                |  149 +++
 gfs2/convert/gfs2_convert.c                      |  576 ++++++++--
 gfs2/edit/gfs2hex.c                              |    2 +-
 gfs2/edit/hexedit.c                              |   42 +-
 gfs2/edit/hexedit.h                              |   12 +-
 gfs2/edit/savemeta.c                             |  405 ++------
 gfs2/fsck/fs_recovery.c                          |    9 +-
 gfs2/fsck/initialize.c                           |    4 +-
 gfs2/fsck/main.c                                 |    3 +-
 gfs2/fsck/metawalk.c                             |   13 +-
 gfs2/fsck/pass1.c                                |   10 +-
 gfs2/fsck/pass1b.c                               |    4 +-
 gfs2/fsck/pass1c.c                               |    6 +-
 gfs2/fsck/pass2.c                                |    8 +-
 gfs2/fsck/rgrepair.c                             |   10 +-
 gfs2/init.d/Makefile                             |    9 +-
 gfs2/init.d/gfs2                                 |   96 --
 gfs2/init.d/gfs2.in                              |  149 +++
 gfs2/libgfs2/Makefile                            |    1 +
 gfs2/libgfs2/buf.c                               |  107 ++-
 gfs2/libgfs2/fs_geometry.c                       |    2 +-
 gfs2/libgfs2/fs_ops.c                            |   97 +-
 gfs2/libgfs2/gfs1.c                              |  395 +++++++
 gfs2/libgfs2/libgfs2.h                           |  118 ++-
 gfs2/libgfs2/misc.c                              |   67 +-
 gfs2/libgfs2/recovery.c                          |    4 +-
 gfs2/libgfs2/rgrp.c                              |   10 +-
 gfs2/libgfs2/structures.c                        |    8 +-
 gfs2/libgfs2/super.c                             |   12 +-
 gfs2/mkfs/gfs2_mkfs.h                            |    3 -
 gfs2/mkfs/main_grow.c                            |   10 +-
 gfs2/mkfs/main_mkfs.c                            |   42 +-
 gfs2/mount/ondisk2.c                             |   23 -
 gfs2/tool/df.c                                   |    8 +-
 gnbd-kernel/src/Makefile                         |   25 -
 gnbd-kernel/src/gnbd.c                           | 1118 ------------------
 gnbd-kernel/src/gnbd.h                           |   93 --
 gnbd/Makefile                                    |    4 -
 gnbd/client/Makefile                             |   43 -
 gnbd/client/gnbd_monitor.c                       |  907 ---------------
 gnbd/client/gnbd_monitor.h                       |   29 -
 gnbd/client/gnbd_recvd.c                         |  386 -------
 gnbd/client/monitor_req.c                        |  145 ---
 gnbd/include/global.h                            |   26 -
 gnbd/include/gnbd_endian.h                       |   66 --
 gnbd/man/Makefile                                |    7 -
 gnbd/man/gnbd.8                                  |   40 -
 gnbd/man/gnbd_export.8                           |  161 ---
 gnbd/man/gnbd_import.8                           |  171 ---
 gnbd/man/gnbd_serv.8                             |   72 --
 gnbd/server/Makefile                             |   48 -
 gnbd/server/device.c                             |  373 ------
 gnbd/server/device.h                             |   40 -
 gnbd/server/extern_req.c                         |  306 -----
 gnbd/server/extern_req.h                         |   44 -
 gnbd/server/fence.c                              |  135 ---
 gnbd/server/fence.h                              |   10 -
 gnbd/server/gnbd_clusterd.c                      |  109 --
 gnbd/server/gnbd_serv.c                          |  397 -------
 gnbd/server/gnbd_server.h                        |   12 -
 gnbd/server/gserv.c                              |  621 ----------
 gnbd/server/gserv.h                              |   55 -
 gnbd/server/list.h                               |   82 --
 gnbd/server/local_req.c                          |  183 ---
 gnbd/server/local_req.h                          |   45 -
 gnbd/tools/Makefile                              |    4 -
 gnbd/tools/gnbd_export/Makefile                  |   36 -
 gnbd/tools/gnbd_export/gnbd_export.c             |  858 --------------
 gnbd/tools/gnbd_export/gnbd_get_uid              |   23 -
 gnbd/tools/gnbd_import/Makefile                  |   35 -
 gnbd/tools/gnbd_import/fence_return.h            |    6 -
 gnbd/tools/gnbd_import/gnbd_import.c             | 1325 ----------------------
 gnbd/utils/Makefile                              |   18 -
 gnbd/utils/gnbd_utils.c                          |  423 -------
 gnbd/utils/gnbd_utils.h                          |  103 --
 gnbd/utils/member_cman.c                         |   76 --
 gnbd/utils/member_cman.h                         |   10 -
 gnbd/utils/trans.c                               |  316 -----
 gnbd/utils/trans.h                               |   28 -
 group/Makefile                                   |   10 +-
 group/daemon/Makefile                            |    5 +-
 group/daemon/cman.c                              |    3 +
 group/daemon/cpg.c                               |   21 +-
 group/daemon/gd_internal.h                       |   33 +-
 group/daemon/logging.c                           |  188 +---
 group/daemon/main.c                              |   45 +-
 group/dlm_controld/Makefile                      |   53 +-
 group/dlm_controld/config.c                      |   73 +-
 group/dlm_controld/config.h                      |    6 +-
 group/dlm_controld/cpg.c                         |   29 +-
 group/dlm_controld/deadlock.c                    |  113 +--
 group/dlm_controld/dlm_daemon.h                  |   33 +-
 group/dlm_controld/group.c                       |   47 +-
 group/dlm_controld/logging.c                     |  188 +---
 group/dlm_controld/main.c                        |   51 +-
 group/dlm_controld/member_cman.c                 |    4 +
 group/dlm_controld/pacemaker.c                   |  409 +++++++
 group/dlm_controld/plock.c                       |   59 +-
 group/gfs_controld/Makefile                      |    5 +-
 group/gfs_controld/config.c                      |   75 +-
 group/gfs_controld/config.h                      |    6 +-
 group/gfs_controld/cpg-new.c                     |   56 +-
 group/gfs_controld/cpg-old.c                     |   53 +-
 group/gfs_controld/gfs_daemon.h                  |   35 +-
 group/gfs_controld/group.c                       |   47 +-
 group/gfs_controld/logging.c                     |  188 +---
 group/gfs_controld/main.c                        |  272 +++--
 group/gfs_controld/member_cman.c                 |    8 +-
 group/gfs_controld/plock.c                       |  317 +++---
 group/tool/main.c                                |   49 +-
 make/cobj.mk                                     |    2 +-
 make/defines.mk.input                            |   10 +-
 make/fencebuild.mk                               |    4 +-
 make/install.mk                                  |   10 +-
 make/uninstall.mk                                |    3 +
 rgmanager/include/event.h                        |    4 +-
 rgmanager/include/logging.h                      |    5 +-
 rgmanager/include/message.h                      |    3 +-
 rgmanager/include/resgroup.h                     |    1 +
 rgmanager/include/rg_locks.h                     |    9 +-
 rgmanager/init.d/Makefile                        |   10 +-
 rgmanager/init.d/rgmanager                       |  142 ---
 rgmanager/init.d/rgmanager.in                    |  192 ++++
 rgmanager/src/clulib/Makefile                    |    4 +-
 rgmanager/src/clulib/logging.c                   |  237 +---
 rgmanager/src/clulib/msg_cluster.c               |   17 +-
 rgmanager/src/clulib/rg_strings.c                |    1 -
 rgmanager/src/daemons/Makefile                   |   42 +-
 rgmanager/src/daemons/clurmtabd.c                |  616 ----------
 rgmanager/src/daemons/clurmtabd_lib.c            |  820 -------------
 rgmanager/src/daemons/dtest.c                    |    1 +
 rgmanager/src/daemons/event_config.c             |    4 +-
 rgmanager/src/daemons/fo_domain.c                |   45 +-
 rgmanager/src/daemons/groups.c                   |  138 +--
 rgmanager/src/daemons/main.c                     |  131 +--
 rgmanager/src/daemons/reslist.c                  |    8 +-
 rgmanager/src/daemons/resrules.c                 |    4 +-
 rgmanager/src/daemons/restree.c                  |   12 +-
 rgmanager/src/daemons/rg_event.c                 |   47 +-
 rgmanager/src/daemons/rg_forward.c               |   24 +-
 rgmanager/src/daemons/rg_locks.c                 |   24 +-
 rgmanager/src/daemons/rg_state.c                 |  176 ++--
 rgmanager/src/daemons/rg_thread.c                |    4 +
 rgmanager/src/daemons/service_op.c               |   14 +-
 rgmanager/src/daemons/slang_event.c              |   28 +-
 rgmanager/src/daemons/watchdog.c                 |    6 +-
 rgmanager/src/resources/Makefile                 |    3 +-
 rgmanager/src/resources/SAPDatabase              |  444 ++++++--
 rgmanager/src/resources/SAPInstance              |  327 ++++--
 rgmanager/src/resources/follow-service.sl        |  151 +++
 rgmanager/src/resources/postgres-8.sh            |    4 +-
 rgmanager/src/resources/smb.sh                   |    2 +-
 rgmanager/src/resources/vm.sh                    |    2 +-
 rgmanager/src/utils/Makefile                     |    4 +-
 rgmanager/src/utils/clulog.c                     |   35 +-
 rgmanager/src/utils/clunfsops.c                  |   16 +-
 262 files changed, 9552 insertions(+), 16632 deletions(-)

- --
I'm going to make him an offer he can't refuse.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iQIVAwUBSUbMpQgUGcMLQ3qJAQKjvRAAmjIw3i6LAeQFGEBA4ADe2eF/y3C/ImPO
pCb5q7ZYUbvoj6Ecj5z8FzBmAk+AD1pXQcYMr3iHx9ppERm8CAbRPshXC/pdHdGc
6gl/558+RVVr/8ZE5420LghzwKgDuGuGXfM3C684H4y8e4vAqvytnzy9BMYvJ+UL
WAkSzXz0Qnqt1wjXe89gSB3QdiQfpshijklwClyCegXoTuCjJc9Jp7awTccjRAvp
LZxPPE4/4SOJlZMYNi0s5rJjNSHCWs+WuejZD2V4u210LaKEVdSosRF1NbbRV2g+
1THGoyMEcTyAXm9z2EMJEM/rp1sHKYg7raGiXSzjbpSsHwjCqdBnixo0zF2rPMRU
nSyPHn3MwUhQply3VEqQK4sUnIN1l9q1bsk/o8ejpBFQRSxS4LUD+S1AUHMdMR0S
oVa9PXMLx4JY6bilwFjN+AmM5YBCwDS4nCDDDj+Rhd+tF6i7E9H8+fhwgppw7J9D
m9G4RBTLNxTW6r3Nxo8TVhaBRtNDbU9+ylU79jLxVDvpJNvLv2AVVRWMYItM2x5a
8oXD4pWKkhYf094ggfz3n+oh0O4Cx02KJSWFuejgv47Ygh7x4Ghewmc5/K4xmBSa
KRWvMTreb+Sa/X/cYEiGKA9cWif4V07GcYr3vxP/Zy8PuFKcdpisxF6PZdk2cQfS
+J9r0HdyRMI=
=dP8x
-----END PGP SIGNATURE-----

-- 
Linux-cluster mailing list
Linux-cluster@redhat.com
https://www.redhat.com/mailman/listinfo/linux-cluster

贴日志

3,942

(27 篇回复,发表在 iRedMail 技术支持)

我是说,Dovecot 实际创建的路径。
是这样的么:domain.ltd/A0/B0/username/Maildir/

3,943

(27 篇回复,发表在 iRedMail 技术支持)

贴一下迁移后实际的邮箱路径。

应该考虑用 php 函数来自动获取 encode 后的附件名里的字符集编码。
例如 split() 函数:
http://us2.php.net/split

3,945

(27 篇回复,发表在 iRedMail 技术支持)

默认的 mail_location 路径是这样的:

mail_location = maildir:/%Lh/%Ld/%Ln/:INDEX=/%Lh/%Ld/%Ln/
    [*]%h:用户 HOME 目录。
    [*]%d:域名。
    [*]%n:用户名(邮件地址里 @ 前的部分)


这三部分我都设置成是从 SQL 里取,都在 dovecot-mysql.conf 里设置了。

3,946

(27 篇回复,发表在 iRedMail 技术支持)

按照你实际的需求,修改 /etc/dovecot.conf 里的 mail_location 参数即可调整邮箱的位置。

3,947

(27 篇回复,发表在 iRedMail 技术支持)

收不到邮件,请具体描述一下有什么情况,否则无法分析。

3,948

(27 篇回复,发表在 iRedMail 技术支持)

Dec 15 16:54:16 mail postfix/smtp[31971]: connect to 127.0.0.1[127.0.0.1]: Connection refused (port 10024)


Amavisd 没启动。

Dec 15 15:00:29 mail policyd: chdir(): No such file or directory


policyd 的配置有问题。

Dec 15 07:01:32 mail postfix/smtpd[3673]: warning: problem talking to server 127.0.0.1:10031: Connection refused

似乎仍然没启动。

可否顺便贴一下 postconf -n 的输出?

Dec 15 06:04:34 mail postfix/smtpd[3289]: warning: connect to 127.0.0.1:10031: Connection refused


policyd 服务没起来。重启一下 policyd 即可:

# /etc/init.d/policyd restart