[SVN] r768 - in /branches/cyrus23/cyrus-imapd-2.3-2.3.13: ./ cmulocal/ com_err/ com_err/et/ contrib/ contrib/cyrus-graphtools.1.0/script/ debian/ debian/patches/ depot/ doc/ doc/internal/ doc/text/ et/ imap/ imtest/ installsieve/ lib/ lib/charset/ lib/test/ makedepend/ master/ netnews/ notifyd/ perl/ perl/imap/ perl/imap/IMAP/ perl/imap/examples/ perl/imap/t/ ptclient/ snmp/ syslog/ timsieved/ tools/
debian at incase.de
debian at incase.de
Mon Feb 9 11:49:22 UTC 2009
Author: duncan
Date: Mon Feb 9 12:49:22 2009
New Revision: 768
URL: https://mail.incase.de/viewcvs?rev=768&root=cyrus22&view=rev
Log:
Large update to 2.3.13. A few very conservative changes in debian files.
Added:
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.3
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.texinfo
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.1
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.sh
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/config_script
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_message.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_table.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_c.awk
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_h.awk
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_name.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/init_et.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/internal.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/mit-sipb-copyright.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test1.et
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test2.et
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test_et.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/texinfo.tex
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cyr_synclog.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cyr_virusscan.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/make_sha1.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/message_guid.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/message_guid.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/statuscache.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/statuscache_db.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/windows-1250.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/windows-1251.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/windows-1255.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb_sql.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imapopts.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imapopts.h
Removed:
branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure
branches/cyrus23/cyrus-imapd-2.3-2.3.13/et/
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/protocol.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/message_uuid.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/message_uuid.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/message_uuid_master.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/message_uuid_master.h
Modified:
branches/cyrus23/cyrus-imapd-2.3-2.3.13/COPYRIGHT
branches/cyrus23/cyrus-imapd-2.3-2.3.13/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/README.andrew
branches/cyrus23/cyrus-imapd-2.3-2.3.13/SMakefile
branches/cyrus23/cyrus-imapd-2.3-2.3.13/aclocal.m4
branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/COPYING
branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/berkdb.m4
branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-attribute.m4
branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-fpic.m4
branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/sasl2.m4
branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.guess
branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.h.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.sub
branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/cyrus-graphtools.1.0/script/cyrus.pl
branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/drac_auth.patch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/fud-client.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/changelog
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/control
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.cyrus2.3.init
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.postrm
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/executable.files
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/00list
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/12-fix_timeout_handling.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/13-master_process_handling.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/17-fix_tail_syntax_in_xversion.h.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/30-update_perlcalling.sh.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/65-sieveshell-enhancements.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/70-allow-larger-buffers.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/72-faster-isdigit.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/75-update-imapd.conf-documentation.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/77-change-missing-sieve-notice.dpatch
branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/rules
branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/depot.conf
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/altnamespace.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/anoncvs.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/changes.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/cyrusv2.mc
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/faq.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/feedback.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-admin-mb.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-auth.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-configure.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-perf.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-prereq.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-replication.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-upgrade.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-virtdomains.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/database-formats.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/mailbox-format.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_examples
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_protocol
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/man.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/os.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/questions.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/readme.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/sieve-protocol.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/specs.html
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/Makefile
branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/htmlstrip.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/Makefile.dist
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/annotate.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/annotate.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/append.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/append.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/arbitron.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/backend.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/backend.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/chk_cyrus.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cli_fatal.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/convert_code.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/convert_code.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/ctl_cyrusdb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/ctl_deliver.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/ctl_mboxlist.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cvt_cyrusdb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cyr_dbtool.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cyr_expire.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/cyrdump.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/deliver.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/delivered_prune.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/duplicate.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/duplicate.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/fetchnews.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/fud.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/global.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/global.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/idle.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/idle.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/idled.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/idled.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imap_err.et
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imap_proxy.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imap_proxy.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imapd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imapd.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/imapparse.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/index.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/index.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/ipurge.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtp_sieve.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtp_sieve.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtpd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtpd.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtpengine.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtpengine.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/lmtpstats.snmp
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mailbox.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mailbox.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/make_md5.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mbdump.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mbdump.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mbexamine.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxkey.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxkey.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxlist.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxlist.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxname.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mboxname.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mbpath.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/message.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/message.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate-client.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate-client.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate-slave.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mupdate_err.et
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mutex.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mutex_fake.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/mutex_pthread.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/nntp_err.et
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/nntpd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/notify.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/notify.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/pop3d.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/proc.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/protocol.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/proxy.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/proxy.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/pushstats.snmp
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/quota.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/quota.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/quota_db.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/reconstruct.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/saslclient.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/saslclient.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/saslserver.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/search_engines.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/search_engines.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/seen.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/seen_bigdb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/seen_db.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/seen_local.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/setproctitle.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/signals.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/signals.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/smmapd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/smtpclient.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/smtpclient.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/spool.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/spool.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squat.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squat.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squat_build.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squat_internal.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squat_internal.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/squatter.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_client.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_commit.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_commit.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_log.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_log.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_reset.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_server.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_support.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/sync_support.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/syncnews.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/telemetry.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/telemetry.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/tls.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/tls.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/tls_prune.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/unexpunge.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/user.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/user.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/version.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/version.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imap/xversion.sh
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imtest/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/imtest/imtest.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/codes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/exitcodes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/installscript.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/isieve.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/isieve.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/lex.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/lex.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/mystring.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/mystring.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/request.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/installsieve/request.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/acl.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/acl.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/acl_afs.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/assert.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/assert.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth_krb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth_krb5.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth_pts.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth_pts.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/auth_unix.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/bsearch.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/bsearch.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/byteorder64.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/byteorder64.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/gb2312.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-2022-jp.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-2022-kr.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-1.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-15.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-2.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-3.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-4.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-5.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-6.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-7.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-8.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/iso-8859-9.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/koi8-r.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/unidata2.txt
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/unifix.txt
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/us-ascii.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/windows-1252.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/charset/windows-1256.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/chartable.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb_berkeley.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb_flat.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb_quotalegacy.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/cyrusdb_skiplist.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/exitcodes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/ftruncate.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/gai.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/getaddrinfo.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/getdtablesize.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/getnameinfo.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/glob.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/glob.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/gmtoff.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/gmtoff_gmtime.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/gmtoff_tm.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imapoptions
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imapurl.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imapurl.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imclient.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imclient.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imparse.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/imparse.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/iptostring.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/iptostring.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/libconfig.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/libconfig.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/libcyr_cfg.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/libcyr_cfg.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/lock.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/lock_fcntl.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/lock_flock.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/map.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/map_nommap.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/map_shared.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/map_stupidshared.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/memmove.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/mkchartable.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/mkgmtime.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/mkgmtime.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/mpool.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/mpool.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/nonblock.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/nonblock_fcntl.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/nonblock_ioctl.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/parseaddr.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/parseaddr.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/prot.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/prot.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/retry.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/retry.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/rfc822date.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/rfc822date.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/strcasecmp.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/strerror.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/strhash.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/strhash.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/sysexits.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/test/cyrusdb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/test/rnddb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/util.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/util.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/wildmat.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/wildmat.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xmalloc.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xmalloc.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xstrlcat.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xstrlcat.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xstrlcpy.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/lib/xstrlcpy.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/configure
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/cppsetup.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/def.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/ifparser.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/ifparser.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/include.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/install-sh
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/main.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/parse.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/makedepend/pr.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/master.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/master.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/masterconf.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/masterconf.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/service-thread.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/service.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/master/service.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/netnews/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/netnews/macros.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/netnews/readconfig.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/netnews/readconfig.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/netnews/remotepurge.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/exitcodes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_log.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_log.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_mailto.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_mailto.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_null.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_null.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_zephyr.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notify_zephyr.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notifyd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notifyd.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/notifytest.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/notifyd/version.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/IMAP.pm
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/IMAP.xs
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/IMAP/Admin.pm
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/IMAP/Shell.pm
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/Makefile.PL
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/cyradm.sh
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/cyrperl.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/examples/auditmbox.pl
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/examples/imapcollate.pl
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/examples/imapdu.pl
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/t/01-imclient.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/t/02-admin.t
branches/cyrus23/cyrus-imapd-2.3-2.3.13/perl/imap/xsutil.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/afskrb.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ldap.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ptdump.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ptexpire.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ptextract.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ptloader.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/ptloader.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/test.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/ptclient/test2.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/snmp/snmpgen
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/logger.1
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/logger.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/syslog.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/syslogd.8
branches/cyrus23/cyrus-imapd-2.3-2.3.13/syslog/syslogd.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/Makefile.in
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/actions.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/actions.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/codes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/exitcodes.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/lex.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/lex.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/mystring.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/parser.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/parser.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/scripttest.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/scripttest.h
branches/cyrus23/cyrus-imapd-2.3-2.3.13/timsieved/timsieved.c
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/config2header
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/config2man
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/dohash
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/masssievec
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/migrate-metadata
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/mkimap
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/mknewsgroups
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/not-mkdep
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/rehash
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/translatesieve
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/undohash
branches/cyrus23/cyrus-imapd-2.3-2.3.13/tools/upgradesieve
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/COPYRIGHT
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/COPYRIGHT?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/COPYRIGHT (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/COPYRIGHT Mon Feb 9 12:49:22 2009
@@ -1,8 +1,8 @@
-$Id: COPYRIGHT,v 1.7 2000/10/12 20:45:21 wcw Exp $
+$Id: COPYRIGHT,v 1.8 2008/03/24 18:43:42 murch Exp $
ALL versions of the Cyrus IMAP server are now covered by the following copyright:
- * Copyright (c) 1994-2000 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,12 +20,13 @@
* endorse or promote products derived from this software without
* prior written permission. For permission or any legal
* details, please contact
- * Office of Technology Transfer
* Carnegie Mellon University
- * 5000 Forbes Avenue
- * Pittsburgh, PA 15213-3890
- * (412) 268-4387, fax: (412) 268-7395
- * tech-transfer at andrew.cmu.edu
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/Makefile.in
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/Makefile.in?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/Makefile.in (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/Makefile.in Mon Feb 9 12:49:22 2009
@@ -1,7 +1,7 @@
#
# @configure_input@
#
-# Copyright (c) 1998-2000 Carnegie Mellon University. All rights reserved.
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -17,14 +17,15 @@
#
# 3. The name "Carnegie Mellon University" must not be used to
# endorse or promote products derived from this software without
-# prior written permission. For permission or any other legal
+# prior written permission. For permission or any legal
# details, please contact
-# Office of Technology Transfer
# Carnegie Mellon University
-# 5000 Forbes Avenue
-# Pittsburgh, PA 15213-3890
-# (412) 268-4387, fax: (412) 268-7395
-# tech-transfer at andrew.cmu.edu
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
#
# 4. Redistributions of any form whatsoever must retain the following
# acknowledgment:
@@ -39,6 +40,7 @@
# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
+# $Id: Makefile.in,v 1.101 2008/10/14 14:40:50 murch Exp $
SUBDIRS = man @PRE_SUBDIRS@ lib @SIEVE_SUBDIRS@ @SERVER_SUBDIRS@ \
imtest @SNMP_SUBDIRS@ @EXTRA_SUBDIRS@
@@ -62,7 +64,7 @@
LEX = @LEX@
COMPILE_ET = @COMPILE_ET@
-VERSION = 2.3.8
+VERSION = 2.3.13
all::
@for d in $(SUBDIRS); \
@@ -93,7 +95,7 @@
if [ \! -d dist ]; then mkdir dist ; fi
@echo "checking out the distribution"
@cd dist ; cvs -Q -d :pserver:anoncvs at cvs.andrew.cmu.edu:/cvs \
- co -d cyrus-imapd-$(VERSION) cyrus
+ co -P -d cyrus-imapd-$(VERSION) cyrus
touch distcvs
install::
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/README.andrew
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/README.andrew?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/README.andrew (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/README.andrew Mon Feb 9 12:49:22 2009
@@ -39,13 +39,16 @@
- 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 links to new version
+- update cyrusimap.web.cmu.edu:/usr/www/htdocs/downloads.html
+ links to new version
---
to bring up a new Andrew Cyrus server:
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/SMakefile
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/SMakefile?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/SMakefile (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/SMakefile Mon Feb 9 12:49:22 2009
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -15,14 +15,15 @@
#
# 3. The name "Carnegie Mellon University" must not be used to
# endorse or promote products derived from this software without
-# prior written permission. For permission or any other legal
+# prior written permission. For permission or any legal
# details, please contact
-# Office of Technology Transfer
# Carnegie Mellon University
-# 5000 Forbes Avenue
-# Pittsburgh, PA 15213-3890
-# (412) 268-4387, fax: (412) 268-7395
-# tech-transfer at andrew.cmu.edu
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
#
# 4. Redistributions of any form whatsoever must retain the following
# acknowledgment:
@@ -37,11 +38,7 @@
# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
-# This file is specific to Carnegie Mellon University's
-# software build process
-#
-# $Id: SMakefile,v 1.98 2006/11/30 17:11:16 murch Exp $
-#
+# $Id: SMakefile,v 1.100 2008/03/24 18:43:44 murch Exp $
NEW_AUTOTOOLS=yes
export NEW_AUTOTOOLS
@@ -137,7 +134,7 @@
SASL_CONFIG="--with-staticsasl=/usr/local --with-gssapi=/usr/local"
#KRB_CONFIG="--enable-statickrb --with-krb=/usr/local"
KRB_CONFIG="--with-krb=/usr/local"
-FEATURE_CONFIG="--enable-murder --enable-cmulocal --enable-nntp --enable-idled"
+FEATURE_CONFIG="--enable-murder --enable-cmulocal --enable-nntp --enable-idled --enable-replication"
EXT_PACKAGE_CONFIG="--with-inn=/usr/news --with-ucdsnmp=/usr/local"
MFCOMMAND="./configure $WITHAUTH $KRB_CONFIG $DB_CONFIG --enable-experiment --with-cyrus-group=staff $FEATURE_CONFIG $EXT_PACKAGE_CONFIG $SASL_CONFIG $DEBUG"
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/aclocal.m4
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/aclocal.m4?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/aclocal.m4 (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/aclocal.m4 Mon Feb 9 12:49:22 2009
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/COPYING
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/COPYING?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/COPYING (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/COPYING Mon Feb 9 12:49:22 2009
@@ -1,20 +1,39 @@
- Copyright 1998 by Carnegie Mellon University
- All Rights Reserved
+Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Carnegie Mellon University
-not be used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
-CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
-IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL,
-INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+3. The name "Carnegie Mellon University" must not be used to
+ endorse or promote products derived from this software without
+ prior written permission. For permission or any legal
+ details, please contact
+ Carnegie Mellon University
+ Center for Technology Transfer and Enterprise Creation
+ 4615 Forbes Avenue
+ Suite 302
+ Pittsburgh, PA 15213
+ (412) 268-7393, fax: (412) 268-7395
+ innovation at andrew.cmu.edu
+
+4. Redistributions of any form whatsoever must retain the following
+ acknowledgment:
+ "This product includes software developed by Computing Services
+ at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+
+CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/berkdb.m4
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/berkdb.m4?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/berkdb.m4 (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/berkdb.m4 Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-dnl $Id: berkdb.m4,v 1.20 2005/04/26 19:14:07 shadow Exp $
+dnl $Id: berkdb.m4,v 1.22 2007/08/15 17:18:01 murch Exp $
AC_DEFUN([CMU_DB_INC_WHERE1], [
saved_CPPFLAGS=$CPPFLAGS
@@ -213,10 +213,11 @@
fi
saved_LIBS=$LIBS
- for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
+ for dbname in ${with_bdb} db-4.6 db4.6 db46 db-4.5 db4.5 db45 db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db
do
LIBS="$saved_LIBS -l$dbname"
- AC_TRY_LINK([#include <db.h>],
+ AC_TRY_LINK([#include <stdio.h>
+#include <db.h>],
[db_create(NULL, NULL, 0);],
BDB_LIBADD="$BDB_LIBADD -l$dbname"; dblib="berkeley"; dbname=db,
dblib="no")
@@ -224,7 +225,8 @@
done
if test "$dblib" = "no"; then
LIBS="$saved_LIBS -ldb"
- AC_TRY_LINK([#include <db.h>],
+ AC_TRY_LINK([#include <stdio.h>
+#include <db.h>],
[db_open(NULL, 0, 0, 0, NULL, NULL, NULL);],
BDB_LIBADD="$BDB_LIBADD -ldb"; dblib="berkeley"; dbname=db,
dblib="no")
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-attribute.m4
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-attribute.m4?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-attribute.m4 (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-attribute.m4 Mon Feb 9 12:49:22 2009
@@ -1,5 +1,5 @@
dnl
-dnl $Id: c-attribute.m4,v 1.3 2003/10/08 20:35:24 rjs3 Exp $
+dnl $Id: c-attribute.m4,v 1.4 2007/08/30 16:57:55 murch Exp $
dnl
dnl
@@ -11,8 +11,6 @@
AC_CACHE_VAL(ac_cv___attribute__, [
AC_TRY_COMPILE([
#include <stdlib.h>
-],
-[
static void foo(void) __attribute__ ((noreturn));
static void
@@ -20,6 +18,8 @@
{
exit(1);
}
+],
+[
],
ac_cv___attribute__=yes,
ac_cv___attribute__=no)])
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-fpic.m4
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-fpic.m4?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-fpic.m4 (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/c-fpic.m4 Mon Feb 9 12:49:22 2009
@@ -1,5 +1,5 @@
dnl
-dnl $Id: c-fpic.m4,v 1.2 2003/10/08 20:35:24 rjs3 Exp $
+dnl $Id: c-fpic.m4,v 1.3 2007/08/30 16:57:55 murch Exp $
dnl
dnl
@@ -13,13 +13,13 @@
CFLAGS="${CFLAGS} -fPIC"
AC_TRY_COMPILE([
#include <stdlib.h>
-],
-[
static void
foo(void)
{
exit(1);
}
+],
+[
],
ac_cv_fpic=yes,
ac_cv_fpic=no)
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/sasl2.m4
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/sasl2.m4?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/sasl2.m4 (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/cmulocal/sasl2.m4 Mon Feb 9 12:49:22 2009
@@ -1,6 +1,6 @@
# sasl2.m4--sasl2 libraries and includes
# Rob Siemborski
-# $Id: sasl2.m4,v 1.52 2006/05/18 19:25:00 murch Exp $
+# $Id: sasl2.m4,v 1.53 2008/03/03 22:06:34 wescraig Exp $
# SASL2_CRYPT_CHK
# ---------------
@@ -65,9 +65,7 @@
fi
fi
fi
- AC_CHECK_HEADER([gssapi.h],
- [AC_DEFINE(HAVE_GSSAPI_H,,
- [Define if you have the gssapi.h header file])],
+ AC_CHECK_HEADER([gssapi.h],,
[AC_CHECK_HEADER([gssapi/gssapi.h],,
[AC_WARN([Disabling GSSAPI - no include files found]); gssapi=no])])
@@ -76,6 +74,10 @@
fi
if test "$gssapi" != no; then
+ if test "$ac_cv_header_gssapi_h" = "yes" -o "$ac_cv_header_gssapi_gssapi_h" = "yes"; then
+ AC_DEFINE(HAVE_GSSAPI_H,,[Define if you have the gssapi.h header file])
+ fi
+
# We need to find out which gssapi implementation we are
# using. Supported alternatives are: MIT Kerberos 5,
# Heimdal Kerberos 5 (http://www.pdc.kth.se/heimdal),
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/Makefile.in
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/Makefile.in?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/Makefile.in (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/Makefile.in Mon Feb 9 12:49:22 2009
@@ -1,0 +1,142 @@
+# Makefile for error-table routines
+#
+# @configure_input@
+#
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
+#
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# $Id: Makefile.in,v 1.2 2008/03/24 18:53:40 murch Exp $
+
+srcdir = @srcdir@
+VPATH = @srcdir@
+
+CC = @CC@
+INSTALL = @INSTALL@
+RANLIB = @RANLIB@
+ARCHIVE = ar cr
+
+AWK = @AWK@
+SED = sed
+
+DEFS = @DEFS@
+CPPFLAGS = @CPPFLAGS@
+LIBS = @LIBS@
+
+CFLAGS = @CFLAGS@
+LDFLAGS = @LDFLAGS@
+
+SHELL = /bin/sh
+
+LIBOBJS= error_message.o et_name.o init_et.o com_err.o
+# for et_lex.lex.c include in error_table.y
+LOCALINCLUDE=-I. -I.. -I$(srcdir)
+
+all: compile_et libcom_err.a
+
+install:
+
+.c.o:
+ $(CC) -c $(CPPFLAGS) $(DEFS) -I$(srcdir) -I$(srcdir)/../../lib -I. -I../.. $(CFLAGS) $<
+
+# solaris make loses on com_err.c but not on init_et.c, but this helps
+com_err.o: com_err.c
+
+#
+# real entries...
+#
+
+compile_et: $(srcdir)/compile_et.sh $(srcdir)/config_script
+ $(srcdir)/config_script $(srcdir)/compile_et.sh $(AWK) $(SED) > compile_et
+ chmod 755 compile_et
+
+et_c.awk: $(srcdir)/et_c.awk
+ $(CP) $(srcdir)/et_c.awk et_c.awk
+
+et_h.awk: $(srcdir)/et_h.awk
+ $(CP) $(srcdir)/et_h.awk et_h.awk
+
+clean:
+ rm -f compile_et compile_et.o error_table.o
+ rm -f libcom_err.a
+ rm -f $(LIBOBJS)
+
+distclean: clean
+ rm -f compile_et compile_et.o error_table.o
+ rm -f libcom_err.a
+ rm -f $(LIBOBJS)
+ rm Makefile
+
+depend: compile_et
+
+#install:: com_err.h
+# $(INSTALLFILE) $(srcdir)/com_err.h $(DESTDIR)$(INCLDIR)/com_err.h
+#
+#install:: mit-sipb-copyright.h
+# $(INSTALLFILE) $(srcdir)/mit-sipb-copyright.h $(DESTDIR)$(INCLDIR)/mit-sipb-copyright.h
+#
+#install:: com_err.3
+# $(INSTALLFILE) $(srcdir)/com_err.3 $(DESTDIR)$(MANDIR)/man3/com_err.3
+#
+#install:: compile_et.1
+# $(INSTALLFILE) $(srcdir)/compile_et.1 $(DESTDIR)$(MANDIR)/man1/compile_et.1
+
+
+## install_library_target(com_err,$(LIBOBJS),$(LINTFILES),)
+
+libcom_err.a: $(LIBOBJS)
+ rm -f libcom_err.a
+ $(ARCHIVE) $@ $(LIBOBJS)
+ $(RANLIB) $@
+
+#install::
+# $(INSTALLLIB) libcom_err.a $(DESTDIR)$(LIBDIR)/libcom_err.a
+# $(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libcom_err.a
+# $(RANLIB) $(DESTDIR)$(LIBDIR)/libcom_err.a
+# $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libcom_err.a
+##
+
+libcom_err.o: $(LIBOBJS)
+ ld -r -s -o libcom_err.o $(LIBOBJS)
+ chmod -x libcom_err.o
+
+TAGS: et_name.c error_message.c compile_et.c error_table.c \
+ lex.yy.c init_et.c
+ etags et_name.c error_message.c compile_et.c \
+ error_table.c init_et.c
+
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.3
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.3?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.3 (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.3 Mon Feb 9 12:49:22 2009
@@ -1,0 +1,136 @@
+.\"
+.\" Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in
+.\" the documentation and/or other materials provided with the
+.\" distribution.
+.\"
+.\" 3. The name "Carnegie Mellon University" must not be used to
+.\" endorse or promote products derived from this software without
+.\" prior written permission. For permission or any legal
+.\" details, please contact
+.\" Carnegie Mellon University
+.\" Center for Technology Transfer and Enterprise Creation
+.\" 4615 Forbes Avenue
+.\" Suite 302
+.\" Pittsburgh, PA 15213
+.\" (412) 268-7393, fax: (412) 268-7395
+.\" innovation at andrew.cmu.edu
+.\"
+.\" 4. Redistributions of any form whatsoever must retain the following
+.\" acknowledgment:
+.\" "This product includes software developed by Computing Services
+.\" at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+.\"
+.\" CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+.\" THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+.\" FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+.\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $Id: com_err.3,v 1.2 2008/03/24 18:53:40 murch Exp $
+.\"
+.\" Copyright (c) 1988 Massachusetts Institute of Technology,
+.\" Student Information Processing Board. All rights reserved.
+.\"
+.TH COM_ERR 3 "22 Nov 1988" SIPB
+.SH NAME
+com_err \- common error display routine
+.SH SYNOPSIS
+.nf
+ #include "com_err.h"
+.PP
+void com_err (whoami, code, format, ...);
+ const char *whoami;
+ long code;
+ const char *format;
+.PP
+proc = set_com_err_hook (proc);
+.fi
+void (*
+.I proc
+) (const char *, long, const char *, va_list);
+.nf
+.PP
+proc = reset_com_err_hook ();
+.PP
+void initialize_XXXX_error_table ();
+.fi
+.SH DESCRIPTION
+.I Com_err
+displays an error message on the standard error stream
+.I stderr
+(see
+.IR stdio (3S))
+composed of the
+.I whoami
+string, which should specify the program name or some subportion of
+a program, followed by an error message generated from the
+.I code
+value (derived from
+.IR compile_et (1)),
+and a string produced using the
+.I format
+string and any following arguments, in the same style as
+.IR fprintf (3).
+
+The behavior of
+.I com_err
+can be modified using
+.I set_com_err_hook;
+this defines a procedure which is called with the arguments passed to
+.I com_err,
+instead of the default internal procedure which sends the formatted
+text to error output. Thus the error messages from a program can all
+easily be diverted to another form of diagnostic logging, such as
+.IR syslog (3).
+.I Reset_com_err_hook
+may be used to restore the behavior of
+.I com_err
+to its default form. Both procedures return the previous ``hook''
+value. These ``hook'' procedures must have the declaration given for
+.I proc
+above in the synopsis.
+
+The
+.I initialize_XXXX_error_table
+routine is generated mechanically by
+.IR compile_et (1)
+from a source file containing names and associated strings. Each
+table has a name of up to four characters, which is used in place of
+the
+.B XXXX
+in the name of the routine. These routines should be called before
+any of the corresponding error codes are used, so that the
+.I com_err
+library will recognize error codes from these tables when they are
+used.
+
+The
+.B com_err.h
+header file should be included in any source file that uses routines
+from the
+.I com_err
+library; executable files must be linked using
+.I ``-lcom_err''
+in order to cause the
+.I com_err
+library to be included.
+
+.\" .IR for manual entries
+.\" .PP for paragraph breaks
+
+.SH "SEE ALSO"
+compile_et (1), syslog (3).
+
+Ken Raeburn, "A Common Error Description Library for UNIX".
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.c?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.c (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.c Mon Feb 9 12:49:22 2009
@@ -1,0 +1,188 @@
+/*
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: com_err.c,v 1.2 2008/03/24 18:53:40 murch Exp $
+ *
+ * Copyright 1987, 1988 by MIT Student Information Processing Board.
+ *
+ * For copyright info, see mit-sipb-copyright.h.
+ */
+
+#define IN_COM_ERR
+#include <config.h>
+
+#include <stdio.h>
+#include <string.h>
+#include "mit-sipb-copyright.h"
+
+#if defined(HAVE_STDARG_H) || defined(_WINDOWS)
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#define VARARGS
+#endif
+
+#include "error_table.h"
+#include "internal.h"
+
+struct et_list * _et_list = (struct et_list *) NULL;
+
+#ifdef notdef
+/*
+ * Protect us from header version (externally visible) of com_err, so
+ * we can survive in a <varargs.h> environment. I think.
+ */
+#define com_err com_err_external
+#include "com_err.h"
+#undef com_err
+#endif
+
+/* We have problems with varargs definitions if we include com_err.h */
+
+/*
+ * XXX for now, we define error_message by hand. Ultimately, we
+ * should fix up com_err.h so that it's safe to #include here
+ * directly.
+ */
+#if defined(__STDC__) || defined(_WINDOWS)
+extern char const * INTERFACE error_message (long);
+#else
+extern char * INTERFACE error_message ();
+#endif
+
+static void
+#if defined(__STDC__) || defined(_WINDOWS)
+ default_com_err_proc (const char *whoami, long code, const char *fmt, va_list args)
+#else
+ default_com_err_proc (whoami, code, fmt, args)
+ const char *whoami;
+ long code;
+ const char *fmt;
+ va_list args;
+#endif
+{
+ static char errbuf[1024]; /* For those w/o stdio */
+
+ *errbuf = '\0';
+ if (whoami) {
+ strcat (errbuf, whoami);
+ strcat (errbuf, ": ");
+ }
+ if (code) {
+ strcat (errbuf, error_message(code));
+ strcat (errbuf, " ");
+ }
+ if (fmt) {
+ vsprintf (errbuf + strlen (errbuf), fmt, args);
+ }
+#ifdef _WINDOWS
+ MessageBox (NULL, errbuf, "Kerboros", MB_ICONEXCLAMATION);
+#else
+ fputs (errbuf, stderr);
+ /* should do this only on a tty in raw mode */
+ putc('\r', stderr);
+ putc('\n', stderr);
+ fflush(stderr);
+#endif
+}
+
+#if defined(__STDC__) || defined(_WINDOWS)
+typedef void (*errf) (const char *, long, const char *, va_list);
+#else
+typedef void (*errf) ();
+#endif
+
+errf com_err_hook = default_com_err_proc;
+
+void com_err_va (whoami, code, fmt, args)
+ const char *whoami;
+ long code;
+ const char *fmt;
+ va_list args;
+{
+ (*com_err_hook) (whoami, code, fmt, args);
+}
+
+#ifndef VARARGS
+void INTERFACE_C com_err (const char *whoami,
+ long code,
+ const char *fmt, ...)
+{
+#else
+void INTERFACE_C com_err (va_alist)
+ va_dcl
+{
+ const char *whoami, *fmt;
+ long code;
+#endif
+ va_list pvar;
+
+ if (!com_err_hook)
+ com_err_hook = default_com_err_proc;
+#ifdef VARARGS
+ va_start (pvar);
+ whoami = va_arg (pvar, const char *);
+ code = va_arg (pvar, long);
+ fmt = va_arg (pvar, const char *);
+#else
+ va_start(pvar, fmt);
+#endif
+ com_err_va (whoami, code, fmt, pvar);
+ va_end(pvar);
+}
+
+errf set_com_err_hook (new_proc)
+ errf new_proc;
+{
+ errf x = com_err_hook;
+
+ if (new_proc)
+ com_err_hook = new_proc;
+ else
+ com_err_hook = default_com_err_proc;
+
+ return x;
+}
+
+errf reset_com_err_hook () {
+ errf x = com_err_hook;
+ com_err_hook = default_com_err_proc;
+ return x;
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.h
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.h?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.h (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.h Mon Feb 9 12:49:22 2009
@@ -1,0 +1,108 @@
+/*
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: com_err.h,v 1.2 2008/03/24 18:53:40 murch Exp $
+ */
+
+/*
+ * Header file for common error description library.
+ *
+ * Copyright 1988, Student Information Processing Board of the
+ * Massachusetts Institute of Technology.
+ *
+ * Copyright 1995 by Cygnus Support.
+ *
+ * For copyright and distribution info, see the documentation supplied
+ * with this package.
+ */
+
+#ifndef __COM_ERR_H
+
+#ifndef HAVE_STDARG_H
+/* End-user programs may need this -- oh well */
+#if defined(__STDC__) || defined(_WINDOWS)
+#define HAVE_STDARG_H 1
+#endif
+#endif
+
+#ifdef HAVE_STDARG_H
+#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+#include "error_table.h"
+
+/* This should be part of k5-config.h but many application
+ * programs are not including that file. We probably want to
+ * come up with a better way of handling this problem.
+ */
+#ifndef INTERFACE
+#ifdef _WINDOWS
+#define INTERFACE __far __export __pascal
+#define INTERFACE_C __far __export __cdecl
+#else
+#define INTERFACE
+#define INTERFACE_C
+#endif
+#endif
+#ifndef FAR
+#define FAR
+#endif
+
+#if defined(__STDC__) || defined(_WINDOWS)
+/* ANSI C -- use prototypes etc */
+extern void INTERFACE_C com_err (const char FAR *, long, const char FAR *, ...);
+extern char const FAR * INTERFACE error_message (long);
+extern void (*com_err_hook) (const char *, long, const char *, va_list);
+extern void (*set_com_err_hook (void (*) (const char *, long, const char *, va_list)))
+ (const char *, long, const char *, va_list);
+extern void (*reset_com_err_hook ()) (const char *, long, const char *, va_list);
+#else
+/* no prototypes */
+extern void INTERFACE_C com_err ();
+extern char * INTERFACE error_message ();
+extern void (*com_err_hook) ();
+extern void (*set_com_err_hook ()) ();
+extern void (*reset_com_err_hook ()) ();
+#endif
+
+#define __COM_ERR_H
+#endif /* ! defined(__COM_ERR_H) */
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.texinfo
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.texinfo?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.texinfo (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/com_err.texinfo Mon Feb 9 12:49:22 2009
@@ -1,0 +1,554 @@
+\input texinfo @c -*-texinfo-*-
+
+ at c $Header: /cvs/src/cyrus/com_err/et/com_err.texinfo,v 1.1 2007/10/17 20:06:32 murch Exp $
+ at c $Source: /cvs/src/cyrus/com_err/et/com_err.texinfo,v $
+ at c $Locker: $
+
+ at c Note that although this source file is in texinfo format (more
+ at c or less), it is not yet suitable for turning into an ``info''
+ at c file. Sorry, maybe next time.
+ at c
+ at c In order to produce hardcopy documentation from a texinfo file,
+ at c run ``tex com_err.texinfo'' which will load in texinfo.tex,
+ at c provided in this distribution. (texinfo.tex is from the Free
+ at c Software Foundation, and is under different copyright restrictions
+ at c from the rest of this package.)
+
+ at ifinfo
+ at barfo
+ at end ifinfo
+
+ at iftex
+ at tolerance 10000
+
+ at c Mutate section headers...
+ at begingroup
+ @catcode#=6
+ @gdef at secheading#1#2#3{@secheadingi {#3 at enspace #1}}
+ at endgroup
+ at end iftex
+
+ at setfilename com_err
+ at settitle A Common Error Description Library for UNIX
+
+ at ifinfo
+This file documents the use of the Common Error Description library.
+
+Copyright (C) 1987, 1988 Student Information Processing Board of the
+Massachusetts Institute of Technology.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
+used in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. M.I.T. and the M.I.T. S.I.P.B.
+make no representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+Note that the file texinfo.tex, provided with this distribution, is from
+the Free Software Foundation, and is under different copyright restrictions
+from the remainder of this package.
+
+ at end ifinfo
+
+ at ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+ at end ignore
+
+ at setchapternewpage odd
+
+ at titlepage
+ at center @titlefont{A Common Error Description}
+ at center @titlefont{Library for UNIX}
+ at sp 2
+ at center Ken Raeburn
+ at center Bill Sommerfeld
+ at sp 1
+ at center MIT Student Information Processing Board
+ at sp 3
+ at center last updated 1 January 1989
+ at center for version 1.2
+ at center ***DRAFT COPY ONLY***
+
+ at vskip 2in
+
+ at center @b{Abstract}
+
+UNIX has always had a clean and simple system call interface, with a
+standard set of error codes passed between the kernel and user
+programs. Unfortunately, the same cannot be said of many of the
+libraries layered on top of the primitives provided by the kernel.
+Typically, each one has used a different style of indicating errors to
+their callers, leading to a total hodgepodge of error handling, and
+considerable amounts of work for the programmer. This paper describes
+a library and associated utilities which allows a more uniform way for
+libraries to return errors to their callers, and for programs to
+describe errors and exceptional conditions to their users.
+
+ at page
+ at vskip 0pt plus 1filll
+
+Copyright @copyright{} 1987, 1988 by the Student Information Processing
+Board of the Massachusetts Institute of Technology.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
+used in advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. M.I.T. and the M.I.T. S.I.P.B.
+make no representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
+
+Note that the file texinfo.tex, provided with this distribution, is from
+the Free Software Foundation, and is under different copyright restrictions
+from the remainder of this package.
+
+ at end titlepage
+
+ at ifinfo
+ at c should put a menu here someday....
+ at end ifinfo
+
+ at page
+
+ at section Why com_err?
+
+In building application software packages, a programmer often has to
+deal with a number of libraries, each of which can use a different
+error-reporting mechanism. Sometimes one of two values is returned,
+indicating simply SUCCESS or FAILURE, with no description of errors
+encountered. Sometimes it is an index into a table of text strings,
+where the name of the table used is dependent on the library being
+used when the error is generated; since each table starts numbering at
+0 or 1, additional information as to the source of the error code is
+needed to determine which table to look at. Sometimes no text messages are
+supplied at all, and the programmer must supply them at any point at which
+he may wish to report error conditions.
+Often, a global variable is assigned some value describing the error, but
+the programmer has to know in each case whether to look at @code{errno},
+ at code{h_errno}, the return value from @code{hes_err()}, or whatever other
+variables or routines are specified.
+And what happens if something
+in the procedure of
+examining or reporting the error changes the same variable?
+
+The package we have developed is an attempt to present a common
+error-handling mechanism to manipulate the most common form of error code
+in a fashion that does not have the problems listed above.
+
+A list of up to 256 text messages is supplied to a translator we have
+written, along with the three- to four-character ``name'' of the error
+table. The library using this error table need only call a routine
+generated from this error-table source to make the table ``known'' to the
+com_err library, and any error code the library generates can be converted
+to the corresponding error message. There is also a default format for
+error codes accidentally returned before making the table known, which is
+of the form @samp{unknown code foo 32}, where @samp{foo} would be the name
+of the table.
+
+ at section Error codes
+
+Error codes themselves are 32 bit (signed) integers, of which the high
+order 24 bits are an identifier of which error table the error code is
+from, and the low order 8 bits are a sequential error number within
+the table. An error code may thus be easily decomposed into its component
+parts. Only the lowest 32 bits of an error code are considered significant
+on systems which support wider values.
+
+Error table 0 is defined to match the UNIX system call error table
+(@code{sys_errlist}); this allows @code{errno} values to be used directly
+in the library (assuming that @code{errno} is of a type with the same width
+as @t{long}). Other error table numbers are formed by compacting together
+the first four characters of the error table name. The mapping between
+characters in the name and numeric values in the error code are defined in
+a system-independent fashion, so that two systems that can pass integral
+values between them can reliably pass error codes without loss of meaning;
+this should work even if the character sets used are not the same.
+(However, if this is to be done, error table 0 should be avoided, since the
+local system call error tables may differ.)
+
+Any variable which is to contain an error code should be declared @t{long}.
+The draft proposed American National Standard for C (as of May, 1988)
+requires that @t{long} variables be at least 32 bits; any system which does
+not support 32-bit @t{long} values cannot make use of this package (nor
+much other software that assumes an ANSI-C environment base) without
+significant effort.
+
+ at section Error table source file
+
+The error table source file begins with the declaration of the table name,
+as
+
+ at example
+error_table @var{tablename}
+ at end example
+
+Individual error codes are
+specified with
+
+ at example
+error_code @var{ERROR_NAME}, @var{"text message"}
+ at end example
+
+where @samp{ec} can also be used as a short form of @samp{error_code}. To
+indicate the end of the table, use @samp{end}. Thus, a (short) sample
+error table might be:
+
+ at example
+
+ error_table dsc
+
+ error_code DSC_DUP_MTG_NAME,
+ "Meeting already exists"
+
+ ec DSC_BAD_PATH,
+ "A bad meeting pathname was given"
+
+ ec DSC_BAD_MODES,
+ "Invalid mode for this access control list"
+
+ end
+
+ at end example
+
+ at section The error-table compiler
+
+The error table compiler is named @code{compile_et}. It takes one
+argument, the pathname of a file (ending in @samp{.et}, e.g.,
+ at samp{dsc_err.et}) containing an error table source file. It parses the
+error table, and generates two output files -- a C header file
+(@samp{discuss_err.h}) which contains definitions of the numerical values
+of the error codes defined in the error table, and a C source file which
+should be compiled and linked with the executable. The header file must be
+included in the source of a module which wishes to reference the error
+codes defined; the object module generated from the C code may be linked in
+to a program which wishes to use the printed forms of the error codes.
+
+This translator accepts a @kbd{-language @var{lang}} argument, which
+determines for which language (or language variant) the output should be
+written. At the moment, @var{lang} is currently limited to @kbd{ANSI-C}
+and @kbd{K&R-C}, and some abbreviated forms of each. Eventually, this will
+be extended to include some support for C++. The default is currently
+ at kbd{K&R-C}, though the generated sources will have ANSI-C code
+conditionalized on the symbol @t{__STDC__}.
+
+ at section Run-time support routines
+
+Any source file which uses the routines supplied with or produced by the
+com_err package should include the header file @file{<com_err.h>}. It
+contains declarations and definitions which may be needed on some systems.
+(Some functions cannot be referenced properly without the return type
+declarations in this file. Some functions may work properly on most
+architectures even without the header file, but relying on this is not
+recommended.)
+
+The run-time support routines and variables provided via this package
+include the following:
+
+ at example
+void initialize_ at var{xxxx}_error_table (void);
+ at end example
+
+One of these routines is built by the error compiler for each error table.
+It makes the @var{xxxx} error table ``known'' to the error reporting
+system. By convention, this routine should be called in the initialization
+routine of the @var{xxxx} library. If the library has no initialization
+routine, some combination of routines which form the core of the library
+should ensure that this routine is called. It is not advised to leave it
+the caller to make this call.
+
+There is no harm in calling this routine more than once.
+
+ at example
+#define ERROR_TABLE_BASE_ at var{xxxx} @var{nnnnn}L
+ at end example
+
+This symbol contains the value of the first error code entry in the
+specified table.
+This rarely needs be used by the
+programmer.
+
+ at example
+const char *error_message (long code);
+ at end example
+
+This routine returns the character string error message associated
+with @code{code}; if this is associated with an unknown error table, or
+if the code is associated with a known error table but the code is not
+in the table, a string of the form @samp{Unknown code @var{xxxx nn}} is
+returned, where @var{xxxx} is the error table name produced by
+reversing the compaction performed on the error table number implied
+by that error code, and @var{nn} is the offset from that base value.
+
+Although this routine is available for use when needed, its use should be
+left to circumstances which render @code{com_err} (below) unusable.
+
+ at example
+void com_err (const char *whoami, /* module reporting error */
+ long code, /* error code */
+ const char *format, /* format for additional detail */
+ ...); /* (extra parameters) */
+ at end example
+
+This routine provides an alternate way to print error messages to
+standard error; it allows the error message to be passed in as a
+parameter, rather than in an external variable. @emph{Provide grammatical
+context for ``message.''}
+
+If @var{format} is @code{(char *)NULL}, the formatted message will not be
+printed. @var{format} may not be omitted.
+
+ at example
+#include <stdarg.h>
+
+void com_err_va (const char *whoami,
+ long code,
+ const char *format,
+ va_list args);
+ at end example
+
+This routine provides an interface, equivalent to @code{com_err} above,
+which may be used by higher-level variadic functions (functions which
+accept variable numbers of arguments).
+
+ at example
+#include <stdarg.h>
+
+void (*set_com_err_hook (void (*proc) ())) ();
+
+void (*@var{proc}) (const char *whoami, long code, va_list args);
+
+void reset_com_err_hook ();
+ at end example
+
+These two routines allow a routine to be dynamically substituted for
+ at samp{com_err}. After @samp{set_com_err_hook} has been called,
+calls to @samp{com_err} will turn into calls to the new hook routine.
+ at samp{reset_com_err_hook} turns off this hook. This may intended to
+be used in daemons (to use a routine which calls @var{syslog(3)}), or
+in a window system application (which could pop up a dialogue box).
+
+If a program is to be used in an environment in which simply printing
+messages to the @code{stderr} stream would be inappropriate (such as in a
+daemon program which runs without a terminal attached),
+ at code{set_com_err_hook} may be used to redirect output from @code{com_err}.
+The following is an example of an error handler which uses @var{syslog(3)}
+as supplied in BSD 4.3:
+
+ at example
+#include <stdio.h>
+#include <stdarg.h>
+#include <syslog.h>
+
+/* extern openlog (const char * name, int logopt, int facility); */
+/* extern syslog (int priority, char * message, ...); */
+
+void hook (const char * whoami, long code,
+ const char * format, va_list args)
+@{
+ char buffer[BUFSIZ];
+ static int initialized = 0;
+ if (!initialized) @{
+ openlog (whoami,
+ LOG_NOWAIT|LOG_CONS|LOG_PID|LOG_NDELAY,
+ LOG_DAEMON);
+ initialized = 1;
+ @}
+ vsprintf (buffer, format, args);
+ syslog (LOG_ERR, "%s %s", error_message (code), buffer);
+@}
+ at end example
+
+After making the call
+ at code{set_com_err_hook (hook);},
+any calls to @code{com_err} will result in messages being sent to the
+ at var{syslogd} daemon for logging.
+The name of the program, @samp{whoami}, is supplied to the
+ at samp{openlog()} call, and the message is formatted into a buffer and
+passed to @code{syslog}.
+
+Note that since the extra arguments to @code{com_err} are passed by
+reference via the @code{va_list} value @code{args}, the hook routine may
+place any form of interpretation on them, including ignoring them. For
+consistency, @code{printf}-style interpretation is suggested, via
+ at code{vsprintf} (or @code{_doprnt} on BSD systems without full support for
+the ANSI C library).
+
+ at section Coding Conventions
+
+The following conventions are just some general stylistic conventions
+to follow when writing robust libraries and programs. Conventions
+similar to this are generally followed inside the UNIX kernel and most
+routines in the Multics operating system. In general, a routine
+either succeeds (returning a zero error code, and doing some side
+effects in the process), or it fails, doing minimal side effects; in
+any event, any invariant which the library assumes must be maintained.
+
+In general, it is not in the domain of non user-interface library
+routines to write error messages to the user's terminal, or halt the
+process. Such forms of ``error handling'' should be reserved for
+failures of internal invariants and consistancy checks only, as it
+provides the user of the library no way to clean up for himself in the
+event of total failure.
+
+Library routines which can fail should be set up to return an error
+code. This should usually be done as the return value of the
+function; if this is not acceptable, the routine should return a
+``null'' value, and put the error code into a parameter passed by
+reference.
+
+Routines which use the first style of interface can be used from
+user-interface levels of a program as follows:
+
+ at example
+@{
+ if ((code = initialize_world(getuid(), random())) != 0) @{
+ com_err("demo", code,
+ "when trying to initialize world");
+ exit(1);
+ @}
+ if ((database = open_database("my_secrets", &code))==NULL) @{
+ com_err("demo", code,
+ "while opening my_secrets");
+ exit(1);
+ @}
+@}
+ at end example
+
+A caller which fails to check the return status is in error. It is
+possible to look for code which ignores error returns by using lint;
+look for error messages of the form ``foobar returns value which is
+sometimes ignored'' or ``foobar returns value which is always
+ignored.''
+
+Since libraries may be built out of other libraries, it is often necessary
+for the success of one routine to depend on another. When a lower level
+routine returns an error code, the middle level routine has a few possible
+options. It can simply return the error code to its caller after doing
+some form of cleanup, it can substitute one of its own, or it can take
+corrective action of its own and continue normally. For instance, a
+library routine which makes a ``connect'' system call to make a network
+connection may reflect the system error code @code{ECONNREFUSED}
+(Connection refused) to its caller, or it may return a ``server not
+available, try again later,'' or it may try a different server.
+
+Cleanup which is typically necessary may include, but not be limited
+to, freeing allocated memory which will not be needed any more,
+unlocking concurrancy locks, dropping reference counts, closing file
+descriptors, or otherwise undoing anything which the procedure did up
+to this point. When there are a lot of things which can go wrong, it
+is generally good to write one block of error-handling code which is
+branched to, using a goto, in the event of failure. A common source
+of errors in UNIX programs is failing to close file descriptors on
+error returns; this leaves a number of ``zombied'' file descriptors
+open, which eventually causes the process to run out of file
+descriptors and fall over.
+
+ at example
+@{
+ FILE *f1=NULL, *f2=NULL, *f3=NULL;
+ int status = 0;
+
+ if ( (f1 = fopen(FILE1, "r")) == NULL) @{
+ status = errno;
+ goto error;
+ @}
+
+ /*
+ * Crunch for a while
+ */
+
+ if ( (f2 = fopen(FILE2, "w")) == NULL) @{
+ status = errno;
+ goto error;
+ @}
+
+ if ( (f3 = fopen(FILE3, "a+")) == NULL) @{
+ status = errno;
+ goto error;
+ @}
+
+ /*
+ * Do more processing.
+ */
+ fclose(f1);
+ fclose(f2);
+ fclose(f3);
+ return 0;
+
+error:
+ if (f1) fclose(f1);
+ if (f2) fclose(f2);
+ if (f3) fclose(f3);
+ return status;
+@}
+ at end example
+
+ at section Building and Installation
+
+The distribution of this package will probably be done as a compressed
+``tar''-format file available via anonymous FTP from SIPB.MIT.EDU.
+Retrieve @samp{pub/com_err.tar.Z} and extract the contents. A subdirectory
+ at t{profiled} should be created to hold objects compiled for profiling.
+Running ``make all'' should then be sufficient to build the library and
+error-table compiler. The files @samp{libcom_err.a},
+ at samp{libcom_err_p.a}, @samp{com_err.h}, and @samp{compile_et} should be
+installed for use; @samp{com_err.3} and @samp{compile_et.1} can also be
+installed as manual pages.
+
+Potential problems:
+
+ at itemize @bullet
+
+ at item Use of @code{strcasecmp}, a routine provided in BSD for
+case-insensitive string comparisons. If an equivalent routine is
+available, you can modify @code{CFLAGS} in the makefile to define
+ at code{strcasecmp} to the name of that routine.
+
+ at item Compilers that defined @code{__STDC__} without providing the header
+file @code{<stdarg.h>}. One such example is Metaware's High ``C''
+compiler, as provided at Project Athena on the IBM RT/PC workstation; if
+ at code{__HIGHC__} is defined, it is assumed that @code{<stdarg.h>} is not
+available, and therefore @code{<varargs.h>} must be used. If the symbol
+ at code{VARARGS} is defined (e.g., in the makefile), @code{<varargs.h>} will
+be used.
+
+ at item If your linker rejects symbols that are simultaneously defined in two
+library files, edit @samp{Makefile} to remove @samp{perror.c} from the
+library. This file contains a version of @var{perror(3)} which calls
+ at code{com_err} instead of calling @code{write} directly.
+
+ at end itemize
+
+As I do not have access to non-BSD systems, there are probably
+bugs present that may interfere with building or using this package on
+other systems. If they are reported to me, they can probably be fixed for
+the next version.
+
+ at section Bug Reports
+
+Please send any comments or bug reports to the principal author: Ken
+Raeburn, @t{Raeburn@@Athena.MIT.EDU}.
+
+ at section Acknowledgements
+
+I would like to thank: Bill Sommerfeld, for his help with some of this
+documentation, and catching some of the bugs the first time around;
+Honeywell Information Systems, for not killing off the @emph{Multics}
+operating system before I had an opportunity to use it; Honeywell's
+customers, who persuaded them not to do so, for a while; Ted Anderson of
+CMU, for catching some problems before version 1.2 left the nest; Stan
+Zanarotti and several others of MIT's Student Information Processing Board,
+for getting us started with ``discuss,'' for which this package was
+originally written; and everyone I've talked into --- I mean, asked to read
+this document and the ``man'' pages.
+
+ at bye
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.1
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.1?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.1 (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.1 Mon Feb 9 12:49:22 2009
@@ -1,0 +1,119 @@
+.\"
+.\" Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in
+.\" the documentation and/or other materials provided with the
+.\" distribution.
+.\"
+.\" 3. The name "Carnegie Mellon University" must not be used to
+.\" endorse or promote products derived from this software without
+.\" prior written permission. For permission or any legal
+.\" details, please contact
+.\" Carnegie Mellon University
+.\" Center for Technology Transfer and Enterprise Creation
+.\" 4615 Forbes Avenue
+.\" Suite 302
+.\" Pittsburgh, PA 15213
+.\" (412) 268-7393, fax: (412) 268-7395
+.\" innovation at andrew.cmu.edu
+.\"
+.\" 4. Redistributions of any form whatsoever must retain the following
+.\" acknowledgment:
+.\" "This product includes software developed by Computing Services
+.\" at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+.\"
+.\" CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+.\" THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+.\" AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+.\" FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+.\" AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" $Id: compile_et.1,v 1.2 2008/03/24 18:53:40 murch Exp $
+.\"
+.\" Copyright (c) 1988 Massachusetts Institute of Technology,
+.\" Student Information Processing Board. All rights reserved.
+.\"
+.TH COMPILE_ET 1 "22 Nov 1988" SIPB
+.SH NAME
+compile_et \- error table compiler
+.SH SYNOPSIS
+.B compile_et
+file
+.SH DESCRIPTION
+.B Compile_et
+converts a table listing error-code names and associated messages into
+a C source file suitable for use with the
+.IR com_err (3)
+library.
+
+The source file name must end with a suffix of ``.et''; the file
+consists of a declaration supplying the name (up to four characters
+long) of the error-code table:
+
+.B error_table
+.I name
+
+followed by up to 256 entries of the form:
+
+.B error_code
+.I name,
+"
+.I string
+"
+
+and a final
+
+.B end
+
+to indicate the end of the table.
+
+The name of the table is used to construct the name of a subroutine
+.I initialize_XXXX_error_table
+which must be called in order for the
+.I com_err
+library to recognize the error table.
+
+The various error codes defined are assigned sequentially increasing
+numbers (starting with a large number computed as a hash function of
+the name of the table); thus for compatibility it is suggested that
+new codes be added only to the end of an existing table, and that no
+codes be removed from tables.
+
+The names defined in the table are placed into a C header file with
+preprocessor directives defining them as integer constants of up to
+32 bits in magnitude.
+
+A C source file is also generated which should be compiled and linked
+with the object files which reference these error codes; it contains
+the text of the messages and the initialization subroutine. Both C
+files have names derived from that of the original source file, with
+the ``.et'' suffix replaced by ``.c'' and ``.h''.
+
+A ``#'' in the source file is treated as a comment character, and all
+remaining text to the end of the source line will be ignored.
+
+.SH BUGS
+
+Since
+.B compile_et
+uses a very simple parser based on
+.IR yacc (1),
+its error recovery leaves much to be desired.
+
+.\" .IR for manual entries
+.\" .PP for paragraph breaks
+
+.SH "SEE ALSO"
+com_err (3).
+
+Ken Raeburn, "A Common Error Description Library for UNIX".
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.sh
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.sh?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.sh (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/compile_et.sh Mon Feb 9 12:49:22 2009
@@ -1,0 +1,51 @@
+#!/bin/sh
+#
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
+#
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# $Id: compile_et.sh,v 1.2 2008/03/24 18:53:40 murch Exp $
+
+AWK=@AWK@
+DIR=@DIR@
+
+ROOT=`echo $1 | sed -e s/.et$//`
+BASE=`echo $ROOT | sed -e 's;.*/;;'`
+
+$AWK -f ${DIR}/et_h.awk outfile=${BASE}.h $ROOT.et
+$AWK -f ${DIR}/et_c.awk outfile=${BASE}.c $ROOT.et
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/config_script
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/config_script?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/config_script (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/config_script Mon Feb 9 12:49:22 2009
@@ -1,0 +1,66 @@
+#!/bin/sh
+#
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
+#
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# $Id: config_script,v 1.3 2008/04/04 12:46:34 murch Exp $
+#
+# This program takes a shell script and configures for the following
+# variables: @DIR@
+# @AWK@
+# @SED@
+#
+# Usage: config_script <filename> [<awk>] [<sed>]
+#
+
+FILE=$1
+AWK=$2
+SED=$3
+
+# Grr.... not all Unix's have the dirname command
+TMP=`echo $1 | sed -e 's;[^/]*$;;' -e 's/^$/./'`
+DIR=`cd ${TMP}; pwd`
+
+if test "${AWK}x" = "x" ; then
+ AWK=awk
+fi
+if test "${SED}x" = "x" ; then
+ SED=sed
+fi
+sed -e "s;@DIR@;${DIR};" -e "s;@AWK@;${AWK};" -e "s;@SED@;${SED};" $FILE
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_message.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_message.c?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_message.c (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_message.c Mon Feb 9 12:49:22 2009
@@ -1,0 +1,118 @@
+/* error_message.c
+ *
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: error_message.c,v 1.2 2008/03/24 18:53:40 murch Exp $
+ *
+ * Copyright 1987 by the Student Information Processing Board
+ * of the Massachusetts Institute of Technology
+ *
+ * For copyright info, see "mit-sipb-copyright.h".
+ */
+
+#define IN_COM_ERR
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "error_table.h"
+#include "mit-sipb-copyright.h"
+#include "internal.h"
+
+static const char copyright[] =
+ "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology";
+
+static char buffer[25];
+
+extern struct et_list * _et_list;
+
+const char * INTERFACE error_message (code)
+long code;
+{
+ int offset;
+ long l_offset;
+ struct et_list *et;
+ long table_num;
+ int started = 0;
+ char *cp;
+
+ l_offset = code & ((1<<ERRCODE_RANGE)-1);
+ offset = (int) l_offset;
+ table_num = code - l_offset;
+ if (!table_num) {
+#ifdef HAS_STRERROR
+ return strerror (offset);
+#else
+ if (offset < sys_nerr)
+ return(sys_errlist[offset]);
+ else
+ goto oops;
+#endif
+ }
+ for (et = _et_list; et; et = et->next) {
+ if (et->table->base == table_num) {
+ /* This is the right table */
+ if (et->table->n_msgs <= offset)
+ goto oops;
+ return(et->table->msgs[offset]);
+ }
+ }
+oops:
+ strcpy (buffer, "Unknown code ");
+ if (table_num) {
+ strcat (buffer, error_table_name (table_num));
+ strcat (buffer, " ");
+ }
+ for (cp = buffer; *cp; cp++)
+ ;
+ if (offset >= 100) {
+ *cp++ = '0' + offset / 100;
+ offset %= 100;
+ started++;
+ }
+ if (started || offset >= 10) {
+ *cp++ = '0' + offset / 10;
+ offset %= 10;
+ }
+ *cp++ = '0' + offset;
+ *cp = '\0';
+ return(buffer);
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_table.h
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_table.h?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_table.h (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/error_table.h Mon Feb 9 12:49:22 2009
@@ -1,0 +1,90 @@
+/*
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: error_table.h,v 1.2 2008/03/24 18:53:40 murch Exp $
+ *
+ * Copyright 1988 by the Student Information Processing Board of the
+ * Massachusetts Institute of Technology.
+ *
+ * For copyright info, see mit-sipb-copyright.h.
+ */
+
+#ifndef _ET_H
+
+/* This directory doesn't really know about the krb5 world. The following
+ windows defines are usually hidden in k5-config.h. For now I'll just
+ place here what is needed from that file. Later we may decide to do
+ it differently.
+*/
+#ifdef _WINDOWS
+#define INTERFACE __far __export __pascal
+#define INTERFACE_C __far __export __cdecl
+#define sys_nerr _sys_nerr
+#define sys_errlist _sys_errlist
+int __far __pascal MessageBox (void __far *, const char __far*, const char __far*, unsigned int);
+#define MB_ICONEXCLAMATION 0x0030
+#else
+#define INTERFACE
+#define INTERFACE_C
+extern int errno;
+#endif
+
+struct error_table {
+ char const * const * msgs;
+ long base;
+ int n_msgs;
+};
+struct et_list {
+ struct et_list *next;
+ const struct error_table *table;
+};
+extern struct et_list * _et_list;
+
+#define ERRCODE_RANGE 8 /* # of bits to shift table number */
+#define BITS_PER_CHAR 6 /* # bits to shift per character in name */
+
+#if defined(__STDC__) || defined(KRB5_PROVIDE_PROTOTYPES) || defined(_WINDOWS)
+extern const char *error_table_name (long);
+#else
+extern const char *error_table_name ();
+#endif
+
+#define _ET_H
+#endif
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_c.awk
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_c.awk?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_c.awk (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_c.awk Mon Feb 9 12:49:22 2009
@@ -1,0 +1,183 @@
+BEGIN {
+char_shift=64
+## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
+c2n["A"]=1
+c2n["B"]=2
+c2n["C"]=3
+c2n["D"]=4
+c2n["E"]=5
+c2n["F"]=6
+c2n["G"]=7
+c2n["H"]=8
+c2n["I"]=9
+c2n["J"]=10
+c2n["K"]=11
+c2n["L"]=12
+c2n["M"]=13
+c2n["N"]=14
+c2n["O"]=15
+c2n["P"]=16
+c2n["Q"]=17
+c2n["R"]=18
+c2n["S"]=19
+c2n["T"]=20
+c2n["U"]=21
+c2n["V"]=22
+c2n["W"]=23
+c2n["X"]=24
+c2n["Y"]=25
+c2n["Z"]=26
+c2n["a"]=27
+c2n["b"]=28
+c2n["c"]=29
+c2n["d"]=30
+c2n["e"]=31
+c2n["f"]=32
+c2n["g"]=33
+c2n["h"]=34
+c2n["i"]=35
+c2n["j"]=36
+c2n["k"]=37
+c2n["l"]=38
+c2n["m"]=39
+c2n["n"]=40
+c2n["o"]=41
+c2n["p"]=42
+c2n["q"]=43
+c2n["r"]=44
+c2n["s"]=45
+c2n["t"]=46
+c2n["u"]=47
+c2n["v"]=48
+c2n["w"]=49
+c2n["x"]=50
+c2n["y"]=51
+c2n["z"]=52
+c2n["0"]=53
+c2n["1"]=54
+c2n["2"]=55
+c2n["3"]=56
+c2n["4"]=57
+c2n["5"]=58
+c2n["6"]=59
+c2n["7"]=60
+c2n["8"]=61
+c2n["9"]=62
+c2n["_"]=63
+}
+/^#/ { next }
+/^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ {
+ table_number = 0
+ table_name = $2
+ mod_base = 1000000
+ for(i=1; i<=length(table_name); i++) {
+ table_number=(table_number*char_shift)+c2n[substr(table_name,i,1)]
+ }
+
+ # We start playing *_high, *low games here because the some
+ # awk programs do not have the necessary precision (sigh)
+ tab_base_low = table_number % mod_base
+ tab_base_high = int(table_number / mod_base)
+ tab_base_sign = 1;
+
+ # figure out: table_number_base=table_number*256
+ tab_base_low = tab_base_low * 256
+ tab_base_high = (tab_base_high * 256) + \
+ int(tab_base_low / mod_base)
+ tab_base_low = tab_base_low % mod_base
+
+ if (table_number > 128*256*256) {
+ # figure out: table_number_base -= 256*256*256*256
+ # sub_high, sub_low is 256*256*256*256
+ sub_low = 256*256*256 % mod_base
+ sub_high = int(256*256*256 / mod_base)
+
+ sub_low = sub_low * 256
+ sub_high = (sub_high * 256) + int(sub_low / mod_base)
+ sub_low = sub_low % mod_base
+
+ tab_base_low = sub_low - tab_base_low;
+ tab_base_high = sub_high - tab_base_high;
+ tab_base_sign = -1;
+ if (tab_base_low < 0) {
+ tab_base_low = tab_base_low + mod_base
+ tab_base_high--
+ }
+ }
+ print "/*" > outfile
+ print " * " outfile ":" > outfile
+ print " * This file is automatically generated; please do not edit it." > outfile
+ print " */" > outfile
+
+ print "#if defined(__STDC__) || defined(_WINDOWS)" > outfile
+ print "#define NOARGS void" > outfile
+ print "#else" > outfile
+ print "#define NOARGS" > outfile
+ print "#define const" > outfile
+ print "#endif" > outfile
+ print "" > outfile
+ print "static const char * const text[] = {" > outfile
+ table_item_count = 0
+}
+
+/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*$/ {
+ skipone=1
+ next
+}
+
+/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*".*"[ \t]*$/ {
+ text=""
+ for (i=3; i<=NF; i++) {
+ text = text FS $i
+ }
+ text=substr(text,2,length(text)-1);
+ printf "\t%s,\n", text > outfile
+ table_item_count++
+}
+
+{
+ if (skipone) {
+ printf "\t%s,\n", $0 > outfile
+ table_item_count++
+ }
+ skipone=0
+}
+END {
+
+
+ print " 0" > outfile
+ print "};" > outfile
+ print "" > outfile
+ print "struct error_table {" > outfile
+ print " char const * const * msgs;" > outfile
+ print " long base;" > outfile
+ print " int n_msgs;" > outfile
+ print "};" > outfile
+ print "struct et_list {" > outfile
+ print " struct et_list *next;" > outfile
+ print " const struct error_table * table;" > outfile
+ print "};" > outfile
+ print "extern struct et_list *_et_list;" > outfile
+ print "" > outfile
+ if (tab_base_high == 0) {
+ print "static const struct error_table et = { text, " \
+ sprintf("%dL, %d };", tab_base_sign*tab_base_low, \
+ table_item_count) > outfile
+ } else {
+ print "static const struct error_table et = { text, " \
+ sprintf("%d%06dL, %d };", tab_base_sign*tab_base_high, \
+ tab_base_low, table_item_count) > outfile
+ }
+ print "" > outfile
+ print "static struct et_list link = { 0, 0 };" > outfile
+ print "" > outfile
+ print "void initialize_" table_name "_error_table (NOARGS) {" > outfile
+ print " if (!link.table) {" > outfile
+ print " link.next = _et_list;" > outfile
+ print " link.table = &et;" > outfile
+ print " _et_list = &link;" > outfile
+ print " }" > outfile
+ print "}" > outfile
+
+
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_h.awk
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_h.awk?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_h.awk (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_h.awk Mon Feb 9 12:49:22 2009
@@ -1,0 +1,150 @@
+BEGIN {
+char_shift=64
+## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
+c2n["A"]=1
+c2n["B"]=2
+c2n["C"]=3
+c2n["D"]=4
+c2n["E"]=5
+c2n["F"]=6
+c2n["G"]=7
+c2n["H"]=8
+c2n["I"]=9
+c2n["J"]=10
+c2n["K"]=11
+c2n["L"]=12
+c2n["M"]=13
+c2n["N"]=14
+c2n["O"]=15
+c2n["P"]=16
+c2n["Q"]=17
+c2n["R"]=18
+c2n["S"]=19
+c2n["T"]=20
+c2n["U"]=21
+c2n["V"]=22
+c2n["W"]=23
+c2n["X"]=24
+c2n["Y"]=25
+c2n["Z"]=26
+c2n["a"]=27
+c2n["b"]=28
+c2n["c"]=29
+c2n["d"]=30
+c2n["e"]=31
+c2n["f"]=32
+c2n["g"]=33
+c2n["h"]=34
+c2n["i"]=35
+c2n["j"]=36
+c2n["k"]=37
+c2n["l"]=38
+c2n["m"]=39
+c2n["n"]=40
+c2n["o"]=41
+c2n["p"]=42
+c2n["q"]=43
+c2n["r"]=44
+c2n["s"]=45
+c2n["t"]=46
+c2n["u"]=47
+c2n["v"]=48
+c2n["w"]=49
+c2n["x"]=50
+c2n["y"]=51
+c2n["z"]=52
+c2n["0"]=53
+c2n["1"]=54
+c2n["2"]=55
+c2n["3"]=56
+c2n["4"]=57
+c2n["5"]=58
+c2n["6"]=59
+c2n["7"]=60
+c2n["8"]=61
+c2n["9"]=62
+c2n["_"]=63
+}
+/^#/ { next }
+/^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ {
+ table_number = 0
+ table_name = $2
+ mod_base = 1000000
+ for(i=1; i<=length(table_name); i++) {
+ table_number=(table_number*char_shift)+c2n[substr(table_name,i,1)]
+ }
+ # We start playing *_high, *low games here because the some
+ # awk programs do not have the necessary precision (sigh)
+ tab_base_low = table_number % mod_base
+ tab_base_high = int(table_number / mod_base)
+ tab_base_sign = 1;
+
+ # figure out: table_number_base=table_number*256
+ tab_base_low = tab_base_low * 256
+ tab_base_high = (tab_base_high * 256) + \
+ int(tab_base_low / mod_base)
+ tab_base_low = tab_base_low % mod_base
+
+ if (table_number > 128*256*256) {
+ # figure out: table_number_base -= 256*256*256*256
+ # sub_high, sub_low is 256*256*256*256
+ sub_low = 256*256*256 % mod_base
+ sub_high = int(256*256*256 / mod_base)
+
+ sub_low = sub_low * 256
+ sub_high = (sub_high * 256) + int(sub_low / mod_base)
+ sub_low = sub_low % mod_base
+
+ tab_base_low = sub_low - tab_base_low;
+ tab_base_high = sub_high - tab_base_high;
+ tab_base_sign = -1;
+ if (tab_base_low < 0) {
+ tab_base_low = tab_base_low + mod_base
+ tab_base_high--
+ }
+ }
+ curr_low = tab_base_low
+ curr_high = tab_base_high
+ curr_sign = tab_base_sign
+ print "/*" > outfile
+ print " * " outfile ":" > outfile
+ print " * This file is automatically generated; please do not edit it." > outfile
+ print " */" > outfile
+}
+
+/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,/ {
+ tag=substr($2,1,length($2)-1)
+ if (curr_high == 0) {
+ printf "#define %-40s (%dL)\n", tag, \
+ curr_sign*curr_low > outfile
+ } else {
+ printf "#define %-40s (%d%06dL)\n", tag, curr_high*curr_sign, \
+ curr_low > outfile
+ }
+ curr_low += curr_sign;
+ if (curr_low >= mod_base) {
+ curr_low -= mod_base;
+ curr_high++
+ }
+ if (curr_low < 0) {
+ cur_low += mod_base
+ cur_high--
+ }
+}
+
+END {
+ print "extern void initialize_" table_name "_error_table ();" > outfile
+ if (tab_base_high == 0) {
+ print "#define ERROR_TABLE_BASE_" table_name " (" \
+ sprintf("%d", tab_base_sign*tab_base_low) \
+ "L)" > outfile
+ } else {
+ print "#define ERROR_TABLE_BASE_" table_name " (" \
+ sprintf("%d%06d", tab_base_sign*tab_base_high, \
+ tab_base_low) "L)" > outfile
+ }
+ print "" > outfile
+ print "/* for compatibility with older versions... */" > outfile
+ print "#define init_" table_name "_err_tbl initialize_" table_name "_error_table" > outfile
+ print "#define " table_name "_err_base ERROR_TABLE_BASE_" table_name > outfile
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_name.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_name.c?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_name.c (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/et_name.c Mon Feb 9 12:49:22 2009
@@ -1,0 +1,82 @@
+/*
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: et_name.c,v 1.2 2008/03/24 18:53:40 murch Exp $
+ *
+ * Copyright 1987 by MIT Student Information Processing Board
+ *
+ * For copyright info, see mit-sipb-copyright.h.
+ */
+
+#include "error_table.h"
+#include "mit-sipb-copyright.h"
+#include "internal.h"
+
+#ifndef lint
+static const char copyright[] =
+ "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology";
+#endif
+
+static const char char_set[] =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
+
+static char buf[6];
+
+const char * error_table_name (num)
+ long num;
+{
+ long ch;
+ int i;
+ char *p;
+
+ /* num = aa aaa abb bbb bcc ccc cdd ddd d?? ??? ??? */
+ p = buf;
+ num >>= ERRCODE_RANGE;
+ /* num = ?? ??? ??? aaa aaa bbb bbb ccc ccc ddd ddd */
+ num &= 077777777;
+ /* num = 00 000 000 aaa aaa bbb bbb ccc ccc ddd ddd */
+ for (i = 4; i >= 0; i--) {
+ ch = (num >> BITS_PER_CHAR * i) & ((1 << BITS_PER_CHAR) - 1);
+ if (ch != 0)
+ *p++ = char_set[ch-1];
+ }
+ *p = '\0';
+ return(buf);
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/init_et.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/init_et.c?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/init_et.c (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/init_et.c Mon Feb 9 12:49:22 2009
@@ -1,0 +1,83 @@
+/* init_et.c
+ *
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: init_et.c,v 1.2 2008/03/24 18:53:40 murch Exp $
+ *
+ * Copyright 1986, 1987, 1988 by MIT Information Systems and
+ * the MIT Student Information Processing Board.
+ *
+ * For copyright info, see mit-sipb-copyright.h.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "error_table.h"
+#include "mit-sipb-copyright.h"
+
+struct foobar {
+ struct et_list etl;
+ struct error_table et;
+};
+
+extern struct et_list * _et_list;
+
+int init_error_table(msgs, base, count)
+ const char * const * msgs;
+ int base;
+ int count;
+{
+ struct foobar * new_et;
+
+ if (!base || !count || !msgs)
+ return 0;
+
+ new_et = (struct foobar *) malloc(sizeof(struct foobar));
+ if (!new_et)
+ return errno; /* oops */
+ new_et->etl.table = &new_et->et;
+ new_et->et.msgs = msgs;
+ new_et->et.base = base;
+ new_et->et.n_msgs= count;
+
+ new_et->etl.next = _et_list;
+ _et_list = &new_et->etl;
+ return 0;
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/internal.h
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/internal.h?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/internal.h (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/internal.h Mon Feb 9 12:49:22 2009
@@ -1,0 +1,56 @@
+/* internal include file for com_err package
+ *
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: internal.h,v 1.2 2008/03/24 18:53:40 murch Exp $
+ */
+
+#include "mit-sipb-copyright.h"
+
+#include <errno.h>
+
+#ifdef NEED_SYS_ERRLIST
+extern char const * const sys_errlist[];
+extern const int sys_nerr;
+#endif
+
+#if defined(__STDC__) && !defined(HDR_HAS_PERROR) && !defined(_WINDOWS)
+void perror (const char *);
+#endif
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/mit-sipb-copyright.h
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/mit-sipb-copyright.h?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/mit-sipb-copyright.h (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/mit-sipb-copyright.h Mon Feb 9 12:49:22 2009
@@ -1,0 +1,19 @@
+/*
+
+Copyright 1987, 1988 by the Student Information Processing Board
+ of the Massachusetts Institute of Technology
+
+Permission to use, copy, modify, and distribute this software
+and its documentation for any purpose and without fee is
+hereby granted, provided that the above copyright notice
+appear in all copies and that both that copyright notice and
+this permission notice appear in supporting documentation,
+and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+M.I.T. and the M.I.T. S.I.P.B. make no representations about
+the suitability of this software for any purpose. It is
+provided "as is" without express or implied warranty.
+
+*/
+
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test1.et
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test1.et?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test1.et (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test1.et Mon Feb 9 12:49:22 2009
@@ -1,0 +1,69 @@
+ error_table krb
+
+ error_code KRB_MK_AP_TKFIL,
+ "Can't read ticket file"
+
+ ec KRB_MK_AP_NOTKT,
+ "Can't find ticket or TGT"
+
+ ec KRB_MK_AP_TGTEXP,
+ "TGT expired"
+
+ ec KRB_RD_AP_UNDEC,
+ "Can't decode authenticator"
+
+ ec KRB_RD_AP_EXP,
+ "Ticket expired"
+
+ ec KRB_RD_AP_REPEAT,
+ "Repeated request"
+
+ ec KRB_RD_AP_NOT_US,
+ "The ticket isn't for us"
+
+ ec KRB_RD_AP_INCON,
+ "Request is inconsistent"
+
+ ec KRB_RD_AP_TIME,
+ "Delta-T too big"
+
+ ec KRB_RD_AP_BADD,
+ "Incorrect net address"
+
+ ec KRB_RD_AP_VERSION,
+ "Protocol version mismatch"
+
+ ec KRB_RD_AP_MSG_TYPE,
+ "Invalid message type"
+
+ ec KRB_RD_AP_MODIFIED,
+ "Message stream modified"
+
+ ec KRB_RD_AP_ORDER,
+ "Message out of order"
+
+ ec KRB_RD_AP_UNAUTHOR,
+ "Unauthorized request"
+
+ ec KRB_GT_PW_NULL,
+ "Current password is null"
+
+ ec KRB_GT_PW_BADPW,
+ "Incorrect current password"
+
+ ec KRB_GT_PW_PROT,
+ "Protocol error"
+
+ ec KRB_GT_PW_KDCERR,
+ "Error returned by KDC"
+
+ ec KRB_GT_PW_NULLTKT,
+ "Null ticket returned by KDC"
+
+ ec KRB_SKDC_RETRY,
+ "Retry count exceeded"
+
+ ec KRB_SKDC_CANT,
+ "Can't send request"
+
+ end
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test2.et
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test2.et?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test2.et (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test2.et Mon Feb 9 12:49:22 2009
@@ -1,0 +1,9 @@
+ error_table quux
+
+ ec FOO_ERR, "foo"
+
+ ec BAR_ERR, "bar"
+
+ ec BAZ_ERR, "meow"
+
+ end
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test_et.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test_et.c?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test_et.c (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/test_et.c Mon Feb 9 12:49:22 2009
@@ -1,0 +1,47 @@
+#include <stdio.h>
+#include <errno.h>
+#include "com_err.h"
+#include "test1.h"
+#include "test2.h"
+
+extern int sys_nerr, errno;
+
+main()
+{
+ printf("Before initiating error table:\n\n");
+ printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
+ printf("UNIX name '%s'\n", error_table_name(EPERM));
+ printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
+ printf("Msg EPERM is '%s'\n", error_message(EPERM));
+ printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
+ printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
+ printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
+
+ printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
+
+ initialize_krb_error_table();
+ printf("KRB error table initialized: base %d (%s), name %s\n",
+ ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb),
+ error_table_name(ERROR_TABLE_BASE_krb));
+ initialize_krb_error_table();
+ printf("With krb: tgt-expired -> %s\n",
+ error_message(KRB_MK_AP_TGTEXP));
+
+ initialize_quux_error_table();
+ printf("QUUX error table initialized: base %d (%s), name %s\n",
+ ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux),
+ error_table_name(ERROR_TABLE_BASE_quux));
+
+ printf("Msg for TGT-expired is '%s'\n",
+ error_message(KRB_MK_AP_TGTEXP));
+ printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
+ printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
+ printf("Msg KRB_SKDC_CANT is '%s'\n",
+ error_message(KRB_SKDC_CANT));
+ printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
+ printf("\n\nCOM_ERR tests:\n");
+ com_err("whoami", FOO_ERR, (char *)NULL);
+ com_err("whoami", FOO_ERR, " -- message goes %s", "here");
+ com_err("whoami", 0, (char *)0);
+ com_err("whoami", 0, "error number %d\n", 0);
+}
Added: branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/texinfo.tex
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/texinfo.tex?rev=768&root=cyrus22&view=auto
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/texinfo.tex (added)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/com_err/et/texinfo.tex Mon Feb 9 12:49:22 2009
@@ -1,0 +1,2077 @@
+%% TeX macros to handle texinfo files
+
+% Copyright (C) 1985, 1986, 1988 Richard M. Stallman
+
+% NO WARRANTY
+
+% BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY
+%NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT
+%WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE FOUNDATION, INC,
+%RICHARD M. STALLMAN AND/OR OTHER PARTIES PROVIDE THIS PROGRAM "AS IS"
+%WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+%BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+%FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY
+%AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
+%DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
+%CORRECTION.
+
+% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL RICHARD M.
+%STALLMAN, THE FREE SOFTWARE FOUNDATION, INC., AND/OR ANY OTHER PARTY
+%WHO MAY MODIFY AND REDISTRIBUTE THIS PROGRAM AS PERMITTED BELOW, BE
+%LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR
+%OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+%USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
+%DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR
+%A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) THIS
+%PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+%DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
+
+% GENERAL PUBLIC LICENSE TO COPY
+
+% 1. You may copy and distribute verbatim copies of this source file
+%as you receive it, in any medium, provided that you conspicuously
+%and appropriately publish on each copy a valid copyright notice
+%"Copyright (C) 1986 Richard M. Stallman"; and include
+%following the copyright notice a verbatim copy of the above disclaimer
+%of warranty and of this License.
+
+% 2. You may modify your copy or copies of this source file or
+%any portion of it, and copy and distribute such modifications under
+%the terms of Paragraph 1 above, provided that you also do the following:
+
+% a) cause the modified files to carry prominent notices stating
+% that you changed the files and the date of any change; and
+
+% b) cause the whole of any work that you distribute or publish,
+% that in whole or in part contains or is a derivative of this
+% program or any part thereof, to be licensed at no charge to all
+% third parties on terms identical to those contained in this
+% License Agreement (except that you may choose to grant more extensive
+% warranty protection to some or all third parties, at your option).
+
+% c) You may charge a distribution fee for the physical act of
+% transferring a copy, and you may at your option offer warranty
+% protection in exchange for a fee.
+
+%Mere aggregation of another unrelated program with this program (or its
+%derivative) on a volume of a storage or distribution medium does not bring
+%the other program under the scope of these terms.
+
+% 3. You may copy and distribute this program (or a portion or derivative
+%of it, under Paragraph 2) in object code or executable form under the terms
+%of Paragraphs 1 and 2 above provided that you also do one of the following:
+
+% a) accompany it with the complete corresponding machine-readable
+% source code, which must be distributed under the terms of
+% Paragraphs 1 and 2 above; or,
+
+% b) accompany it with a written offer, valid for at least three
+% years, to give any third party free (except for a nominal
+% shipping charge) a complete machine-readable copy of the
+% corresponding source code, to be distributed under the terms of
+% Paragraphs 1 and 2 above; or,
+
+% c) accompany it with the information you received as to where the
+% corresponding source code may be obtained. (This alternative is
+% allowed only for noncommercial distribution and only if you
+% received the program in object code or executable form alone.)
+
+%For an executable file, complete source code means all the source code for
+%all modules it contains; but, as a special exception, it need not include
+%source code for modules which are standard libraries that accompany the
+%operating system on which the executable file runs.
+
+% 4. You may not copy, sublicense, distribute or transfer this program
+%except as expressly provided under this License Agreement. Any attempt
+%otherwise to copy, sublicense, distribute or transfer this program is void and
+%your rights to use the program under this License agreement shall be
+%automatically terminated. However, parties who have received computer
+%software programs from you with this License Agreement will not have
+%their licenses terminated so long as such parties remain in full compliance.
+
+% 5. If you wish to incorporate parts of this program into other free
+%programs whose distribution conditions are different, write to the Free
+%Software Foundation at 675 Mass Ave, Cambridge, MA 02139. We have not yet
+%worked out a simple rule that can be stated here, but we will often permit
+%this. We will be guided by the two goals of preserving the free status of
+%all derivatives of our free software and of promoting the sharing and reuse of
+%software.
+
+%In other words, you are welcome to use, share and improve this program.
+%You are forbidden to forbid anyone else to use, share and improve
+%what you give them. Help stamp out software-hoarding!
+
+\def\texinfoversion{1.18}
+\message{Loading texinfo package [Version \texinfoversion]:}
+\message{}
+
+% Save some parts of plain tex whose names we will redefine.
+
+\let\ptexlbrace=\{
+\let\ptexrbrace=\}
+\let\ptexdot=\.
+\let\ptexstar=\*
+\let\ptexend=\end
+\let\ptexbullet=\bullet
+\let\ptexb=\b
+\let\ptexc=\c
+\let\ptexi=\i
+\let\ptext=\t
+\let\ptexl=\l
+\let\ptexL=\L
+
+\def\tie{\penalty 10000\ } % Save plain tex definition of ~.
+
+\message{Basics,}
+\chardef\other=12
+
+\hyphenation{ap-pen-dix}
+\hyphenation{mini-buf-fer mini-buf-fers}
+\hyphenation{eshell}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen \bindingoffset \bindingoffset=0pt
+\newdimen \normaloffset \normaloffset=\hoffset
+\newdimen\pagewidth \newdimen\pageheight
+\pagewidth=\hsize \pageheight=\vsize
+
+%---------------------Begin change-----------------------
+%
+% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986
+%
+\newdimen\cornerlong \newdimen\cornerthick
+\newdimen \topandbottommargin
+\newdimen \outerhsize \newdimen \outervsize
+\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
+\outerhsize=7in
+\outervsize=9.5in
+\topandbottommargin=.75in
+%
+%---------------------End change-----------------------
+
+% \onepageout takes a vbox as an argument. Note that \pagecontents
+% does insertions itself, but you have to call it yourself.
+\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}}
+\def\onepageout#1{\hoffset=\normaloffset
+\ifodd\pageno \advance\hoffset by \bindingoffset
+\else \advance\hoffset by -\bindingoffset\fi
+\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}%
+ {\let\hsize=\pagewidth \makefootline}}
+\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
+
+
+% Here is a modification of the main output routine for Near East Publications
+% This provides right-angle cropmarks at all four corners.
+% The contents of the page are centerlined into the cropmarks,
+% and any desired binding offset is added as an \hskip on either
+% site of the centerlined box. (P. A. MacKay, 12 November, 1986)
+%
+\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up
+ \shipout
+ \vbox to \outervsize{\hsize=\outerhsize
+ \vbox{\line{\ewtop\hfill\ewtop}}
+ \nointerlineskip
+ \line{\vbox{\moveleft\cornerthick\nstop}
+ \hfill
+ \vbox{\moveright\cornerthick\nstop}}
+ \vskip \topandbottommargin
+ \centerline{\ifodd\pageno\hskip\bindingoffset\fi
+ \vbox{
+ {\let\hsize=\pagewidth \makeheadline}
+ \pagebody{#1}
+ {\let\hsize=\pagewidth \makefootline}}
+ \ifodd\pageno\else\hskip\bindingoffset\fi}
+ \vskip \topandbottommargin plus1fill minus1fill
+ \boxmaxdepth\cornerthick
+ \line{\vbox{\moveleft\cornerthick\nsbot}
+ \hfill
+ \vbox{\moveright\cornerthick\nsbot}}
+ \nointerlineskip
+ \vbox{\line{\ewbot\hfill\ewbot}}
+ }
+ \advancepageno
+ \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
+%
+% Do @cropmarks to get crop marks
+\def\cropmarks{\let\onepageout=\croppageout }
+
+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+{\catcode`\@ =11
+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
+\dimen@=\dp#1 \unvbox#1
+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
+\ifr at ggedbottom \kern-\dimen@ \vfil \fi}
+}
+
+%
+% Here are the rules for the cropmarks. Note that they are
+% offset so that the space between them is truly \outerhsize or \outervsize
+% (P. A. MacKay, 12 November, 1986)
+%
+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
+\def\nstop{\vbox
+ {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
+\def\nsbot{\vbox
+ {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Parse an argument, then pass it to #1.
+% The argument can be delimited with [...] or with "..." or braces
+% or it can be a whole line.
+% #1 should be a macro which expects
+% an ordinary undelimited TeX argument.
+
+\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx}
+
+\def\parseargx{%
+\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else%
+\aftergroup \parseargline %
+\fi \endgroup}
+
+{\obeyspaces %
+\gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}}
+
+\gdef\obeyedspace{\ }
+
+\def\parseargline{\begingroup \obeylines \parsearglinex}
+{\obeylines %
+\gdef\parsearglinex #1^^M{\endgroup \next {#1}}}
+
+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
+
+%% These are used to keep @begin/@end levels from running away
+%% Call \inENV within environments (after a \begingroup)
+\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
+\def\ENVcheck{%
+\ifENV\errmessage{Still within an environment. Type Return to continue.}
+\endgroup\fi} % This is not perfect, but it should reduce lossage
+
+% @begin foo is the same as @foo, for now.
+\newhelp\EMsimple{Type <Return> to continue}
+
+\outer\def\begin{\parsearg\beginxxx}
+
+\def\beginxxx #1{%
+\expandafter\ifx\csname #1\endcsname\relax
+{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
+\csname #1\endcsname\fi}
+
+%% @end foo executes the definition of \Efoo.
+%% foo can be delimited by doublequotes or brackets.
+
+\def\end{\parsearg\endxxx}
+
+\def\endxxx #1{%
+\expandafter\ifx\csname E#1\endcsname\relax
+\expandafter\ifx\csname #1\endcsname\relax
+\errmessage{Undefined command @end #1}\else
+\errorE{#1}\fi\fi
+\csname E#1\endcsname}
+\def\errorE#1{
+{\errhelp=\EMsimple \errmessage{@end #1 not within #1 environment}}}
+
+% Single-spacing is done by various environments.
+
+\newskip\singlespaceskip \singlespaceskip = \baselineskip
+\def\singlespace{%
+{\advance \baselineskip by -\singlespaceskip
+\kern \baselineskip}%
+\baselineskip=\singlespaceskip
+}
+
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\sf \char '100}}
+
+% Define @` and @' to be the same as ` and '
+% but suppressing ligatures.
+\def\`{{`}}
+\def\'{{'}}
+
+% Used to generate quoted braces.
+
+\def\mylbrace {{\tt \char '173}}
+\def\myrbrace {{\tt \char '175}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+
+% @: forces normal size whitespace following.
+\def\:{\spacefactor=1000 }
+
+% @* forces a line break.
+\def\*{\hfil\break}
+
+% @. is an end-of-sentence period.
+\def\.{.\spacefactor=3000 }
+
+% @w prevents a word break
+\def\w #1{\hbox{#1}}
+
+% @group ... @end group forces ... to be all on one page.
+
+\def\group{\begingroup% \inENV ???
+\def \Egroup{\egroup\endgroup}
+\vbox\bgroup}
+
+% @br forces paragraph break
+
+\let\br = \par
+
+% @dots{} output some dots
+
+\def\dots{$\ldots$}
+
+% @page forces the start of a new page
+
+\def\page{\par\vfill\supereject}
+
+% @exdent text....
+% outputs text on separate line in roman font, starting at standard page margin
+
+\def\exdent{\errmessage{@exdent in filled text}}
+ % @lisp, etc, define \exdent locally from \internalexdent
+
+{\obeyspaces
+\gdef\internalexdent{\parsearg\exdentzzz}}
+
+\def\exdentzzz #1{{\advance \leftskip by -\lispnarrowing
+\advance \hsize by -\leftskip
+\advance \hsize by -\rightskip
+\leftline{{\rm#1}}}}
+
+% @include file insert text of that file as input.
+
+\def\include{\parsearg\includezzz}
+\def\includezzz #1{{\def\thisfile{#1}\input #1
+}}
+
+\def\thisfile{}
+
+% @center line outputs that line, centered
+
+\def\center{\parsearg\centerzzz}
+\def\centerzzz #1{{\advance\hsize by -\leftskip
+\advance\hsize by -\rightskip
+\centerline{#1}}}
+
+% @sp n outputs n lines of vertical space
+
+\def\sp{\parsearg\spxxx}
+\def\spxxx #1{\par \vskip #1\baselineskip}
+
+% @comment ...line which is ignored...
+% @c is the same as @comment
+% @ignore ... @end ignore is another way to write a comment
+
+\def\comment{\parsearg \commentxxx}
+
+\def\commentxxx #1{}
+
+\let\c=\comment
+
+\long\def\ignore #1\end ignore{}
+
+\outer\def\ifset{\parsearg\ifsetxxx}
+
+\def\ifsetxxx #1#2\end ifset{%
+\expandafter\ifx\csname IF#1\endcsname\relax \else #2\fi}
+
+\outer\def\ifclear{\parsearg\ifclearxxx}
+
+\def\ifclearxxx #1#2\end ifclear{%
+\expandafter\ifx\csname IF#1\endcsname\relax #2\fi}
+
+% Some texinfo constructs that are trivial in tex
+
+\def\iftex{}
+\def\Eiftex{}
+\long\def\ifinfo #1\end ifinfo{}
+\long\def\menu #1\end menu{}
+\def\asis#1{#1}
+
+\def\node{\parsearg\nodezzz}
+\def\nodezzz#1{\nodexxx [#1,]}
+\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+\let\lastnode=\relax
+
+\def\donoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\setref{\lastnode}\fi
+\let\lastnode=\relax}
+
+\def\unnumbnoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
+\let\lastnode=\relax}
+
+\let\refill=\relax
+
+\let\setfilename=\comment
+
+\def\inforef #1{\inforefzzz #1,,,,**}
+\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}}, node `\losespace#1{}'}
+\def\losespace #1{#1}
+
+\message{fonts,}
+
+% Font-change commands.
+
+%% Try out Computer Modern fonts at \magstephalf
+\font\tenrm=cmr10 scaled \magstephalf
+\font\tentt=cmtt10 scaled \magstephalf
+% Instead of cmb10, you many want to use cmbx10.
+% cmbx10 is a prettier font on its own, but cmb10
+% looks better when embedded in a line with cmr10.
+\font\tenbf=cmb10 scaled \magstephalf
+\font\tenit=cmti10 scaled \magstephalf
+\font\tensl=cmsl10 scaled \magstephalf
+\font\tensf=cmss10 scaled \magstephalf
+\def\li{\sf}
+\font\tensc=cmcsc10 scaled \magstephalf
+
+% Fonts for @defun, etc.
+\font\defbf=cmbx10 scaled \magstep1 %was 1314
+\let\deftt=\tentt
+\def\df{\let\tt=\deftt \defbf}
+
+% Font for title
+\font\titlerm = cmbx10 scaled \magstep5
+
+% Fonts for indices
+\font\indit=cmti9 \font\indrm=cmr9
+\def\indbf{\indrm} \def\indsl{\indit}
+\def\indexfonts{\let\it=\indit \let\sl=\indsl \let\bf=\indbf \let\rm=\indrm}
+
+% Fonts for headings
+\font\chaprm=cmbx10 scaled \magstep3
+\font\chapit=cmti10 scaled \magstep3
+\font\chapsl=cmsl10 scaled \magstep3
+\font\chaptt=cmtt10 scaled \magstep3
+\font\chapsf=cmss10 scaled \magstep3
+\let\chapbf=\chaprm
+
+\font\secrm=cmbx10 scaled \magstep2
+\font\secit=cmti10 scaled \magstep2
+\font\secsl=cmsl10 scaled \magstep2
+\font\sectt=cmtt10 scaled \magstep2
+\font\secsf=cmss10 scaled \magstep2
+\let\secbf=\secrm
+
+\font\ssecrm=cmbx10 scaled \magstep1
+\font\ssecit=cmti10 scaled \magstep1
+\font\ssecsl=cmsl10 scaled \magstep1
+\font\ssectt=cmtt10 scaled \magstep1
+\font\ssecsf=cmss10 scaled \magstep1
+\let\ssecbf=\ssecrm
+
+\def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf%
+\let\sc=\tensc\let\sf=\tensf}
+\def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf}
+\def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf}
+\def\subsecfonts{\let\rm=\ssecrm\let\it=\ssecit\let\sl=\ssecsl\let\bf=\ssecbf\let\tt=\ssectt\let\sf=\ssecsf}
+% Count depth in font-changes, for error checks
+\newcount\fontdepth \fontdepth=0
+
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
+
+\def\i#1{{\sl #1}}
+\let\var=\i
+\let\dfn=\i
+\let\emph=\i
+\let\cite=\i
+
+\def\b#1{{\bf #1}}
+\let\strong=\b
+
+\def\t#1{{\tt \rawbackslash \frenchspacing #1}\null}
+\let\ttfont = \t
+\let\kbd=\t
+\let\code=\t
+\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
+\def\key #1{{\tt \uppercase{#1}}\null}
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+\let\file=\samp
+
+\def\l#1{{\li #1}\null}
+
+\def\r#1{{\rm #1}}
+\def\s#1{{\sc #1}}
+\def\ii#1{{\it #1}}
+
+\def\titlefont#1{{\titlerm #1}}
+
+\def\titlepage{\begingroup \parindent=0pt \hbox{}%
+\let\oldpage=\page
+\def\page{\oldpage \hbox{}}}
+
+\def\Etitlepage{\endgroup\page\HEADINGSon}
+
+% Make altmode in file print out right
+
+\catcode `\^^[=\active \def^^[{$\diamondsuit$}
+
+\message{page headings,}
+
+%%% Set up page headings and footings.
+
+\let\thispage=\folio
+
+\newtoks \evenheadline % Token sequence for heading line of even pages
+\newtoks \oddheadline % Token sequence for heading line of odd pages
+\newtoks \evenfootline % Token sequence for footing line of even pages
+\newtoks \oddfootline % Token sequence for footing line of odd pages
+
+% Now make Tex use those variables
+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}}
+
+% Commands to set those variables.
+% For example, this is what @headings on does
+% @evenheading @thistitle|@thispage|@thischapter
+% @oddheading @thischapter|@thispage|@thistitle
+% @evenfooting @thisfile||
+% @oddfooting ||@thisfile
+
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\everyheading{\parsearg\everyheadingxxx}
+
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\everyfooting{\parsearg\everyfootingxxx}
+
+{\catcode`\@=0 %
+
+\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
+\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
+\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}
+\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
+\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
+\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
+\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}
+\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
+\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+%
+}% unbind the catcode of @.
+
+% @headings on turns them on.
+% @headings off turns them off.
+% By default, they are off.
+
+\def\headings #1 {\csname HEADINGS#1\endcsname}
+
+\def\HEADINGSoff{
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
+% When we turn headings on, set the page number to 1,
+% Put current file name in lower left corner,
+% Put chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSon{
+\pagealignmacro
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+}
+
+% Subroutines used in generating headings
+% Produces Day Month Year style of output.
+\def\today{\number\day\space
+\ifcase\month\or
+January\or February\or March\or April\or May\or June\or
+July\or August\or September\or October\or November\or December\fi
+\space\number\year}
+
+% Use this if you want the Month Day, Year style of output.
+%\def\today{\ifcase\month\or
+%January\or February\or March\or April\or May\or June\or
+%July\or August\or September\or October\or November\or December\fi
+%\space\number\day, \number\year}
+
+% @settitle line... specifies the title of the document, for headings
+% It generates no output of its own
+
+\def\thistitle{No Title}
+\def\settitle{\parsearg\settitlezzz}
+\def\settitlezzz #1{\gdef\thistitle{#1}}
+
+\message{tables,}
+
+% Tables -- @table, @ftable, @item(x), @kitem(x), @xitem(x).
+
+% default indentation of table text
+\newdimen\tableindent \tableindent=.8in
+% default indentation of @itemize and @enumerate text
+\newdimen\itemindent \itemindent=.3in
+% margin between end of table item and start of table text.
+\newdimen\itemmargin \itemmargin=.1in
+
+% used internally for \itemindent minus \itemmargin
+\newdimen\itemmax
+
+% Note @table and @ftable define @item, @itemx, etc., with these defs.
+% They also define \itemindex
+% to index the item name in whatever manner is desired (perhaps none).
+
+\def\internalBitem{\smallbreak \parsearg\itemzzz}
+\def\internalBitemx{\par \parsearg\itemzzz}
+
+\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
+\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \par \parsearg\xitemzzz}
+
+\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
+\def\internalBkitemx{\par \parsearg\kitemzzz}
+
+\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}\itemzzz {#1}}
+
+\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}\itemzzz {#1}}
+
+\def\itemzzz #1{\begingroup %
+\advance \hsize by -\rightskip %
+\advance \hsize by -\leftskip %
+\setbox0=\hbox{\itemfont{#1}}%
+\itemindex{#1}%
+\parskip=0in %
+\noindent %
+\ifdim \wd0>\itemmax %
+\vadjust{\penalty 10000}%
+\hbox to \hsize{\hskip -\tableindent\box0\hss}\ %
+\else %
+\hbox to 0pt{\hskip -\tableindent\box0\hss}%
+\fi %
+\endgroup %
+}
+
+\def\item{\errmessage{@item while not in a table}}
+\def\itemx{\errmessage{@itemx while not in a table}}
+\def\kitem{\errmessage{@kitem while not in a table}}
+\def\kitemx{\errmessage{@kitemx while not in a table}}
+\def\xitem{\errmessage{@xitem while not in a table}}
+\def\xitemx{\errmessage{@xitemx while not in a table}}
+
+%% Contains a kludge to get @end[description] to work
+\def\description{\tablez{\dontindex}{1}{}{}{}{}}
+
+\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
+{\obeylines\obeyspaces%
+\gdef\tablex #1^^M{%
+\tabley\dontindex#1 \endtabley}}
+
+\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
+{\obeylines\obeyspaces%
+\gdef\ftablex #1^^M{%
+\tabley\fnitemindex#1 \endtabley}}
+
+\def\dontindex #1{}
+\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
+
+{\obeyspaces %
+\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
+\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
+
+\def\tablez #1#2#3#4#5#6{%
+\aboveenvbreak %
+\begingroup %
+\def\Edescription{\Etable}% Neccessary kludge.
+\let\itemindex=#1%
+\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
+\ifnum 0#4>0 \tableindent=#4\mil \fi %
+\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
+\def\itemfont{#2}%
+\itemmax=\tableindent %
+\advance \itemmax by -\itemmargin %
+\advance \leftskip by \tableindent %
+\parindent = 0pt
+\parskip = \smallskipamount
+\ifdim \parskip=0pt \parskip=2pt \fi%
+\def\Etable{\endgraf\endgroup\afterenvbreak}%
+\let\item = \internalBitem %
+\let\itemx = \internalBitemx %
+\let\kitem = \internalBkitem %
+\let\kitemx = \internalBkitemx %
+\let\xitem = \internalBxitem %
+\let\xitemx = \internalBxitemx %
+}
+
+% This is the counter used by @enumerate, which is really @itemize
+
+\newcount \itemno
+
+\def\itemize{\parsearg\itemizezzz}
+
+\def\itemizezzz #1{\itemizey {#1}{\Eitemize}}
+
+\def\itemizey #1#2{%
+\aboveenvbreak %
+\begingroup %
+\itemno = 0 %
+\itemmax=\itemindent %
+\advance \itemmax by -\itemmargin %
+\advance \leftskip by \itemindent %
+\parindent = 0pt
+\parskip = \smallskipamount
+\ifdim \parskip=0pt \parskip=2pt \fi%
+\def#2{\endgraf\endgroup\afterenvbreak}%
+\def\itemcontents{#1}%
+\let\item=\itemizeitem}
+
+\def\bullet{$\ptexbullet$}
+\def\minus{$-$}
+
+\def\enumerate{\itemizey{\the\itemno.}\Eenumerate\flushcr}
+
+% Definition of @item while inside @itemize.
+
+\def\itemizeitem{%
+\advance\itemno by 1
+{\let\par=\endgraf \smallbreak}%
+\ifhmode \errmessage{\in hmode at itemizeitem}\fi
+{\parskip=0in \hskip 0pt
+\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
+\vadjust{\penalty 300}}%
+\flushcr}
+
+\message{indexing,}
+% Index generation facilities
+
+% Define \newwrite to be identical to plain tex's \newwrite
+% except not \outer, so it can be used within \newindex.
+{\catcode`\@=11
+\gdef\newwrite{\alloc at 7\write\chardef\sixt@@n}}
+
+% \newindex {foo} defines an index named foo.
+% It automatically defines \fooindex such that
+% \fooindex ...rest of line... puts an entry in the index foo.
+% It also defines \fooindfile to be the number of the output channel for
+% the file that accumulates this index. The file's extension is foo.
+% The name of an index should be no more than 2 characters long
+% for the sake of vms.
+
+\def\newindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#1}}
+}
+
+% @defindex foo == \newindex{foo}
+
+\def\defindex{\parsearg\newindex}
+
+% Define @defcodeindex, like @defindex except put all entries in @code.
+
+\def\newcodeindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#1}}
+}
+
+\def\defcodeindex{\parsearg\newcodeindex}
+
+% @synindex foo bar makes index foo feed into index bar.
+% Do this instead of @defindex foo if you don't want it as a separate index.
+\def\synindex #1 #2 {%
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#2}}%
+}
+
+% @syncodeindex foo bar similar, but put all entries made for index foo
+% inside @code.
+\def\syncodeindex #1 #2 {%
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#2}}%
+}
+
+% Define \doindex, the driver for all \fooindex macros.
+% Argument #1 is generated by the calling \fooindex macro,
+% and it is "foo", the name of the index.
+
+% \doindex just uses \parsearg; it calls \doind for the actual work.
+% This is because \doind is more useful to call from other macros.
+
+% There is also \dosubind {index}{topic}{subtopic}
+% which makes an entry in a two-level index such as the operation index.
+
+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
+\def\singleindexer #1{\doind{\indexname}{#1}}
+
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+
+\def\indexdummies{%
+\def\bf{\realbackslash bf }%
+\def\rm{\realbackslash rm }%
+\def\sl{\realbackslash sl }%
+\def\dots{\realbackslash dots }%
+\def\copyright{\realbackslash copyright }%
+}
+
+% \indexnofonts no-ops all font-change commands.
+% This is used when outputting the strings to sort the index by.
+\def\indexdummyfont#1{#1}
+\def\indexnofonts{%
+\let\code=\indexdummyfont
+\let\samp=\indexdummyfont
+\let\kbd=\indexdummyfont
+\let\key=\indexdummyfont
+\let\var=\indexdummyfont
+}
+
+% To define \realbackslash, we must make \ not be an escape.
+% We must first make another character (@) an escape
+% so we do not become unable to do a definition.
+
+{\catcode`\@=0 \catcode`\\=\other
+ at gdef@realbackslash{\}}
+
+\let\indexbackslash=0 %overridden during \printindex.
+
+\def\doind #1#2{%
+{\indexdummies % Must do this here, since \bf, etc expand at this stage
+\count10=\lastpenalty %
+\escapechar=`\\%
+{\let\folio=0% Expand all macros now EXCEPT \folio
+\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
+% so it will be output as is; and it will print as backslash in the indx.
+%
+% Now process the index-string once, with all font commands turned off,
+% to get the string to sort the index by.
+{\indexnofonts
+\xdef\temp1{#2}%
+}%
+% Now produce the complete index entry. We process the index-string again,
+% this time with font commands expanded, to get what to print in the index.
+\edef\temp{%
+\write \csname#1indfile\endcsname{%
+\realbackslash entry {\temp1}{\folio}{#2}}}%
+\temp }%
+\penalty\count10}}
+
+\def\dosubind #1#2#3{%
+{\indexdummies % Must do this here, since \bf, etc expand at this stage
+\count10=\lastpenalty %
+\escapechar=`\\%
+{\let\folio=0%
+\def\rawbackslashxx{\indexbackslash}%
+%
+% Now process the index-string once, with all font commands turned off,
+% to get the string to sort the index by.
+{\indexnofonts
+\xdef\temp1{#2 #3}%
+}%
+% Now produce the complete index entry. We process the index-string again,
+% this time with font commands expanded, to get what to print in the index.
+\edef\temp{%
+\write \csname#1indfile\endcsname{%
+\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
+\temp }%
+\penalty\count10}}
+
+% The index entry written in the file actually looks like
+% \entry {sortstring}{page}{topic}
+% or
+% \entry {sortstring}{page}{topic}{subtopic}
+% The texindex program reads in these files and writes files
+% containing these kinds of lines:
+% \initial {c}
+% before the first topic whose initial is c
+% \entry {topic}{pagelist}
+% for a topic that is used without subtopics
+% \primary {topic}
+% for the beginning of a topic that is used with subtopics
+% \secondary {subtopic}{pagelist}
+% for each subtopic.
+
+% Define the user-accessible indexing commands
+% @findex, @vindex, @kindex, @cindex.
+
+\def\findex {\fnindex}
+\def\kindex {\kyindex}
+\def\cindex {\cpindex}
+\def\vindex {\vrindex}
+\def\tindex {\tpindex}
+\def\pindex {\pgindex}
+
+\def\cindexsub {\begingroup\obeylines\cindexsub}
+{\obeylines %
+\gdef\cindexsub "#1" #2^^M{\endgroup %
+\dosubind{cp}{#2}{#1}}}
+
+% Define the macros used in formatting output of the sorted index material.
+
+% This is what you call to cause a particular index to get printed.
+% Write
+% @unnumbered Function Index
+% @printindex fn
+
+\def\printindex{\parsearg\doprintindex}
+
+\def\doprintindex#1{\tex %
+\catcode`\%=\other\catcode`\&=\other\catcode`\#=\other
+\catcode`\$=\other\catcode`\_=\other
+\catcode`\~=\other
+\def\indexbackslash{\rawbackslashxx}
+\indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt
+\begindoublecolumns
+\openin 1 \jobname.#1s
+\ifeof 1 \else \closein 1 \input \jobname.#1s
+\fi
+\enddoublecolumns
+\Etex}
+
+% These macros are used by the sorted index file itself.
+% Change them to control the appearance of the index.
+
+% Same as \bigskipamount except no shrink.
+% \balancecolumns gets confused if there is any shrink.
+\newskip\initialskipamount \initialskipamount 12pt plus4pt
+
+\outer\def\initial #1{%
+{\let\tentt=\sectt \let\sf=\sectt
+\ifdim\lastskip<\initialskipamount
+\removelastskip \penalty-200 \vskip \initialskipamount\fi
+\line{\secbf#1\hfill}\kern 2pt\penalty3000}}
+
+\outer\def\entry #1#2{
+{\parfillskip=0in \parskip=0in \parindent=0in
+\hangindent=1in \hangafter=1%
+\noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll #2\par
+}}
+
+\def\primary #1{\line{#1\hfil}}
+
+\newskip\secondaryindent \secondaryindent=0.5cm
+
+\def\secondary #1#2{
+{\parfillskip=0in \parskip=0in
+\hangindent =1in \hangafter=1
+\noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par
+}}
+
+%% Define two-column mode, which is used in indexes.
+%% Adapted from the TeXBook, page 416
+\catcode `\@=11
+
+\newbox\partialpage
+
+\newdimen\doublecolumnhsize \doublecolumnhsize = 3.11in
+\newdimen\doublecolumnvsize \doublecolumnvsize = 19.1in
+
+\def\begindoublecolumns{\begingroup
+ \output={\global\setbox\partialpage=\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}\eject
+ \output={\doublecolumnout} \hsize=\doublecolumnhsize \vsize=\doublecolumnvsize}
+\def\enddoublecolumns{\output={\balancecolumns}\eject
+ \endgroup \pagegoal=\vsize}
+
+\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
+ \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
+ \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
+\def\pagesofar{\unvbox\partialpage %
+ \hsize=\doublecolumnhsize % have to restore this since output routine
+% changes it to set cropmarks (P. A. MacKay, 12 Nov. 1986)
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
+\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
+ \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
+ \divide\dimen@ by2 \splittopskip=\topskip
+ {\vbadness=10000 \loop \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen@
+ \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
+ \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox3}
+ \pagesofar}
+
+\catcode `\@=\other
+\message{sectioning,}
+% Define chapters, sections, etc.
+
+\newcount \chapno
+\newcount \secno
+\newcount \subsecno
+\newcount \subsubsecno
+
+% This counter is funny since it counts through charcodes of letters A, B, ...
+\newcount \appendixno \appendixno = `\@
+\def\appendixletter{\char\the\appendixno}
+
+\newwrite \contentsfile
+\openout \contentsfile = \jobname.toc
+
+% Each @chapter defines this as the name of the chapter.
+% page headings and footings can use it. @section does likewise
+
+\def\thischapter{} \def\thissection{}
+\def\seccheck#1{\if \pageno<0 %
+\errmessage{@#1 not allowed after generating table of contents}\fi
+%
+}
+
+\outer\def\chapter{\parsearg\chapterzzz}
+\def\chapterzzz #1{\seccheck{chapter}%
+\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \chapno by 1 \message{Chapter \the\chapno}%
+\chapmacro {#1}{\the\chapno}%
+\gdef\thissection{#1}\gdef\thischapter{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+}
+
+\outer\def\appendix{\parsearg\appendixzzz}
+\def\appendixzzz #1{\seccheck{appendix}%
+\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{Appendix \appendixletter}%
+\chapmacro {#1}{Appendix \appendixletter}%
+\gdef\thischapter{#1}\gdef\thissection{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash chapentry {#1}{Appendix \appendixletter}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+}
+
+\outer\def\unnumbered{\parsearg\unnumberedzzz}
+\def\unnumberedzzz #1{\seccheck{unnumbered}%
+\secno=0 \subsecno=0 \subsubsecno=0 \message{(#1)}
+\unnumbchapmacro {#1}%
+\gdef\thischapter{#1}\gdef\thissection{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+}
+
+\outer\def\section{\parsearg\sectionzzz}
+\def\sectionzzz #1{\seccheck{section}%
+\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
+\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash secentry %
+{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}
+
+\outer\def\appendixsection{\parsearg\appendixsectionzzz}
+\outer\def\appendixsec{\parsearg\appendixsectionzzz}
+\def\appendixsectionzzz #1{\seccheck{appendixsection}%
+\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
+\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash secentry %
+{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+\outer\def\unnumberedsec{\parsearg\unnumberedseczzz}
+\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
+\plainsecheading {#1}\gdef\thissection{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+\outer\def\subsection{\parsearg\subsectionzzz}
+\def\subsectionzzz #1{\seccheck{subsection}%
+\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
+\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash subsecentry %
+{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}
+
+\outer\def\appendixsubsec{\parsearg\appendixsubseczzz}
+\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
+\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
+\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash subsecentry %
+{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz}
+\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
+\plainsecheading {#1}\gdef\thissection{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+\outer\def\subsubsection{\parsearg\subsubsectionzzz}
+\def\subsubsectionzzz #1{\seccheck{subsubsection}%
+\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
+\subsubsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash subsubsecentry %
+{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}
+
+\outer\def\appendixsubsubsec{\parsearg\appendixsubsubseczzz}
+\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
+\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
+\subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash subsubsecentry{#1}%
+{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
+\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
+\plainsecheading {#1}\gdef\thissection{#1}%
+\let\rawbackslash=\relax%
+\let\frenchspacing=\relax%
+\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}
+
+% Define @majorheading, @heading and @subheading
+
+\outer\def\majorheading #1{%
+{\advance\chapheadingskip by 10pt \chapbreak }%
+{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
+
+\outer\def\chapheading #1{\chapbreak %
+{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
+
+\let\heading=\secheadingi
+\let\subheading=\subsecheadingi
+\let\subsubheading=\subsubsecheadingi
+
+% These macros generate a chapter, section, etc. heading only
+% (including whitespace, linebreaking, etc. around it),
+% given all the information in convenient, parsed form.
+
+%%% Args are the skip and penalty (usually negative)
+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+
+%%% Define plain chapter starts, and page on/off switching for it
+% Parameter controlling skip before chapter headings (if needed)
+
+\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt
+
+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
+\def\chappager{\par\vfill\supereject}
+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+
+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+
+\def\CHAPPAGoff{
+\global\let\pchapsepmacro=\chapbreak
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGon{
+\global\let\pchapsepmacro=\chappager
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGodd{
+\global\let\pchapsepmacro=\chapoddpage
+\global\let\pagealignmacro=\chapoddpage}
+
+\CHAPPAGon
+
+\def\CHAPFplain{
+\global\let\chapmacro=\chfplain
+\global\let\unnumbchapmacro=\unnchfplain}
+
+\def\chfplain #1#2{%
+\pchapsepmacro %
+{\chapfonts \line{\chaprm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 %
+}
+
+\def\unnchfplain #1{%
+\pchapsepmacro %
+{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
+}
+\CHAPFplain % The default
+
+\def\unnchfopen #1{%
+\chapoddpage {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
+}
+
+\def\chfopen #1#2{\chapoddpage {\chapfonts
+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
+\par\penalty 5000 %
+}
+
+\def\CHAPFopen{
+\global\let\chapmacro=\chfopen
+\global\let\unnumbchapmacro=\unnchfopen}
+
+% Parameter controlling skip before section headings.
+
+\newskip \subsecheadingskip \subsecheadingskip = 17pt plus 8pt minus 4pt
+\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
+
+\newskip \secheadingskip \secheadingskip = 21pt plus 8pt minus 4pt
+\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
+
+\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
+\def\plainsecheading #1{\secheadingi {#1}}
+\def\secheadingi #1{{\advance \secheadingskip by \parskip %
+\secheadingbreak}%
+{\secfonts \line{\secrm #1\hfill}}%
+\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
+
+\def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip %
+\subsecheadingbreak}%
+{\secfonts \line{\secrm#2.#3.#4\enspace #1\hfill}}%
+\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
+
+\def\subsubsecfonts{\subsecfonts} % Maybe this should change
+
+\def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip %
+\subsecheadingbreak}%
+{\secfonts \line{\secrm#2.#3.#4.#5\enspace #1\hfill}}%
+\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
+
+\message{toc printing,}
+
+\def\Dotsbox{\hbox to 1em{\hss.\hss}} % Used by index macros
+
+\def\finishcontents{%
+\ifnum\pageno>0 %
+\pagealignmacro %
+\immediate\closeout \contentsfile%
+\pageno=-1 % Request roman numbered pages
+\fi}
+
+\outer\def\contents{%
+\finishcontents %
+\unnumbchapmacro{Table of Contents}
+\def\thischapter{Table of Contents}
+{\catcode`\\=0
+\catcode`\{=1 % Set up to handle contents files properly
+\catcode`\}=2
+\catcode`\@=11
+\input \jobname.toc
+}
+\vfill \eject}
+
+\outer\def\summarycontents{%
+\finishcontents %
+\unnumbchapmacro{Summary Table of Contents}
+\def\thischapter{Summary Table of Contents}
+{\catcode`\\=0
+\catcode`\{=1 % Set up to handle contents files properly
+\catcode`\}=2
+\catcode`\@=11
+\def\smallbreak{}
+\def\secentry ##1##2##3##4{}
+\def\subsecentry ##1##2##3##4##5{}
+\def\subsubsecentry ##1##2##3##4##5##6{}
+\def\unnumbsecentry ##1##2{}
+\def\unnumbsubsecentry ##1##2{}
+\def\unnumbsubsubsecentry ##1##2{}
+\let\medbreak=\smallbreak
+\input \jobname.toc
+}
+\vfill \eject}
+
+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+
+% These macros generate individual entries in the table of contents
+% The first argument is the chapter or section name.
+% The last argument is the page number.
+% The arguments in between are the chapter number, section number, ...
+
+\def\chapentry #1#2#3{%
+\medbreak
+\line{#2.\space#1\leaders\hbox to 1em{\hss.\hss}\hfill #3}
+}
+
+\def\unnumbchapentry #1#2{%
+\medbreak
+\line{#1\leaders\Dotsbox\hfill #2}
+}
+
+\def\secentry #1#2#3#4{%
+\line{\enspace\enspace#2.#3\space#1\leaders\Dotsbox\hfill#4}
+}
+
+\def\unnumbsecentry #1#2{%
+\line{\enspace\enspace#1\leaders\Dotsbox\hfill #2}
+}
+
+\def\subsecentry #1#2#3#4#5{%
+\line{\enspace\enspace\enspace\enspace
+#2.#3.#4\space#1\leaders\Dotsbox\hfill #5}
+}
+
+\def\unnumbsubsecentry #1#2{%
+\line{\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
+}
+
+\def\subsubsecentry #1#2#3#4#5#6{%
+\line{\enspace\enspace\enspace\enspace\enspace\enspace
+#2.#3.#4.#5\space#1\leaders\Dotsbox\hfill #6}
+}
+
+\def\unnumbsubsubsecentry #1#2{%
+\line{\enspace\enspace\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
+}
+
+\message{environments,}
+
+% @tex ... @end tex escapes into raw Tex temporarily.
+% One exception: @ is still an escape character, so that @end tex works.
+% But \@ or @@ will get a plain tex @ character.
+
+\def\tex{\begingroup
+\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
+\catcode `\%=14
+\catcode`\"=12
+\catcode`\|=12
+\catcode`\<=12
+\catcode`\>=12
+\escapechar=`\\
+%
+\let\{=\ptexlbrace
+\let\}=\ptexrbrace
+\let\.=\ptexdot
+\let\*=\ptexstar
+\def\@={@}%
+\let\bullet=\ptexbullet
+\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl
+\let\L=\ptexL
+%
+\let\Etex=\endgroup}
+
+% Define @lisp ... @endlisp.
+% @lisp does a \begingroup so it can rebind things,
+% including the definition of @endlisp (which normally is erroneous).
+
+% Amount to narrow the margins by for @lisp.
+\newskip\lispnarrowing \lispnarrowing=0.4in
+
+% This is the definition that ^M gets inside @lisp
+% phr: changed space to \null, to avoid overfull hbox problems.
+{\obeyspaces%
+\gdef\lisppar{\null\endgraf}}
+
+% Cause \obeyspaces to make each Space cause a word-separation
+% rather than the default which is that it acts punctuation.
+% This is because space in tt font looks funny.
+{\obeyspaces %
+\gdef\sepspaces{\def {\ }}}
+
+\newskip\aboveenvskipamount \aboveenvskipamount= 0pt
+\def\aboveenvbreak{{\advance\aboveenvskipamount by \parskip
+\endgraf \ifdim\lastskip<\aboveenvskipamount
+\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}}
+
+\def\afterenvbreak{\endgraf \ifdim\lastskip<\aboveenvskipamount
+\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}
+
+\def\lisp{\aboveenvbreak\begingroup\inENV %This group ends at the end of the @lisp body
+\hfuzz=12truept % Don't be fussy
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+% Single space lines
+\singlespace %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+\let\par=\lisppar
+\def\Elisp{\endgroup\afterenvbreak}%
+\parskip=0pt \advance \rightskip by \lispnarrowing
+\advance \leftskip by \lispnarrowing
+\parindent=0pt
+\let\exdent=\internalexdent
+\obeyspaces \obeylines \tt \rawbackslash
+\def\next##1{}\next}
+
+
+\let\example=\lisp
+\def\Eexample{\Elisp}
+
+\let\smallexample=\lisp
+\def\Esmallexample{\Elisp}
+
+% Macro for 9 pt. examples, necessary to print with 5" lines.
+% From Pavel at xerox. This is not really used unless the
+% @smallbook command is given.
+
+\def\smalllispx{\aboveenvbreak\begingroup\inENV
+% This group ends at the end of the @lisp body
+\hfuzz=12truept % Don't be fussy
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+% Single space lines
+\singlespace %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+\let\par=\lisppar
+\def\Esmalllisp{\endgroup\afterenvbreak}%
+\parskip=0pt \advance \rightskip by \lispnarrowing
+\advance \leftskip by \lispnarrowing
+\parindent=0pt
+\let\exdent=\internalexdent
+\obeyspaces \obeylines \ninett \rawbackslash
+\def\next##1{}\next}
+
+% This is @display; same as @lisp except use roman font.
+
+\def\display{\begingroup\inENV %This group ends at the end of the @display body
+\aboveenvbreak
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+% Single space lines
+\singlespace %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+\let\par=\lisppar
+\def\Edisplay{\endgroup\afterenvbreak}%
+\parskip=0pt \advance \rightskip by \lispnarrowing
+\advance \leftskip by \lispnarrowing
+\parindent=0pt
+\let\exdent=\internalexdent
+\obeyspaces \obeylines
+\def\next##1{}\next}
+
+% This is @format; same as @lisp except use roman font and don't narrow margins
+
+\def\format{\begingroup\inENV %This group ends at the end of the @format body
+\aboveenvbreak
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+\singlespace %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+\let\par=\lisppar
+\def\Eformat{\endgroup\afterenvbreak}
+\parskip=0pt \parindent=0pt
+\obeyspaces \obeylines
+\def\next##1{}\next}
+
+% @flushleft and @flushright
+
+\def\flushleft{\begingroup\inENV %This group ends at the end of the @format body
+\aboveenvbreak
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+% This also causes @ to work when the directive name
+% is terminated by end of line.
+\let\par=\lisppar
+\def\Eflushleft{\endgroup\afterenvbreak}%
+\parskip=0pt \parindent=0pt
+\obeyspaces \obeylines
+\def\next##1{}\next}
+
+\def\flushright{\begingroup\inENV %This group ends at the end of the @format body
+\aboveenvbreak
+% Make spaces be word-separators rather than space tokens.
+\sepspaces %
+% The following causes blank lines not to be ignored
+% by adding a space to the end of each line.
+% This also causes @ to work when the directive name
+% is terminated by end of line.
+\let\par=\lisppar
+\def\Eflushright{\endgroup\afterenvbreak}%
+\parskip=0pt \parindent=0pt
+\advance \leftskip by 0pt plus 1fill
+\obeyspaces \obeylines
+\def\next##1{}\next}
+
+% @quotation - narrow the margins.
+
+\def\quotation{\begingroup\inENV %This group ends at the end of the @quotation body
+{\parskip=0pt % because we will skip by \parskip too, later
+\aboveenvbreak}%
+\singlespace
+\parindent=0pt
+\def\Equotation{\par\endgroup\afterenvbreak}%
+\advance \rightskip by \lispnarrowing
+\advance \leftskip by \lispnarrowing}
+
+\message{defuns,}
+% Define formatter for defuns
+% First, allow user to change definition object font (\df) internally
+\def\setdeffont #1 {\csname DEF#1\endcsname}
+
+\newskip\defbodyindent \defbodyindent=36pt
+\newskip\defargsindent \defargsindent=50pt
+\newskip\deftypemargin \deftypemargin=12pt
+\newskip\deflastargmargin \deflastargmargin=18pt
+
+\newcount\parencount
+% define \functionparens, which makes ( and ) and & do special things.
+% \functionparens affects the group it is contained in.
+\def\activeparens{%
+\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
+\catcode`\[=\active \catcode`\]=\active}
+{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
+\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
+\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+
+% Definitions of (, ) and & used in args for functions.
+% This is the definition of ( outside of all parentheses.
+\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested %
+\global\advance\parencount by 1 }
+%
+% This is the definition of ( when already inside a level of parens.
+\gdef\opnested{\char`\(\global\advance\parencount by 1 }
+%
+\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
+% also in that case restore the outer-level definition of (.
+\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
+\global\advance \parencount by -1 }
+% If we encounter &foo, then turn on ()-hacking afterwards
+\gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ }
+%
+\gdef\normalparens{\boldbrax\let&=\ampnr}
+} % End of definition inside \activeparens
+%% These parens (in \boldbrax) actually are a little bolder than the
+%% contained text. This is especially needed for [ and ]
+\def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&}
+\def\lbrb{{\tt\char`\[}} \def\rbrb{{\tt\char`\]}}
+
+% First, defname, which formats the header line itself.
+% #1 should be the function name.
+% #2 should be the type of definition, such as "Function".
+
+\def\defname #1#2{%
+\leftskip = 0in %
+\noindent %
+\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
+\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
+\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
+\parshape 2 0in \dimen0 \defargsindent \dimen1 %
+% Now output arg 2 ("Function" or some such)
+% ending at \deftypemargin from the right margin,
+% but stuck inside a box of width 0 so it does not interfere with linebreaking
+\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}%
+\tolerance=10000 \hbadness=10000 % Make all lines underfull and no complaints
+{\df #1}\enskip % Generate function name
+}
+
+% Actually process the body of a definition
+% #1 should be the terminating control sequence, such as \Edefun.
+% #2 should be the "another name" control sequence, such as \defunx.
+% #3 should be the control sequence that actually processes the header,
+% such as \defunheader.
+
+\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
+\parindent=0in \leftskip=\defbodyindent %
+\begingroup\obeylines\activeparens\spacesplit#3}
+
+\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
+\medbreak %
+% Define the end token that this defining construct specifies
+% so that it will exit this group.
+\def#1{\endgraf\endgroup\medbreak}%
+\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
+\parindent=0in \leftskip=\defbodyindent %
+\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
+
+% Split up #2 at the first space token.
+% call #1 with two arguments:
+% the first is all of #2 before the space token,
+% the second is all of #2 after that space token.
+% If #2 contains no space token, all of it is passed as the first arg
+% and the second is passed as empty.
+
+{\obeylines
+\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
+\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
+\ifx\relax #3%
+#1{#2}{}\else #1{#2}{#3#4}\fi}}
+
+% So much for the things common to all kinds of definitions.
+
+% Define @defun.
+
+% First, define the processing that is wanted for arguments of \defun
+% Use this to expand the args and terminate the paragraph they make up
+
+\def\defunargs #1{\functionparens \sl #1%
+\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi%
+\interlinepenalty=10000
+\endgraf\vskip -\parskip \penalty 10000}
+
+% Do complete processing of one @defun or @defunx line already parsed.
+
+% @deffn Command forward-char nchars
+
+\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
+
+\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
+\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup}
+
+% @defun == @deffn Function
+
+\def\defun{\defparsebody\Edefun\defunx\defunheader}
+
+\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{Function}%
+\defunargs {#2}\endgroup %
+}
+
+% @defmac == @deffn Macro
+
+\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
+
+\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{Macro}%
+\defunargs {#2}\endgroup %
+}
+
+% @defspec == @deffn Special Form
+
+\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
+
+\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
+\begingroup\defname {#1}{Special form}%
+\defunargs {#2}\endgroup %
+}
+
+% This definition is run if you use @defunx
+% anywhere other than immediately after a @defun or @defunx.
+
+\def\deffnx #1 {\errmessage{@deffnx in invalid context}}
+\def\defunx #1 {\errmessage{@defunx in invalid context}}
+\def\defmacx #1 {\errmessage{@defmacx in invalid context}}
+\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
+
+% @defmethod, and so on
+
+% @defop {Funny Method} foo-class frobnicate argument
+
+\def\defop #1 {\def\defoptype{#1}%
+\defmethparsebody\Edefop\defopx\defopheader}
+
+\def\defopheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
+\begingroup\defname {#2}{\defoptype{} on #1}%
+\defunargs {#3}\endgroup %
+}
+
+% @defmethod == @defop Method
+
+\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
+
+\def\defmethodheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% entry in function index
+\begingroup\defname {#2}{Operation on #1}%
+\defunargs {#3}\endgroup %
+}
+
+% @defcv {Class Option} foo-class foo-flag
+
+\def\defcv #1 {\def\defcvtype{#1}%
+\defmethparsebody\Edefcv\defcvx\defcvheader}
+
+\def\defcvarheader #1#2#3{%
+\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
+\begingroup\defname {#2}{\defcvtype of #1}%
+\defvarargs {#3}\endgroup %
+}
+
+% @defivar == @defcv {Instance Variable}
+
+\def\defivar{\defmethparsebody\Edefivar\defivarx\defivarheader}
+
+\def\defivarheader #1#2#3{%
+\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
+\begingroup\defname {#2}{Instance variable of #1}%
+\defvarargs {#3}\endgroup %
+}
+
+% These definitions are run if you use @defmethodx, etc.,
+% anywhere other than immediately after a @defmethod, etc.
+
+\def\defopx #1 {\errmessage{@defopx in invalid context}}
+\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}}
+\def\defcvx #1 {\errmessage{@defcvx in invalid context}}
+\def\defivarx #1 {\errmessage{@defivarx in invalid context}}
+
+% Now @defvar
+
+% First, define the processing that is wanted for arguments of @defvar.
+% This is actually simple: just print them in roman.
+% This must expand the args and terminate the paragraph they make up
+\def\defvarargs #1{\normalparens #1%
+\interlinepenalty=10000
+\endgraf\vskip -\parskip \penalty 10000}
+
+% @defvr Counter foo-count
+
+\def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader}
+
+\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
+\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
+
+% @defvar == @defvr Variable
+
+\def\defvar{\defparsebody\Edefvar\defvarx\defvarheader}
+
+\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
+\begingroup\defname {#1}{Variable}%
+\defvarargs {#2}\endgroup %
+}
+
+% @defopt == @defvr {User Option}
+
+\def\defopt{\defparsebody\Edefopt\defoptx\defoptheader}
+
+\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
+\begingroup\defname {#1}{User Option}%
+\defvarargs {#2}\endgroup %
+}
+
+% This definition is run if you use @defvarx
+% anywhere other than immediately after a @defvar or @defvarx.
+
+\def\defvrx #1 {\errmessage{@defvrx in invalid context}}
+\def\defvarx #1 {\errmessage{@defvarx in invalid context}}
+\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
+
+% Now define @deftp
+% Args are printed in bold, a slight difference from @defvar.
+
+\def\deftpargs #1{\bf \defvarargs{#1}}
+
+% @deftp Class window height width ...
+
+\def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader}
+
+\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
+\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
+
+% This definition is run if you use @deftpx, etc
+% anywhere other than immediately after a @deftp, etc.
+
+\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
+
+\message{cross reference,}
+% Define cross-reference macros
+\newwrite \auxfile
+
+% \setref{foo} defines a cross-reference point named foo.
+
+\def\setref#1{%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ysectionnumberandtype}}
+
+\def\unnumbsetref#1{%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ynothing}}
+
+% \xref and \pxref generate cross references to specified points.
+
+\def\pxref #1{see \xrefX [#1,,,,,,,]}
+\def\xref #1{See \xrefX [#1,,,,,,,]}
+\def\xrefX [#1,#2,#3,#4,#5,#6]{%
+\setbox1=\hbox{\i{\losespace#5{}}}%
+\setbox0=\hbox{\losespace#3{}}%
+\ifdim \wd0 =0pt \setbox0=\hbox{\losespace#1{}}\fi%
+\ifdim \wd1 >0pt%
+section \unhbox0{} in \unhbox1%
+\else%
+\refx{#1-snt} [\unhbox0], page\tie \refx{#1-pg}%
+\fi }
+
+% \dosetq is the interface for calls from other macros
+
+\def\dosetq #1#2{{\let\folio=0%
+\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
+\next}}
+
+% \internalsetq {foo}{page} expands into CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
+% When the aux file is read, ' is the escape character
+
+\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
+
+% Things to be expanded by \internalsetq
+
+\def\Ypagenumber{\folio}
+
+\def\Ynothing{}
+
+\def\Ysectionnumberandtype{%
+\ifnum\secno=0 chapter\xreftie\the\chapno %
+\else \ifnum \subsecno=0 section\xreftie\the\chapno.\the\secno %
+\else \ifnum \subsubsecno=0 %
+section\xreftie\the\chapno.\the\secno.\the\subsecno %
+\else %
+section\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
+\fi \fi \fi }
+
+\gdef\xreftie{'tie}
+
+% Define @refx to reference a specific cross-reference string.
+
+\def\refx#1{%
+{%
+\expandafter\ifx\csname X#1\endcsname\relax
+% If not defined, say something at least.
+\expandafter\gdef\csname X#1\endcsname {$<$undefined$>$}%
+\message {WARNING: Cross-reference "#1" used but not yet defined}%
+\message {}%
+\fi %
+\csname X#1\endcsname %It's defined, so just use it.
+}}
+
+% Read the last existing aux file, if any. No error if none exists.
+
+% This is the macro invoked by entries in the aux file.
+\def\xrdef #1#2{
+{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
+
+{
+\catcode `\^^@=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\^^C=\other
+\catcode `\^^D=\other
+\catcode `\^^E=\other
+\catcode `\^^F=\other
+\catcode `\^^G=\other
+\catcode `\^^H=\other
+\catcode `\=\other
+\catcode `\^^L=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\=\other
+\catcode `\^^[=\other
+\catcode `\^^\=\other
+\catcode `\^^]=\other
+\catcode `\^^^=\other
+\catcode `\^^_=\other
+\catcode `\@=\other
+\catcode `\^=\other
+\catcode `\~=\other
+\catcode `\[=\other
+\catcode `\]=\other
+\catcode`\"=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode `\$=\other
+\catcode `\#=\other
+\catcode `\&=\other
+
+% the aux file uses ' as the escape.
+% Turn off \ as an escape so we do not lose on
+% entries which were dumped with control sequences in their names.
+% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
+% Reference to such entries still does not work the way one would wish,
+% but at least they do not bomb out when the aux file is read in.
+
+\catcode `\{=1 \catcode `\}=2
+\catcode `\%=\other
+\catcode `\'=0
+\catcode `\\=\other
+
+'openin 1 'jobname.aux
+'ifeof 1 'else 'closein 1 'input 'jobname.aux
+'fi
+}
+
+% Open the new aux file. Tex will close it automatically at exit.
+
+\openout \auxfile=\jobname.aux
+
+% Footnotes.
+
+\newcount \footnoteno
+
+\def\supereject{\par\penalty -20000\footnoteno =0 }
+
+\let\ptexfootnote=\footnote
+
+{\catcode `\@=11
+\gdef\footnote{\global\advance \footnoteno by \@ne
+\edef\thisfootno{$^{\the\footnoteno}$}%
+\let\@sf\empty
+\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
+\thisfootno\@sf\parsearg\footnotezzz}
+
+\gdef\footnotezzz #1{\insert\footins{
+\interlinepenalty\interfootnotelinepenalty
+\splittopskip\ht\strutbox % top baseline for broken footnotes
+\splitmaxdepth\dp\strutbox \floatingpenalty\@MM
+\leftskip\z at skip \rightskip\z at skip \spaceskip\z at skip \xspaceskip\z at skip
+\footstrut\hang\textindent{\thisfootno}#1\strut}}
+
+}%end \catcode `\@=11
+
+% End of control word definitions.
+
+\message{and turning on texinfo input format.}
+
+\newindex{cp}
+\newcodeindex{fn}
+\newcodeindex{vr}
+\newcodeindex{tp}
+\newcodeindex{ky}
+\newcodeindex{pg}
+
+% Set some numeric style parameters, for 8.5 x 11 format.
+
+\hsize = 6.5in
+\parindent 15pt
+\parskip 18pt plus 1pt
+\baselineskip 15pt
+\advance\topskip by 1.2cm
+
+% Prevent underfull vbox error messages.
+\vbadness=10000
+
+% Use @smallbook to reset parameters for 7x9.5 format
+\def\smallbook{
+\global\lispnarrowing = 0.3in
+\global\baselineskip 12pt
+\global\parskip 3pt plus 1pt
+\global\hsize = 5in
+\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in
+\global\vsize=7.5in
+\global\tolerance=700
+\global\hfuzz=1pt
+
+\global\pagewidth=\hsize
+\global\pageheight=\vsize
+\global\font\ninett=cmtt9
+
+\global\let\smalllisp=\smalllispx
+\global\let\smallexample=\smalllispx
+\global\def\Esmallexample{\Esmalllisp}
+}
+
+%% For a final copy, take out the rectangles
+%% that mark overfull boxes (in case you have decided
+%% that the text looks ok even though it passes the margin).
+\def\finalout{\overfullrule=0pt}
+
+% Turn off all special characters except @
+% (and those which the user can use as if they were ordinary)
+% Define certain chars to be always in tt font.
+
+\catcode`\"=\active
+\def\activedoublequote{{\tt \char '042}}
+\let"=\activedoublequote
+\catcode`\~=\active
+\def~{{\tt \char '176}}
+\chardef\hat=`\^
+\catcode`\^=\active
+\def^{{\tt \hat}}
+\catcode`\_=\active
+\def_{{\tt \char '137}}
+\catcode`\|=\active
+\def|{{\tt \char '174}}
+\chardef \less=`\<
+\catcode`\<=\active
+\def<{{\tt \less}}
+\chardef \gtr=`\>
+\catcode`\>=\active
+\def>{{\tt \gtr}}
+
+\catcode`\@=0
+
+% \rawbackslashxx output one backslash character in current font
+{\catcode`\\=\other
+ at gdef@rawbackslashxx{\}}
+
+% \rawbackslash redefines \ as input to do \rawbackslashxx.
+{\catcode`\\=\active
+ at gdef@rawbackslash{@let\=@rawbackslashxx }}
+
+% \normalbackslash outputs one backslash in fixed width font.
+\def\normalbackslash{{\tt\rawbackslashxx}}
+
+% Say @foo, not \foo, in error messages.
+\escapechar=`\@
+
+%% These look ok in all fonts, so just make them not special. The @rm below
+%% makes sure that the current font starts out as the newly loaded cmr10
+\catcode`\$=\other \catcode`\%=\other \catcode`\&=\other \catcode`\#=\other
+
+\catcode 17=0 @c Define control-q
+\catcode`\\=\active
+ at let\=@normalbackslash
+
+ at textfonts
+ at rm
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.guess
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.guess?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.guess (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.guess Mon Feb 9 12:49:22 2009
@@ -1,8 +1,11 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
-#
+
+timestamp='2008-01-23'
+
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
@@ -15,44 +18,118 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# Written by Per Bothner <bothner at cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-# Please send patches to <autoconf-patches at gnu.org>.
+
+# Originally written by Per Bothner <per at bothner.com>.
+# Please send patches to <config-patches at gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
- if test x"$HOST_CC" != x; then
- CC_FOR_BUILD="$HOST_CC"
- else
- if test x"$CC" != x; then
- CC_FOR_BUILD="$CC"
- else
- CC_FOR_BUILD=cc
- fi
- fi
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
fi
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi at noc.rutgers.edu 8/24/94.)
+# (ghazi at noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
@@ -62,112 +139,173 @@
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
+ case $UNAME_RELEASE in
+ *4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- cat <<EOF >$dummy.s
- .globl main
- .ent main
-main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
- fi
- rm -f $dummy.s $dummy
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
- exit 0 ;;
+ exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
- exit 0 ;;
+ exit ;;
Amiga*:UNIX_System_V:4.0:*)
- echo m68k-cbm-sysv4
- exit 0;;
- amiga:NetBSD:*:*)
- echo m68k-cbm-netbsd${UNAME_RELEASE}
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ echo m68k-unknown-sysv4
+ exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- arc64:OpenBSD:*:*)
- echo mips64el-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hkmips:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
- exit 0 ;;
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- arm32:NetBSD:*:*)
- echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- SR2?01:HI-UX/MPP:*:*)
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
+ exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -175,25 +313,32 @@
else
echo pyramid-pyramid-bsd
fi
- exit 0 ;;
+ exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
- exit 0 ;;
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
@@ -202,12 +347,12 @@
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
+ exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
@@ -217,16 +362,10 @@
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
- exit 0 ;;
+ exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- atari*:NetBSD:*:*)
- echo m68k-atari-netbsd${UNAME_RELEASE}
- exit 0 ;;
- atari*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -237,61 +376,45 @@
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
- sun3*:NetBSD:*:*)
- echo m68k-sun-netbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:NetBSD:*:*)
- echo m68k-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- macppc:NetBSD:*:*)
- echo powerpc-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
- exit 0 ;;
+ exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
@@ -310,28 +433,37 @@
exit (-1);
}
EOF
- $CC_FOR_BUILD $dummy.c -o $dummy \
- && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
- exit 0 ;;
+ exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
- exit 0 ;;
+ exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
- exit 0 ;;
+ exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110]
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
@@ -343,31 +475,40 @@
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
- exit 0 ;;
+ exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
- exit 0 ;;
+ exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
- exit 0 ;;
+ exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
- exit 0 ;;
+ exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
+ exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i?86:AIX:*:*)
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
echo i386-ibm-aix
- exit 0 ;;
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <sys/systemcfg.h>
@@ -379,18 +520,21 @@
exit(0);
}
EOF
- $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
echo rs6000-ibm-aix3.2.5
+ fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
- exit 0 ;;
- *:AIX:*:4)
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
- if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+ exit ;;
+ *:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
@@ -398,37 +542,56 @@
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV=4.${UNAME_RELEASE}
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
+ exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
- exit 0 ;;
+ exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
+ exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
- exit 0 ;;
+ exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
- exit 0 ;;
+ exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
- exit 0 ;;
+ exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
- exit 0 ;;
+ exit ;;
9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
#include <stdlib.h>
#include <unistd.h>
@@ -459,13 +622,39 @@
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=
3D`./$dummy`
- rm -f $dummy.c $dummy
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
3050*:HI-UX:*:*)
+ eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include <unistd.h>
int
@@ -491,434 +680,491 @@
exit (0);
}
EOF
- $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
- exit 0 ;;
+ exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
- exit 0 ;;
+ exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
- exit 0 ;;
- *9??*:MPE/iX:*:*)
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
- exit 0 ;;
+ exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
- exit 0 ;;
+ exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
- exit 0 ;;
- i?86:OSF1:*:*)
+ exit ;;
+ i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
- exit 0 ;;
+ exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
- exit 0 ;;
- hppa*:OpenBSD:*:*)
- echo hppa-unknown-openbsd
- exit 0 ;;
+ exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit 0 ;;
- CRAY*X-MP:*:*:*)
- echo xmp-cray-unicos
- exit 0 ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- exit 0 ;;
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
CRAY*T3E:*:*:*)
- echo alpha-cray-unicosmk${UNAME_RELEASE}
- exit 0 ;;
- CRAY-2:*:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
- F300:UNIX_System_V:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- F301:UNIX_System_V:*:*)
- echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
- exit 0 ;;
- hp3[0-9][05]:NetBSD:*:*)
- echo m68k-hp-netbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:FreeBSD:*:*)
- if test -x /usr/bin/objformat; then
- if test "elf" = "`/usr/bin/objformat`"; then
- echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
- exit 0
- fi
- fi
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
- *:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
+ case ${UNAME_MACHINE} in
+ pc98)
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
+ exit ;;
+ *:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:[3456]*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ EM64T | authenticamd)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
- echo i386-pc-interix
- exit 0 ;;
+ echo i586-pc-interix
+ exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
- exit 0 ;;
+ exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
*:GNU:*:*)
+ # the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- *:Linux:*:*)
-
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^CPU/{
+ s: ::g
+ p
+ }'`"
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
- ld_help_string=`cd /; ld --help 2>&1`
- ld_supported_emulations=`echo $ld_help_string \
- | sed -ne '/supported emulations:/!d
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
s/[ ][ ]*/ /g
- s/.*supported emulations: *//
+ s/.*supported targets: *//
s/ .*//
p'`
- case "$ld_supported_emulations" in
- *ia64)
- echo "${UNAME_MACHINE}-unknown-linux"
- exit 0
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
;;
- i?86linux)
+ a.out-i386-linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0
- ;;
- i?86coff)
+ exit ;;
+ coff-i386)
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0
- ;;
- sparclinux)
- echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
- exit 0
- ;;
- armlinux)
- echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
- exit 0
- ;;
- elf32arm*)
- echo "${UNAME_MACHINE}-unknown-linux-gnu"
- exit 0
- ;;
- armelf_linux*)
- echo "${UNAME_MACHINE}-unknown-linux-gnu"
- exit 0
- ;;
- m68klinux)
- echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
- exit 0
- ;;
- elf32ppc)
- # Determine Lib Version
- cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
- int argc;
- char *argv[];
-{
-#if defined(__GLIBC__)
- printf("%s %s\n", __libc_version, __libc_release);
-#else
- printf("unkown\n");
-#endif
- return 0;
-}
-EOF
- LIBC=""
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy | grep 1\.99 > /dev/null
- if test "$?" = 0 ; then
- LIBC="libc1"
- fi
- fi
- rm -f $dummy.c $dummy
- echo powerpc-unknown-linux-gnu${LIBC}
- exit 0
- ;;
- esac
-
- if test "${UNAME_MACHINE}" = "alpha" ; then
- sed 's/^ //' <<EOF >$dummy.s
- .globl main
- .ent main
- main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- LIBC=""
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
-
- objdump --private-headers $dummy | \
- grep ld.so.1 > /dev/null
- if test "$?" = 0 ; then
- LIBC="libc1"
- fi
- fi
- rm -f $dummy.s $dummy
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
- elif test "${UNAME_MACHINE}" = "mips" ; then
- cat >$dummy.c <<EOF
-#ifdef __cplusplus
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
- printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
- printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
- return 0;
-}
-EOF
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- else
- # Either a pre-BFD a.out linker (linux-gnuoldld)
- # or one that does not give us useful --help.
- # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
- # If ld does not provide *any* "supported emulations:"
- # that means it is gnuoldld.
- echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
- test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
- case "${UNAME_MACHINE}" in
- i?86)
- VENDOR=pc;
- ;;
- *)
- VENDOR=unknown;
- ;;
+ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit ;;
esac
# Determine whether the default compiler is a.out or elf
- cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-# if __GLIBC__ >= 2
- printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
- printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
- return 0;
-}
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
EOF
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
-# are messed up and put the nodename in both sysname and nodename.
- i?86:DYNIX/ptx:4*:*)
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+ /^LIBC/{
+ s: ::g
+ p
+ }'`"
+ test x"${LIBC}" != x && {
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit
+ }
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
echo i386-sequent-sysv4
- exit 0 ;;
- i?86:UNIX_SV:4.2MP:2.*)
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
- exit 0 ;;
- i?86:*:5:7*)
- # Fixed at (any) Pentium or better
- UNAME_MACHINE=i586
- if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
- echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- i?86:*:3.2:*)
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
- (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
- (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
- exit 0 ;;
+ exit ;;
pc:*:*:*)
+ # Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
echo i386-pc-msdosdjgpp
- exit 0 ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
- exit 0 ;;
+ exit ;;
paragon:*:*:*)
echo i860-intel-osf1
- exit 0 ;;
+ exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
- exit 0 ;;
+ exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:*)
+ && { echo i486-ncr-sysv4; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
- exit 0 ;;
- i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+ exit ;;
+ rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
- exit 0 ;;
+ exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -926,62 +1172,164 @@
else
echo ns32k-sni-sysv
fi
- exit 0 ;;
- PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel at ccMail.Census.GOV>
echo i586-unisys-sysv4
- exit 0 ;;
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes at openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
- exit 0 ;;
+ exit ;;
*:*:*:FTX*)
# From seanf at swdc.stratus.com.
echo i860-stratus-sysv4
- exit 0 ;;
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green at stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green at stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
- news*:NEWS-OS:*:6*)
+ exit ;;
+ news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
- exit 0 ;;
+ exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit 0 ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
- exit 0 ;;
+ exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
- exit 0 ;;
+ exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
- exit 0 ;;
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
*:QNX:*:4*)
- echo i386-qnx-qnx${UNAME_VERSION}
- exit 0 ;;
+ echo i386-pc-qnx
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+eval $set_cc_for_build
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
@@ -1007,7 +1355,7 @@
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
+ printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
@@ -1068,11 +1416,24 @@
#endif
#if defined (vax)
-#if !defined (ultrix)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
printf ("vax-dec-bsd\n"); exit (0);
-#else
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
printf ("vax-dec-ultrix\n"); exit (0);
-#endif
+# endif
#endif
#if defined (alliant) && defined (i860)
@@ -1083,12 +1444,12 @@
}
EOF
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
@@ -1097,25 +1458,69 @@
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
- exit 0 ;;
+ exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit 0 ;;
+ exit ;;
c34*)
echo c34-convex-bsd
- exit 0 ;;
+ exit ;;
c38*)
echo c38-convex-bsd
- exit 0 ;;
+ exit ;;
c4*)
echo c4-convex-bsd
- exit 0 ;;
+ exit ;;
esac
fi
-#echo '(Unable to guess system type)' 1>&2
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.h.in
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.h.in?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.h.in (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.h.in Mon Feb 9 12:49:22 2009
@@ -1,9 +1,8 @@
/* config.h.in. Generated from configure.in by autoheader. */
-/* $Id: configure.in,v 1.297 2006/11/30 17:11:16 murch Exp $ */
/*
- * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -19,14 +18,15 @@
*
* 3. The name "Carnegie Mellon University" must not be used to
* endorse or promote products derived from this software without
- * prior written permission. For permission or any other legal
+ * prior written permission. For permission or any legal
* details, please contact
- * Office of Technology Transfer
* Carnegie Mellon University
- * 5000 Forbes Avenue
- * Pittsburgh, PA 15213-3890
- * (412) 268-4387, fax: (412) 268-7395
- * tech-transfer at andrew.cmu.edu
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
@@ -40,6 +40,8 @@
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: configure.in,v 1.308 2008/10/08 23:28:58 murch Exp $
*/
#ifndef _CYRUS_IMAPD_CONFIG_H_
@@ -61,7 +63,7 @@
/* Enable the LISTEXT extension? */
#undef ENABLE_LISTEXT
-/* Do we have a decent regex library? */
+/* Do we have a regex library? */
#undef ENABLE_REGEX
/* Enable Netscape Menu Option Hack? */
@@ -84,6 +86,10 @@
/* Define to 1 if you have the `daemon' function. */
#undef HAVE_DAEMON
+
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+ */
+#undef HAVE_DECL_TZNAME
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
@@ -113,6 +119,9 @@
/* Define to 1 if you have the `getdtablesize' function. */
#undef HAVE_GETDTABLESIZE
+/* Define to 1 if you have the `getgrouplist' function. */
+#undef HAVE_GETGROUPLIST
+
/* Do we have a getnameinfo? */
#undef HAVE_GETNAMEINFO
@@ -165,17 +174,26 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Do we have MySQL support? */
+#undef HAVE_MYSQL
+
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Do we have Net-SNMP support? */
#undef HAVE_NETSNMP
+/* Define to 1 if you have the <pcreposix.h> header file. */
+#undef HAVE_PCREPOSIX_H
+
+/* Do we have Postgres support? */
+#undef HAVE_PGSQL
+
/* Do we have an rlim_t? */
#undef HAVE_RLIM_T
-/* Do we have rxposix.h? */
-#undef HAVE_RX
+/* Define to 1 if you have the <rxposix.h> header file. */
+#undef HAVE_RXPOSIX_H
/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT
@@ -191,6 +209,9 @@
/* Do we have a socklen_t? */
#undef HAVE_SOCKLEN_T
+
+/* Do we have SQLite support? */
+#undef HAVE_SQLITE
/* Build with SSL support? */
#undef HAVE_SSL
@@ -316,13 +337,22 @@
/* Directiory to use for service binaries */
#undef SERVICE_PATH
-/* The size of a `long', as computed by sizeof. */
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
-/* The size of a `long long int', as computed by sizeof. */
+/* The size of `long long int', as computed by sizeof. */
#undef SIZEOF_LONG_LONG_INT
-/* The size of a `unsigned long long int', as computed by sizeof. */
+/* The size of `off_t', as computed by sizeof. */
+#undef SIZEOF_OFF_T
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* The size of `unsigned long long int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG_LONG_INT
/* Do we already have setproctitle? */
@@ -482,6 +512,27 @@
#define shutdown(fd, mode) 0
#endif
+/* *printf() macros */
+#if (SIZEOF_SIZE_T == SIZEOF_INT)
+#define SIZE_T_FMT "%u"
+#elif (SIZEOF_SIZE_T == SIZEOF_LONG)
+#define SIZE_T_FMT "%lu"
+#elif (SIZEOF_SIZE_T == SIZEOF_LONG_LONG_INT)
+#define SIZE_T_FMT "%llu"
+#else
+#error dont know what to use for SIZE_T_FMT
+#endif
+
+#if (SIZEOF_OFF_T == SIZEOF_LONG)
+#define OFF_T_FMT "%ld"
+#define strtoofft(nptr, endptr, base) strtol(nptr, endptr, base)
+#elif (SIZEOF_OFF_T == SIZEOF_LONG_LONG_INT)
+#define OFF_T_FMT "%lld"
+#define strtoofft(nptr, endptr, base) strtoll(nptr, endptr, base)
+#else
+#error dont know what to use for OFF_T_FMT
+#endif
+
/* compile time options; think carefully before modifying */
enum {
/* should we send an UNAVAILABLE message to master when
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.sub
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.sub?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.sub (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/config.sub Mon Feb 9 12:49:22 2009
@@ -1,6 +1,11 @@
#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+
+timestamp='2008-01-16'
+
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@@ -17,14 +22,18 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches at gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
@@ -45,30 +54,75 @@
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
-if [ x$1 = x ]
-then
- echo Configuration name missing. 1>&2
- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
- echo "or $0 ALIAS" 1>&2
- echo where ALIAS is a recognized configuration type. 1>&2
- exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
*local*)
+ # First pass through any local machine types.
echo $1
- exit 0
- ;;
- *)
- ;;
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- linux-gnu*)
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -94,7 +148,7 @@
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple)
+ -apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
@@ -108,8 +162,20 @@
os=-vxworks
basic_machine=$1
;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
-hiux*)
os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
@@ -124,6 +190,10 @@
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
@@ -166,27 +236,74 @@
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
- | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
- | 580 | i960 | h8300 \
- | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
- | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
- | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
- | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
- | mips64orion | mips64orionel | mipstx39 | mipstx39el \
- | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
- | mips64vr5000 | miprs64vr5000el | mcore \
- | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
- | thumb | d10v | fr30)
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64vr | mips64vrel \
+ | mips64orion | mips64orionel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | mt \
+ | msp430 \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
basic_machine=$basic_machine-unknown
;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
- i[34567]86)
+ i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
@@ -195,24 +312,70 @@
exit 1
;;
# Recognize the basic CPU types with company name.
- # FIXME: clean up the formatting here.
- vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
- | xmp-* | ymp-* \
- | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
- | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
- | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
- | clipper-* | orion-* \
- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
- | mipstx39-* | mipstx39el-* | mcore-* \
- | f301-* | armv*-* | t3e-* \
- | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
- | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@@ -230,6 +393,9 @@
basic_machine=a29k-amd
os=-udi
;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@@ -244,19 +410,25 @@
basic_machine=a29k-none
os=-bsd
;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
;;
amigaos | amigados)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
- basic_machine=m68k-cbm
+ basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
@@ -275,6 +447,18 @@
basic_machine=ns32k-sequent
os=-dynix
;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
convex-c1)
basic_machine=c1-convex
os=-bsd
@@ -295,26 +479,44 @@
basic_machine=c38-convex
os=-bsd
;;
- cray | ymp)
- basic_machine=ymp-cray
+ cray | j90)
+ basic_machine=j90-cray
os=-unicos
;;
- cray2)
- basic_machine=cray2-cray
- os=-unicos
- ;;
- [ctj]90-cray)
- basic_machine=c90-cray
- os=-unicos
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16)
+ basic_machine=cr16-unknown
+ os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
@@ -324,6 +526,10 @@
basic_machine=m88k-motorola
os=-sysv3
;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@@ -357,6 +563,10 @@
basic_machine=tron-gmicro
os=-sysv
;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
@@ -432,19 +642,19 @@
basic_machine=i370-ibm
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[34567]86v32)
+ i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
- i[34567]86v4*)
+ i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
- i[34567]86v)
+ i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
- i[34567]86sol2)
+ i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
@@ -455,17 +665,6 @@
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
- ;;
- i386-go32 | go32)
- basic_machine=i386-unknown
- os=-go32
- ;;
- i386-mingw32 | mingw32)
- basic_machine=i386-unknown
- os=-mingw32
- ;;
- i386-qnx | qnx)
- basic_machine=i386-qnx
;;
iris | iris4d)
basic_machine=mips-sgi
@@ -481,6 +680,14 @@
basic_machine=m68k-isi
os=-sysv
;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -492,6 +699,14 @@
basic_machine=ns32k-utek
os=-sysv
;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -499,14 +714,6 @@
basic_machine=m68k-atari
os=-mint
;;
- mipsel*-linux*)
- basic_machine=mipsel-unknown
- os=-linux-gnu
- ;;
- mips*-linux*)
- basic_machine=mips-unknown
- os=-linux-gnu
- ;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
@@ -517,9 +724,16 @@
basic_machine=m68k-rom68k
os=-coff
;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
msdos)
- basic_machine=i386-unknown
+ basic_machine=i386-pc
os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs)
basic_machine=i370-ibm
@@ -582,13 +796,27 @@
basic_machine=i960-intel
os=-mon960
;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
np1)
basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
@@ -605,6 +833,14 @@
basic_machine=i860-intel
os=-osf
;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
pbd)
basic_machine=sparc-tti
;;
@@ -614,28 +850,40 @@
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pentium | p5 | k5 | k6 | nexen)
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
- pentiumpro | p6 | 6x86)
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
- pentiumii | pentium2)
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
basic_machine=i786-pc
;;
- pentium-* | p5-* | k5-* | k6-* | nexen-*)
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-* | 6x86-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumii-* | pentium2-*)
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
- power) basic_machine=rs6000-ibm
+ power) basic_machine=power-ibm
;;
ppc) basic_machine=powerpc-unknown
;;
@@ -647,8 +895,26 @@
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
ps2)
basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
@@ -660,10 +926,30 @@
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
sequent)
basic_machine=i386-sequent
;;
@@ -671,7 +957,13 @@
basic_machine=sh-hitachi
os=-hms
;;
- sparclite-wrs)
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
@@ -729,13 +1021,37 @@
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
t3e)
- basic_machine=t3e-cray
+ basic_machine=alphaev5-cray
os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
@@ -743,8 +1059,16 @@
tx39el)
basic_machine=mipstx39el-unknown
;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
tower | tower-32)
basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
;;
udi29k)
basic_machine=a29k-amd
@@ -789,12 +1113,16 @@
basic_machine=hppa1.1-winbond
os=-proelf
;;
- xmp)
- basic_machine=xmp-cray
- os=-unicos
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
@@ -816,29 +1144,32 @@
op60c)
basic_machine=hppa1.1-oki
;;
- mips)
- if [ x$os = x-linux-gnu ]; then
- basic_machine=mips-unknown
- else
- basic_machine=mips-mips
- fi
- ;;
romp)
basic_machine=romp-ibm
;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
- sparc | sparcv9)
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -856,9 +1187,8 @@
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
- c4x*)
- basic_machine=c4x-none
- os=-coff
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
@@ -912,22 +1242,49 @@
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -940,6 +1297,12 @@
-opened*)
os=-openedition
;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
-osfrose*)
os=-osfrose
;;
@@ -955,14 +1318,26 @@
-acis*)
os=-aos
;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
-ns2 )
os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
;;
# Preserve the version number of sinix5.
-sinix5.*)
@@ -971,15 +1346,15 @@
-sinix*)
os=-sysv4
;;
+ -tpf*)
+ os=-tpf
+ ;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
- -qnx)
- os=-qnx4
- ;;
-svr4)
os=-sysv4
;;
@@ -1001,8 +1376,17 @@
-xenix)
os=-xenix
;;
- -*mint | -*MiNT)
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
;;
-none)
;;
@@ -1026,6 +1410,12 @@
# system, and we'll never get to this point.
case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
*-acorn)
os=-riscix1.2
;;
@@ -1034,6 +1424,13 @@
;;
arm*-semi)
os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
;;
pdp11-*)
os=-none
@@ -1056,12 +1453,18 @@
m68*-cisco)
os=-aout
;;
+ mep-*)
+ os=-elf
+ ;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
+ or32-*)
+ os=-coff
+ ;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
@@ -1071,9 +1474,15 @@
*-be)
os=-beos
;;
+ *-haiku)
+ os=-haiku
+ ;;
*-ibm)
os=-aix
;;
+ *-knuth)
+ os=-mmixware
+ ;;
*-wec)
os=-proelf
;;
@@ -1143,7 +1552,7 @@
*-masscomp)
os=-rtu
;;
- f301-fujitsu)
+ f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
@@ -1206,10 +1615,16 @@
-mvs* | -opened*)
vendor=ibm
;;
+ -os400*)
+ vendor=ibm
+ ;;
-ptx*)
vendor=sequent
;;
- -vxsim* | -vxworks*)
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)
@@ -1221,8 +1636,11 @@
-mpw* | -macos*)
vendor=apple
;;
- -*mint | -*MiNT)
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
@@ -1230,3 +1648,11 @@
esac
echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure.in
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure.in?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure.in (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/configure.in Mon Feb 9 12:49:22 2009
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Copyright (c) 1998-2000 Carnegie Mellon University. All rights reserved.
+dnl Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
@@ -17,19 +17,20 @@
dnl
dnl 3. The name "Carnegie Mellon University" must not be used to
dnl endorse or promote products derived from this software without
-dnl prior written permission. For permission or any other legal
+dnl prior written permission. For permission or any legal
dnl details, please contact
-dnl Office of Technology Transfer
dnl Carnegie Mellon University
-dnl 5000 Forbes Avenue
-dnl Pittsburgh, PA 15213-3890
-dnl (412) 268-4387, fax: (412) 268-7395
-dnl tech-transfer at andrew.cmu.edu
+dnl Center for Technology Transfer and Enterprise Creation
+dnl 4615 Forbes Avenue
+dnl Suite 302
+dnl Pittsburgh, PA 15213
+dnl (412) 268-7393, fax: (412) 268-7395
+dnl innovation at andrew.cmu.edu
dnl
dnl 4. Redistributions of any form whatsoever must retain the following
dnl acknowledgment:
-dnl \"This product includes software developed by Computing Services
-dnl at Carnegie Mellon University (http://www.cmu.edu/computing/).\"
+dnl "This product includes software developed by Computing Services
+dnl at Carnegie Mellon University (http://www.cmu.edu/computing/)."
dnl
dnl CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
dnl THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
@@ -39,10 +40,9 @@
dnl AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
dnl OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
dnl
-
+dnl $Id: configure.in,v 1.308 2008/10/08 23:28:58 murch Exp $
dnl
dnl configure.in for the Cyrus imapd
-dnl $Id: configure.in,v 1.297 2006/11/30 17:11:16 murch Exp $
dnl
@@ -100,7 +100,11 @@
fi
AC_C_INLINE
+dnl Check the size of various types
+AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(size_t)
+AC_CHECK_SIZEOF(off_t)
dnl Check if `long long int' is available
AC_CHECK_SIZEOF(long long int)
@@ -119,7 +123,7 @@
AC_CHECK_HEADERS(unistd.h sys/select.h sys/param.h stdarg.h)
AC_REPLACE_FUNCS(memmove strcasecmp ftruncate strerror)
-AC_CHECK_FUNCS(strlcat strlcpy)
+AC_CHECK_FUNCS(strlcat strlcpy getgrouplist)
AC_HEADER_DIRENT
dnl do this before Berkeley DB/IPv6 detection
@@ -219,6 +223,204 @@
dnl End Berkeley DB Detection
+
+dnl SQL DB Detection
+
+HAVE_SQL=0
+
+dnl MySQL
+AC_ARG_WITH(mysql, [ --with-mysql=PATH use MySQL from PATH [[no]] ],
+ with_mysql=$withval, with_mysql=no)
+
+# find location of library
+# presuming if one given then correct
+if test "${with_mysql}" = "yes"; then
+ with_mysql=notfound
+ for mysqlloc in lib/mysql lib mysql/lib
+ do
+ if test -f ${prefix}/${mysqlloc}/libmysqlclient.a; then
+ with_mysql="${prefix}"
+ break
+ elif test -f /usr/local/${mysqlloc}/libmysqlclient.a; then
+ with_mysql="/usr/local"
+ break
+ elif test -f /usr/${mysqlloc}/libmysqlclient.a; then
+ with_mysql="/usr"
+ break
+ fi
+ done
+fi
+
+LIB_MYSQL_DIR=""
+
+case "$with_mysql" in
+ no) true;;
+ notfound) AC_WARN([MySQL Library not found]); true;;
+ *)
+ if test -d ${with_mysql}/lib/mysql; then
+ CMU_ADD_LIBPATH_TO(${with_mysql}/lib/mysql, LIB_MYSQL_DIR)
+ elif test -d ${with_mysql}/mysql/lib; then
+ CMU_ADD_LIBPATH_TO(${with_mysql}/mysql/lib, LIB_MYSQL_DIR)
+ elif test -d ${with_mysql}/lib; then
+ CMU_ADD_LIBPATH_TO(${with_mysql}/lib, LIB_MYSQL_DIR)
+ else
+ CMU_ADD_LIBPATH_TO(${with_mysql}, LIB_MYSQL_DIR)
+ fi
+
+ if test -d ${with_mysql}/include/mysql; then
+ CPPFLAGS="${CPPFLAGS} -I${with_mysql}/include/mysql"
+ elif test -d ${with_mysql}/mysql/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_mysql}/mysql/include"
+ elif test -d ${with_mysql}/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_mysql}/include"
+ else
+ CPPFLAGS="${CPPFLAGS} -I${with_mysql}"
+ fi
+
+ save_mysql_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $LIB_MYSQL_DIR"
+ AC_CHECK_LIB(mysqlclient, mysql_select_db,
+ AC_DEFINE(HAVE_MYSQL, [], [Do we have MySQL support?]),
+ [AC_WARN([MySQL library mysqlclient does not work])
+ with_mysql=no])
+ LDFLAGS=$save_mysql_LDFLAGS
+
+ if test "${with_mysql}" != "no"; then
+ LDFLAGS="$LDFLAGS $LIB_MYSQL_DIR"
+ LIBS="$LIBS -lmysqlclient"
+ HAVE_SQL=1
+ fi
+ ;;
+esac
+
+dnl PgSQL
+AC_ARG_WITH(pgsql, [ --with-pgsql=PATH use PostgreSQL from PATH [[no]] ],
+ with_pgsql=$withval, with_pgsql=no)
+
+# find location of library
+# presuming if one given then correct
+if test "${with_pgsql}" = "yes"; then
+ with_pgsql=notfound
+ for pgsqlloc in lib/pgsql lib pgsql/lib
+ do
+ if test -f ${prefix}/${pgsqlloc}/libpq.a -o -f ${prefix}/${pgsqlloc}/libpq.so; then
+ with_pgsql="${prefix}"
+ break
+ elif test -f /usr/local/${pgsqlloc}/libpq.a -o -f /usr/local/${pgsqlloc}/libpq.so; then
+ with_pgsql="/usr/local"
+ break
+ elif test -f /usr/${pgsqlloc}/libpq.a -o -f /usr/${pgsqlloc}/libpq.so; then
+ with_pgsql="/usr"
+ break
+ fi
+ done
+fi
+
+LIB_PGSQL_DIR=""
+
+case "$with_pgsql" in
+ no) true;;
+ notfound) AC_WARN([PostgreSQL Library not found]); true;;
+ *)
+ if test -d ${with_pgsql}/lib/pgsql; then
+ CMU_ADD_LIBPATH_TO(${with_pgsql}/lib/pgsql, LIB_PGSQL_DIR)
+ elif test -d ${with_pgsql}/pgsql/lib; then
+ CMU_ADD_LIBPATH_TO(${with_pgsql}/pgsql/lib, LIB_PGSQL_DIR)
+ elif test -d ${with_pgsql}/lib; then
+ CMU_ADD_LIBPATH_TO(${with_pgsql}/lib, LIB_PGSQL_DIR)
+ else
+ CMU_ADD_LIBPATH_TO(${with_pgsql}, LIB_PGSQL_DIR)
+ fi
+
+ if test -d ${with_pgsql}/include/pgsql; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql"
+ elif test -d ${with_pgsql}/pgsql/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include"
+ elif test -d ${with_pgsql}/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include"
+ else
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}"
+ fi
+
+ save_pgsql_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $LIB_PGSQL_DIR"
+ AC_CHECK_LIB(pq, PQsetdbLogin,
+ AC_DEFINE(HAVE_PGSQL, [], [Do we have Postgres support?]),
+ [AC_WARN([PostgreSQL Library pq does not work])
+ with_pgsql=no])
+ LDFLAGS=$save_pgsql_LDFLAGS
+
+ if test "${with_pgsql}" != "no"; then
+ LDFLAGS="$LDFLAGS $LIB_PGSQL_DIR"
+ LIBS="$LIBS -lpq"
+ HAVE_SQL=1
+ fi
+ ;;
+esac
+
+dnl SQLite
+AC_ARG_WITH(sqlite, [ --with-sqlite=PATH use SQLite from PATH [[no]] ],
+ with_sqlite=$withval, with_sqlite=no)
+
+# find location of library
+# presuming if one given then correct
+if test "${with_sqlite}" = "yes"; then
+ with_sqlite=notfound
+ for sqliteloc in lib
+ do
+ if test -f ${prefix}/${sqliteloc}/libsqlite3.a -o -f ${prefix}/${sqliteloc}/libsqlite3.so; then
+ with_sqlite="${prefix}"
+ break
+ elif test -f /usr/local/${sqliteloc}/libsqlite3.a -o -f /usr/local/${sqliteloc}/libsqlite3.so; then
+ with_sqlite="/usr/local"
+ break
+ elif test -f /usr/${sqliteloc}/libsqlite3.a -o -f /usr/${sqliteloc}/libsqlite3.so; then
+ with_sqlite="/usr"
+ break
+ fi
+ done
+fi
+
+LIB_SQLITE_DIR=""
+
+case "$with_sqlite" in
+ no) true;;
+ notfound) AC_WARN([SQLite Library not found]); true;;
+ *)
+ if test -d ${with_sqlite}/lib; then
+ CMU_ADD_LIBPATH_TO(${with_sqlite}/lib, LIB_SQLITE_DIR)
+ else
+ CMU_ADD_LIBPATH_TO(${with_sqlite}, LIB_SQLITE_DIR)
+ fi
+
+ if test -d ${with_sqlite}/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_sqlite}/include"
+ else
+ CPPFLAGS="${CPPFLAGS} -I${with_sqlite}"
+ fi
+
+ save_sqlite_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $LIB_SQLITE_DIR"
+ AC_CHECK_LIB(sqlite3, sqlite3_open,
+ AC_DEFINE(HAVE_SQLITE, [], [Do we have SQLite support?]),
+ [AC_WARN([SQLite library sqlite does not work])
+ with_sqlite=no])
+ LDFLAGS=$save_sqlite_LDFLAGS
+
+ if test "${with_sqlite}" != "no"; then
+ LDFLAGS="$LDFLAGS $LIB_SQLITE_DIR"
+ LIBS="$LIBS -lsqlite3"
+ HAVE_SQL=1
+ fi
+ ;;
+esac
+
+if test $HAVE_SQL = 1; then
+ CYRUSDB_OBJS="${CYRUSDB_OBJS} cyrusdb_sql.o"
+fi
+
+dnl End SQL DB Detection
+
AC_SUBST(CYRUSDB_OBJS)
SIEVE_SUBDIRS=""
@@ -243,10 +445,21 @@
AC_PROG_LEX
AC_CHECK_LIB(fl,main)
- AC_SEARCH_LIBS(regcomp, rx regex, [
- AC_DEFINE(ENABLE_REGEX,[],[Do we have a decent regex library?])
- AC_CHECK_HEADER(rxposix.h, AC_DEFINE(HAVE_RX,[],[Do we have rxposix.h?]))])
-
+ AC_CHECK_HEADERS(pcreposix.h rxposix.h)
+ if test "$ac_cv_header_pcreposix_h" == "yes"; then
+ LIBS="$LIBS -lpcre -lpcreposix";
+ AC_DEFINE(ENABLE_REGEX, [], [Do we have a regex library?])
+ else
+ if test "$ac_cv_header_rxposix_h" == "yes"; then
+ LIBS="$LIBS -lrx"
+ AC_DEFINE(ENABLE_REGEX, [],
+ [Do we have a regex library?])
+ else
+ AC_SEARCH_LIBS(regcomp, regex,
+ AC_DEFINE(ENABLE_REGEX, [],
+ [Do we have a regex library?]), [])
+ fi
+ fi
SIEVE_SUBDIRS="${SIEVE_SUBDIRS} $sievedir"
EXTRA_OUTPUT="${EXTRA_OUTPUT} $sievedir/Makefile"
@@ -811,6 +1024,9 @@
ENABLE_REPLICATION=$enableval
if test "$ENABLE_REPLICATION" != no; then
IMAP_PROGS="$IMAP_PROGS sync_client sync_server sync_reset make_md5"
+ if test "$with_openssl" != "no"; then
+ IMAP_PROGS="$IMAP_PROGS make_sha1"
+ fi
fi)
AC_SUBST(IMAP_PROGS)
@@ -861,12 +1077,12 @@
case "$with_com_err" in
# built-in et
yes) # use the com_err we're gonna build
- COM_ERR_LIBS="../et/libcom_err.a"
- COMPILE_ET="../et/compile_et"
+ COM_ERR_LIBS="../com_err/et/libcom_err.a"
+ COMPILE_ET="../com_err/et/compile_et"
COM_ERR_LDFLAGS=""
- COM_ERR_CPPFLAGS="-I\${top_srcdir}/et"
- PRE_SUBDIRS="et ${PRE_SUBDIRS}"
- EXTRA_OUTPUT="${EXTRA_OUTPUT} et/Makefile"
+ COM_ERR_CPPFLAGS="-I\${top_srcdir}/com_err/et"
+ PRE_SUBDIRS="com_err/et ${PRE_SUBDIRS}"
+ EXTRA_OUTPUT="${EXTRA_OUTPUT} com_err/et/Makefile"
;;
"") # no problem, we already have it in the paths
# we do nothing to pick it up
@@ -1037,7 +1253,7 @@
done
IMAP_COM_ERR_LIBS="${COM_ERR_LIBS}"
-IMAP_LIBS="${LIB_SASL} ${LIBS}"
+IMAP_LIBS="${LIB_SASL} ${LIBS} ${SQL_LIBS}"
AC_SUBST(LIB_RT)
AC_SUBST(IMAP_COM_ERR_LIBS)
@@ -1054,9 +1270,8 @@
AC_SUBST(PERL)
AH_TOP([
-/* $Id: configure.in,v 1.297 2006/11/30 17:11:16 murch Exp $ */
/*
- * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -1072,14 +1287,15 @@
*
* 3. The name "Carnegie Mellon University" must not be used to
* endorse or promote products derived from this software without
- * prior written permission. For permission or any other legal
+ * prior written permission. For permission or any legal
* details, please contact
- * Office of Technology Transfer
* Carnegie Mellon University
- * 5000 Forbes Avenue
- * Pittsburgh, PA 15213-3890
- * (412) 268-4387, fax: (412) 268-7395
- * tech-transfer at andrew.cmu.edu
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
@@ -1093,6 +1309,8 @@
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: configure.in,v 1.308 2008/10/08 23:28:58 murch Exp $
*/
#ifndef _CYRUS_IMAPD_CONFIG_H_
@@ -1208,6 +1426,27 @@
#define shutdown(fd, mode) 0
#endif
+/* *printf() macros */
+#if (SIZEOF_SIZE_T == SIZEOF_INT)
+#define SIZE_T_FMT "%u"
+#elif (SIZEOF_SIZE_T == SIZEOF_LONG)
+#define SIZE_T_FMT "%lu"
+#elif (SIZEOF_SIZE_T == SIZEOF_LONG_LONG_INT)
+#define SIZE_T_FMT "%llu"
+#else
+#error dont know what to use for SIZE_T_FMT
+#endif
+
+#if (SIZEOF_OFF_T == SIZEOF_LONG)
+#define OFF_T_FMT "%ld"
+#define strtoofft(nptr, endptr, base) strtol(nptr, endptr, base)
+#elif (SIZEOF_OFF_T == SIZEOF_LONG_LONG_INT)
+#define OFF_T_FMT "%lld"
+#define strtoofft(nptr, endptr, base) strtoll(nptr, endptr, base)
+#else
+#error dont know what to use for OFF_T_FMT
+#endif
+
/* compile time options; think carefully before modifying */
enum {
/* should we send an UNAVAILABLE message to master when
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/cyrus-graphtools.1.0/script/cyrus.pl
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/cyrus-graphtools.1.0/script/cyrus.pl?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/cyrus-graphtools.1.0/script/cyrus.pl (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/cyrus-graphtools.1.0/script/cyrus.pl Mon Feb 9 12:49:22 2009
@@ -1,35 +1,50 @@
#!/usr/local/bin/perl5
-################################################################################
-## This will read information from the cyrus MIB for all devices specified
-## in cyrusrc
-##
-## Copyright 2001 by Carnegie Mellon University
-##
-## All Rights Reserved
-##
-## Permission to use, copy, modify, and distribute this software and its
-## documentation for any purpose and without fee is hereby granted,
-## provided that the above copyright notice appear in all copies and that
-## both that copyright notice and this permission notice appear in
-## supporting documentation, and that the name of CMU not be
-## used in advertising or publicity pertaining to distribution of the
-## software without specific, written prior permission.
-##
-## CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-## CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-## ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-## WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-## SOFTWARE.
-##
-## Author: Alison Greenwald <alison at andrew.cmu.edu>
-## $Id: cyrus.pl,v 1.1 2001/01/28 22:43:02 wcw Exp $
-##
-################################################################################
+# This will read information from the cyrus MIB for all devices specified
+# in cyrusrc
#
-
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
+#
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# $Id: cyrus.pl,v 1.2 2008/03/24 20:28:40 murch Exp $
+#
+# Author: Alison Greenwald <alison at andrew.cmu.edu>
use RRDs;
use SNMP 1.8;
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/drac_auth.patch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/drac_auth.patch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/drac_auth.patch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/drac_auth.patch Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-$Id: drac_auth.patch,v 1.20 2007/02/06 15:39:09 murch Exp $
+$Id: drac_auth.patch,v 1.27 2008/09/25 11:24:48 murch Exp $
Patch to add support for Dynamic Relay Authorization Control
@@ -67,11 +67,11 @@
Index: configure.in
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/configure.in,v
-retrieving revision 1.297
-diff -u -r1.297 configure.in
---- configure.in 30 Nov 2006 17:11:16 -0000 1.297
-+++ configure.in 6 Feb 2007 15:34:18 -0000
-@@ -1003,6 +1003,19 @@
+retrieving revision 1.306
+diff -u -r1.306 configure.in
+--- configure.in 30 Jul 2008 16:03:36 -0000 1.306
++++ configure.in 25 Sep 2008 11:15:28 -0000
+@@ -1215,6 +1215,19 @@
SNMP_SUBDIRS=""
AC_SUBST(SNMP_SUBDIRS)
@@ -94,10 +94,10 @@
Index: imap/Makefile.in
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/imap/Makefile.in,v
-retrieving revision 1.186
-diff -u -r1.186 Makefile.in
---- imap/Makefile.in 9 Jan 2007 17:41:35 -0000 1.186
-+++ imap/Makefile.in 6 Feb 2007 15:34:18 -0000
+retrieving revision 1.196
+diff -u -r1.196 Makefile.in
+--- imap/Makefile.in 23 Sep 2008 16:17:09 -0000 1.196
++++ imap/Makefile.in 25 Sep 2008 11:15:28 -0000
@@ -66,6 +66,7 @@
SIEVE_LIBS = @SIEVE_LIBS@
IMAP_COM_ERR_LIBS = @IMAP_COM_ERR_LIBS@
@@ -107,7 +107,7 @@
DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
@@ -202,17 +203,17 @@
- imapd: xversion $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
+ imapd: $(IMAPDOBJS) mutex_fake.o libimap.a $(DEPLIBS) $(SERVICE)
$(CC) $(LDFLAGS) -o imapd \
$(SERVICE) $(IMAPDOBJS) mutex_fake.o \
- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP)
@@ -123,7 +123,7 @@
$(QUANTIFY) $(QUANTOPT) $(CC) $(LDFLAGS) -o imapd.quant \
$(SERVICE) $(IMAPDOBJS) mutex_fake.o libimap.a \
- $(DEPLIBS) $(LIBS) $(LIB_WRAP)
-+ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS) $(DRAC_LIBS)
++ $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(DRAC_LIBS)
mupdate: mupdate.o mupdate-slave.o mupdate-client.o mutex_pthread.o tls.o \
libimap.a $(DEPLIBS)
@@ -139,11 +139,11 @@
Index: imap/imapd.c
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/imap/imapd.c,v
-retrieving revision 1.509
-diff -u -r1.509 imapd.c
---- imap/imapd.c 5 Feb 2007 18:49:55 -0000 1.509
-+++ imap/imapd.c 6 Feb 2007 15:34:18 -0000
-@@ -183,6 +183,18 @@
+retrieving revision 1.551
+diff -u -r1.551 imapd.c
+--- imap/imapd.c 5 Sep 2008 15:56:21 -0000 1.551
++++ imap/imapd.c 25 Sep 2008 11:15:29 -0000
+@@ -188,6 +188,18 @@
1, 1, &imapd_authstate, &imapd_userisadmin, &imapd_userisproxyadmin
};
@@ -162,7 +162,7 @@
/* current sub-user state */
static struct mailbox mboxstruct;
static struct mailbox *imapd_mailbox;
-@@ -653,6 +665,23 @@
+@@ -659,6 +671,23 @@
/* setup for sending IMAP IDLE notifications */
idle_enabled();
@@ -186,7 +186,7 @@
/* create connection to the SNMP listener, if available. */
snmp_connect(); /* ignore return code */
snmp_set_str(SERVER_NAME_VERSION,CYRUS_VERSION);
-@@ -757,6 +786,15 @@
+@@ -767,6 +796,15 @@
imapd_haveaddr = 1;
}
}
@@ -202,7 +202,7 @@
}
/* create the SASL connection */
-@@ -799,6 +837,11 @@
+@@ -809,6 +847,11 @@
prot_flush(imapd_out);
snmp_increment(ACTIVE_CONNECTIONS, -1);
@@ -214,7 +214,7 @@
/* cleanup */
imapd_reset();
-@@ -892,6 +935,10 @@
+@@ -907,6 +950,10 @@
cyrus_done();
@@ -225,7 +225,7 @@
exit(code);
}
-@@ -952,6 +999,35 @@
+@@ -967,6 +1014,36 @@
}
}
@@ -235,7 +235,8 @@
+ * to let it know that we are still connected
+ */
+struct prot_waitevent *drac_ping(struct protstream *s,
-+ struct prot_waitevent *ev, void *rock)
++ struct prot_waitevent *ev,
++ void *rock __attribute__((unused)))
+{
+ char *err;
+ static int nfailure = 0;
@@ -261,25 +262,25 @@
/*
* Top-level command loop parsing
*/
-@@ -2058,6 +2134,11 @@
+@@ -2132,6 +2209,11 @@
capa_response(CAPA_PREAUTH|CAPA_POSTAUTH);
prot_printf(imapd_out, "] %s\r\n", reply);
+#ifdef DRAC_AUTH
-+ if (drac.interval && drac.clientaddr)
++ if (!imapd_userisproxyadmin && drac.interval && drac.clientaddr)
+ drac.event = prot_addwaitevent(imapd_in, 0 /* now */, drac_ping, NULL);
+#endif /* DRAC_AUTH */
+
/* Create telemetry log */
imapd_logfd = telemetry_log(imapd_userid, imapd_in, imapd_out, 0);
-@@ -2214,6 +2295,11 @@
+@@ -2289,6 +2371,11 @@
prot_setsasl(imapd_in, imapd_saslconn);
prot_setsasl(imapd_out, imapd_saslconn);
+
+#ifdef DRAC_AUTH
-+ if (drac.interval && drac.clientaddr)
++ if (!imapd_userisproxyadmin && drac.interval && drac.clientaddr)
+ drac.event = prot_addwaitevent(imapd_in, 0 /* now */, drac_ping, NULL);
+#endif /* DRAC_AUTH */
@@ -288,10 +289,10 @@
Index: imap/pop3d.c
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/imap/pop3d.c,v
-retrieving revision 1.171
-diff -u -r1.171 pop3d.c
---- imap/pop3d.c 5 Feb 2007 18:41:48 -0000 1.171
-+++ imap/pop3d.c 6 Feb 2007 15:34:19 -0000
+retrieving revision 1.189
+diff -u -r1.189 pop3d.c
+--- imap/pop3d.c 22 Apr 2008 13:11:18 -0000 1.189
++++ imap/pop3d.c 25 Sep 2008 11:15:29 -0000
@@ -105,6 +105,10 @@
extern int opterr;
@@ -303,8 +304,33 @@
#ifdef HAVE_SSL
static SSL *tls_conn;
-@@ -522,6 +526,10 @@
- prot_settimeout(popd_in, timeout*60);
+@@ -116,6 +120,7 @@
+ char *popd_userid = 0, *popd_subfolder = 0;
+ struct mailbox *popd_mailbox = 0;
+ struct auth_state *popd_authstate = 0;
++static int popd_userisproxyadmin = 0;
+ int config_popuseacl;
+ struct sockaddr_storage popd_localaddr, popd_remoteaddr;
+ int popd_haveaddr = 0;
+@@ -141,7 +146,7 @@
+
+ /* the sasl proxy policy context */
+ static struct proxy_context popd_proxyctx = {
+- 0, 1, &popd_authstate, NULL, NULL
++ 0, 1, &popd_authstate, NULL, &popd_userisproxyadmin
+ };
+
+ /* signal to config.c */
+@@ -368,6 +373,7 @@
+ auth_freestate(popd_authstate);
+ popd_authstate = NULL;
+ }
++ popd_userisproxyadmin = 0;
+ if (popd_saslconn) {
+ sasl_dispose(&popd_saslconn);
+ popd_saslconn = NULL;
+@@ -536,6 +542,10 @@
+ prot_settimeout(popd_in, popd_timeout);
prot_setflushonread(popd_in, popd_out);
+#ifdef DRAC_AUTH
@@ -314,13 +340,13 @@
if (kflag) kpop();
/* we were connected on pop3s port so we should do
-@@ -1653,6 +1661,21 @@
- popd_mailbox = &mboxstruct;
+@@ -1702,6 +1712,21 @@
proc_register("pop3d", popd_clienthost, popd_userid,
popd_mailbox->name);
-+
-+#ifdef DRAC_AUTH
-+ if (drac_enabled &&
+ }
++
++#ifdef DRAC_AUTH
++ if (!popd_userisproxyadmin && drac_enabled &&
+ ((struct sockaddr *)&popd_remoteaddr)->sa_family == AF_INET) {
+ char *err;
+
@@ -333,17 +359,17 @@
+ }
+ }
+#endif /* DRAC_AUTH */
- }
/* Create telemetry log */
+ popd_logfd = telemetry_log(popd_userid, popd_in, popd_out, 0);
Index: imap/version.c
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/imap/version.c,v
-retrieving revision 1.20
-diff -u -r1.20 version.c
---- imap/version.c 30 Nov 2006 17:11:20 -0000 1.20
-+++ imap/version.c 6 Feb 2007 15:34:19 -0000
-@@ -151,6 +151,10 @@
+retrieving revision 1.22
+diff -u -r1.22 version.c
+--- imap/version.c 24 Mar 2008 17:09:20 -0000 1.22
++++ imap/version.c 25 Sep 2008 11:15:29 -0000
+@@ -153,6 +153,10 @@
snprintf(env_buf + strlen(env_buf), MAXIDVALUELEN - strlen(env_buf),
"; %s", SIEVE_VERSION);
#endif
@@ -357,11 +383,11 @@
Index: lib/imapoptions
===============3D====================================================
RCS file: /afs/andrew/system/cvs/src/cyrus/lib/imapoptions,v
-retrieving revision 1.41
-diff -u -r1.41 imapoptions
---- lib/imapoptions 9 Jan 2007 17:29:31 -0000 1.41
-+++ lib/imapoptions 6 Feb 2007 15:34:19 -0000
-@@ -203,6 +203,14 @@
+retrieving revision 1.57
+diff -u -r1.57 imapoptions
+--- lib/imapoptions 24 Sep 2008 11:56:41 -0000 1.57
++++ lib/imapoptions 25 Sep 2008 11:15:29 -0000
+@@ -236,6 +236,14 @@
grant the user the ability to delete a mailbox. If a user has this
right, they will automatically be given the new 'x' right. */
@@ -373,6 +399,6 @@
+{ "drachost", "localhost", STRING }
+/* Hostname of the RPC dracd server. */
+
- { "duplicate_db", "berkeley-nosync", STRINGLIST("berkeley", "berkeley-nosync", "berkeley-hash", "berkeley-hash-nosync", "skiplist")}
+ { "duplicate_db", "berkeley-nosync", STRINGLIST("berkeley", "berkeley-nosync", "berkeley-hash", "berkeley-hash-nosync", "skiplist", "sql")}
/* The cyrusdb backend to use for the duplicate delivery suppression
and sieve. */
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/fud-client.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/fud-client.c?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/fud-client.c (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/contrib/fud-client.c Mon Feb 9 12:49:22 2009
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998-2003 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -15,14 +15,15 @@
*
* 3. The name "Carnegie Mellon University" must not be used to
* endorse or promote products derived from this software without
- * prior written permission. For permission or any other legal
+ * prior written permission. For permission or any legal
* details, please contact
- * Office of Technology Transfer
* Carnegie Mellon University
- * 5000 Forbes Avenue
- * Pittsburgh, PA 15213-3890
- * (412) 268-4387, fax: (412) 268-7395
- * tech-transfer at andrew.cmu.edu
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
@@ -36,9 +37,9 @@
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: fud-client.c,v 1.6 2008/03/24 20:28:40 murch Exp $
*/
-
-/* $Id: fud-client.c,v 1.5 2003/02/13 20:15:18 rjs3 Exp $ */
/* This is an example client for the experimental fud service.
For this to work, the mailbox must have the local ACL bit 0 enabled
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/changelog
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/changelog?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/changelog (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/changelog Mon Feb 9 12:49:22 2009
@@ -1,3 +1,13 @@
+cyrus-imapd-2.3 (2.3.13-1) experimental; urgency=low
+
+ * New upstream release (via conservative branch from Sirius in-house).
+ * Make debian/rules call autoconf and autoheader.
+ * Auto-detect BDB version from whichever -dev package is installed
+ at build time, rather than hardcoding in debian/control.
+ * Tweak the init script to support epoch in PACKAGE_VERSION.
+
+ -- Duncan Gibb <Duncan.Gibb at siriusit.co.uk> Fri, 06 Feb 2009 15:41:07 +0000
+
cyrus-imapd-2.3 (2.3.8-2) UNRELEASED; urgency=low
* Fix a problem in cyrus-common-2.3.postrm (Closes: #439217)
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/control
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/control?rev=768&root=cyrus22&r1=767&r2=768&view=3Ddiff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/control (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/control Mon Feb 9 12:49:22 2009
@@ -4,14 +4,14 @@
Maintainer: Debian Cyrus Team <pkg-cyrus-imapd-debian-devel at lists.alioth.debian.org>
Uploaders: Henrique de Moraes Holschuh <hmh at debian.org>, Sven Mueller <sven at debian.org>, Benjamin Seidenberg <benjamin at debian.org>, OndÃ
=C2ej Surý <ondrej at debian.org>
Standards-Version: 3.7.2
-Build-Depends: debhelper (>= 4.1.68), tcl8.3-dev, libwrap0-dev, libpam0g-dev, libdb4.5-dev, libssl-dev, libzephyr-dev, libsasl2-dev (>= 2.1.9), comerr-dev, libsnmp9-dev | libsnmp5-dev, perl (>= 5.6.0-16), xutils, flex, bison, autotools-dev, po-debconf, dpatch, transfig, gs, groff, libkvm-dev [kfreebsd-i386], libkvm-dev [kfreebsd-amd64]
+Build-Depends: debhelper (>= 4.1.68), tcl8.3-dev, libwrap0-dev, libpam0g-dev, libdb4.4-dev | libdb4.5-dev | libdb4.6-dev, libssl-dev, libzephyr-dev, libsasl2-dev (>= 2.1.9), comerr-dev, libsnmp9-dev | libsnmp5-dev, perl (>= 5.6.0-16), xutils, flex, bison, autotools-dev, po-debconf, dpatch, transfig, gs, groff, libkvm-dev [kfreebsd-i386], libkvm-dev [kfreebsd-amd64]
Xs-Vcs-Browser: https://mail.incase.de/viewcvs/branches/cyrus23/?root=cyrus22
Xs-Vcs-Svn: https://mail.incase.de/svn/cyrus22/branches/cyrus23
Package: cyrus-common-2.3
Architecture: any
Section: mail
-Depends: postfix | mail-transport-agent, adduser (>= 3.34), dpkg (>> 1.9.0), netbase (>= 4.07), gawk, ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}
+Depends: ssmtp | mail-transport-agent, adduser (>= 3.34), dpkg (>> 1.9.0), netbase (>= 4.07), gawk, ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}
Recommends: cyrus-imapd-2.3 | cyrus-pop3d-2.3 | cyrus-murder-2.3 | cyrus-nntpd-2.3 | cyrus-admin-2.3
Suggests: cyrus-clients-2.3, cyrus-admin-2.3, cyrus-imapd-2.3, cyrus-pop3d-2.3, cyrus-murder-2.3, cyrus-replication-2.3, cyrus-nntpd-2.3, cyrus-doc-2.3, sasl2-bin, apt-listchanges (>= 2.35)
Conflicts: suidmanager (<< 0.50), cyrus-common, cyrus21-common, cyrus22-common, cyrus-common-2.2
@@ -38,8 +38,8 @@
own MH-like format.
.
This package contains the common files needed by the other Cyrus
- components. The cyrus-imapd-2.2 and/or cyrus-pop3d-2.2 packages are needed
- to enable IMAP and POP3 support respectively. cyrus-murder-2.2 can be
+ components. The cyrus-imapd-2.3 and/or cyrus-pop3d-2.3 packages are needed
+ to enable IMAP and POP3 support respectively. cyrus-murder-2.3 can be
used to enable IMAP, POP3 and LMTP proxying. cyrus-replication-2.3
can be used to provide server replication between two imap servers.
.
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.cyrus2.3.init
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.cyrus2.3.init?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.cyrus2.3.init (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.cyrus2.3.init Mon Feb 9 12:49:22 2009
@@ -48,7 +48,7 @@
# Check if Cyrus 2.3 is installed
test -x ${DAEMON} || exit 0
-grep -qE '^PACKAGE_VERSION[[:blank:]]+2[.]3' \
+grep -qE '^PACKAGE_VERSION[[:blank:]]+([0-9]+:|)2[.]3' \
/usr/lib/cyrus/cyrus-hardwired-config.txt >/dev/null 2>&1 || exit 0
set -e
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.postrm
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.postrm?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.postrm (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/cyrus-common-2.3.postrm Mon Feb 9 12:49:22 2009
@@ -55,8 +55,8 @@
db_get cyrus-common-2.3/removespools
[ "${RET}" = "true" ] && {
- for i in /var/spool/cyrus /var/lib/cyrus \
- /var/spool/sieve /etc/sieve ; do
+ for i in /var/spool/cyrus /var/lib/cyrus \
+ /var/spool/sieve /etc/sieve ; do
find "$i" -type f -exec rm -f '{}' \; || true
find "$i" -type d -depth -not -name 'lost+found' -exec rmdir '{}' \; || true
done
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/executable.files
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/executable.files?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/executable.files (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/executable.files Mon Feb 9 12:49:22 2009
@@ -1,5 +1,6 @@
./autogen.sh
-./configure
+./com_err/et/compile_et.sh
+./com_err/et/config_script
./contrib/cyrus-graphtools.1.0/cgi-bin/cyrus_master.pl
./contrib/cyrus-graphtools.1.0/cgi-bin/graph_cyrus_db-sum.pl
./contrib/cyrus-graphtools.1.0/cgi-bin/graph_cyrus_db.pl
@@ -16,8 +17,6 @@
./debian/examples/mboxtocyrus
./debian/rules
./doc/internal/internationalization.html
-./et/compile_et.sh
-./et/config_script
./imap/xversion.sh
./install-sh
./lib/test/run
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/00list
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/00list?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/00list (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/00list Mon Feb 9 12:49:22 2009
@@ -15,7 +15,6 @@
16-fix_mib.dpatch
17-fix_tail_syntax_in_xversion.h.dpatch
19-fix_tls_ssl.dpatch
-20-fix-bdb-for-4.5.dpatch
21-fix_config-parsing.dpatch
25-update_install-sh.dpatch
30-update_perlcalling.sh.dpatch
@@ -26,4 +25,3 @@
72-faster-isdigit.dpatch
75-update-imapd.conf-documentation.dpatch
80-kbsd-no-psstrings.dpatch
-99-update-autoconf.dpatch
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/12-fix_timeout_handling.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/12-fix_timeout_handling.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/12-fix_timeout_handling.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/12-fix_timeout_handling.dpatch Mon Feb 9 12:49:22 2009
@@ -5,18 +5,6 @@
## DP: fixes timeout handling
@DPATCH@
-diff -urNad complete.dpatch/imap/signals.c /tmp/dpep.9pxAsS/complete.dpatch/imap/signals.c
---- complete.dpatch/imap/signals.c 2005-02-14 17:26:50.000000000 +0100
-+++ /tmp/dpep.9pxAsS/complete.dpatch/imap/signals.c 2005-11-11 14:10:07.056723830 +0100
-@@ -50,7 +50,7 @@
- #include "xmalloc.h"
- #include "exitcodes.h"
-
--static int gotsignal = 0;
-+static volatile int gotsignal = 0;
-
- static void sighandler(int sig)
- {
diff -urNad complete.dpatch/lib/lock.h /tmp/dpep.9pxAsS/complete.dpatch/lib/lock.h
--- complete.dpatch/lib/lock.h 2003-02-13 21:15:40.000000000 +0100
+++ /tmp/dpep.9pxAsS/complete.dpatch/lib/lock.h 2005-11-11 14:10:07.056723830 +0100
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/13-master_process_handling.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/13-master_process_handling.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/13-master_process_handling.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/13-master_process_handling.dpatch Mon Feb 9 12:49:22 2009
@@ -17,18 +17,6 @@
static int janitor_frequency = 1; /* Janitor sweeps per second */
static int janitor_position; /* Entry to begin at in next sweep */
static struct timeval janitor_mark; /* Last time janitor did a sweep */
-@@ -193,9 +195,9 @@
- int become_cyrus(void)
- {
- struct passwd *p;
-- int newuid, newgid;
-+ uid_t newuid, newgid;
- int result;
-- static int uid = 0;
-+ static uid_t uid = 0;
-
- if (uid) return setuid(uid);
-
@@ -947,7 +949,7 @@
}
}
@@ -231,3 +219,17 @@
/*
* Description of multiple address family support from
+diff -urNad cyrus-imapd-2.3-2.3.13~/lib/util.c cyrus-imapd-2.3-2.3.13/lib/util.c
+--- cyrus-imapd-2.3-2.3.13~/lib/util.c 2008-10-29 13:50:04.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/lib/util.c 2008-10-29 13:50:34.000000000 +0000
+@@ -365,9 +365,9 @@
+ int become_cyrus(void)
+ {
+ struct passwd *p;
+- int newuid, newgid;
++ uid_t newuid, newgid;
+ int result;
+- static int uid = 0;
++ static uid_t uid = 0;
+
+ if (uid) return setuid(uid);
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/17-fix_tail_syntax_in_xversion.h.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/17-fix_tail_syntax_in_xversion.h.dpatch?rev=768&root=
3Dcyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/17-fix_tail_syntax_in_xversion.h.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/17-fix_tail_syntax_in_xversion.h.dpatch Mon Feb 9 12:49:22 2009
@@ -1,16 +1,20 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 17-fix_tail_syntax_in_xversion.h.dpatch by Sven Mueller <debian at incase.de>
+## Updated to 2.3.13 by Duncan Gibb <duncan.gibb at siriusit.co.uk>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: fix tail syntax in xversion.h (use "tail -n 1" instead of "tail -1")
@DPATCH@
-diff -urNad complete.dpatch/imap/xversion.sh /tmp/dpep.gLdzBq/complete.dpatch/imap/xversion.sh
---- complete.dpatch/imap/xversion.sh 2003-10-22 20:03:00.000000000 +0200
-+++ /tmp/dpep.gLdzBq/complete.dpatch/imap/xversion.sh 2005-11-10 17:14:52.208238481 +0100
-@@ -22,4 +22,4 @@
+diff -aurNad cyrus-imapd-2.3-2.3.13~/imap/xversion.sh cyrus-imapd-2.3-2.3.13/imap/xversion.sh
+--- cyrus-imapd-2.3-2.3.13~/imap/xversion.sh 2008-10-29 13:58:52.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/imap/xversion.sh 2008-10-29 13:59:08.000000000 +0000
+@@ -62,7 +62,7 @@
match ($0, pattern) {
printf "\"%s\"\n", substr($0, RSTART, RLENGTH)
}' pattern="$DATEPAT $TIMEPAT" | \
-- sort | tail -1 >> xversion.h
-+ sort | tail -n 1 >> xversion.h
+- sort | tail -1 >> $TMPF
++ sort | tail -n 1 >> $TMPF
+
+ if [ -f xversion.h ] && cmp -s $TMPF xversion.h
+ then
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/30-update_perlcalling.sh.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/30-update_perlcalling.sh.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/30-update_perlcalling.sh.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/30-update_perlcalling.sh.dpatch Mon Feb 9 12:49:22 2009
@@ -1,5 +1,6 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 30_update_perlcalling.sh.dpatch by Sven Mueller <debian at incase.de>
+## Updated to 2.3.13 by Duncan Gibb <duncan.gibb at siriusit.co.uk>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: updates calling of the perl interpreter to what we expect in Debian.
@@ -104,22 +105,21 @@
# Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
#
diff -urNad cyrus-imapd-2.3-2.3.8/snmp/snmpgen /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/snmp/snmpgen
---- cyrus-imapd-2.3-2.3.8/snmp/snmpgen 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/snmp/snmpgen 2007-02-27 03:57:28.886495687 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/perl -w
- #
- # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
- #
-@@ -38,25 +38,8 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
- # $Id: snmpgen,v 1.19 2006/11/30 17:11:25 murch Exp $
-
+--- cyrus-imapd-2.3-2.3.13/snmp/snmpgen 2008-10-29 14:53:34.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/snmp/snmpgen.sirius 2008-10-29 14:57:28.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
+ #
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,24 +41,6 @@
+ #
+ # $Id: snmpgen,v 1.20 2008/03/24 20:10:50 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-
-if ($] !~ /^5\..*/) {
- # uh-oh. this isn't perl 5.
- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
@@ -136,7 +136,7 @@
-
-__END__
require 5;
-
+
#Tim Martin
diff -urNad cyrus-imapd-2.3-2.3.8/tools/arbitronsort.pl /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/arbitronsort.pl
--- cyrus-imapd-2.3-2.3.8/tools/arbitronsort.pl 2007-02-27 03:54:56.000000000 +0100
@@ -148,188 +148,184 @@
#
# This script takes the output of arbitron (run without the -o option)
diff -urNad cyrus-imapd-2.3-2.3.8/tools/config2header /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/config2header
---- cyrus-imapd-2.3-2.3.8/tools/config2header 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/config2header 2007-02-27 03:59:28.766571652 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/perl -w
- # $Id: config2header,v 1.13 2006/11/30 17:11:25 murch Exp $
- #
- # Copyright (c) 2001 Carnegie Mellon University. All rights reserved.
-@@ -39,24 +39,6 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
--
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+--- cyrus-imapd-2.3-2.3.13/tools/config2header 2008-10-29 14:53:34.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/config2header.sirius 2008-10-29 14:55:46.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
+ #
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,24 +41,6 @@
+ #
+ # $Id: config2header,v 1.15 2008/03/24 20:25:22 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
use strict;
-diff -urNad cyrus-imapd-2.3-2.3.8/tools/config2man /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/config2man
---- cyrus-imapd-2.3-2.3.8/tools/config2man 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/config2man 2007-02-27 03:58:59.045529126 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/perl -w
- # $Id: config2man,v 1.4 2006/11/30 17:11:25 murch Exp $
- #
- # Copyright (c) 2001 Carnegie Mellon University. All rights reserved.
-@@ -39,24 +39,6 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
--
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+diff -urNad cyrus-imapd-2.3-2.3.13/tools/config2man cyrus-imapd-2.3-2.3.13/tools/config2man.sirius
+--- cyrus-imapd-2.3-2.3.13/tools/config2man 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/config2man.sirius 2008-10-29 14:29:13.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
+ #
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,24 +41,6 @@
+ #
+ # $Id: config2man,v 1.5 2008/03/24 20:25:22 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
use strict;
-diff -urNad cyrus-imapd-2.3-2.3.8/tools/dohash /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/dohash
---- cyrus-imapd-2.3-2.3.8/tools/dohash 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/dohash 2007-02-27 03:58:39.706453594 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/perl -w
- #
- # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
- #
-@@ -38,27 +38,10 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
+diff -urNad cyrus-imapd-2.3-2.3.13/tools/dohash cyrus-imapd-2.3-2.3.13/tools/dohash.sirius
+--- cyrus-imapd-2.3-2.3.13/tools/dohash 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/dohash.sirius 2008-10-29 14:30:50.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
+ #
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,26 +41,9 @@
+ #
+ # $Id: dohash,v 1.13 2008/03/24 20:25:22 murch Exp $
+
-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
-#!perl -w
# script to upgrade from versions of imapd previous to 1.6.2
# make sure you run it as the cyrus user
- # $Id: dohash,v 1.12 2006/11/30 17:11:25 murch Exp $
-
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
$| = 1;
diff -urNad cyrus-imapd-2.3-2.3.8/tools/masssievec /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/masssievec
---- cyrus-imapd-2.3-2.3.8/tools/masssievec 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/masssievec 2007-02-27 03:58:22.326183189 +0100
+--- cyrus-imapd-2.3-2.3.13/tools/masssievec 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/masssievec.sirius 2008-10-29 14:34:13.000000000 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh
+#!/usr/bin/perl -w
-+#
++#
+# Script for mass compilation of sieve scripts.
#
- # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
- #
-@@ -38,28 +40,11 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
- #
- # Script for mass compilation of sieve scripts.
- #
- # $Id: masssievec,v 1.6 2006/11/30 17:11:25 murch Exp $
-
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,26 +43,6 @@
+ #
+ # $Id: masssievec,v 1.7 2008/03/24 20:25:22 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-#
+-# Script for mass compilation of sieve scripts.
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
$| = 1;
diff -urNad cyrus-imapd-2.3-2.3.8/tools/mkimap /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/mkimap
---- cyrus-imapd-2.3-2.3.8/tools/mkimap 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/mkimap 2007-02-27 03:57:49.725426588 +0100
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/usr/bin/perl
- #
- # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
- #
-@@ -38,25 +38,8 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
- # $Id: mkimap,v 1.18 2006/11/30 17:11:25 murch Exp $
-
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+--- cyrus-imapd-2.3-2.3.13/tools/mkimap 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/mkimap.sirius 2008-10-29 14:44:01.000000000 +0000
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
+ #
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,24 +41,6 @@
+ #
+ # $Id: mkimap,v 1.19 2008/03/24 20:25:22 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
sub read_conf {
diff -urNad cyrus-imapd-2.3-2.3.8/tools/mknewsgroups /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/mknewsgroups
---- cyrus-imapd-2.3-2.3.8/tools/mknewsgroups 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/mknewsgroups 2007-02-27 03:54:57.955483105 +0100
+--- cyrus-imapd-2.3-2.3.13/tools/mknewsgroups 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/mknewsgroups.sirius 2008-10-29 14:46:12.000000000 +0000
@@ -1,5 +1,8 @@
-#!/bin/sh
+#!/usr/bin/perl -w
@@ -337,82 +333,79 @@
+# Create newsgroups on imap server
+# Based on the make_fromactive.pl script by Tim Martin
+#
- # Copyright (c) 2003 Carnegie Mellon University. All rights reserved.
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
-@@ -38,29 +41,6 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
+@@ -41,27 +44,6 @@
+ #
+ # $Id: mknewsgroups,v 1.3 2008/03/24 20:25:22 murch Exp $
+
-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
-#!perl -w
-#
-# Create newsgroups on imap server
-# Based on the make_fromactive.pl script by Tim Martin
--#
--# $Id: mknewsgroups,v 1.2 2003/10/22 18:03:47 rjs3 Exp $
--
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
use Getopt::Long;
diff -urNad cyrus-imapd-2.3-2.3.8/tools/rehash /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/rehash
---- cyrus-imapd-2.3-2.3.8/tools/rehash 2007-02-27 03:54:56.000000000 +0100
-+++ /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/rehash 2007-02-27 03:54:57.956483006 +0100
-@@ -1,4 +1,8 @@
--#!/bin/sh
-+#!/usr/bin/perl
+--- cyrus-imapd-2.3-2.3.13/tools/rehash 2008-10-29 14:10:46.000000000 +0000
++++ cyrus-imapd-2.3-2.3.13/tools/rehash.sirius 2008-10-29 14:48:07.000000000 +0000
+@@ -1,4 +1,9 @@
+-#!/bin/sh
++#!/usr/bin/perl -w
++#
+# script to upgrade from simple hashing scheme to full hashing scheme
+# make sure you run it as the cyrus user
-+#
++#
+# Written by Gary Mills <mills at cc.UManitoba.CA>
#
- # Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
- #
-@@ -38,8 +42,6 @@
- # AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- # OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- #
--exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
--#!perl -w
- # script to upgrade from simple hashing scheme to full hashing scheme
- # make sure you run it as the cyrus user
- #
-@@ -47,21 +49,6 @@
- #
- # $Id: rehash,v 1.9 2006/11/30 17:11:25 murch Exp $
-
--if ($] !~ /^5\..*/) {
-- # uh-oh. this isn't perl 5.
-- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
-- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
-- }
-- # we failed. bail.
-- die "Your perl is too old; I need perl 5.\n";
--}
--
--# load the real script. this is isolated in an 'eval' so perl4 won't
--# choke on the perl5-isms.
--eval join("\n", <DATA>);
--if ($@) { die "$@"; }
--
--__END__
- require 5;
-
+ # Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+ #
+@@ -41,28 +46,6 @@
+ #
+ # $Id: rehash,v 1.10 2008/03/24 20:25:22 murch Exp $
+
+-exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
+-#!perl -w
+-# script to upgrade from simple hashing scheme to full hashing scheme
+-# make sure you run it as the cyrus user
+-#
+-# Written by Gary Mills <mills at cc.UManitoba.CA>
+-
+-if ($] !~ /^5\..*/) {
+- # uh-oh. this isn't perl 5.
+- foreach (split(/:/, $ENV{PATH})) { # try to find "perl5".
+- exec("$_/perl5", "-x", "-S", $0, @ARGV) if (-x "$_/perl5");
+- }
+- # we failed. bail.
+- die "Your perl is too old; I need perl 5.\n";
+-}
+-
+-# load the real script. this is isolated in an 'eval' so perl4 won't
+-# choke on the perl5-isms.
+-eval join("\n", <DATA>);
+-if ($@) { die "$@"; }
+-
+-__END__
+ require 5;
+
$| = 1;
diff -urNad cyrus-imapd-2.3-2.3.8/tools/translatesieve /tmp/dpep.uetA0X/cyrus-imapd-2.3-2.3.8/tools/translatesieve
--- cyrus-imapd-2.3-2.3.8/tools/translatesieve 2007-02-27 03:54:56.000000000 +0100
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/65-sieveshell-enhancements.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/65-sieveshell-enhancements.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/65-sieveshell-enhancements.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/65-sieveshell-enhancements.dpatch Mon Feb 9 12:49:22 2009
@@ -1,19 +1,20 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 65-sieveshell-enhancements.dpatch by Sven Mueller <debian at incase.de>
+## Hacked up to 2.3.13 by Duncan Gibb <duncan.gibb at siriusit.co.uk>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Adds some enhancements to sieveshell and fixes some paths.
@DPATCH@
diff -urNad cyrus-imapd-2.3.7~/perl/imap/IMAP/Shell.pm cyrus-imapd-2.3.7/perl/imap/IMAP/Shell.pm
---- cyrus-imapd-2.3.7~/perl/imap/IMAP/Shell.pm 2006-03-31 21:22:35.000000000 +0200
-+++ cyrus-imapd-2.3.7/perl/imap/IMAP/Shell.pm 2006-08-11 12:29:13.000000000 +0200
+--- cyrus-imapd-2.3.13~/perl/imap/IMAP/Shell.pm 2008-10-29 01:22:35.000000000 +0200
++++ cyrus-imapd-2.3.13/perl/imap/IMAP/Shell.pm 2008-10-29 12:29:13.000000000 +0200
@@ -126,7 +126,7 @@
[\&_sc_info, '[mailbox]',
'display mailbox/server metadata'],
mboxcfg =>
-- [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat] value',
-+ [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat|/<explicit annotation>] value',
+- [\&_sc_mboxcfg, 'mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value',
++ [\&_sc_mboxcfg, 'mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value',
'configure mailbox'],
mboxconfig => 'mboxcfg',
reconstruct =>
@@ -35,21 +36,21 @@
}
my $fstk = [*STDIN, *STDOUT, *STDERR];
if ($dorc && $systemrc ne '' && -f $systemrc) {
-@@ -1424,7 +1424,7 @@
+@@ -1437,7 +1437,7 @@
while (defined ($opt = shift(@argv))) {
last if $opt eq '--';
if ($opt =~ /^-/) {
-- die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat] value\n";
-+ die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat|/<explicit annotation>] value\n";
+- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
++ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
}
else {
push(@nargv, $opt);
-@@ -1433,7 +1433,7 @@
+@@ -1445,7 +1445,7 @@
}
push(@nargv, @argv);
if (@nargv < 2) {
-- die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat] value\n";
-+ die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat|/<explicit annotation>] value\n";
+- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
++ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/<explicit annotation>] value\n";
}
if (!$cyrref || !$$cyrref) {
die "mboxconfig: no connection to server\n";
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/70-allow-larger-buffers.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/70-allow-larger-buffers.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/70-allow-larger-buffers.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/70-allow-larger-buffers.dpatch Mon Feb 9 12:49:22 2009
@@ -1,24 +1,23 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## allow-larger-buffers-dpatch by Sven Mueller <debian at incase.de>
+## updated to 2.3.13 by Duncan Gibb <duncan.gibb at siriusit.co.uk>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Patch to allow larger buffers (especially for list of UIDs).
## DP: Patch taken and "backported" to 2.2 from:
## DP: http://cyrus.brong.fastmail.fm/patches/cyrus-longwords-2.3.3.diff
+## DP: Simplified for 2.3.13 since maxquoted and maxword became run-time
+## DP: options. Now just doubles MAXLITERAL.
@DPATCH@
diff -urNad cyrus-imapd-2.2.13/imap/imapparse.c /tmp/dpep.G4uvjC/cyrus-imapd-2.2.13/imap/imapparse.c
--- cyrus-imapd-2.2.13/imap/imapparse.c 2007-02-25 21:39:04.000000000 +0100
+++ /tmp/dpep.G4uvjC/cyrus-imapd-2.2.13/imap/imapparse.c 2007-02-25 21:40:19.830078835 +0100
-@@ -52,9 +52,9 @@
+@@ -52,7 +52,7 @@
#include "exitcodes.h"
enum {
-- MAXQUOTED = 32768,
-- MAXWORD = 32768,
- MAXLITERAL = INT_MAX / 20
-+ MAXQUOTED = 524288,
-+ MAXWORD = 524288,
+ MAXLITERAL = INT_MAX / 10
};
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/72-faster-isdigit.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/72-faster-isdigit.dpatch?rev=768&root=cyrus22&r1=
3D767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/72-faster-isdigit.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/72-faster-isdigit.dpatch Mon Feb 9 12:49:22 2009
@@ -5,12 +5,13 @@
## DP: Use a smaller (but less intelligent) isdigit() implementation,
## DP: a simple range-check. Patch backported from:
## DP: http://cyrus.brong.fastmail.fm/patches/cyrus-isdigit-2.3.3.diff
+## DP: Seems to be partially present in 2.3.13 mainline.
@DPATCH@
-diff -urNad cyrus-imapd-2.3-2.3.8/imap/index.c /tmp/dpep.mjLm85/cyrus-imapd-2.3-2.3.8/imap/index.c
---- cyrus-imapd-2.3-2.3.8/imap/index.c 2007-02-27 04:00:28.000000000 +0100
-+++ /tmp/dpep.mjLm85/cyrus-imapd-2.3-2.3.8/imap/index.c 2007-02-27 04:00:29.789499834 +0100
-@@ -518,8 +518,8 @@
+diff -urNad cyrus-imapd-2.3-2.3.8/imap/index.c cyrus-imapd-2.3-2.3.8/imap/index.c.sirius
+--- cyrus-imapd-2.3-2.3.13/imap/index.c 2008-10-29 15:21:21.000000000 +0000
++++ /cyrus-imapd-2.3-2.3.13/imap/index.c.sirius 2008-10-29 15:27:08.000000000 +0000
+@@ -571,8 +571,8 @@
*/
old = seenuids;
new = newseenuids;
@@ -21,16 +22,16 @@
for (msgno = 1; msgno <= imapd_exists; msgno++) {
uid = UID(msgno);
-@@ -533,7 +533,7 @@
- oldnext = 0;
- if (!*old) oldnext = mailbox->last_uid+1;
+@@ -595,7 +595,7 @@
+ }
+ }
else old++;
- while (isdigit((int) *old)) {
+ while (cyrus_isdigit((int) *old)) {
oldnext = oldnext * 10 + *old++ - '0';
}
oldnext += oldseen;
-@@ -552,7 +552,7 @@
+@@ -621,7 +621,7 @@
neweof++;
}
else new++;
@@ -39,7 +40,7 @@
newnext = newnext * 10 + *new++ - '0';
}
newnext += newseen;
-@@ -684,7 +684,7 @@
+@@ -753,7 +753,7 @@
neweof++;
}
else new++;
@@ -48,7 +49,7 @@
newnext += newseen;
}
}
-@@ -702,7 +702,7 @@
+@@ -771,7 +771,7 @@
/* There's a ":M" after the ",N". Parse/include that too. */
new++;
newnext = 0;
@@ -57,43 +58,7 @@
}
uid = newnext;
newseen++; /* Forget we parsed ",N" */
-@@ -1691,7 +1691,7 @@
- }
-
- for (;;) {
-- if (isdigit((int) *sequence)) {
-+ if (cyrus_isdigit((int) *sequence)) {
- start = start*10 + *sequence - '0';
- }
- else if (*sequence == '*') {
-@@ -1700,7 +1700,7 @@
- else if (*sequence == ':') {
- end = 0;
- sequence++;
-- while (isdigit((int) *sequence)) {
-+ while (cyrus_isdigit((int) *sequence)) {
- end = end*10 + *sequence++ - '0';
- }
- if (*sequence == '*') {
-@@ -1758,7 +1758,7 @@
- unsigned i, start = 0, end;
-
- for (;;) {
-- if (isdigit((int) *sequence)) {
-+ if (cyrus_isdigit((int) *sequence)) {
- start = start*10 + *sequence - '0';
- }
- else if (*sequence == '*') {
-@@ -1768,7 +1768,7 @@
- else if (*sequence == ':') {
- end = 0;
- sequence++;
-- while (isdigit((int) *sequence)) {
-+ while (cyrus_isdigit((int) *sequence)) {
- end = end*10 + *sequence++ - '0';
- }
- if (*sequence == '*') {
-@@ -1899,7 +1899,7 @@
+@@ -1913,7 +1913,7 @@
while (*p != ']' && *p != 'M') {
/* Generate the actual part number */
skip = 0;
@@ -102,7 +67,7 @@
skip = skip * 10 + *p++ - '0';
/* xxx overflow */
}
-@@ -2028,7 +2028,7 @@
+@@ -2043,7 +2043,7 @@
while (*p != 'H') {
skip = 0;
@@ -111,7 +76,7 @@
skip = skip * 10 + *p++ - '0';
/* xxx overflow */
}
-@@ -3766,7 +3766,7 @@
+@@ -3783,7 +3783,7 @@
case '{': /* literal */
c++; /* skip open brace */
len = 0; /* determine length of literal */
@@ -120,7 +85,7 @@
len = len*10 + *c - '0';
c++;
}
-@@ -3920,7 +3920,7 @@
+@@ -3937,7 +3937,7 @@
break;
/* if we have a digit, and we're still
counting, keep building the count */
@@ -129,17 +94,3 @@
count = count * 10 + *x - '0';
if (count < 0) { /* overflow */
count = -1; /* abort counting */
-diff -urNad cyrus-imapd-2.3-2.3.8/lib/util.h /tmp/dpep.mjLm85/cyrus-imapd-2.3-2.3.8/lib/util.h
---- cyrus-imapd-2.3-2.3.8/lib/util.h 2007-02-27 04:00:26.000000000 +0100
-+++ /tmp/dpep.mjLm85/cyrus-imapd-2.3-2.3.8/lib/util.h 2007-02-27 04:00:29.790499734 +0100
-@@ -113,4 +113,10 @@
-
- #define cyrus_isdigit(x) ((x) >= '0' && (x) <= '9')
-
-+/* Some systems have very inefficient implementations of isdigit,
-+ * and we use it in a lot of inner loops
-+ */
-+
-+#define cyrus_isdigit(x) ((x) >= '0' && (x) <= '9')
-+
- #endif /* INCLUDED_UTIL_H */
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/75-update-imapd.conf-documentation.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/75-update-imapd.conf-documentation.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/75-update-imapd.conf-documentation.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/75-update-imapd.conf-documentation.dpatch Mon Feb 9 12:49:22 2009
@@ -1,5 +1,8 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 75-update-imapd.conf-documentation.dpatch by Sven Mueller <sven at debian.org>
+## Updated to 2.3.13 by Duncan Gibb <duncan.gibb at siriusit.co.uk>
+## Note that the default for allowplaintext is "no" since release 2.3.9
+## (Ken changed it on 30 March 2007)
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: update imapd.conf option descriptions to be a bit more verbose about
@@ -9,7 +12,7 @@
diff -urNad cyrus-imapd-2.3.7~/lib/imapoptions cyrus-imapd-2.3.7/lib/imapoptions
--- cyrus-imapd-2.3.7~/lib/imapoptions 2006-08-11 12:31:09.000000000 +0200
+++ cyrus-imapd-2.3.7/lib/imapoptions 2006-08-11 12:31:10.000000000 +0200
-@@ -69,7 +69,10 @@
+@@ -90,7 +90,10 @@
\fB/etc/imapd.conf\fR file, and show each option's default value.
Some options have no default value, these are listed with
``<no default>''. Some options default to the empty string, these
@@ -21,15 +24,15 @@
*/
# OPTIONS
-@@ -122,7 +125,17 @@
+@@ -146,7 +146,17 @@
enabled when absolutely necessary. */
- { "allowplaintext", 1, SWITCH }
+ { "allowplaintext", 0, SWITCH }
-/* Allow the use of cleartext passwords on the wire. */
+/* Allow the use of cleartext passwords on the wire.
+.PP
-+ To disallow the use of plaintext passwords for authentication, you can
-+ set ``allowplaintext: no'' in imapd.conf. This will still allow PLAIN
++ To allow the use of plaintext passwords for authentication, you can
++ set ``allowplaintext: yes'' in imapd.conf. This will still allow PLAIN
+ under TLS, but IMAP LOGIN commands will now fail.
+.PP
+ If you only list plaintext authentication mechanisms in ``sasl_mech_list''
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/77-change-missing-sieve-notice.dpatch
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/77-change-missing-sieve-notice.dpatch?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/77-change-missing-sieve-notice.dpatch (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/patches/77-change-missing-sieve-notice.dpatch Mon Feb 9 12:49:22 2009
@@ -15,9 +15,9 @@
#include <assert.h>
+#include <errno.h>
- #include "xmalloc.h"
-
-@@ -418,7 +419,11 @@
+ #include "charset.h"
+ #include "hash.h"
+@@ -508,7 +509,11 @@
if (!fname || !ret) return SIEVE_FAIL;
if (stat(fname, &sbuf) == -1) {
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/rules
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/rules?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/rules (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/debian/rules Mon Feb 9 12:49:22 2009
@@ -19,6 +19,8 @@
export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+export BDB_VERSION ?= $(shell dpkg-query -l 'libdb4.[2-6]-dev' | grep ^ii | sed -e 's|.*\s\libdb\(4\.[0-9]\)-dev\s.*|\1|')
+
# enable dpatch usage
#include /usr/share/dpatch/dpatch.make
# -*- Makefile -*-, you silly Emacs!
@@ -62,10 +64,10 @@
# Extra version information to add to Cyrus IMAPd ID
DEBVERSION:=$(shell LCALL=C dpkg-parsechangelog | sed -ne 's/^Version: \(.*-\)/\1/p')
-EXTRA_IDENT:="Debian-$(DEBVERSION)"
+EXTRA_IDENT:="Sirius-$(DEBVERSION)"
# DB engine version
-DBENGINE=BerkeleyDB4.5
+DBENGINE=BerkeleyDB$(BDB_VERSION)
DEBUGFLAGS=-g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -92,7 +94,7 @@
# This is done to make sure the build daemon's source tree is the
# same as the one I am using to produce the i386 debs.
clean: clean-patched unpatch
-clean-patched: configure
+clean-patched: configure
dh_testdir
dh_testroot
-xargs -t -r chmod +x < debian/executable.files
@@ -116,13 +118,13 @@
configure-stamp: patch
dh_testdir
+ autoheader
+ autoconf
# -rm -f config.sub config.guess
# cp /usr/share/misc/config.sub config.sub
# cp /usr/share/misc/config.guess config.guess
touch configure.in && touch aclocal.m4 && touch configure
- # IF YOU CHANGE BERKELEY DB VERSION, MAKE SURE TO UPDATE
- # DBENGINE AT THE TOP OF THIS MAKEFILE!
./configure CFLAGS="-fno-strict-aliasing -fPIC -Wall -pipe $(DEBUGFLAGS)" $(CONFFLAGS) \
--with-extraident=$(EXTRA_IDENT) \
--prefix=/usr/share --exec-prefix=/usr --libexecdir=/usr/sbin \
@@ -136,6 +138,8 @@
--with-cyrus-prefix=/usr/lib/cyrus --with-lock=fcntl \
--with-perl=/usr/bin/perl \
--with-openssl=/usr --with-auth=unix \
+ --with-bdb=db-$(BDB_VERSION) \
+ --with-bdb-libdir=/usr/lib --with-bdb-incdir=/usr/include \
--enable-murder --enable-nntp --enable-replication \
--disable-listext --enable-annotatemore --with-sasl=/usr \
--enable-idled --with-drac=/usr \
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/Makefile.in
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/Makefile.in?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/Makefile.in (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/Makefile.in Mon Feb 9 12:49:22 2009
@@ -1,7 +1,8 @@
# Makefile for CMU local support
#
# @configure_input@
-# Copyright (c) 1998-2000 Carnegie Mellon University. All rights reserved.
+#
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -17,14 +18,15 @@
#
# 3. The name "Carnegie Mellon University" must not be used to
# endorse or promote products derived from this software without
-# prior written permission. For permission or any other legal
+# prior written permission. For permission or any legal
# details, please contact
-# Office of Technology Transfer
# Carnegie Mellon University
-# 5000 Forbes Avenue
-# Pittsburgh, PA 15213-3890
-# (412) 268-4387, fax: (412) 268-7395
-# tech-transfer at andrew.cmu.edu
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
#
# 4. Redistributions of any form whatsoever must retain the following
# acknowledgment:
@@ -39,6 +41,8 @@
# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
+# $Id: Makefile.in,v 1.8 2008/03/24 20:26:12 murch Exp $
+
srcdir = @srcdir@
VPATH = @srcdir@
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/depot.conf
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/depot.conf?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/depot.conf (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/depot/depot.conf Mon Feb 9 12:49:22 2009
@@ -6,3 +6,4 @@
~delete lib/perl5/5.8.6/i686-linux/perllocal.pod
~delete lib/perl5/5.8.6/sparc-solaris-thread-multi-64int-ld/perllocal.pod
~delete lib/perl5/5.8.6/sparc-solaris/perllocal.pod
+~delete lib/perl5/5.8.6/sun4-solaris/perllocal.pod
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/altnamespace.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/altnamespace.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/altnamespace.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/altnamespace.html Mon Feb 9 12:49:22 2009
@@ -1,6 +1,6 @@
<HTML><HEAD>
<title>Cyrus IMAP Server: Altername Namespace</title>
-<!-- $Id: altnamespace.html,v 1.2 2001/10/23 20:15:18 leg Exp $ -->
+<!-- $Id: altnamespace.html,v 1.3 2008/01/07 17:56:04 murch Exp $ -->
</HEAD><BODY>
<H1> Cyrus IMAP Server: Alternate Namespace</H1>
@@ -59,7 +59,7 @@
<p>To use the alternate namespace, turn on the <tt>altnamespace</tt>
option in <tt>/etc/imapd.conf</tt>. The prefixes used for shared
folders and other users folders can be changed from the defaults by
-setting the <tt>sharedrefix</tt> and <tt>userprefix</tt> options
+setting the <tt>sharedprefix</tt> and <tt>userprefix</tt> options
respectively.
<H2><a name="unixhiersep">UNIX Hierarchy Convention</a></H2>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/anoncvs.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/anoncvs.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/anoncvs.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/anoncvs.html Mon Feb 9 12:49:22 2009
@@ -1,6 +1,6 @@
<html>
<title> Cyrus IMAP: Anonymous CVS Access </title>
- <!-- $Id: anoncvs.html,v 1.3 2002/05/25 19:57:43 leg Exp $ -->
+ <!-- $Id: anoncvs.html,v 1.5 2007/10/19 14:33:13 murch Exp $ -->
<body>
<h1>Cyrus IMAP: Anonymous CVS Access</h1>
@@ -39,9 +39,18 @@
collection). The password is "anonymous".
<p>
- You will need autoconf (v2.12) to build CVS from the repository because
- we don't keep the configure script in the repository, along with the
- usual tools to build Cyrus (a compiler, a Unix box, a network.)
+ You will need autoconf, yacc (bison) and lex (flex) to build CVS
+ from the repository because we don't keep generated files in the
+ repository, along with the usual tools to build Cyrus (a
+ compiler, a Unix box, a network.) To create the configure
+ script, do the following:
+
+ <p><pre><kbd>
+ aclocal -I cmulocal
+ autoheader
+ autoconf
+ </kbd></pre>
+
<p>
Read access to the repository is availible to anyone via
@@ -76,7 +85,7 @@
<P><HR>
-last modified: $Date: 2002/05/25 19:57:43 $
+last modified: $Date: 2007/10/19 14:33:13 $
<br>
<A HREF="index.html">Return</A> to the Cyrus IMAP Server Home Page
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/changes.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/changes.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/changes.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/changes.html Mon Feb 9 12:49:22 2009
@@ -1,12 +1,181 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- $Id: changes.html,v 1.107 2007/02/06 15:32:43 murch Exp $ -->
+<!-- $Id: changes.html,v 1.164 2008/10/09 14:40:20 murch Exp $ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>Changes to the Cyrus IMAP Server</title>
</head>
<body>
+
+<h1>Changes to the Cyrus IMAP Server since 2.3.12</h1>
+<ul>
+<li>Added an experimental "sql" backend for cyrusdb. Currently MySQL,
+PostgreSQL, and SQLite are supported. See the new <tt>sql_*</tt>
+options for details.</li>
+<li>Added support for IMAP [CAPABILITY] response code to client-side
+of Murder proxies.</li>
+<li>Added support for ManageSieve auto-capability response after
+STARTTLS and after AUTH with a SASL security layer.</li>
+<li>Made <tt>MAXWORD</tt> and <tt>MAXQUOTED</tt> sizes configurable
+ via <tt>imapd.conf</tt> <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Rewrote <tt>cyrusdb_quotalegacy.c</tt> to use <tt>readir()</tt>
+ rather than <tt>glob.c</tt>. This avoids a potential crash due to
+ conflicts between glibc and Heimdal implementations of <tt>glob()</tt>.</li>
+<li>Added support for <tt>fulldirhash</tt> to <tt>ctl_mboxlist -v</tt>.</li>
+<li>More skiplist transaction fixes <i>-- courtesy of Fastmail.fm</i>.</li>
+<li><tt>cyr_expire</tt> no longer has a default of 0 (zero)
+ for <tt>-X</tt> and <tt>-D</tt>. These options must be used
+ explicitly in order to have the desired effect.</li>
+<li>Added <tt>sieve_utf8fileinto</tt> option.</li>
+<li>Added <tt>sieve_sasl_send_unsolicited_capability</tt>
+ and <tt>sieve_sasl_expect_unsolicited_capability</tt> options.</li>
+<li>Several 32/64-bit compatibility fixes.</li>
+<li>Fixed miscellaneous bugs and build issues.</li>
+</ul>
+
+<h1>Changes to the Cyrus IMAP Server since 2.3.11</h1>
+<ul>
+<li>Added <tt>statuscache.db</tt> to cache IMAP STATUS data which
+significantly reduces the amount of I/O necessary when neither the
+mailbox nor \Seen state has changed
+<i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Added option to <tt>unexpunge</tt> to restore messages by time
+interval
+<i>-- courtesy of David Carter</i>.</li>
+<li>Implemented undocumented IMAP SCAN extension, which allows
+Pine/Alpine to do cross-mailbox searches
+<i>-- based on work of David Carter</i>.</li>
+<li>Implemented incremental squat updates (see <tt>squatter.8</tt>)
+<i>-- courtesy of David Carter</i>.</li>
+<li>Fixed major bugs in <tt>reconstruct -k</tt> implementation
+<i>-- courtesy of David Carter</i>.</li>
+<li>Added code to promote transaction safety and to track the lock
+status of skiplist databases <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Added option to <tt>mbexamine</tt> to compare quota usage in
+cyrus.index to the actual message file sizes.</li>
+<li>Allow long lines in <tt>imapd.conf</tt> to be split across
+multiple lines by using backslash as a continuation character.</li>
+<li>The Sieve compiler now translates UTF-8 mailbox names used in
+<tt>fileinto</tt> to modified UTF-7 so that messages will be
+successfully inserted into the mailbox.</li>
+<li>Use a more appropriate argument with LHLO command.</li>
+<li>Added <tt>serverinfo</tt> option to control the information
+displayed in banner greetings and capability responses.</li>
+<li>Fixed miscellaneous bugs and build issues.</li>
+</ul>
+
+<h1>Changes to the Cyrus IMAP Server since 2.3.10</h1>
+<ul>
+<li>Fixed several skiplist bugs <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Add robustness to skiplist recovery <i>-- courtesy of
+Fastmail.fm</i>.</li>
+<li>Added support for modification sequences to replication protocol
+(for CONDSTORE) <i>-- courtesy of David Carter</i>.</li>
+<li>Fixed delayed delete replication <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Allow [un]deleting of user INBOXes (renaming to/from deleted
+hierarchy) to work when using delayed delete
+<i>-- courtesy of Simon Matter</i>.</li>
+<li>Fixed interaction with removal of rights and
+<tt>implicitownerrights</tt>.</li>
+<li>Fixed parsing of single FETCH item when using FETCH
+modifiers.</li>
+<li>Prevented SSL_accept() from blocking indefinitely when using
+TLS/SSL. This should eliminate a lot of hung SSL-wrapped processes.</li>
+<li>Allow STARTTLS to be used to externally preauth'd LMTP
+connections.</li>
+<li>Allow a TLS client certificate to be sufficient authentication for
+LMTP.</li>
+<li><tt>timsieved</tt> now automatically sends CAPABILITY response
+after STARTTLS. This code was reintroduced after being mistakenly
+removed as part of bug #1338.</li>
+<li>Fixed miscellaneous bugs and build issues.</li>
+</ul>
+
+<h1>Changes to the Cyrus IMAP Server since 2.3.9</h1>
+<ul>
+<li>Added support for "delayed" delete, in which mailboxes are renamed
+to a special admin-only "deleted" hierarchy at the time of the DELETE
+(hiding them from the client), rather than immediately removing them
+from the filesystem. This allows messages/mailboxes to be recovered
+by the admin in case of user error. The mailboxes and messages can be
+removed at a later time by <tt>cyr_expire</tt>. The new
+<tt>delete_mode</tt> and <tt>deletedprefix</tt> options in
+<tt>imapd.conf</tt> controls whether deletes are "immediate" or
+"delayed" and the mailbox hierarchy for "delayed" deletes.
+<i>-- courtesy of David Carter and FastMail.fm</i>.</li>
+<li>Fixed the special case of RENAMEing an Inbox, so that it doesn't
+keep the same mailbox uniqueid, thus allowing it to replicate
+properly (seen state is still preserved).</li>
+<li>Disabled <a
+href="http://en.wikipedia.org/wiki/Nagle's_algorithm">Nagle's
+algorithm</a> in <tt>sync_client</tt> and <tt>sync_server</tt> to
+increase the throughput of the replication protocol.
+<i>-- courtesy of Wes Craig</i>.</li>
+<li>Added support for a shared \Seen flag on messages (must be
+enabled on a per-mailbox basis with the
+<tt>/vendor/cmu/cyrus-imapd/sharedseen</tt> mailbox annotation.</li>
+<li>Added <tt>-g</tt> and <tt>-G</tt> options to <tt>reconstruct</tt>
+<i>-- courtesy of David Carter</i>.</li>
+<li>Added <tt>SETUIDVALIDITY</tt> command to the replication protocol
+<i>-- courtesy of David Carter</i>.</li>
+<li>Finally fixed (again?) alignment issues on 64-bit SPARC.</li>
+<li>Changed message GUIDs used by replication to be the SHA1 hash of
+the messages <i>-- based on work of David Carter and Fastmail.fm</i>.</li>
+<li>Improve the performance of commands that operate on
+sequence-sets. The sequence-set is now parsed only once, and the
+commands operate on a sorted list of seq-ranges.</li>
+<li>Added new <tt>cyr_synclog</tt> utility for adding events to the
+replication log <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Added support for PCRE library <i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Added support for disabling duplicate delivery suppression
+on a per-folder basis with the
+<tt>/vendor/cmu/cyrus-imapd/duplicatedeliver</tt> mailbox annotation
+<i>-- courtesy of Fastmail.fm</i>.</li>
+<li>Fixed miscellaneous bugs and build issues.</li>
+</ul>
+
+<h1>Changes to the Cyrus IMAP Server since 2.3.8</h1>
+<ul>
+<li>Added support for BDB 4.5 and 4.6.</li>
+<li>Fixed bug in frontend handling of CREATE for both proxying and
+referring. <i>-- courtesy of Gary Mills</i></li>
+<li>Fixed local deletion during XFER from a unified server. <i>-- courtesy
+of Gary Mills</i></li>
+<li>Fixed XFER bug which prevented sieve scripts from being
+migrated. <i>-- courtesy of Gary Mills</i></li>
+<li>Allow utilities to be run as root (acquiring 'cyrus' uid
+on-the-fly).</li>
+<li>Changed the default value of the <tt>allowplaintext</tt> option to
+disabled (0).</li>
+<li>Finally fixed 64-bit alignment problem with HIGHESTMODSEQ.</li>
+<li>Fixed initialization of UUID subsystem for replication. <i>-- courtesy
+of Fastmail.fm</i></li>
+<li>Added <tt>-a</tt> option to <tt>cyr_expire</tt> to ignore to skip
+annotation check. <i>-- courtesy of Fastmail.fm</i></li>
+<li>Set the mtime of synchronized message files to INTERNALDATE (makes
+reconstruction a little friendlier). <i>-- courtesy of Fastmail.fm</i></li>
+<li>Fixed a bug in <tt>sync_client</tt> which caused it to bail when a
+message was deleted out from under it.</li>
+<li>Allow <tt>sync_server</tt> to accept unauthenticated connections
+from <tt>sync_client</tt> on a UNIX socket.</li>
+<li>Drastically reduced the amount of time it takes for a
+<tt>mupdate</tt> slave to synchronize with a master.</li>
+<li>Added URI contained in the <tt>Content-Location</tt> header to the
+<tt>BODYSTRUCTURE</tt> response (per RFC 3501). <i>-- inspired by
+Fastmail.fm</i></li>
+<li>Fixed <tt>flushseenstate</tt> bug which was causing unsolicited
+EXPUNGE responses during FETCH/STORE. <i>-- courtesy of David
+Carter</i></li>
+<li>Added option to <tt>ctl_mboxlist</tt> to verify the consistency of
+the mailbox list database and the spool partition(s). See
+<tt>ctl_mboxlist.8</tt> for details.</li>
+<li>RENAME now copies <tt>cyrus.expunge</tt> index file as well as
+expunged message files.</li>
+<li>Fixed replication of 64-bit quotas. <i>-- courtesy of David
+Carter</i></li>
+<li>Fixed miscellaneous bugs, memory leaks, and build issues.</li>
+</ul>
<h1>Changes to the Cyrus IMAP Server since 2.3.7</h1>
<ul>
@@ -2192,7 +2361,7 @@
</ul>
<hr />
-last modified: $Date: 2007/02/06 15:32:43 $ <br />
+last modified: $Date: 2008/10/09 14:40:20 $ <br />
<a href="index.html">Return</a> to the Cyrus IMAP Server Home Page
</body>
</html>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/cyrusv2.mc
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/cyrusv2.mc?rev=768&root=cyrus22&r1=767&r2=768&view=3Ddiff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/cyrusv2.mc (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/cyrusv2.mc Mon Feb 9 12:49:22 2009
@@ -1,11 +1,50 @@
# divert(-1)
#
-# (C) Copyright 2000 by Carnegie Mellon University
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+#
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
+#
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# $Id: cyrusv2.mc,v 1.5 2008/04/04 12:46:34 murch Exp $
+
#
# This sample mc file is for a site that uses the Cyrus IMAP server
# exclusively for local mail. This requires Sendmail 8.10 or later.
#
-# $Id: cyrusv2.mc,v 1.4 2001/08/23 23:26:56 leg Exp $
divert(0)dnl
VERSIONID(`cyrus v2 sample configuartion')
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/faq.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/faq.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/faq.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/faq.html Mon Feb 9 12:49:22 2009
@@ -4,15 +4,12 @@
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>Cyrus IMAP Server FAQ</title>
-<!-- $Id: faq.html,v 1.37 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: faq.html,v 1.40 2008/08/27 08:28:45 selsky Exp $ -->
</head>
<body>
<h1>Cyrus IMAP Server FAQ</h1>
<ul>
-<li><b>Using PAM</b> Under Linux when using PAM and shadow
-passwords, /etc/shadow needs to be readable by the Cyrus user.</li>
-
<li><b>POP-Before-SMTP</b> It is not included in the default distribution
because there is already a standard way of doing this with SMTP AUTH.
Any good MTA and/or MUA should support SMTP AUTH, so we shouldn't have
@@ -48,7 +45,7 @@
convention</a>.</li>
<li><b>renaming users</b> - Supported, but try to make sure that the
-user is not, and can not login when doing the rename. Otherwise
+user is not, and cannot login when doing the rename. Otherwise
user-meta may get corrupted and/or out of sync.</li>
<li><b>plus addressing</b> - Plus addressing allows direct delivery
@@ -75,9 +72,70 @@
href="install-perf.html">the performance guide</a>.</li>
</ul>
+<h2>General Questions</h2>
+
+<dl compact="compact">
+<dt><b>Q:</b> What are the advantages of LMTP?</dt>
+
+<dd>
+<p><b>A:</b> LMTP protocol differs from SMTP in that it causes the
+ Cyrus to return, after the final "." of the DATA command, one
+ reply for each recipient. If, for example, a server is given a
+ transaction for two recipients, delivery to the first succeeds, and
+ delivery to the second encounters a temporary failure condition,
+ the MTA will get a separate response for each recipient and
+ will only have to reattempt to deliver it to the second recipient.
+ If using SMTP, only a single temporary failure response would be
+ returned, and the entire transaction would have to be reattempted.
+<p>Furthermore, LMTP is superior to invoking command-line delivery
+agents from the MTA in that most ESMTP extensions are supported by
+LMTP, without having to extend any interfaces.
+<p>Lastly, because LMTP can be run over TCP, it allows you to run SMTP
+(and spam/virus scanning) and mailbox access on separate servers, thus
+allowing better scalability.
+</dd>
+
+<dt><b>Q:</b> How do I configure my MTA?</dt>
+
+<dd>
+<p><b>A:</b> See <a href="install-configure.html#mta">Configuring the
+Mail Transfer Agent</a>
+</dd>
+
+<dt><b>Q:</b> How should I configure partitions to deal
+with a large number of users?</dt>
+
+<dd>
+<p><b>A:</b> The key is not to over-subscribe any partitions. Avoid
+putting too many users on any one partition, such that read/write
+performance becomes unacceptable. Good RAID performance (plenty of
+read/write cache, and perhaps RAID 10 instead of RAID 5) will improve
+the number of users a partition can serve. To benefit from multiple
+partitions, each should be on its own set of disks, served by an
+unsaturated interface (FC, SCSI, SAS, SATA, etc) to the host running
+Cyrus.
+<p>See <a href="install-perf.html">the performance guide</a> or general
+performance guidelines. Also see <tt>metapartition_files</tt> and
+<tt>metapartition-name</tt> in <tt>imapd.conf.5</tt> for additional
+configuration options which can help with performance, especially if
+you have access to high-speed storage (faster than disks).
+</dd>
+</dl>
+
<h2>Troubleshooting</h2>
<dl compact="compact">
+<dt><b>Q:</b> Why doesn't <tt>imapd/pop3d/nntpd/lmtpd/timsieved</tt>
+advertise PLAIN or plaintext login commands?</dt>
+
+<dd>
+<p><b>A:</b> Unless otherwise configured, Cyrus services only advertise
+PLAIN or plaintext login commands on encrypted connections
+(SSL-wrapped connections or after a successful STARTTLS command).
+This behavior can be changed with the use of the
+<tt>allowplaintext</tt> option in <tt>imapd.conf.5</tt>.
+</dd>
+
<dt><b>Q:</b> I'm getting syslog'd messages from the master process
saying processes are "signaled to death by 10". What's up?</dt>
@@ -202,12 +260,12 @@
<dd>
<p><b>A:</b> Nothing is wrong. These messages are logged whenever
-Berkeley db encounters lock contention, but isn't necessarily a
-problem by themselves. This is especially likely when you have an
+Berkeley DB encounters lock contention, but aren't necessarily
+problems. This is especially likely when you have an
empty or small duplicate delivery database and are receiving a large
volume of e-mail.</p>
-<p>Berkeley db 4.0 has a bug where the number of lockers isn't
+<p>Berkeley DB 4.0 has a bug where the number of lockers isn't
decremented properly, causing this number to be unreliable.</p>
</dd>
@@ -216,13 +274,13 @@
<dd>
<p><b>A:</b> 8-bit characters are illegal in message headers. Following
-the principal of "be liberal in what you accept, and strict in what you
-send" cyrus converts them to Xs. (Without a character set, having
+the principle of "be liberal in what you accept, and strict in what you
+send", Cyrus converts them to Xs. (Without a character set, having
the 8-bit characters replaced with Xs is just as good as having them be any
other 8-bit character, especially for sorting and searching).
Alternatively, you can set "reject8bit: t" in <tt>imapd.conf</tt> to
reject the messages outright. It might
-also be reasonable for cyrus to support the use of a default character set,
+also be reasonable for Cyrus to support the use of a default character set,
however thus far no one has done the work to do so (it would also involve
QP-encoding the corrupted headers).
</p>
@@ -233,7 +291,7 @@
<dd>
<p><b>A:</b>
-Trash folders, as they are commonly implemented (as an actual IMAP mailbox),
+Trash folders, as they are commonly implemented (as actual IMAP mailboxes),
do not fit the IMAP delete/expunge model very well. In fact, naive
client implementations will get stuck in a situation where they cannot
delete a message from a mailbox because they try to COPY it to the trash
@@ -272,7 +330,7 @@
</dl>
<hr />
-last modified: $Date: 2006/11/30 17:11:16 $ <br />
+last modified: $Date: 2008/08/27 08:28:45 $ <br />
<a href="index.html">Return</a> to the Cyrus IMAP Server Home Page
</body>
</html>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/feedback.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/feedback.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/feedback.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/feedback.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: feedback.html,v 1.6 2003/08/15 17:37:04 rjs3 Exp $ -->
+<!-- $Id: feedback.html,v 1.8 2008/08/27 08:28:45 selsky Exp $ -->
<HTML>
<HEAD>
<TITLE>Sending Feedback on the Cyrus IMAP Server</TITLE>
@@ -10,7 +10,7 @@
<P>Feedback on and fixes for the software or on the document may be
sent to <a
href="mailto:cyrus-bugs+ at andrew.cmu.edu"><tt>cyrus-bugs+ at andrew.cmu.edu</tt></a>.
-Unfortunately, we can not guarantee a response but we'll try the best
+Unfortunately, we cannot guarantee a response but we'll try the best
we can. As usual, a high quality and complete message helps us
tremendously.
@@ -25,7 +25,7 @@
<li> the version of imapd
<li> the version of libsasl
<li> your system type (<tt>uname -a</tt> often provides
- the right information.
+ the right information).
</ul>
You should also include:
<ul>
@@ -37,7 +37,7 @@
<p><b>NOTE: </b>If you are able to connect to the imap server, all of this
information can be gathered by using the <tt>version</tt>
-command in <tt>cyradm</tt>. If you can not use <tt>cyradm</tt>
+command in <tt>cyradm</tt>. If you cannot use <tt>cyradm</tt>
because you are having perl problems, you can connect using
<tt>imtest</tt> and then run the following IMAP command:
<ul>
@@ -52,7 +52,7 @@
list instead of to cyrus-bugs, as there are more readers here.
<P><HR>
-last modified: $Date: 2003/08/15 17:37:04 $
+last modified: $Date: 2008/08/27 08:28:45 $
<br>
<A HREF="index.html">Return</A> to the Cyrus IMAP Server Home Page
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-admin-mb.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-admin-mb.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-admin-mb.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-admin-mb.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: install-admin-mb.html,v 1.5 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: install-admin-mb.html,v 1.6 2008/01/07 17:56:08 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Administering Mailboxes
@@ -35,10 +35,14 @@
<p><b>Note:</b>If you run "<tt>cyradm</tt>" on a system not using
Kerberos for authentication, you will be prompted for your user name
-and password before you can issue any "<tt>cyradm</tt>" commands. Use
-the "<tt>-u</tt>" option to specify a particular user.
+and password before you can issue any "<tt>cyradm</tt>" commands. By
+default, you will be prompted for the password of the user ID of the
+current shell. If you want to authenticate as a different user, use
+the "<tt>-a</tt>" option. If the user that you authenticate as is a
+Cyrus admin, you can proxy as a particular user by also using the
+"<tt>-u</tt>" option.
-<p>The mailbox naming convention requires that the primary mailbox (inbox)
+<p>The mailbox naming convention requires that the primary mailbox (INBOX)
for anyone must be named "<tt>user.<var><userid></var></tt>".
To create a mailbox, type:
@@ -58,7 +62,7 @@
<kbd> setquota user.smith 10000
</kbd></pre>
-Once the inbox is created, users can create their own additional mailboxes
+Once the INBOX is created, users can create their own additional mailboxes
from a mail program. If Smith created a work mailbox and a play mailbox,
the full names of the mailboxes would be:
@@ -83,7 +87,5 @@
IMAP server.
<P><HR>
-last modified: $Date: 2006/11/30 17:11:16 $
+last modified: $Date: 2008/01/07 17:56:08 $
</BODY></HTML>
-
-
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-auth.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-auth.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-auth.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-auth.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: install-auth.html,v 1.12 2003/07/28 02:47:09 rjs3 Exp $ -->
+<!-- $Id: install-auth.html,v 1.13 2008/08/27 08:28:45 selsky Exp $ -->
<HTML>
<HEAD>
<TITLE>Authenticating Users
@@ -77,7 +77,7 @@
system can take advantage of it -- for example, login, xlock, etc.
<p>Keep in mind that when you use PLAIN or LOGIN you should encrypt
-the stream so a user's password can not be trivially sniffed off of
+the stream so a user's password cannot be trivially sniffed off of
the network.
</ul>
@@ -197,5 +197,5 @@
</ol>
<HR>
-last modified: $Date: 2003/07/28 02:47:09 $
+last modified: $Date: 2008/08/27 08:28:45 $
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-configure.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-configure.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-configure.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-configure.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: install-configure.html,v 1.34 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: install-configure.html,v 1.35 2008/01/07 17:56:09 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Installing and configuring the IMAP Server
@@ -227,11 +227,11 @@
</kbd></pre>
<p>Optionally, you can edit <tt>/etc/cyrus.conf</tt> to disable or
-enabling certain services, or to tune the number of preforked copies.
+enable certain services, or to tune the number of preforked copies.
Be sure not to remove the entries that are labeled required.
<p><li>Arrange to start "<tt>/usr/cyrus/bin/master</tt>" as root when
-the system starts. It will bind some ports and then give up it's root
+the system starts. It will bind some ports and then give up its root
privileges. Until your system reboots, you can start the master
process by hand:
@@ -247,7 +247,7 @@
<a name="mta"><h3>Configuring the Mail Transfer Agent</h3></a>
<p>In order to deliver mail to the Cyrus system, you'll have to
-configure your MTA (Sendmail, Postfix, Exim, etc) to use LMTP.
+configure your MTA (Sendmail, Postfix, Exim, etc.) to use LMTP.
<h4>Configuring <a href="http://www.sendmail.org/">Sendmail</a></h4>
@@ -435,13 +435,13 @@
<li><p>OpenSSL requires the certificate and key in PEM format. You can
create the server's private key and certificate yourself using
OpenSSL. Here, we create a self-signed key for the machine
-"<tt> foobar.andrew.cmu.edu</tt>" and put both the certificate and key
+"<tt>foobar.andrew.cmu.edu</tt>" and put both the certificate and key
in the file "<tt>/var/imap/server.pem</tt>".</p>
<p>Please do not blindly enter in the information to OpenSSL
below. Instead, enter the appropriate information for your
-organization (i.e. NOT Carnegie Mellon University for the Organization
-name, etc.).</p>
+organization (i.e., NOT Carnegie Mellon University for the Organization
+Name, etc.).</p>
<pre>
<kbd>openssl req -new -x509 -nodes -out /var/imap/server.pem -keyout /var/imap/server.pem -days 365</kbd>
@@ -471,7 +471,7 @@
example: <kbd>chown cyrus /var/imap/server.pem</kbd>
<li>Add the following to <tt>/etc/imapd.conf</tt> to tell the server
-where to find the certificate and key file (used for ALL services):
+where to find the certificate and key files (used for ALL services):
<pre>tls_cert_file: /var/imap/server.pem
tls_key_file: /var/imap/server.pem
@@ -485,10 +485,10 @@
</pre>
"servicename" here refers to the name of the service as specified
-in cyrus.conf. It is <i>not</i> necessaraly the name of the binary.
+in <tt>cyrus.conf</tt>. It is <i>not</i> necessarily the name of the binary.
<p>This is useful if you want to use different hostnames for each service
-(e.g. via virtual host interfaces or DNS CNAMEs). In the absence of
+(e.g., via virtual host interfaces or DNS CNAMEs). In the absence of
any of the service specific options, the value of the global option is
used. A value of <b>disabled</b> for the certificate or key file for
a particular service will disable SSL/TLS for that service.
@@ -537,5 +537,5 @@
href=altnamespace.html#altnameconfig>altnamespace.html</a>.
<P><HR>
-last modified: $Date: 2006/11/30 17:11:16 $
+last modified: $Date: 2008/01/07 17:56:09 $
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-perf.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-perf.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-perf.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-perf.html Mon Feb 9 12:49:22 2009
@@ -1,6 +1,6 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- $Id: install-perf.html,v 1.10 2003/01/02 19:23:11 rjs3 Exp $ -->
+<!-- $Id: install-perf.html,v 1.11 2008/01/09 19:51:07 murch Exp $ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
@@ -9,7 +9,7 @@
<body>
<h1>Performance Notes</h1>
-Performance issues for you to consider. If you never expect to have
+Cyrus presents various performance issues for you to consider. If you never expect to have
more than 100 simultaneous users, chances are any hardware you have
will be fine. If you plan on having thousands or more users, please
be sure to review this section.
@@ -19,24 +19,24 @@
<ul>
<li><tt><b>/var/imap/proc</b></tt> - After a successful login, the
-imapd creates a file in <tt>/var/imap/proc</tt> that is its unix
-process id. It also contains the name of any <tt>SELECT</tt>'d
+<tt>imapd</tt> creates a file in <tt>var/imap/proc</tt> that is its unix
+process id. It also contains the name of any <tt>SELECT</tt>ed
mailbox. The file is deleted when the user logs out.
<p>Given the potential load, this is a good candidate to move
elsewhere. This can be done by symlink'ing the directory to another
-partition. We symlink it to a directory on a memory/viritual memory
-filesystem (specifically Solaris' tmpfs). If you use a tmpfs type
+partition. We symlink it to a directory on a memory/virtual memory
+filesystem (specifically Solaris' <tt>tmpfs</tt>). If you use a <tt>tmpfs</tt> type
filesystem, make sure that you have sufficient memory/swap to do
this.</p>
-<p>Some people don't care about this information and just #ifdef
+<p>Some people don't care about this information and just <tt>#ifdef</tt>
out the code. We probably should add a <tt>configure</tt> option to
do this.</p>
</li>
<li><tt><b>/var/imap/mailboxes.db</b></tt> - The mailboxes list is often
-the ultimate source of contention between imap processes, especially if
+the ultimate source of contention between <tt>imapd</tt> processes, especially if
clients are inefficient about their use of the LIST command. For this reason
it is often better to use the skiplist backend which is optimized for
enumeration of the database, as opposed to the default, Berkeley DB
@@ -46,16 +46,16 @@
you can also tweak the Berkeley backend if you want to or have to stick
with it. Cyrus doesn't do anything to increase the BDB cache size, and the
default (256 kB) is way too small for any reasonably large site. With some
-50000 mailboxes and random operations, I found the hit rate for default
-BDB cache to be 70-80%. After growing the cache size to 2M, hit rate
+50000 mailboxes and random operations, I found the hit rate for the default
+BDB cache to be 70-80%. After growing the cache size to 2M, the hit rate
approached 99% and disk traffic was greatly reduced since most of the
operations are reads anyway. Therefore processes could complete their work
and release their locks much more quickly, and the dreaded "DBERROR: xxx
lockers" messages stayed at a comfortable level. You can modify the source
(<tt>/lib/cyrusdb_db3.c</tt>, the setting is commented out) or you can put
a <tt>DB_CONFIG</tt> file under <tt>/var/imap/db</tt> with the appropriate
-setting. Read more about this in the Berkeley docs before trying it, typos
-and incorrect settings can cause havoc.</p>
+setting. Read more about this in the Berkeley docs before trying it - typos
+and incorrect settings can wreak havoc.</p>
<li><tt><b>/var/imap/deliverdb</b></tt> - Unless you disable
duplicate delivery suppression, each time a mail message is
@@ -73,20 +73,20 @@
separate machine.</li>
<li>Unused SASL mechanisms - If you just build the SASL library and
-copied all the mechanisms into /usr/lib/sasl2, the <tt>imapd</tt>
-will try to use them and allocate some amount of memory. In
+copy all the mechanisms into <tt>/usr/lib/sasl2</tt>, the <tt>imapd</tt>
+will try to use them and allocate some amount of memory for each. In
general, the operating system will swap out those pages but you may
-be allocating more swap space than you need. So, look in
-/usr/lib/sasl2 and if you don't plan on using those mechanisms,
+be allocating more swap space than you need. So look in
+<tt>usr/lib/sasl2</tt> and if you don't plan on using those mechanisms,
don't leave them there.</li>
<li>You may want to increase the listen queue value when starting
up the master process. For example, you may want to do this if you
-see the Listen queue drop counter increasing quickly. For example,
-under Solaris, look at the variable tcpListenDrop (from <tt>netstat
+see the listen queue drop counter increasing quickly.
+Under Solaris, look at the variable <tt>tcpListenDrop</tt> (from <tt>netstat
-sP tcp</tt>).</li>
-<li><b>Database recovery.</b> If restarting the server takes a long
+<li>Database recovery. If restarting the server takes a long
time due to the <tt>cyrusdb</tt> database recovery procedure (this is
usually true if you have a large number of deliveries) you should look
into shortening the interval between checkpoints, controlled by the
@@ -102,12 +102,12 @@
generate thousands of syslog messages. On Linux, syslog
performance can be greatly improved by disabling synchronous
logging (disabling fsync() after each message). Prepending
-filenames in /etc/syslog.conf with a "-", e.g., "/var/log/maillog"
-becomes "-/var/log/maillog", disables syslog's fsync() call after
+filenames in <tt>etc/syslog.conf</tt> with a "-", e.g., "<code>/var/log/maillog</code>"
+becomes "<tt>-/var/log/maillog</tt>", disables syslog's fsync() call after
each log message. If you log many messages those fsync()s will
kill your I/O throughput. Note that if you do not need the detail provided
by the LOG_DEBUG level, then not logging these messages can significantly
-reduces the amount of log entries that cyrus makes.</li>
+reduces the number of log entries that Cyrus makes.</li>
</ul>
<p>In general, there's no magic bullet for performance. It depends
@@ -115,12 +115,12 @@
system. In general, an <tt>imapd</tt> process takes up anywhere
from 256 Kbytes of memory to 512 Kbytes when it is first fired up.
CPU has not been a big deal, but it may become more important as
-the imap sessions are encrypted and now that searching may be more
+the IMAP sessions are encrypted and now that searching may be more
frequent. Disk I/O is probably the most important and having a
-hardware RAID subsystem with an amount of write-back cache would be
+hardware RAID subsystem with a decent amount of write-back cache would be
a good thing.</p>
-<p>Finally, if you are talking about less than 100 interactive
+<p>Again, if you are talking about less than 100 interactive
users it is likely that any relatively modern hardware can support
it. If you are talking about having more than 1000 interactive
users, you should know how to predict your utilization, go
@@ -132,7 +132,6 @@
look for his name.</p>
<hr />
-last modified: $Date: 2003/01/02 19:23:11 $
+last modified: $Date: 2008/01/09 19:51:07 $
</body>
</html>
-
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-prereq.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-prereq.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-prereq.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-prereq.html Mon Feb 9 12:49:22 2009
@@ -1,19 +1,19 @@
-<!-- $Id: install-prereq.html,v 1.12 2003/10/22 18:50:04 rjs3 Exp $ -->
+<!-- $Id: install-prereq.html,v 1.13 2008/01/07 17:56:11 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Prerequisites and other notes
</title>
</head>
-<h1>Prerequisites and other notes
-</h1>
<body>
+
+<h1>Prerequisites and other notes</h1>
<P>The following programs and/or packages are <b>required</b>.
<ul>
-<LI> <b>libsasl</b>, version 2.1.7 or higher. To obtain libsasl, ftp
+<LI> <b>libsasl</b>, version 2.1.7 or higher. To obtain <tt>libsasl</tt>, <tt>ftp</tt>
it from <a
-href="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail"><TT>ftp.andrew.cmu.edu</TT></a>.
+href="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail">ftp.andrew.cmu.edu</a>.
Earlier versions of SASL will not work; please get the latest one.
Configure SASL so that it supports whatever authentication method your
site uses. Please pay careful attention to the SASL
@@ -21,7 +21,7 @@
<li> <b>Berkeley DB</b>, version 3.0.55 or higher. Berkeley DB can be
obtained from <a href="http://www.sleepycat.com">Sleepycat</a>. It is
-strongly recommended that libsasl be compiled with Berkeley DB
+strongly recommended that <tt>libsasl</tt> be compiled with Berkeley DB
support, using the same version of Berkeley DB. (If you have a
Berkeley DB version mismatch, somewhat perplexing crashes result.)
@@ -40,14 +40,14 @@
<ul>
<LI> <b>makedepend</b>. A version is included in the
<TT>makedepend</TT> subdirectory of the distribution. Try and install
-it before installing the Cyrus IMAPd. If it fails, the configure
-script will use a dummy shell script instead of makedepend, and you
+it before installing the Cyrus IMAPd. If it fails, the <tt>configure</tt>
+script will use a dummy shell script instead of <code>makedepend</code>, and you
should be sure to always give the command "<TT>make clean</TT>" before
"<TT>make all</TT>". If you don't mind builds taking longer, this
-isn't a big deal and you can ignore any makedepend errors.
+isn't a big deal and you can ignore any <code>makedepend</code> errors.
-<LI> <b>Perl</b>, version 5. To obtain Perl, see <a
-href="http://www.cpan.org/">the comprehensive Perl archive</a>. This
+<LI> <b>Perl</b>, version 5. To obtain Perl, see the <a
+href="http://www.cpan.org/">Comprehensive Perl Archive</a>. This
is required for <tt>cyradm</tt> (written by Brandon Allbery). It is
also used for some installation scripts: you don't need it but it may
make your life easier. We recommend at least version 5.00502.
@@ -85,14 +85,12 @@
<ul>
<li><a href="ftp://ftp.gnu.org/non-gnu/flex">flex</a> - libsieve has
two different lexical analyzers, and that's hard to do with
-traditional lex.
+traditional <tt>lex</tt>.
-<li><a href="ftp://ftp.gnu.org/gnu/gcc">gcc</a> - we build using gcc
+<li><a href="ftp://ftp.gnu.org/gnu/gcc">gcc</a> - we build using <code>gcc</code>
and the compiler options <tt>-O2 -g</tt>.
</ul>
<P><HR>
-last modified: $Date: 2003/10/22 18:50:04 $
+last modified: $Date: 2008/01/07 17:56:11 $
</BODY></HTML>
-
-
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-replication.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-replication.html?rev=768&root=cyrus22&r1=767&r2=
3D768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-replication.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-replication.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: install-replication.html,v 1.3 2007/02/06 18:49:19 murch Exp $ -->
+<!-- $Id: install-replication.html,v 1.8 2007/11/26 20:35:59 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Cyrus replication
@@ -13,15 +13,17 @@
at your own risk. The core of the replication code has been used
successfully in production at <a
href="http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/replication.html">Cambridge
-University</a> for about a year, but it has been rewritten extensively
+University</a> since the summer of 2003, but it has been rewritten extensively
as part of the integration into the mainstream Cyrus codebase.
-</i></b><br><br>
-<b><i>Also note that the replication protocol currently does not have
-the facility to support the IMAP CONDSTORE extension (modification
-sequences). It is recommended that you do not try to use both
-CONDSTORE and replication at this time. The deficiencies in the
-replication protocol will be fixed in version 2.3.9.
-</i></b><br>
+The replication code as integrated into Cyrus 2.3 has been running in
+production at Fastmail.fm and Columbia.edu since early 2006 and will
+be put into production at CMU in winter 2007.
+</i></b>
+
+<p><i>The Cyrus team owes a debt of gratitude to the kind folks at
+Cambridge, Columbia, and Fastmail for their considerable effort in
+helping to identify and correct the bugs the in Cyrus 2.3 replication
+code.</i>
<h3>Introduction & Assumptions</h3>
<p>The Cyrus replication engine is designed to replicate the mailstore on
@@ -52,10 +54,12 @@
<h3>Configuring the "replica" server</h3>
-The "replica" server is a standalone server which listens for
+The "replica" server is a <i>standalone</i> server which listens for
and processes synchronization messages from a "master" server. The
"replica" server needs to be configured to accept these synchonization
-messages.<p>
+messages. The "replica" server <b>MUST NOT</b> be configured to be
+part of a Murder (it should only be configured into the Murder at the
+point at which it replaces a failed backend "master").<p>
<ol>
<p><li>Configure a standalone server as described in the rest
@@ -115,32 +119,16 @@
</ol>
-<h4>Universally Unique Identifiers (UUIDs)</h4>
+<h4>Globally Unique IDentifiers (GUIDs)</h4>
-An optional, but recommended step is to enable UUIDs for messages.
-Use of UUIDs improves efficiency by eliminating the synchronization
+An optional, but recommended step is to enable GUIDs for messages.
+Use of GUIDs improves efficiency by eliminating the synchronization
of messages which the "replica" has already received from the
-"master". Note that UUIDs can be safely enabled and disabled at any
+"master". Note that GUIDs can be safely enabled and disabled at any
time.
<ol>
-<p><li>
-Define the <tt>sync_machineid</tt> option in imapd.conf. This option
-specifies the numeric identifier (1 - 255) of the "master" machine
-which is used in constructing the UUID for each message on the server.
-This identifier MUST be unique across all active "backend" servers in
-a Murder. Example:<p>
-
-<pre>
-sync_machineid: 1
-</pre>
-
-<p><li>For each IMAP, NNTP and LMTP service in cyrus.conf, enable the
-<tt>provide_uuid</tt> argument. Example:<p>
-
-<pre>
-imap cmd="imapd" listen="imap" prefork=5 provide_uuid=1
-</pre>
+<p><li>Set the <tt>guid_mode</tt> option in imapd.conf to <tt>sha1</tt>.
</ol>
<h4>"Rolling" replication</h4>
@@ -180,7 +168,7 @@
<h3>Failover</h3>
<P><HR>
-last modified: $Date: 2007/02/06 18:49:19 $
+last modified: $Date: 2007/11/26 20:35:59 $
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-upgrade.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-upgrade.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-upgrade.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-upgrade.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: install-upgrade.html,v 1.36 2007/02/07 18:58:07 murch Exp $ -->
+<!-- $Id: install-upgrade.html,v 1.41 2008/10/03 14:40:43 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Upgrading From Previous Versions
@@ -7,6 +7,51 @@
<body>
<h1>Upgrading From Previous Versions</h1>
+
+<h2>Upgrading from 2.3.12</h2>
+<ul>
+<li>Sieve has reverted back to expecting modified UTF7 folder names in
+ fileinto actions by default. If your scripts are using UTF8 folder
+ names, you <b>MUST</b> enable the <tt>sieve_utf8fileinto</tt>
+ in <tt>imapd.conf</tt>.</li>
+</ol>
+</ul>
+
+<h2>Upgrading from 2.3.10</h2>
+<ul>
+<li>STARTTLS is now allowed for externally preauth'd LMTP connections.
+If you don't want STARTTLS to be advertised and used by preauth'd
+clients, you can set <tt><service_name>_tls_cert_file:
+disabled</tt> in imapd.conf.</li>
+</ol>
+</ul>
+
+<h2>Upgrading from 2.3.9</h2>
+<ul>
+<li>The method used for generating Globally Unique IDentifiers used
+for replication has been changed to be the SHA1 hash of the messages.
+If you wish to upgrade the existing GUIDs in particular mailbox(es) or
+the entire server, perform the following steps in the listed order.
+Note that is is NOT REQUIRED that existing GUIDs be upgraded.
+<ol>
+<li>Zero GUIDs on the replica (<tt>reconstruct -g</tt>)</li>
+<li>Regenerate GUIDs on the master (<tt>reconstruct -G</tt>)</li>
+<li>Regenerate GUIDs on the replica (<tt>reconstruct -G</tt>)</li>
+</ol>
+</ul>
+
+<h2>Upgrading from 2.3.8</h2>
+<ul>
+<li> You must install and configure Cyrus SASL version 2.1.17 or later
+to use Cyrus IMAP 2.3.9 and later. You can download SASL at <a
+href="http://cyrusimap.web.cmu.edu/downloads.html#sasl">
+http://cyrusimap.web.cmu.edu/downloads.html#sasl</a>.</li>
+
+<li>The default value of the <tt>allowplaintext</tt> option has been
+changed to disabled (0). If you need to allow cleartext passwords on
+the wire, then you will have to explicitly enable the
+<tt>allowplaintext</tt> option in <tt>imapd.conf</tt>.</li>
+</ul>
<h2>Upgrading from 2.3.3 or later (64-bit machines)</h2>
<ul>
@@ -462,7 +507,7 @@
</ul>
<HR><P>
-last modified: $Date: 2007/02/07 18:58:07 $
+last modified: $Date: 2008/10/03 14:40:43 $
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-virtdomains.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-virtdomains.html?rev=768&root=cyrus22&r1=767&r2=
3D768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-virtdomains.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/install-virtdomains.html Mon Feb 9 12:49:22 2009
@@ -1,18 +1,18 @@
-<!-- $Id: install-virtdomains.html,v 1.4 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: install-virtdomains.html,v 1.5 2008/01/07 17:56:12 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Configuring Virtual Domains
</title>
</head>
-<h1>Configuring Virtual Domains
-</h1>
<body>
+
+<h1>Configuring Virtual Domains</h1>
<h2>Introduction</h2>
<p>Virtual domains is the practice of hosting a service for more than one
domain on one server. Cyrus IMAP has the ability to host IMAP/POP
-mailboxes for multiple domains (e.g. <tt>test at example.com</tt> and
+mailboxes for multiple domains (e.g., <tt>test at example.com</tt> and
<tt>test at example.net</tt>) on a single server or Murder.</p>
<p>In order to accomplish this, Cyrus needs to know which domain to look
@@ -21,7 +21,7 @@
<ul>
<li>Fully qualified userid - the client logs in with a userid
-containing the domain in which the user belongs (e.g
+containing the domain in which the user belongs (e.g.,
<tt>test at example.com</tt> or <tt>test%example.net</tt>)</li>
<li>IP address - the server looks up the domain based on the IP
address of the receiving interface (useful for servers with multiple
@@ -44,7 +44,7 @@
as existing inside a domain. Unqualified users are technically inside the
<tt>defaultdomain</tt>.</li>
<li><b>Names can be qualified</b> - Global admins can reference
-mailboxes and ids by qualified names. That is, for any given mailbox
+mailboxes and IDs by qualified names. That is, for any given mailbox
command, you can add <tt>@domain</tt> to the end of the mailbox name.
Here are some examples:
<ul>
@@ -69,9 +69,9 @@
implementation supports per-domain administrators as well as
global (inter-domain) administrators. Domain-specific
administrators are specified with a fully qualified userid in the
- <tt>admins</tt> option (e.g. <tt>admin at example.net</tt>) and only
+ <tt>admins</tt> option (e.g., <tt>admin at example.net</tt>) and only
have access to mailboxes in the associated domain. Global
- administrators are specified with an unqualified userid.
+ administrators are specified with unqualified userids.
</ul>
<h2>Quick Start</h2>
@@ -133,7 +133,7 @@
</kbd></pre>
<p>Once the server obtains the fully qualified hostname of the
-interface, it removes the localpart (ie, 'mail') and uses the
+interface, it removes the localpart (i.e., 'mail') and uses the
remainder as the domain for any user that logs in.</p>
<p>This address to hostname mapping would usually be done via DNS,
@@ -149,7 +149,7 @@
<h4>Configuring Sendmail</h4>
<p>In general, follow the basic <a href=install-configure.html>configuration
-instructions</a>. Here are a few caveots:</p>
+instructions</a>. Here are a few caveats:</p>
<ul>
<li> It is easiest to use the mailertable to route mail to Cyrus,
@@ -163,7 +163,7 @@
<li> You'll have to use the Cyrus mailer in LMTP mode, and you'll have
to change the mailer flags so that it provides the full domain while
-communicating LMTP. Specifically these changes:
+communicating via LMTP. Specifically these changes:
<pre>
S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP
@@ -171,12 +171,12 @@
</ul>
<h3>Mail Clients</h3>
-<p>The only changes you'll need to make to the mail client is to change the
-username to the fully qualified domain name, ie <tt>user at example.com</tt>.
+<p>The only changes you'll need to make to mail clients is to change
+usernames to the fully qualified domain names, i.e., <tt>user at example.com</tt>.
Note that to support some mail clients, the <tt>user%example.com</tt>
form of userid is also supported. Users in the default domain will not
-need to reconfigur their clients (as unqualified userids are assumed to
-be in the default domain)</p>
+need to reconfigure their clients (as unqualified userids are assumed to
+be in the default domain).</p>
<a name="admins"><h3>Administration</h3></a>
@@ -184,20 +184,20 @@
administrators as well as "global" (inter-domain) administrators.
Domain-specific administrators are specified with a
fully qualified userid in the <tt>admins</tt> option
-(e.g. <tt>admin at example.net</tt>) and only have access to mailboxes in
+(e.g., <tt>admin at example.net</tt>) and only have access to mailboxes in
the associated domain. Mailbox names should be specified in the same
fashion as on a single domain configuration.</p>
<p>Global administrators are specified with an unqualified userid in the
<tt>admins</tt> option and have access to <i>any</i> mailbox on the
server. Because global admins use unqualified userids, they belong
-to the <tt>defaultdomain</tt>. As a result, you can NOT have a global
+to the <tt>defaultdomain</tt>. As a result, you CANNOT have a global
admin without specifying a <tt>defaultdomain</tt>. Note that when
-trying to login as a global admin to a multi-homed server from remote
+trying to login as a global admin to a multi-homed server from a remote
machine, it might be necessary to fully qualify the userid with the
<tt>defaultdomain</tt>.</p>
-<p>Global admins must use a <tt>mailbox at domain</tt> syntax when
+<p>Global admins must use <tt>mailbox at domain</tt> syntax when
specifying mailboxes outside of the <tt>defaultdomain</tt>. Examples
(using <tt>cyradm</tt>):</p>
@@ -220,5 +220,5 @@
</kbd></pre>
<P><HR>
-last modified: $Date: 2006/11/30 17:11:16 $
+last modified: $Date: 2008/01/07 17:56:12 $
</BODY></HTML>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/database-formats.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/database-formats.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/database-formats.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/database-formats.html Mon Feb 9 12:49:22 2009
@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="revision" content="$Id: database-formats.html,v 1.3 2006/11/30 17:11:16 murch Exp $" />
+<meta name="revision" content="$Id: database-formats.html,v 1.4 2008/01/18 19:17:07 murch Exp $" />
<meta name="author" content="Ken Murchison" />
<title>Database Formats</title>
@@ -123,6 +123,25 @@
Data: <Auth State (multi-byte)>
</pre>
+<h2>STATUS cache (statuscache.db)</h2>
+
+<p>This database caches IMAP STATUS information resulting in less I/O
+when the STATUS information hasn't changed (mailbox and \Seen state
+unchanged). The database is indexed by mailbox name + userid and each
+data record contains the database version number, a bitmask of the
+stored status items, the mtime, inode, and size of the cyrus.index
+file at the time the record was written, the total number of messages
+in the mailbox, the number of recent messages, the next UID value, the
+mailbox UID validity value, the number of unseen messages, and the highest
+modification sequence in the mailbox. The format of each record is as
+follows:</p>
+
+<pre>
+Key: <Mailbox Name>\0<Userid>\0
+
+Data: <Version>SP<Bitmask of Items>SP<Mtime of Index>SP<Inode of Index>SP<Size of Index>SP<# of Messages>SP<# of Recent Messages>SP<Next UID>SP<UID Validity>SP<# of Unseen Messages>SP<Highest Mod Sequence>
+</pre>
+
<h2>Seen State (<userid>.seen)</h2>
This database is a per-user database and maintains the list of
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/mailbox-format.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/mailbox-format.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/mailbox-format.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/mailbox-format.html Mon Feb 9 12:49:22 2009
@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="revision" content="$Id: mailbox-format.html,v 1.5 2006/11/30 17:11:16 murch Exp $" />
+<meta name="revision" content="$Id: mailbox-format.html,v 1.8 2007/10/12 12:54:23 murch Exp $" />
<meta name="author" content="Rob Siemborski" />
<title>mailbox format</title>
@@ -184,6 +184,16 @@
<dd> Flag signalling that we're supporting the IMAP CONDSTORE
extension on the mailbox.</dd>
+
+<dt>IMAP_SHAREDSEEN</dt>
+
+<dd> Flag signalling that we're supporting a shared \Seen flag
+on the mailbox.</dd>
+
+<dt>IMAP_DUPDELIVER</dt>
+
+<dd> Flag signalling that we're allowing duplicate delivery of
+messages to the mailbox, overriding system-wide duplicate suppression.</dd>
</dl>
</dd>
@@ -245,8 +255,9 @@
<dd>Indicates the version number of the cache record for the message
(determines which headers are cached).</dd>
-<dt>UUID (MESSAGE_UUID_SIZE bytes)</dt>
-<dd>Universal UID of the message (used by replication code).</dd>
+<dt>GUID (MESSAGE_GUID_SIZE bytes)</dt>
+<dd>Globally Unique IDentifier of the message (used by replication
+engine).</dd>
<dt>MODSEQ (8 bytes)</dt>
<dd>Modification Sequence of the message (CONDSTORE).</dd>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_examples
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_examples?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_examples (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_examples Mon Feb 9 12:49:22 2009
@@ -36,7 +36,7 @@
# Folder UniqueID, Name, ACL, UIDlast, timestamp for last seen update.
#
# "*" response for each mail message in folder:
-# UID, UUID, flags (other than \Seen state)
+# UID, GUID, flags (other than \Seen state)
C: user_some dpc22 user.dpc22
S: ** 6b98205c796c6c61 user.dpc22 \
@@ -59,7 +59,7 @@
S: OK 6b98205c796c6c61 4151 1062945305
# Remove message with UID "1" from folder list (message which has been
-# sitting in my inbox since January, has no UUID defined)
+# sitting in my inbox since January, has no GUID defined)
C: expunge 1
S: OK Expunge Complete
@@ -130,7 +130,7 @@
S: USER_SOME dpc22 ...
-Reserve message with given UUID in user.dpc22 so that it can be moved
+Reserve message with given GUID in user.dpc22 so that it can be moved
S: RESERVE user.dpc22 ...
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_protocol
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_protocol?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_protocol (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/internal/replication_protocol Mon Feb 9 12:49:22 2009
@@ -249,18 +249,18 @@
RESERVE
mailbox :: astring
- uuid0 :: ulong
+ guid0 :: ulong
. . .
- uuidn :: ulong
-
-Reserves collection of messages matching list of UUIDs in given mailbox.
+ guidn :: ulong
+
+Reserves collection of messages matching list of GUIDs in given mailbox.
Message data is linked into /var/spool/imap/sync. staging directory
so that we can later link the messages into other folders even if the
original has been expunged. Multiline response of the form:
- * [UUID :: astring]
+ * [GUID :: astring]
. . .
- * [UUID :: astring]
+ * [GUID :: astring]
OK Reserve complete
so that client knows which reserve operations have been complete and which
@@ -289,9 +289,9 @@
Return complete status of currently selected mailbox. Multiline response:
- * [uid :: ulong] [uuid :: astring] [flags :: flag_list]
+ * [uid :: ulong] [guid :: astring] [flags :: flag_list]
. . .
- * [uid :: ulong] [uuid :: astring] [flags :: flag_list]
+ * [uid :: ulong] [guid :: astring] [flags :: flag_list]
OK [last_uid :: ulong]
Believe that this command has been obsoleted by USER_ALL and USER_SOME.
@@ -359,8 +359,8 @@
Arbitrary list of messages on single logical line , with three forms:
SIMPLE # Unparsed message that we need to parse
- UUID :: astring
- UID :: ulong # "NIL" => Use UUID 0.
+ GUID :: astring
+ UID :: ulong # "NIL" => Use GUID 0.
internaldate :: time_t
sentdate :: time_t
last_updated :: time_t
@@ -368,7 +368,7 @@
message_text :: literal+
PARSED # Message plus pre-parsed cyrus.cache entry
- UUID :: astring
+ GUID :: astring
UID :: ulong
internaldate :: time_t
sentdate :: time_t
@@ -378,7 +378,7 @@
message_text :: literal+
COPY # Copy of message which has already
- UUID :: astring # been UPLOADED or RESERVED
+ GUID :: astring # been UPLOADED or RESERVED
UID :: ulong # Message body and cache available
internaldate :: time_t # from staging directory
sentdate :: time_t
@@ -388,7 +388,7 @@
Will normally only add messages to the end of the mailfolder in current use
(and the code has special optimised path for that case). However if
message list contains UIDs which belong in the middle of a mailbox, or a
-given UID exists on both client and server but the UUID values don't match
+given UID exists on both client and server but the GUID values don't match
(which normally indicates the two ends have lost sync with each other),
the the UPLOAD command will merge in new and replacement messages.
@@ -453,7 +453,7 @@
same as that generated by STATUS command:
* [uid :: ulong]
- [uuid :: astring]
+ [guid :: astring]
[flags :: flag_list_t]
Final line of successful response is used to report QUOTA information
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/man.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/man.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/man.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/man.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: man.html,v 1.18 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: man.html,v 1.19 2007/02/09 13:23:27 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Cyrus IMAP Server Man Pages</TITLE>
@@ -39,6 +39,7 @@
<LI><A HREF="man/ctl_cyrusdb.8.html"><TT>ctl_cyrusdb</TT>(8)</A>
<LI><A HREF="man/ctl_deliver.8.html"><TT>ctl_deliver</TT>(8)</A>
<LI><A HREF="man/ctl_mboxlist.8.html"><TT>ctl_mboxlist</TT>(8)</A>
+<LI><A HREF="man/cyr_dbtool.8.html"><TT>cyr_dbtool</TT>(8)</A>
<LI><A HREF="man/cyr_expire.8.html"><TT>cyr_expire</TT>(8)</A>
<LI><A HREF="man/deliver.8.html"><TT>deliver</TT>(8)</A>
<LI><A HREF="man/fetchnews.8.html"><TT>fetchnews</TT>(8)</A>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/os.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/os.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/os.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/os.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: os.html,v 1.4 2001/11/18 19:50:43 leg Exp $ -->
+<!-- $Id: os.html,v 1.5 2008/01/07 17:56:13 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Operating System Notes
@@ -47,9 +47,9 @@
<h2>Linux</h2>
<ol>
-<li> synchronous fs updates.
+<li> synchronous FS updates.
<br>By turning on synchronous updates for ext2fs, all updates (instead of
-just meta-data) become synchronous. This is good for reliability. Bad
+just meta-data) become synchronous. This is good for reliability, but bad
for performance.
<p> The big problem used to be with the <tt>mailboxes</tt> file. The
@@ -59,13 +59,11 @@
<p>Note this is for ext2fs. If you are using a newer filesystem (such
as xfs, jfs, or reiserfs) the synchronous metadata issue shouldn't
come up. Then again, we haven't really looked at other filesystems
-for linux yet. (It appears that the different filesystems support
+for Linux yet. (It appears that the different filesystems support
slightly different semantics, and it's not always clear what the right
thing for the application to do is.)
</ol>
<P><HR>
-last modified: $Date: 2001/11/18 19:50:43 $
+last modified: $Date: 2008/01/07 17:56:13 $
</BODY></HTML>
-
-
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/questions.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/questions.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/questions.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/questions.html Mon Feb 9 12:49:22 2009
@@ -1,30 +1,15 @@
<html>
<head>
-<title>outstanding questions in cyrus documentation</title>
-<!-- $Id: questions.html,v 1.3 2003/10/16 15:33:31 rjs3 Exp $ -->
-</head><body>
+<title>Outstanding Questions in Cyrus Documentation</title>
+<!-- $Id: questions.html,v 1.5 2008/01/09 22:04:52 murch Exp $ -->
+</head>
+<body>
-questions we really should answer. if you feel like doing us a favor,
-sit down and answer one.
+<p>Questions we really should answer. If you feel like doing us a favor,
+sit down and answer one.</p>
<ul>
-<li> why is it so hard to get <tt>imapd</tt> working with redhat's
-shadow password implementation?
-
-<li> When does <tt>imapd</tt> advertise PLAIN? when does it accept
-plaintext logins?
-
-<li> What are the advantages of LMTP?
-
-<li> How do I configure Sendmail to use LMTP?
-
-<li> How do I configure Postfix to work with Cyrus? To use LMTP?
-
-<li> How can I run LMTP over TCP? Why should I want to?
-
-<li> What are the performance implications of single-instance store?
-(in effect as of 1.6.22) How should I configure partitions to deal
-with a large number of users?
+<li> What are the performance implications of single-instance store (as of 1.6.22)?
</ul>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/readme.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/readme.html?rev=768&root=cyrus22&r1=767&r2=768&view=
3Ddiff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/readme.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/readme.html Mon Feb 9 12:49:22 2009
@@ -1,6 +1,6 @@
<HTML><HEAD>
<TITLE>Cyrus IMAP Server Release Information</TITLE>
- <!-- $Id: readme.html,v 1.22 2007/02/06 18:51:29 murch Exp $ -->
+ <!-- $Id: readme.html,v 1.23 2008/04/04 12:46:34 murch Exp $ -->
</HEAD><BODY>
<H1> Cyrus IMAP Server Release Information</H1>
@@ -107,7 +107,7 @@
The following copyright applies to the code:
<pre>
- * Copyright (c) 1994-2000 Carnegie Mellon University. All rights reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -125,12 +125,13 @@
* endorse or promote products derived from this software without
* prior written permission. For permission or any legal
* details, please contact
- * Office of Technology Transfer
* Carnegie Mellon University
- * 5000 Forbes Avenue
- * Pittsburgh, PA 15213-3890
- * (412) 268-4387, fax: (412) 268-7395
- * tech-transfer at andrew.cmu.edu
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/sieve-protocol.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/sieve-protocol.html?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/sieve-protocol.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/sieve-protocol.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: sieve-protocol.html,v 1.3 2003/05/02 17:01:57 rjs3 Exp $ -->
+<!-- $Id: sieve-protocol.html,v 1.4 2008/01/07 17:56:14 murch Exp $ -->
<HTML><HEAD>
<TITLE>Protocol for Sieve script exchange</TITLE>
@@ -6,7 +6,7 @@
<H1>Protocol for Sieve script exchange</H1>
<i>Please note that this document is not authoritative and may well be out
-of date, you should look at <a href=specs.html>specs.html</a> for the
+of date; you should look at <a href=specs.html>specs.html</a> for the
current authoritative document for the MANAGESIEVE protocol.</i>
Note: This is <b>not</b> a standards track protocol. If you decide to base
@@ -31,9 +31,9 @@
<h3>Types</h3>
-This a line oriented protocol much like [IMAP] or [ACAP]. There
-are two types: ATOMS and strings. Strings may be quoted or
-literal. See [ACAP] for detailed descriptions.
+This is a line-oriented protocol much like [IMAP] or [ACAP]. There
+are two types: ATOMS and strings, all space ('SP') separated. Strings
+may be quoted or literal. See [ACAP] for detailed descriptions.
<br>
<i>sievename</i> is a string where only certain characters are
@@ -46,44 +46,45 @@
<DD>
SASL authentication; the parameters are the mechanism and optionally
the initial data. Initial data is base64 encoded. The server
-replies with a OK or NO response, or a string base64 encoded followed
-by an EOL. Client then replies with a string base64 encoded followed
-by an EOL and the procedure is repeated.
+replies with an OK or NO response, or a base64 string followed
+by an EOL. Client then replies with a base64 string followed
+by an EOL, and the procedure is repeated.
<DT><tt>NOOP EOL</tt>
<DD>
-No side affects. OK, NO replies
+No side effects. Valid replies: OK or NO.
<DT><tt>LOGOUT EOL</tt>
<DD>
-Logout, terminates connection. OK, NO replies.
+Logout: terminates connection. Valid replies: OK or NO.
<DT><tt>GETSCRIPT SP <i>sievename</i> EOL</tt>
<DD>
The parameter is the name of the requested script.
Returns: <tt>string EOL</tt> containing the script data.
-Get the script with name <i>sievename</i> from the server. OK, NO replies
+Get the script with name <i>sievename</i> from the server. Valid
+replies: OK or NO.
<DT><tt>PUTSCRIPT SP <i>sievename</i> SP <i>string</i> </tt> EOL
<DD>
Puts <i>sievename</i> with data <i>data</i> onto the server if
-possible. OK, NO replies.
+possible. Valid replies: OK or NO.
<DT><tt> SETACTIVE SP <i>sievename</i> </tt>EOL
<DD>
Set the script with the name <i>sievename</i> as the active
-script. Any other script that was active is no longer. OK, NO replies
+script. Any other script that was active is no longer. Valid replies: OK or NO.
<DT><TT>DELETESCRIPT SP <i>sievename</i> </tt>EOL
<DD>
-Delete the script with <i>sievename</i>. OK or NO replies.
+Delete the script with <i>sievename</i>. Valid replies: OK or NO.
<DT><TT>LISTSCRIPTS EOL</TT>
<DD>
-returns zero or more: <i>sievename</i> EOL.
-where the active script has a '*' at the end of it's name
-OK or NO replies
+Returns zero or more: <i>sievename</i> EOL.
+Where the active script has a '*' at the end of its name.
+Valid replies: OK or NO.
</dl>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/specs.html
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/specs.html?rev=768&root=cyrus22&r1=767&r2=768&view=3Ddiff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/specs.html (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/specs.html Mon Feb 9 12:49:22 2009
@@ -1,4 +1,4 @@
-<!-- $Id: specs.html,v 1.66 2006/11/30 17:11:16 murch Exp $ -->
+<!-- $Id: specs.html,v 1.68 2007/10/04 01:24:50 murch Exp $ -->
<HTML>
<HEAD>
<TITLE>Cyrus IMAP Server Protocol Specifications</TITLE>
@@ -25,7 +25,7 @@
<TD>IMAP4 IDLE command</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2192.txt">RFC 2192</A></TD>
<TD>IMAP URL Scheme
-<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-lemonade-rfc2192bis-02.txt">draft-ietf-lemonade-rfc2192bis</A></TD></TR>
+<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-lemonade-rfc2192bis-09.txt">draft-ietf-lemonade-rfc2192bis</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2193.txt">RFC 2193</A></TD>
<TD>IMAP4 Mailbox Referrals</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2342.txt">RFC 2342</A></TD>
@@ -51,31 +51,30 @@
Profile</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc4551.txt">RFC 4551</A></TD>
<TD>IMAP Extension for Conditional STORE operation</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-imapext-sort-17.txt">
+<TR><TD><A HREF="http://www.ietf.org/rfc/rfc4959.txt">RFC 4959</A></TD>
+<TD>IMAP Extension for Simple Authentication and Security Layer (SASL)
+Initial Client Response</TD></TR>
+<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-imapext-sort-19.txt">
draft-ietf-imapext-sort</A></TD>
<TD>IMAP SORT and THREAD Extension</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-imapext-list-extensions-13.txt">
+<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-imapext-list-extensions-18.txt">
draft-ietf-imapext-list-extensions</A></TD>
<TD>IMAP4 LIST Command Extensions</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-daboo-imap-annotatemore-09.txt">
+<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-daboo-imap-annotatemore-11.txt">
draft-daboo-imap-annotatemore</A></TD>
<TD>IMAP ANNOTATEMORE Extension</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-siemborski-imap-sasl-initial-response-04.txt">
-draft-siemborski-imap-sasl-initial-response</A></TD>
-<TD>IMAP Extension for SASL Initial Client Response</TD></TR>
<TR><TD COLSPAN=2><br><h2>POP</h2></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc1939.txt">RFC 1939</A></TD>
<TD>Post Office Protocol - Version 3 (POP3)</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/rfc/rfc1734.txt">RFC 1734</A></TD>
-<TD>POP3 AUTHentication command
-<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-siemborski-rfc1734bis-04.txt">
-draft-siemborski-rfc1734bis</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2449.txt">RFC 2449</A></TD>
<TD>POP3 Extension Mechanism</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2595.txt">RFC 2595</A></TD>
<TD>Using TLS with IMAP, POP3 and ACAP</TD></TR>
+<TR><TD><A HREF="http://www.ietf.org/rfc/rfc5034.txt">RFC 5034</A></TD>
+<TD>The Post Office Protocol (POP3) Simple Authentication and Security
+Layer (SASL) Authentication Mechanism</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3206.txt">
RFC 3206</A></TD><TD>The SYS and AUTH POP Response Codes</TD></TR>
@@ -102,14 +101,12 @@
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2195.txt">RFC 2195</A></TD>
<TD>IMAP/POP AUTHorize Extension for Simple Challenge/Response
<BR><I>being revised by</I>
-<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sasl-crammd5-07.txt">
+<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sasl-crammd5-09.txt">
draft-ietf-sasl-crammd5</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2444.txt">RFC 2444</A></TD>
<TD>The One-Time-Password SASL Mechanism</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2831.txt">RFC 2831</A></TD>
-<TD>Using Digest Authentication as a SASL Mechanism
-<BR><I>being revised by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sasl-rfc2831bis-10.txt">
-draft-ietf-sasl-rfc2831bis</a></TD></TR>
+<TD>Using Digest Authentication as a SASL Mechanism</TD></TR>
<TR><TD COLSPAN=2><br><h2>TLS/SSL</h2></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc4346.txt">RFC 4346</A></TD>
@@ -140,15 +137,14 @@
<TD>Enhanced Mail System Status Codes</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3207.txt">RFC 3207</A></TD>
<TD>SMTP Service Extension for Secure SMTP over TLS</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2554.txt">RFC 2554</A></TD>
-<TD>SMTP Service Extension for Authentication
-<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-siemborski-rfc2554bis-04.txt">
-draft-siemborski-rfc2554bis</A></TD></TR>
+<TR><TD><A HREF="http://www.ietf.org/rfc/rfc4954.txt">RFC 4954</A></TD>
+<TD>SMTP Service Extension for Authentication</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2920.txt">RFC 2920</A></TD>
<TD>SMTP Service Extension for Command Pipelining</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3848.txt">RFC 3848</A></TD>
<TD>ESMTP and LMTP Transmission Types Registration</TD></TR>
-<TR><TD><A HREF="http://www.oceana.com/ftp/drafts/draft-murchison-lmtp-ignorequota-02.txt">
+<TR><TD><A
+HREF="http://www.oceana.com/ftp/drafts/draft-murchison-lmtp-ignorequota-02.txt">
draft-murchison-lmtp-ignorequota</A></TD>
<TD>LMTP Service Extension for Ignoring Recipient Quotas</TD></TR>
@@ -156,49 +152,64 @@
<TR><TD COLSPAN=2><br><h2>Sieve</h2></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3028.txt">RFC 3028</A></TD>
<TD>Sieve: A Mail Filtering Language
-<BR><I>being updated by</I> <A HREF="http://ietf.org/internet-drafts/draft-ietf-sieve-3028bis-06.txt">
+<BR><I>being updated by</I> <A
+HREF="http://ietf.org/internet-drafts/draft-ietf-sieve-3028bis-12.txt">
draft-ietf-sieve-3028bis</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3431.txt">RFC 3431</A></TD>
-<TD>Sieve Extension: Relational Tests</TD></TR>
+<TD>Sieve Extension: Relational Tests
+<BR><I>being updated by</I> <A
+HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-3431bis-04.txt">
+draft-ietf-sieve-rfc3431bis</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3598.txt">RFC 3598</A></TD>
<TD>Sieve Email Filtering -- Subaddress Extension
-<BR><I>being updated by</I> <A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-rfc3598bis-04.txt">
+<BR><I>being updated by</I> <A
+HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-rfc3598bis-05.txt">
draft-ietf-sieve-rfc3598bis</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3894.txt">RFC 3894</A></TD>
<TD>Sieve Extension: Copying Without Side Effects</TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2298.txt">RFC 2298</A></TD>
<TD>Extensible Message Format for Message Disposition Notifications (MDNs)</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-vacation-06.txt">
+<TR><TD><A
+HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-vacation-07.txt">
draft-ietf-sieve-vacation</A></TD>
<TD>Sieve Email Filtering: Vacation Extension</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-body-03.txt">
+<TR><TD><A
+HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-body-06.txt">
draft-ietf-sieve-body</A></TD>
<TD>Sieve Mail Filtering Language: Body Extension</TD></TR>
-<TR><TD><A HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-regex-00.txt">
+<TR><TD><A
+HREF="http://www.ietf.org/internet-drafts/draft-ietf-sieve-regex-00.txt">
draft-ietf-sieve-regex</A></TD>
<TD>Sieve -- Regular Expression Extension</TD></TR>
-<TR><TD><A HREF="http://www.oceana.com/ftp/drafts/draft-daboo-sieve-include-01.txt">
+<TR><TD><A
+HREF="http://www.oceana.com/ftp/drafts/draft-daboo-sieve-include-01.txt">
draft-daboo-sieve-include</A></TD>
<TD>SIEVE Include Extension</TD></TR>
-<TR><TD><A HREF="http://www.oceana.com/ftp/drafts/draft-melnikov-sieve-imapflags-03.txt">
+<TR><TD><A
+HREF="http://www.oceana.com/ftp/drafts/draft-melnikov-sieve-imapflags-03.txt">
draft-melnikov-sieve-imapflags</A></TD>
<TD>Sieve -- IMAP flag Extension</TD></TR>
-<TR><TD><A HREF="http://www.oceana.com/ftp/drafts/draft-martin-sieve-notify-01.txt">
+<TR><TD><A
+HREF="http://www.oceana.com/ftp/drafts/draft-martin-sieve-notify-01.txt">
draft-martin-sieve-notify</A></TD>
<TD>Sieve -- An extension for providing instant notifications</TD></TR>
-<TR><TD><A HREF="http://www.oceana.com/ftp/drafts/draft-martin-managesieve-04.txt">
+<TR><TD><A
+HREF="http://www.ietf.org/internet-drafts/draft-martin-managesieve-08.txt">
draft-martin-managesieve</A></TD>
-<TD>Protocol for Remotely Managing Sieve Scripts</TD></TR>
+<TD>A Protocol for Remotely Managing Sieve Scripts</TD></TR>
<TR><TD COLSPAN=2><br><h2>Other</h2></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc2822.txt">RFC 2822</A></TD>
-<TD>Internet Message Format</TD></TR>
+<TD>Internet Message Format
+<BR><I>being updated by</I> <A
+HREF="http://www.ietf.org/internet-drafts/draft-resnick-2822upd-03.txt">
+draft-resnick-2822upd</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc1036.txt">RFC 1036</A></TD>
<TD>Standard for Interchange of USENET Messages
<BR><I>being updated by</I>
-<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-usefor-usefor-10.txt">
+<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-usefor-usefor-12.txt">
draft-ietf-usefor-usefor</A> <I>and</I>
-<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-usefor-usepro-05.txt">
+<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-usefor-usepro-08.txt">
draft-ietf-usefor-usepro</A></TD></TR>
<TR><TD><A HREF="http://www.ietf.org/rfc/rfc3656.txt">RFC 3656</a></TD>
<TD>MUPDATE Protocol (For Cyrus Murder)</TD></TR>
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/Makefile
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/Makefile?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/Makefile (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/Makefile Mon Feb 9 12:49:22 2009
@@ -1,30 +1,45 @@
# Makefile for cyrus documentation directory
#
-# Copyright 1998 Carnegie Mellon University
+# Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
#
-# No warranties, either expressed or implied, are made regarding the
-# operation, use, or results of the software.
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
#
-# Permission to use, copy, modify and distribute this software and its
-# documentation is hereby granted for non-commercial purposes only
-# provided that this copyright notice appears in all copies and in
-# supporting documentation.
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
#
-# Permission is also granted to Internet Service Providers and others
-# entities to use the software for internal purposes.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
#
-# The distribution, modification or sale of a product which uses or is
-# based on the software, in whole or in part, for commercial purposes or
-# benefits requires specific, additional permission from:
+# 3. The name "Carnegie Mellon University" must not be used to
+# endorse or promote products derived from this software without
+# prior written permission. For permission or any legal
+# details, please contact
+# Carnegie Mellon University
+# Center for Technology Transfer and Enterprise Creation
+# 4615 Forbes Avenue
+# Suite 302
+# Pittsburgh, PA 15213
+# (412) 268-7393, fax: (412) 268-7395
+# innovation at andrew.cmu.edu
#
-# Office of Technology Transfer
-# Carnegie Mellon University
-# 5000 Forbes Avenue
-# Pittsburgh, PA 15213-3890
-# (412) 268-4387, fax: (412) 268-7395
-# tech-transfer at andrew.cmu.edu
+# 4. Redistributions of any form whatsoever must retain the following
+# acknowledgment:
+# "This product includes software developed by Computing Services
+# at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+#
+# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
-# $Id: Makefile,v 1.4 2002/11/14 15:27:35 rjs3 Exp $
+# $Id: Makefile,v 1.5 2008/04/04 12:46:35 murch Exp $
all: htmlstrip docs clean
Modified: branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/htmlstrip.c
URL: https://mail.incase.de/viewcvs/branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/htmlstrip.c?rev=768&root=cyrus22&r1=767&r2=768&view=diff
==============================================================================
--- branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/htmlstrip.c (original)
+++ branches/cyrus23/cyrus-imapd-2.3-2.3.13/doc/text/htmlstrip.c Mon Feb 9 12:49:22 2009
@@ -1,22 +1,51 @@
/* htmlstrip.c -- HTML to text converter
*
- * Copyright 1998-2003, Carnegie Mellon University. All Rights Reserved.
+ * Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
- * This software is made available for academic and research
- * purposes only. No commercial license is hereby granted.
- * Copying and other reproduction is authorized only for research,
- * education, and other non-commercial purposes. No warranties,
- * either expressed or implied, are made regarding the operation,
- * use, or results of the software. Such a release does not permit
- * use of the code for commercial purposes or benefits by anyone
- * without specific, additional permission by the owner of the code.
- *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ * endorse or promote products derived from this software without
+ * prior written permission. For permission or any legal
+ * details, please contact
+ * Carnegie Mellon University
+ * Center for Technology Transfer and Enterprise Creation
+ * 4615 Forbes Avenue
+ * Suite 302
+ * Pittsburgh, PA 15213
+ * (412) 268-7393, fax: (412) 268-7395
+ * innovation at andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ * acknowledgment:
+ * "This product includes software developed by Computing Services
+ * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * $Id: htmls