My git clone of the Cyrus CVS repository
C Perl Perl6 M4 Groff Yacc Other
Latest commit cdc7279 Jun 20, 2016 @elliefm elliefm stristr: just use size_t
Permalink
Failed to load latest commit information.
backup include <stdio.h> where needed in backup-specific source files Apr 22, 2016
cmulocal configure.ac: check for perl2rst dependencies May 27, 2016
com_err/et Remove ALL tabs Jun 15, 2015
contrib cyrusv2.mc: move from doc/legacy/ to contrib/ Jun 14, 2016
cunit Alt Namespace: support Alt Folders and INBOX subfolders May 14, 2016
depot Remove ALL tabs Jun 15, 2015
doc move doc/legacy/notes.html to doc/internal/ Jun 14, 2016
docsrc ipurge: add -v (verbose) option and disable default verbosity Jun 10, 2016
imap http_caldav.c: when stripping timezones, we need to replace propertie… Jun 17, 2016
imtest use int, not char, for single chars that might be EOF Feb 26, 2016
lib stristr: just use size_t Jun 20, 2016
master master: make better use of select() return value semantics May 20, 2016
netnews Alt Namespace: support Alt Folders and INBOX subfolders May 14, 2016
notifyd Remove ALL tabs Jun 15, 2015
perl sieveshell.pl: add perl2rst hooks to pod for doc gen May 31, 2016
ptclient [ptclient/ldap]: A search for a domain should retry rather than fail … Aug 5, 2015
sieve Sieve: if header 'X-IgnoreVacation' exists and is not "no", don't res… Jun 2, 2016
snmp Remove ALL tabs Jun 15, 2015
timsieved sieve: support RFC5490 - mailbox and metadata Feb 7, 2016
tools vzic-parse.c: squash implicit declaration of function ‘ensure_directo… Jun 17, 2016
.arcconfig Add .arcconfig to rI (T15) Mar 2, 2015
.gitattributes [Docs] Normalising line endings for docs to lf (unix), removing crlf Apr 19, 2016
.gitignore README: create from README.in, so version can be dynamic Jun 7, 2016
.indent.pro Add .indent.pro to enforce indent behaviour Feb 17, 2011
COPYING Remove ALL tabs Jun 15, 2015
INSTALL Automake really likes files called COPYING and/or INSTALL. Obey. Mar 4, 2015
Makefile.am Makefile.am: fix docsrc in read-only source build Jun 17, 2016
README.andrew Remove ALL tabs Jun 15, 2015
README.git Add a 'README.git' document May 8, 2012
README.in README: update install and release notes links Jun 10, 2016
README.ubuntu ubuntu: update package list for FM Mar 12, 2015
SMakefile removes outdated references to --with-auth configure option Jul 17, 2015
configure.ac README: create from README.in, so version can be dynamic Jun 7, 2016
libcyrus.pc.in Add pkg-config support for libcyrus and libcyrus_min Jun 20, 2012
libcyrus_min.pc.in Add pkg-config support for libcyrus and libcyrus_min Jun 20, 2012
libcyrus_sieve.pc.in Bug #3711 - detect broken Apple compile_et Feb 21, 2013
mkdebian.pl imapd: implement XAPPLEPUSHSERVICE Jul 19, 2015

README.andrew

#!/bin/sh

#
# This is internal documentation for Computing Services at
# Carnegie Mellon University.
#
# Please refer to doc/readme.html for the 'real' README.
#
#

smake -d init mf all install

exit 0

"configure" is no longer in the repository because it's built from
"configure.ac", and it's really annoying to keep checking it in only
to realize that you don't understand the changes because they're all
autoconf spew.

to build configure:
   sh SMakefile

to build:
   smake init all

then, as admin (suid binaries on AFS)
   smake -d install

If you get the error 'can not find sources', make sure imap/imap.c is mode a+r.

----
To make a release:
- make sure the version number is correct (Makefile.in, imap/version.h)
- add upgrade notes to doc/install-upgrade.html
- add changes to doc/changes.html
- make sure that contrib/drac_auth.patch applies cleanly
- commit to repository
- make dist

- tag the CVS repository with cyrus-release-Major-Minor-Revision

- upload tarball to /afs/andrew.cmu.edu/system/archive/cmu/anonftp/pub/cyrus

- announce to:
    info-cyrus
    comp.mail.imap
    cyrus-announce
    freshmeat.net

- update cyrusimap.web.cmu.edu:/usr/www/htdocs/downloads.html
  links to new version
- update cyrusimap.web.cmu.edu:/usr/www/htdocs/imapd
  from tarball

---
to bring up a new Andrew Cyrus server:

package.protos for:
a) backend server

%define cyrus21
%define sasl2

%define is_imap
%define is_backend
%define is_saslauthd
%define usesvxfs

%define multiple_lun

%define hasuser.permits
F /etc/user.permits
%define hasroot.permits
F /etc/root.permits

%include /afs/andrew.cmu.edu/wsadmin/cyrus2/src/cyrus.proto

b) frontend server

%define cyrus21
%define sasl2

%define uses_readwrite

%define wsadmin /afs/.andrew.cmu.edu/wsadmin

%define is_imap
%define is_saslauthd
%define is_frontend

%include /afs/andrew.cmu.edu/wsadmin/cyrus2/src/cyrus.proto

c) smtp server
???? - Larry?

----

Repackage, Reboot, (and redepot/repackage again)

- Key the machine (imap, lmtp, smtp, pop, and put them in /imap/conf/srvtab)
  - remove the rcmd (and smtp?) key from /imap/conf/srvtab
- frontends also need mupdate key
- create k5 keys:
/usr/local/etc/ktutil srv2key
chgrp cyrus /etc/krb5.keytab
chmod g+r /etc/krb5.keytab
- Generate an SSL key for the machine and install to /imap/conf/server.pem
  (preferrably signed correctly)

Something like:
mail-fe3:sun4x_58:/imap/conf# openssl req -new -x509 -nodes -out /imap/conf/serv
er.pem -keyout /imap/conf/server.pem
Using configuration from /usr/local/lib/openssl/openssl.cnf
Generating a 1024 bit RSA private key
............++++++
..........++++++
writing new private key to '/imap/conf/server.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Pennsylvania
Locality Name (eg, city) []:Pittsburgh
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Carnegie Mellon University
Organizational Unit Name (eg, section) []:Andrew Systems Group
Common Name (eg, YOUR name) []:mail-fe3.andrew.cmu.edu
Email Address []:advisor@andrew.cmu.edu

- is it a backend? run tools/mkimap (as cyrus!)

----------------------------------------------------------------------

To use Insure++
 . uncomment appropriate lines from SMakefile
 . copy psrc to /.psrc
 . make sure environment variables HOME and (maybe) USER
   are properly set
 . mkdir /tmp/insure; chmod 777 /tmp/insure