├── .gitattributes ├── .github └── workflows │ ├── build-combined.yml │ ├── build-test.yml │ └── debug.yml ├── .gitignore ├── INSTALLME ├── README.md ├── ci-scripts ├── arch │ ├── build_all │ ├── build_all_setup │ ├── build_shared │ └── build_shared_setup ├── centos │ ├── build_all │ ├── build_all_setup │ ├── build_shared │ └── build_shared_setup ├── make_dist_environment ├── make_dist_installdeps ├── rocky │ ├── build_all │ ├── build_all_setup │ ├── build_shared │ ├── build_shared_setup │ └── buildcmd ├── ubuntu-gcc10 │ ├── build_all │ ├── build_all_setup │ ├── build_shared │ └── build_shared_setup └── ubuntu │ ├── build_all │ ├── build_all_setup │ ├── build_shared │ └── build_shared_setup ├── cone ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── Makefile.am ├── autobloat ├── changelog.pl ├── cone.spec.in ├── cone │ ├── .gitignore │ ├── APPLICATION.PDF.filter.in │ ├── IMAGE.filter.in │ ├── Makefile.am │ ├── acl.C │ ├── acl.H │ ├── addressbook.C │ ├── addressbook.H │ ├── addressbookinterface.C │ ├── addressbookinterface.H │ ├── addressbookinterfaceldap.C │ ├── addressbookinterfaceldap.H │ ├── addressbookinterfacemail.C │ ├── addressbookinterfacemail.H │ ├── cache.H │ ├── certificates.C │ ├── certificates.H │ ├── colors.C │ ├── colors.H │ ├── colors.txt │ ├── colors_inc.h │ ├── cone.C │ ├── cone.dist.in.git │ ├── cone.sh.in │ ├── cone.xsl │ ├── configscreen.C │ ├── configscreen.H │ ├── configure.ac │ ├── ctrlchandler.C │ ├── ctrlchandler.H │ ├── cursesaddresslist.C │ ├── cursesaddresslist.H │ ├── cursesattachmentdisplay.C │ ├── cursesattachmentdisplay.H │ ├── cursesedit.C │ ├── cursesedit.H │ ├── curseseditmessage.C │ ├── curseseditmessage.H │ ├── curseshierarchy.C │ ├── curseshierarchy.H │ ├── cursesindexdisplay.C │ ├── cursesindexdisplay.H │ ├── cursesmessage.C │ ├── cursesmessage.H │ ├── cursesmessagedisplay.C │ ├── cursesmessagedisplay.H │ ├── cursesmessageflowedtext.C │ ├── cursesmessageflowedtext.H │ ├── cursesmessagehtmlparser.C │ ├── cursesmessagehtmlparser.H │ ├── disconnectcallbackstub.C │ ├── disconnectcallbackstub.H │ ├── encryptionmenu.C │ ├── encryptionmenu.H │ ├── filter.C │ ├── filter.H │ ├── filtereditscreen.C │ ├── filtereditscreen.H │ ├── fixonlinehelp.pl │ ├── fkeytraphandler.C │ ├── fkeytraphandler.H │ ├── gettext.C │ ├── gettext.H │ ├── globalkeys.C │ ├── globalkeys.H │ ├── gpg.C │ ├── gpg.H │ ├── hierarchy.C │ ├── hierarchy.H │ ├── htmlentity.C │ ├── htmlentity.h │ ├── htmlparser.C │ ├── htmlparser.H │ ├── htmlparsertest.C │ ├── http.handler.in │ ├── icon.gif │ ├── init.C │ ├── init.H │ ├── leaf.C │ ├── macros.C │ ├── macros.H │ ├── mainmenu.C │ ├── mainmenu.H │ ├── manpage.css │ ├── menuscreen.C │ ├── menuscreen.H │ ├── messagesize.C │ ├── messagesize.H │ ├── mkcolors.pl │ ├── mkhtmlmsg.pl │ ├── myfolder.C │ ├── myfolder.H │ ├── myfolderfilter.C │ ├── myfolderfilter.H │ ├── mymessage.C │ ├── mymessage.H │ ├── myreadfolders.C │ ├── myreadfolders.H │ ├── myreferences.C │ ├── myreferences.H │ ├── myserver.C │ ├── myserver.H │ ├── myservercallback.C │ ├── myservercallback.H │ ├── myserverconfig.C │ ├── myserverlogincallback.C │ ├── myserverlogincallback.H │ ├── myserverpromptinfo.C │ ├── myserverpromptinfo.H │ ├── myserverremoteconfig.C │ ├── myserverremoteconfig.H │ ├── myservertask.C │ ├── myservertask.H │ ├── nntpcommand.C │ ├── nntpcommand.H │ ├── opendialog.C │ ├── opendialog.H │ ├── opensubfolders.C │ ├── opensubfolders.H │ ├── outputdialog.C │ ├── outputdialog.H │ ├── passwordlist.C │ ├── passwordlist.H │ ├── po │ │ ├── .gitignore │ │ ├── Makevars │ │ ├── Makevars.template │ │ └── POTFILES.in │ ├── postproc.xsl │ ├── previousscreen.C │ ├── previousscreen.H │ ├── pwtest.c │ ├── pwtest.txt │ ├── savedialog.C │ ├── savedialog.H │ ├── searchcallback.C │ ├── searchcallback.H │ ├── searchprompt.C │ ├── searchprompt.H │ ├── sgml │ │ ├── account-addmessage.sgml │ │ ├── account-checknewmail.sgml │ │ ├── account-copymessagesto.sgml │ │ ├── account-createfolder.sgml │ │ ├── account-deletefolder.sgml │ │ ├── account-delrights.sgml │ │ ├── account-getfolderfrompath.sgml │ │ ├── account-getfolderfromstring.sgml │ │ ├── account-getfolderindexinfo.sgml │ │ ├── account-getfolderindexsize.sgml │ │ ├── account-getfolderkeywordinfo.sgml │ │ ├── account-getmessagecontent.sgml │ │ ├── account-getmessagecontentdecoded.sgml │ │ ├── account-getmessageenvelope.sgml │ │ ├── account-getmessagestructure.sgml │ │ ├── account-getmyrights.sgml │ │ ├── account-getparentfolder.sgml │ │ ├── account-getrights.sgml │ │ ├── account-getsubfolders.sgml │ │ ├── account-gettoplevelfolders.sgml │ │ ├── account-login.sgml │ │ ├── account-logout.sgml │ │ ├── account-movemessagesto.sgml │ │ ├── account-openfolder.sgml │ │ ├── account-readfolderinfo.sgml │ │ ├── account-removemessages.sgml │ │ ├── account-renamefolder.sgml │ │ ├── account-savefolderindexinfo.sgml │ │ ├── account-searchmessages.sgml │ │ ├── account-send.sgml │ │ ├── account-setrights.sgml │ │ ├── account-translatepath.sgml │ │ ├── account-updatefolderindexflags.sgml │ │ ├── account-updatefolderindexinfo.sgml │ │ ├── account-updatekeywords.sgml │ │ ├── book.sgml │ │ ├── cone-addressbook.sgml │ │ ├── cone-blindfwd.sgml │ │ ├── cone-certificates.sgml │ │ ├── cone-encryption.sgml │ │ ├── cone-filters.sgml │ │ ├── cone-folderindex.sgml │ │ ├── cone-folderlist.sgml │ │ ├── cone-fwd.sgml │ │ ├── cone-gpg.sgml │ │ ├── cone-ldapaddressbook.sgml │ │ ├── cone-list.sgml │ │ ├── cone-localmail.sgml │ │ ├── cone-mainmenu.sgml │ │ ├── cone-masterpassword.sgml │ │ ├── cone-messageview.sgml │ │ ├── cone-newaccount.sgml │ │ ├── cone-remoteconfig.sgml │ │ ├── cone-reply.sgml │ │ ├── cone-search.sgml │ │ ├── cone-setup.sgml │ │ ├── cone-stop.sgml │ │ ├── cone-viewatt.sgml │ │ ├── cone-write.sgml │ │ ├── cone-writemessage.sgml │ │ ├── cone.entities │ │ ├── cone.sgml │ │ ├── coneman.sgml │ │ ├── folder-addmessage.sgml │ │ ├── folder-clone.sgml │ │ ├── folder-create.sgml │ │ ├── folder-createsubfolder.sgml │ │ ├── folder-delrights.sgml │ │ ├── folder-destroy.sgml │ │ ├── folder-getmyrights.sgml │ │ ├── folder-getname.sgml │ │ ├── folder-getparentfolder.sgml │ │ ├── folder-getpath.sgml │ │ ├── folder-getrights.sgml │ │ ├── folder-hasmessages.sgml │ │ ├── folder-hassubfolders.sgml │ │ ├── folder-isparentof.sgml │ │ ├── folder-open.sgml │ │ ├── folder-readfolderinfo.sgml │ │ ├── folder-readsubfolders.sgml │ │ ├── folder-renamefolder.sgml │ │ ├── folder-setrights.sgml │ │ ├── folder-tostring.sgml │ │ ├── index.sgml │ │ ├── leafman.sgml │ │ ├── libmail-account-return.sgml │ │ ├── libmail-accterrmsg.sgml │ │ ├── libmail-acladddelrights.sgml │ │ ├── libmail-acldelrights.sgml │ │ ├── libmail-aclentities.sgml │ │ ├── libmail-aclentitiesutf8.sgml │ │ ├── libmail-aclgetmyrights.sgml │ │ ├── libmail-aclgetrights.sgml │ │ ├── libmail-aclintro.sgml │ │ ├── libmail-aclrights.sgml │ │ ├── libmail-aclrightsinfo.sgml │ │ ├── libmail-aclsetrights.sgml │ │ ├── libmail-addmessage.sgml │ │ ├── libmail-address.sgml │ │ ├── libmail-amsglist.sgml │ │ ├── libmail-amsgnum.sgml │ │ ├── libmail-attachments.sgml │ │ ├── libmail-concurrency.sgml │ │ ├── libmail-cram.sgml │ │ ├── libmail-emailaddress.sgml │ │ ├── libmail-envelope.sgml │ │ ├── libmail-foldername.sgml │ │ ├── libmail-foldernote.sgml │ │ ├── libmail-foldernote2.sgml │ │ ├── libmail-folderstatus.sgml │ │ ├── libmail-header-addresslist.sgml │ │ ├── libmail-header-encoded.sgml │ │ ├── libmail-header-list.sgml │ │ ├── libmail-header-mime.sgml │ │ ├── libmail-header-plain.sgml │ │ ├── libmail-imap.sgml │ │ ├── libmail-includemail.sgml │ │ ├── libmail-includesynch.sgml │ │ ├── libmail-libname.sgml │ │ ├── libmail-messagecontent.sgml │ │ ├── libmail-messageinfo.sgml │ │ ├── libmail-mimestruct.sgml │ │ ├── libmail-msglist.sgml │ │ ├── libmail-mycallback.sgml │ │ ├── libmail-mycallbackfolderlist.sgml │ │ ├── libmail-mycallbackmessage.sgml │ │ ├── libmail-mysearchparams.sgml │ │ ├── libmail-nossl.sgml │ │ ├── libmail-novalidatecert.sgml │ │ ├── libmail-openmultiple.sgml │ │ ├── libmail-peek.sgml │ │ ├── libmail-readfolders1.sgml │ │ ├── libmail-readfolders2.sgml │ │ ├── libmail-removemessages.sgml │ │ ├── libmail-search.sgml │ │ ├── libmail-search2.sgml │ │ ├── libmail-smtpinfo.sgml │ │ ├── libmail-store.sgml │ │ ├── libmail-timeouts.sgml │ │ ├── libmail-translatepath1.sgml │ │ ├── libmail-translatepath2.sgml │ │ ├── libmail-updateflags.sgml │ │ ├── libmail-updatekeywords.sgml │ │ ├── libmail-updatestatus.sgml │ │ ├── libmail-waitcallback.sgml │ │ ├── libmail.entities │ │ ├── libmail.sgml │ │ ├── mail-checknewmail.sgml │ │ ├── mail-copymessages.sgml │ │ ├── mail-findfolder.sgml │ │ ├── mail-folderfromstring.sgml │ │ ├── mail-getfolderindexinfo.sgml │ │ ├── mail-getfolderindexsize.sgml │ │ ├── mail-getfolderkeywordinfo.sgml │ │ ├── mail-getsendfolder.sgml │ │ ├── mail-hascapability.sgml │ │ ├── mail-homedir.sgml │ │ ├── mail-hostname.sgml │ │ ├── mail-isremoteurl.sgml │ │ ├── mail-loginurldecode.sgml │ │ ├── mail-loginurlencode.sgml │ │ ├── mail-logout.sgml │ │ ├── mail-movemessages.sgml │ │ ├── mail-open.sgml │ │ ├── mail-poll.sgml │ │ ├── mail-process.sgml │ │ ├── mail-readmsgattr.sgml │ │ ├── mail-readmsgcontent.sgml │ │ ├── mail-readmsgcontentdecoded.sgml │ │ ├── mail-readtoplevel.sgml │ │ ├── mail-removemessages.sgml │ │ ├── mail-resume.sgml │ │ ├── mail-savefolderindexinfo.sgml │ │ ├── mail-searchmessages.sgml │ │ ├── mail-setappcharset.sgml │ │ ├── mail-translatepath.sgml │ │ ├── mail-updatefolderindexflags.sgml │ │ ├── mail-updatefolderindexinfo.sgml │ │ ├── mail-updatekeywords.sgml │ │ ├── mail-updatenotify.sgml │ │ ├── mail-upper.sgml │ │ ├── mailtoolman.sgml │ │ └── smap.sgml │ ├── specialfolder.C │ ├── specialfolder.H │ ├── spellchecker.H │ ├── spellcheckerAspell.C │ ├── spellcheckerAspell.H │ ├── spellcheckerHunspell.C │ ├── spellcheckerHunspell.H │ ├── spellcheckerNone.C │ ├── spellcheckerNone.H │ ├── spellcheckerPspell.C │ ├── spellcheckerPspell.H │ ├── spellcheckerbase.C │ ├── spellcheckerbase.H │ ├── tags.C │ ├── tags.H │ ├── testsuite1 │ ├── testsuite1.out │ ├── typeahead.C │ └── typeahead.H ├── configure.ac ├── courier-debuild.in ├── curses │ ├── .gitignore │ ├── Makefile.am │ ├── configure.ac │ ├── curses.C │ ├── cursesbutton.C │ ├── cursesbutton.H │ ├── curseschoicebutton.C │ ├── curseschoicebutton.H │ ├── cursescontainer.C │ ├── cursescontainer.H │ ├── cursesdialog.C │ ├── cursesdialog.H │ ├── cursesfield.C │ ├── cursesfield.H │ ├── cursesfilereq.C │ ├── cursesfilereq.H │ ├── cursesflowedline.H │ ├── curseskeyhandler.C │ ├── curseskeyhandler.H │ ├── curseslabel.C │ ├── curseslabel.H │ ├── cursesmainscreen.C │ ├── cursesmainscreen.H │ ├── cursesmoronize.C │ ├── cursesmoronize.H │ ├── cursesmultilinelabel.C │ ├── cursesmultilinelabel.H │ ├── cursesobject.C │ ├── cursesobject.H │ ├── cursesscreen.C │ ├── cursesscreen.H │ ├── cursesstatusbar.C │ ├── cursesstatusbar.H │ ├── cursestitlebar.C │ ├── cursestitlebar.H │ ├── cursesvscroll.C │ ├── cursesvscroll.H │ ├── mycurses.H │ ├── timer.C │ ├── timer.H │ ├── widechar.C │ └── widechar.H ├── dbobj.config.in ├── libmail │ ├── .gitignore │ ├── Makefile.am │ ├── addmessage.C │ ├── addmessage.H │ ├── addmessageimport.C │ ├── addmessageremoveattachments.C │ ├── addressbook.C │ ├── addressbook.H │ ├── addressbookadd.C │ ├── addressbookadd.H │ ├── addressbookget.C │ ├── addressbookget.H │ ├── addressbookopen.C │ ├── addressbookopen.H │ ├── addressbooksearch.C │ ├── addressbooksearch.H │ ├── attachments.C │ ├── attachments.H │ ├── autodecoder.C │ ├── autodecoder.H │ ├── autodeps.C │ ├── base64.C │ ├── base64.H │ ├── configure.ac │ ├── copymessage.C │ ├── copymessage.H │ ├── decoder.C │ ├── decoder.H │ ├── driver.C │ ├── driver.H │ ├── envelope.C │ ├── envelope.H │ ├── expungelist.C │ ├── expungelist.H │ ├── fd.C │ ├── fd.H │ ├── fdtls.C │ ├── fdtls.H │ ├── file.C │ ├── file.H │ ├── generic.C │ ├── generic.H │ ├── genericdecode.C │ ├── genericdecode.H │ ├── headers.C │ ├── headers.H │ ├── imap.C │ ├── imap.H │ ├── imapacl.C │ ├── imapacl.H │ ├── imapfetchhandler.C │ ├── imapfetchhandler.H │ ├── imapfolder.C │ ├── imapfolder.H │ ├── imapfolders.C │ ├── imapfolders.H │ ├── imaphandler.C │ ├── imaphandler.H │ ├── imaphmac.C │ ├── imaphmac.H │ ├── imapidle.C │ ├── imapidle.H │ ├── imaplisthandler.C │ ├── imaplisthandler.H │ ├── imaplogin.C │ ├── imaplogin.H │ ├── imaplogout.C │ ├── imapparsefmt.C │ ├── imapparsefmt.H │ ├── imapstatushandler.C │ ├── imapstatushandler.H │ ├── logininfo.C │ ├── logininfo.H │ ├── mail.C │ ├── mail.H │ ├── maildir.C │ ├── maildir.H │ ├── maildiradd.C │ ├── maildiradd.H │ ├── maildirfolder.C │ ├── maildirfolder.H │ ├── mailtool.C │ ├── mbox.C │ ├── mbox.H │ ├── mboxadd.C │ ├── mboxadd.H │ ├── mboxexpunge.C │ ├── mboxexpunge.H │ ├── mboxfolder.C │ ├── mboxgetmessage.C │ ├── mboxgetmessage.H │ ├── mboxlock.C │ ├── mboxlock.H │ ├── mboxmagictag.C │ ├── mboxmagictag.H │ ├── mboxmultilock.C │ ├── mboxmultilock.H │ ├── mboxopen.C │ ├── mboxopen.H │ ├── mboxread.C │ ├── mboxread.H │ ├── mboxsighandler.C │ ├── mboxsighandler.H │ ├── mimetypes.C │ ├── mimetypes.H │ ├── misc.H │ ├── namespace.H │ ├── nntp.C │ ├── nntp.H │ ├── nntpadd.C │ ├── nntpadd.H │ ├── nntpcache.C │ ├── nntpcache.H │ ├── nntpchecknew.C │ ├── nntpchecknew.H │ ├── nntpfetch.C │ ├── nntpfetch.H │ ├── nntpfolder.C │ ├── nntpfolder.H │ ├── nntpgroup.C │ ├── nntpgroup.H │ ├── nntpgroupinfo.C │ ├── nntpgroupinfo.H │ ├── nntpgroupopen.C │ ├── nntpgroupopen.H │ ├── nntplistactive.C │ ├── nntplistactive.H │ ├── nntplogin.C │ ├── nntplogin.H │ ├── nntplogin2.C │ ├── nntplogin2.H │ ├── nntplogout.C │ ├── nntplogout.H │ ├── nntpnewsrc.C │ ├── nntpnewsrc.H │ ├── nntppost.C │ ├── nntppost.H │ ├── nntpxover.C │ ├── nntpxover.H │ ├── nntpxpat.C │ ├── nntpxpat.H │ ├── objectmonitor.C │ ├── objectmonitor.H │ ├── poll.C │ ├── pop3.C │ ├── pop3.H │ ├── pop3folder.C │ ├── pop3maildrop.C │ ├── pop3maildrop.H │ ├── qp.C │ ├── qp.H │ ├── rfc2047decode.C │ ├── rfc2047decode.H │ ├── rfcaddr.C │ ├── rfcaddr.H │ ├── runlater.C │ ├── runlater.H │ ├── search.C │ ├── search.H │ ├── smap.C │ ├── smap.H │ ├── smapacl.C │ ├── smapacl.H │ ├── smapadd.C │ ├── smapadd.H │ ├── smapaddmessage.C │ ├── smapaddmessage.H │ ├── smapcopy.C │ ├── smapcopy.H │ ├── smapcreate.C │ ├── smapcreate.H │ ├── smapdelete.C │ ├── smapdelete.H │ ├── smapfetch.C │ ├── smapfetch.H │ ├── smapfetchattr.C │ ├── smapfetchattr.H │ ├── smapidle.C │ ├── smapidle.H │ ├── smaplist.C │ ├── smaplist.H │ ├── smapmsgrange.C │ ├── smapmsgrange.H │ ├── smapnewmail.C │ ├── smapnewmail.H │ ├── smapnoopexpunge.C │ ├── smapnoopexpunge.H │ ├── smapopen.C │ ├── smapopen.H │ ├── smapsearch.C │ ├── smapsearch.H │ ├── smapsendfolder.C │ ├── smapsendfolder.H │ ├── smapstatus.C │ ├── smapstatus.H │ ├── smapstore.C │ ├── smapstore.H │ ├── smtp.C │ ├── smtp.H │ ├── smtpfolder.C │ ├── smtpfolder.H │ ├── smtpinfo.H │ ├── snapshot.C │ ├── snapshot.H │ ├── sortfolders.C │ ├── structure.C │ ├── structure.H │ ├── sync.C │ ├── sync.H │ ├── testsuite.C │ ├── testsuite.txt │ ├── tmpaccount.C │ ├── tmpaccount.H │ ├── tmpaccountadd.C │ └── tmpaccountfolder.C └── packaging │ └── debian │ ├── .gitignore │ ├── auto_install.sh.in │ ├── changelog.in │ ├── cone.lintian-overrides │ ├── control │ ├── copyright │ ├── libmail-cone-dev.lintian-overrides │ ├── lintian-overrides.allow-errors │ ├── rules │ └── source │ ├── format │ └── lintian-overrides ├── courier-analog ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── autobloat ├── configure.ac ├── courier-analog.in ├── courier-analog.sgml ├── courier-analog.spec.in ├── courier-debuild.in └── packaging │ └── debian │ ├── .gitignore │ ├── changelog.in │ ├── control │ ├── copyright │ ├── courier-analog.lintian-overrides │ ├── lintian-overrides.allow-errors │ ├── rules │ └── source │ ├── format │ └── lintian-overrides ├── courier-authlib ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL.html ├── Makefile.am ├── NEWS.html ├── README.authdebug.html.in ├── README.authmysql.html ├── README.authmysql.myownquery ├── README.authpostgres.html ├── README.authsqlite.html ├── README.html ├── README.ldap ├── README_authlib.sgml ├── auth.h ├── auth_enumerate.sgml ├── auth_generic.sgml ├── auth_getoption.sgml ├── auth_getuserinfo.sgml ├── auth_login.sgml ├── auth_meta.sgml ├── auth_mkhomedir.sgml ├── auth_passwd.sgml ├── auth_sasl.sgml ├── authcallback.sgml ├── authconfigfile.cpp ├── authconfigfile.h ├── authcustom.c ├── authcustom.h ├── authdaemon.c ├── authdaemond.c ├── authdaemond.in ├── authdaemondcpp.cpp ├── authdaemonlib.c ├── authdaemonrc.in.git ├── authdaemontest.c ├── authenumerate.c ├── authinfo.c ├── authldap.c ├── authldap.h ├── authldap.schema ├── authldapescape.c ├── authldaplib.cpp ├── authldaprc.git ├── authlib.sgml ├── authmksock.c ├── authmoduser2.c ├── authmoduser3.c ├── authmysql.cpp ├── authmysql.h ├── authmysqllib.cpp ├── authmysqlrc.git ├── authoption.c ├── authpam.c ├── authpasswd.c ├── authpasswd.sgml ├── authpgsql.c ├── authpgsql.h ├── authpgsqllib.cpp ├── authpgsqlrc.git ├── authpipe.c ├── authpipe.h ├── authpipelib.c ├── authpipelib.h ├── authpwd.c ├── authpwdenumerate.c ├── authsasl.c ├── authsaslclient.c ├── authsaslclient.h ├── authsaslclientcram.c ├── authsaslclientcrammd5.c ├── authsaslclientcramsha1.c ├── authsaslclientexternal.c ├── authsaslclientlogin.c ├── authsaslclientplain.c ├── authsaslcram.c ├── authsaslfrombase64.c ├── authsasllogin.c ├── authsaslplain.c ├── authsasltobase64.c ├── authshadow.c ├── authsqlite.cpp ├── authsqlite.h ├── authsqlitelib.cpp ├── authsqliterc.git ├── authsyschangepwd.c ├── authsyscommon.c ├── authsystem.passwd.in ├── authtest.c ├── authtest.sgml ├── authuserdb.c ├── authuserdbpwd.c ├── authwait.h ├── autobloat ├── checkpassword.c ├── checkpasswordmd5.c ├── checkpasswordsha1.c ├── configure.ac ├── courier-authlib.service.in ├── courier-authlib.spec.in ├── courier-authlib.sysvinit.in ├── courier-debuild.in ├── courierauth.h ├── courierauthdebug.h ├── courierauthsasl.h ├── courierauthsaslclient.h ├── courierauthstaticlist.h ├── cramlib.c ├── cryptpassword.c ├── dbobj.config.in ├── dbobj.h.in ├── debug.c ├── fgetpwent.c ├── html2man.pl.in ├── liblog │ ├── .gitignore │ ├── Makefile.am │ ├── configure.ac │ ├── courierlogger.sgml │ └── logger.c ├── mkmanifest.sh.in ├── optionlist.sgml ├── packaging │ └── debian │ │ ├── .gitignore │ │ ├── auto_install.sh.in │ │ ├── changelog.in │ │ ├── control │ │ ├── copyright │ │ ├── libcourier-auth-config-daemon-daemon.lintian-overrides │ │ ├── libcourier-auth-dev.lintian-overrides │ │ ├── libcourier-auth-ldap.lintian-overrides │ │ ├── libcourier-auth-mysql.lintian-overrides │ │ ├── libcourier-auth-pgsql.lintian-overrides │ │ ├── libcourier-auth-pipe.lintian-overrides │ │ ├── libcourier-auth-sqlite.lintian-overrides │ │ ├── libcourier-auth-userdb.lintian-overrides │ │ ├── libcourier-auth.lintian-overrides │ │ ├── libcourier-auth.soname.lintian-overrides │ │ ├── lintian-overrides.allow-errors │ │ ├── mkinstall.pl.in │ │ ├── patches │ │ ├── remove-L-from-authconfig.diff │ │ └── series │ │ ├── rules │ │ └── source │ │ ├── format │ │ └── lintian-overrides ├── pgpkeys.txt ├── preauthcustom.c ├── preauthdaemon.c ├── preauthldap.c ├── preauthmysql.cpp ├── preauthpam.c ├── preauthpipe.c ├── preauthpwd.c ├── preauthshadow.c ├── preauthuserdb.c ├── preauthuserdbcommon.c ├── samplepipe.pl └── userdb │ ├── .gitignore │ ├── Makefile.am │ ├── configure.ac │ ├── html2man.pl.in │ ├── makeuserdb.in │ ├── makeuserdb.sgml │ ├── pw2userdb.in │ ├── userdb.c │ ├── userdb.h │ ├── userdb.pl.in │ ├── userdb.sgml │ ├── userdb2.c │ ├── userdbmkpw.c │ ├── userdbpw.c │ └── userdbpw.sgml ├── courier-imap ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL.html.in ├── Makefile.am ├── NEWS.html ├── README ├── README.cygwin ├── README.git ├── authconfig.in ├── autobloat ├── bg.png ├── configure.ac ├── courier-debuild.in ├── courier-imap.png ├── courier-imap.spec.in ├── dbobj.config.in ├── dbobj.h.in ├── imap-format.xsl ├── imap.xml ├── imap.xsl ├── imapd-ssl.rc.in ├── imapd.rc.in ├── makeimapaccess.in ├── packaging │ ├── debian │ │ ├── .gitignore │ │ ├── auto_install.sh.in │ │ ├── changelog.in │ │ ├── control │ │ ├── copyright │ │ ├── courier-imap.lintian-overrides │ │ ├── lintian-overrides.allow-errors │ │ ├── rules │ │ └── source │ │ │ ├── format │ │ │ └── lintian-overrides │ ├── suse │ │ ├── .gitignore │ │ ├── courier-imap.init.in │ │ ├── imap.pam │ │ └── pop3.pam │ └── systemd │ │ ├── .gitignore │ │ ├── courier-imap.service.in │ │ └── courier-imap.sysvinit.in ├── pgpkeys.txt ├── pop3d-ssl.rc.in ├── pop3d.rc.in └── prep.xsl ├── courier-sox ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── autobloat ├── cidr.h ├── configure.ac ├── connectfunc.h ├── courier-debuild.in ├── courier-sox.service.in ├── courier-sox.spec.in ├── courier-sox.sysvinit.in ├── mkbl4.in ├── mkbl4.sgml ├── packaging │ └── debian │ │ ├── .gitignore │ │ ├── auto_install.sh.in │ │ ├── changelog.in │ │ ├── control │ │ ├── copyright │ │ ├── libcourier-sox.lintian-overrides │ │ ├── libcourier-sox.soname.lintian-overrides │ │ ├── rules │ │ └── source │ │ └── format ├── parseconfigfile.h ├── pgpkeys.txt ├── printaddr.h ├── sockd.c ├── sockd.rc.in ├── sockd.sgml ├── socks.h.in ├── socks.sgml ├── socksify.in ├── socksify.sgml ├── socksrc.sgml ├── sockswrap.c ├── sox.c ├── stubfuncs.h ├── system.in ├── testbind.c ├── testcidr.c ├── testcidr.sh.in ├── testconnect.c └── toipv4.h ├── courier ├── .gitignore ├── AUTHORS ├── BENCHMARKS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── ChangeLog.2001 ├── Makefile.am ├── NEWS.html ├── README ├── README.git ├── TODO ├── afx │ ├── .gitignore │ ├── ChangeLog │ ├── Makefile.am │ ├── afx.h │ ├── afxpipe.C │ ├── configure.ac │ └── testafxpipe.C ├── autobloat ├── automake.fix ├── configure.ac ├── courier-debuild.in ├── courier.service.in ├── courier.spec.in ├── courier.sysvinit.in ├── courier │ ├── .gitignore │ ├── Makefile.am │ ├── adminrequest.tmpl │ ├── aliascombine.C │ ├── aliascreate.C │ ├── aliases.config │ ├── aliasexp.C │ ├── aliaslookup.C │ ├── bofh.c │ ├── bofh.h │ ├── cancelmsg.c │ ├── cddelinfo.C │ ├── cddelinfo.h │ ├── cddlvrhost.C │ ├── cddlvrhost.h │ ├── cddrvinfo.C │ ├── cddrvinfo.h │ ├── cdfilters.C │ ├── cdfilters.h │ ├── cdmsgq.C │ ├── cdmsgq.h │ ├── cdmsgq2.C │ ├── cdmsgq3.C │ ├── cdpendelinfo.C │ ├── cdpendelinfo.h │ ├── cdrcptinfo.C │ ├── cdrcptinfo.h │ ├── cmlm.C │ ├── cmlm.h │ ├── cmlm2.C │ ├── cmlm3.C │ ├── cmlmarchive.C │ ├── cmlmarchive.h │ ├── cmlmbounce.C │ ├── cmlmbounce.h │ ├── cmlmcleanup.C │ ├── cmlmcleanup.h │ ├── cmlmcmdmisc.C │ ├── cmlmcmdmisc.h │ ├── cmlmdigest.C │ ├── cmlmfetch.C │ ├── cmlmfetch.h │ ├── cmlmfilter.C │ ├── cmlmfilter.h │ ├── cmlmmoderate.C │ ├── cmlmmoderate.h │ ├── cmlmstartmail.C │ ├── cmlmstartmail.h │ ├── cmlmsublist.C │ ├── cmlmsublist.h │ ├── cmlmsubunsub.C │ ├── cmlmsubunsub.h │ ├── cmlmsubunsubmsg.C │ ├── cmlmsubunsubmsg.h │ ├── configure.ac │ ├── confsubj.tmpl │ ├── courier-config.c │ ├── courier.c │ ├── courier.h.in │ ├── courier2.C │ ├── courierctl.start.in │ ├── courierd.C │ ├── courierd.dist.in.git │ ├── courierd.h │ ├── courierdb.C │ ├── couriermlm-rcptfilter-ctlmsg.in │ ├── couriermlm-rcptfilter-msg.in │ ├── couriermlm-smtpfilter-ctlmsg.in │ ├── couriermlm-smtpfilter-msg.in │ ├── cppmain.C │ ├── digestsubj.tmpl │ ├── doc │ │ ├── .gitignore │ │ ├── FAQ.html │ │ ├── Makefile.am │ │ ├── aliases.html │ │ ├── aliaslookup.sgml │ │ ├── bg.png │ │ ├── cancelmsg.sgml │ │ ├── configure.ac │ │ ├── courier.sgml │ │ ├── courier.xsl │ │ ├── courierd.html │ │ ├── courierdsn.html │ │ ├── courierldapaliasd.sgml │ │ ├── couriermlm.sgml │ │ ├── documentation.html │ │ ├── dot-courier.sgml │ │ ├── dot-forward.sgml │ │ ├── download.php │ │ ├── draft-varshavchik-exdata-smtpext.txt │ │ ├── draft-varshavchik-security-smtpext.txt │ │ ├── draft-varshavchik-verp-smtpext.txt │ │ ├── esmtp.html │ │ ├── esmtpd.sgml │ │ ├── html2man.pl.in │ │ ├── icon.gif │ │ ├── index.html │ │ ├── install.html │ │ ├── japanese_flag.png │ │ ├── layout.html │ │ ├── links.html │ │ ├── local.html │ │ ├── localmailfilter.sgml │ │ ├── mailq.sgml │ │ ├── makeacceptmailfor.sgml │ │ ├── makealiases.sgml │ │ ├── makehosteddomains.sgml │ │ ├── makepercentrelay.sgml │ │ ├── makesmtpaccess.sgml │ │ ├── menu.html │ │ ├── mkdhparams.sgml │ │ ├── mkesmtpdcert.sgml │ │ ├── modules.html │ │ ├── pop3d.sgml │ │ ├── preline.sgml │ │ ├── queue.html │ │ ├── repo.html │ │ ├── rpm.html │ │ ├── sendmail.sgml │ │ ├── socks.html │ │ ├── status.html │ │ ├── structures.html │ │ ├── submit.sgml │ │ ├── testmxlookup.sgml │ │ └── webmlmd.sgml │ ├── dot-qmail-to-dot-courier.pl.in │ ├── dotforward.c │ ├── dotforward.tst │ ├── dotforward.tst.chk │ ├── fetch.tmpl │ ├── fetchsubj.tmpl │ ├── filters │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── configure.ac │ │ ├── courierfilter.c │ │ ├── courierfilter.sgml │ │ ├── courierfilter.start.in │ │ ├── courierperlfilter.sgml │ │ ├── dupfilter.c │ │ ├── dupfilter.sgml │ │ ├── duphash.c │ │ ├── duphash.h │ │ ├── filterctl.in │ │ ├── html2man.pl.in │ │ ├── libfilter │ │ │ ├── Makefile.am │ │ │ ├── configure.ac │ │ │ ├── libfilter.c │ │ │ └── libfilter.h │ │ ├── msghash.c │ │ ├── msghash.h │ │ ├── perlfilter │ │ │ ├── .gitignore │ │ │ ├── Makefile.am │ │ │ ├── configure.ac │ │ │ ├── perlfilter-example.pl │ │ │ ├── perlfilter-ratelimit.pl │ │ │ ├── perlfilter-wrapper.pl │ │ │ └── perlfilter.c │ │ ├── ratefilter.C │ │ ├── ratefilter.sgml │ │ ├── testsuite │ │ ├── testsuite.txt │ │ ├── verifyfilter.c │ │ ├── verifyfilter.sgml │ │ ├── verifysender.in │ │ ├── verifysenderfull.in │ │ └── verifysmtp.in │ ├── help.tmpl │ ├── idxheader2html.tmpl │ ├── idxheaderhtml.tmpl │ ├── idxheadertxt.tmpl │ ├── idxsubject.tmpl │ ├── imapd-ssl.rc.in │ ├── imapd.rc.in │ ├── ldapaliasd.c │ ├── ldapaliasdrc.c │ ├── ldapaliasdrc.h │ ├── ldapaliasrc.dist.git │ ├── libs │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── addrlower.c │ │ ├── aliases.h │ │ ├── cdefaultdelivery.c │ │ ├── cdefaultdomain.c │ │ ├── cdefaultsep.c │ │ ├── cdomaincmp.c │ │ ├── cfilename.c │ │ ├── cfilteracct.c │ │ ├── cgethostname.c │ │ ├── chelohost.c │ │ ├── cmaildropfilter.c │ │ ├── cmaildropmda.c │ │ ├── cme.c │ │ ├── cmsgidhost.c │ │ ├── comaliases1.C │ │ ├── comaliases2.C │ │ ├── comaliases3.C │ │ ├── comaliases4.C │ │ ├── combatchsize.c │ │ ├── comcargs.c │ │ ├── comcargs.h │ │ ├── comconfig.c │ │ ├── comconfig.h │ │ ├── comctlfile.c │ │ ├── comctlfile.h │ │ ├── comdsn.c │ │ ├── comdsn2.c │ │ ├── comerrmsg.c │ │ ├── comesmtpidstring.c │ │ ├── comfax.c │ │ ├── comfax.h │ │ ├── commsgcancel.c │ │ ├── commsgcancel.h │ │ ├── comparseqid.c │ │ ├── comparseqid.h │ │ ├── comqueuename.c │ │ ├── comqueuename.h │ │ ├── comqueuename2.c │ │ ├── comreadtime.c │ │ ├── comreadtime.h │ │ ├── comrwerrfunc.c │ │ ├── comrwheader.c │ │ ├── comrwinfoinit.c │ │ ├── comrwinstall.c │ │ ├── comrwinstall2.c │ │ ├── comrwmsg.c │ │ ├── comrwmsg7bit.c │ │ ├── comrwmsg8bit.c │ │ ├── comrwsearchdel.c │ │ ├── comsecurity.c │ │ ├── comsizelimit.c │ │ ├── comstatfs.c │ │ ├── comstrinode.c │ │ ├── comstrinode.h │ │ ├── comstrtimestamp.c │ │ ├── comstrtimestamp.h │ │ ├── comstrtotime.c │ │ ├── comstrtotime.h │ │ ├── comsts.c │ │ ├── comsts.h │ │ ├── comsts2.c │ │ ├── comsubmitclient.c │ │ ├── comsubmitclient.h │ │ ├── comsubmitclient2.c │ │ ├── comtmpfile.c │ │ ├── comtmpfile2.c │ │ ├── comtrack.c │ │ ├── comtrack.h │ │ ├── comtrigger.c │ │ ├── comuidgid.C │ │ ├── comuidgid.h │ │ ├── comverp.c │ │ ├── comverp.h │ │ ├── configure.ac │ │ ├── courier_malloc.c │ │ ├── courierdir.c │ │ ├── cread1l.c │ │ ├── islocal.c │ │ ├── islocalt.c │ │ ├── lcclog.c │ │ ├── lcclog2.c │ │ ├── lcclog3.c │ │ ├── lcrewrite.c │ │ ├── lcrwstatic.c │ │ ├── lcrwstaticlist.c │ │ ├── lcrwstaticlist.h │ │ ├── maxlongsize.h │ │ ├── moduledel.c │ │ ├── moduledel.h │ │ ├── mybuf.h │ │ ├── readfile.c │ │ ├── removecomments.c │ │ ├── rw.h │ │ ├── rwdefaulthost.c │ │ ├── rwint.h │ │ ├── rwsearch.c │ │ └── testaliases.C │ ├── mailq.c │ ├── makealiases.in │ ├── makehosteddomains.in │ ├── makeimapaccess.in │ ├── mkmodules.sh.in │ ├── modrejbody.tmpl │ ├── modrejheader.tmpl │ ├── modsubject.tmpl │ ├── modtext.tmpl │ ├── modtext2.tmpl │ ├── module.dsn │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── configure.ac │ │ ├── courier.config │ │ ├── dsn.c │ │ ├── dsndelayed.txt │ │ ├── dsndelivered.txt │ │ ├── dsnfailed.txt │ │ ├── dsnfooter.txt │ │ ├── dsnheader.txt.in │ │ ├── dsnrelayed.txt │ │ ├── dsnstub.c │ │ ├── dsnsubjectnotice.txt │ │ └── dsnsubjectwarn.txt │ ├── module.esmtp │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── addcr.c │ │ ├── configure.ac │ │ ├── courier.config │ │ ├── courieresmtp.c │ │ ├── courieresmtpd.c │ │ ├── esmtp.authpam.dist │ │ ├── esmtp.c │ │ ├── esmtpclient.c │ │ ├── esmtpconfig.c │ │ ├── esmtpconfig.h │ │ ├── esmtpd-msa.dist.in.git │ │ ├── esmtpd-ssl.dist.in.git │ │ ├── esmtpd-ssl.in │ │ ├── esmtpd.cnf.gnutls │ │ ├── esmtpd.cnf.openssl │ │ ├── esmtpd.cnf.openssl.in │ │ ├── esmtpd.dist.in.git │ │ ├── esmtpd.in │ │ ├── esmtpiov.c │ │ ├── esmtpiov.h │ │ ├── libesmtp.c │ │ ├── libesmtp.h │ │ ├── makeacceptmailfor.in │ │ ├── makepercentrelay.in │ │ ├── makesmtpaccess.in │ │ ├── mkesmtpdcert.in │ │ ├── smtproutes.c │ │ ├── smtproutes.h │ │ └── staticlist.c.in │ ├── module.fax │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── application-pdf.filter.in │ │ ├── application-postscript.filter.in │ │ ├── configure.ac │ │ ├── courier.config │ │ ├── courierfax.c │ │ ├── courierfax.sgml │ │ ├── coverpage.in │ │ ├── faxconvert.c │ │ ├── faxconvert.h │ │ ├── faxcoverpage.tr.dist.git │ │ ├── faxnotifyrc.dist.git │ │ ├── faxrc.dist.git │ │ ├── faxstub.c │ │ ├── image-gif.filter.in │ │ ├── image-jpeg.filter.in │ │ ├── image-png.filter.in │ │ ├── init.in │ │ ├── new_fax.in │ │ └── text-plain.filter.in │ ├── module.local │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── configure.ac │ │ ├── courier.config │ │ ├── deliver.c │ │ ├── dotcourier.c │ │ ├── local.c │ │ ├── localmail.c │ │ ├── preline.c │ │ ├── testsuite │ │ └── testsuite.txt │ ├── module.uucp │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── configure.ac │ │ ├── courier.config │ │ ├── courieruucp.sgml │ │ ├── html2man.pl.in │ │ ├── makeuucpneighbors.in │ │ ├── staticlist.c.in │ │ ├── uucp.c │ │ └── uucpstub.c │ ├── mydirent.h │ ├── perftest1.in │ ├── perms.sh.in │ ├── pop3d-ssl.in │ ├── pop3d.in │ ├── sendmail-esmtpd-wrapper.c │ ├── sendmail.c │ ├── setperms.sh.in │ ├── showconfig.C │ ├── showmodules.C │ ├── smtpaccess.config │ ├── style.css.tmpl │ ├── sub.tmpl │ ├── sub2.tmpl │ ├── sub3.tmpl │ ├── sub4.tmpl │ ├── sub5.tmpl │ ├── suback.tmpl │ ├── subjrequest.tmpl │ ├── submit.C │ ├── submit.h │ ├── submit2.C │ ├── submit3.C │ ├── submitmkdir.c │ ├── subreportfooter.tmpl │ ├── subreporthdr.tmpl │ ├── subreporthdr1.tmpl │ ├── subreporthdr2.tmpl │ ├── subreporthdr3.tmpl │ ├── testmxlookup.c │ ├── testsuite.alias │ ├── testsuite.alias1.in │ ├── testsuite.alias2.in │ ├── testtrack.c │ ├── unsub.tmpl │ ├── unsub2.tmpl │ ├── unsub3.tmpl │ ├── warn1headers.tmpl │ ├── warn1text.tmpl │ ├── warn1text2.tmpl │ ├── warn2msg.tmpl │ ├── webadmin │ │ ├── .gitignore │ │ ├── Makefile.am │ │ ├── admin-00machine.html │ │ ├── admin-00machine.pl │ │ ├── admin-05local.html │ │ ├── admin-05local.pl.in │ │ ├── admin-10password.html │ │ ├── admin-10password.pl │ │ ├── admin-15ldap.html │ │ ├── admin-15ldap.pl │ │ ├── admin-15ldapa.html │ │ ├── admin-15ldapa.pl │ │ ├── admin-15mysql.html │ │ ├── admin-15mysql.pl │ │ ├── admin-15pgsql.html │ │ ├── admin-15pgsql.pl │ │ ├── admin-20aliases.html │ │ ├── admin-20aliases.pl │ │ ├── admin-30esmtp.html │ │ ├── admin-30esmtp.pl │ │ ├── admin-30xspf.html │ │ ├── admin-30xspf.pl │ │ ├── admin-31esmtp.html │ │ ├── admin-31esmtp.pl │ │ ├── admin-34fax.html │ │ ├── admin-34fax.pl │ │ ├── admin-35fax.html │ │ ├── admin-35fax.pl │ │ ├── admin-40imap.html │ │ ├── admin-40imap.pl │ │ ├── admin-45pop3.html │ │ ├── admin-45pop3.pl │ │ ├── admin-47webmail.html │ │ ├── admin-47webmail.pl │ │ ├── admin-50bofh.html │ │ ├── admin-50bofh.pl │ │ ├── configure.ac │ │ ├── notsupp.html │ │ └── webadmin.pm │ ├── webmaild.in │ ├── webmlm.c │ ├── webmlm.tmpl │ ├── webmlm.tmpl.html │ ├── webmlmconfirm.html │ ├── webmlmd.C │ ├── webmlmd.H │ ├── webmlmd.rc.in │ ├── webmlmdcmlm.C │ ├── webmlmdcmlm.H │ ├── webmlmddirs.C │ ├── webmlmddirs.H │ ├── webmlmdhandlers.C │ ├── webmlmdhandlers.H │ ├── webmlmdmod.C │ ├── webmlmdsublist.C │ ├── webmlmerror.tmpl.html │ ├── webmlmidx.html │ ├── webmlmlistadmin.tmpl.html │ ├── webmlmlistadminmod.tmpl.html │ ├── webmlmlistadminpw.tmpl.html │ ├── webmlmlistindex.tmpl.html │ ├── webmlmnotprocessed.html │ ├── webmlmpleasewait.tmpl.html │ ├── webmlmprocessed.html │ ├── webmlmrc.dist.in.git │ ├── webmlmrequestreceived.tmpl.html │ ├── webmlmsubinfo.tmpl.html │ └── webmlmsublist.tmpl.html ├── dbobj.config.in ├── dbobj.h.in ├── packaging │ └── debian │ │ ├── .gitignore │ │ ├── auto_install.sh.in │ │ ├── changelog.in │ │ ├── control │ │ ├── copyright │ │ ├── courier-fax.lintian-overrides │ │ ├── courier-imapd.lintian-overrides │ │ ├── courier-ldap.lintian-overrides │ │ ├── courier-maildrop.lintian-overrides │ │ ├── courier-mlm-web-apache2.lintian-overrides │ │ ├── courier-mlm-web.lintian-overrides │ │ ├── courier-mlm.lintian-overrides │ │ ├── courier-mysql.lintian-overrides │ │ ├── courier-pgsql.lintian-overrides │ │ ├── courier-pop3d.lintian-overrides │ │ ├── courier-webadmin-apache2.lintian-overrides │ │ ├── courier-webadmin.lintian-overrides │ │ ├── courier-webmail-apache2.lintian-overrides │ │ ├── courier-webmail.lintian-overrides │ │ ├── courier.lintian-overrides │ │ ├── lintian-overrides.allow-errors │ │ ├── mkinstall.pl.in │ │ ├── rules │ │ └── source │ │ ├── format │ │ └── lintian-overrides ├── pgpkeys.txt └── webadmin │ ├── .gitignore │ ├── Makefile.am │ ├── admin-cancel.pl │ ├── admin-main.html │ ├── admin-main.pl │ ├── admin-save.html │ ├── admin-save.pl │ ├── configure.ac │ ├── dumpenv.pl.in │ ├── login.html │ ├── unsecure.html │ ├── webadmin.c │ └── webadmin.pl.in ├── maildrop ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL.html.in ├── Makefile.am ├── NEWS ├── README.dovecotauth ├── README.git ├── README.html.in ├── README.postfix ├── UPGRADE.html ├── autobloat ├── configure.ac ├── courier-debuild.in ├── dbobj.config.in ├── dbobj.h.in ├── documentation.html ├── download.html ├── index.html ├── links.html ├── maildrop.spec.in └── packaging │ └── debian │ ├── .gitignore │ ├── auto_install.sh.in │ ├── changelog.in │ ├── control │ ├── copyright │ ├── lintian-overrides.allow-errors │ ├── maildrop-dev.lintian-overrides │ ├── maildrop-dev.soname.lintian-overrides │ ├── maildrop.lintian-overrides │ ├── rules │ └── source │ ├── format │ └── lintian-overrides ├── sqwebmail ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL.html ├── Makefile.am ├── README.git ├── README.html ├── README.logindomainlist.html ├── README.pam ├── autobloat ├── configure.ac ├── courier-debuild.in ├── dbobj.config.in ├── dbobj.h.in ├── html │ ├── .htaccess │ ├── bg.gif │ ├── download.html │ ├── frame.js │ ├── icon.gif │ ├── images │ │ ├── addressbook-sm.png │ │ ├── addressbook.png │ │ ├── addressbook2-sm.png │ │ ├── addressbook2.png │ │ ├── dsn-sm.png │ │ ├── dsn.png │ │ ├── filters-sm.png │ │ ├── filters.png │ │ ├── flowed-sm.png │ │ ├── flowed.png │ │ ├── folders-sm.png │ │ ├── folders.png │ │ ├── gpgcreate-sm.png │ │ ├── gpgcreate.png │ │ ├── gpgkeys-sm.png │ │ ├── gpgkeys.png │ │ ├── gpgsigned-sm.png │ │ ├── gpgsigned.png │ │ ├── html-sm.png │ │ ├── html.png │ │ ├── monthly-sm.png │ │ ├── monthly.png │ │ ├── recurring-sm.png │ │ ├── recurring.png │ │ ├── spellcheck-sm.png │ │ ├── spellcheck.png │ │ ├── weekly-sm.png │ │ └── weekly.png │ ├── index.html │ ├── links.html │ ├── manpage.css │ ├── screenshots.html │ └── style.css ├── packaging │ └── debian │ │ ├── .gitignore │ │ ├── auto_fixperms.sh.in │ │ ├── auto_install.sh.in │ │ ├── changelog.in │ │ ├── control │ │ ├── copyright │ │ ├── lintian-overrides.allow-errors │ │ ├── rules │ │ ├── source │ │ ├── format │ │ └── lintian-overrides │ │ ├── sqwebmail-apache2.lintian-overrides │ │ └── sqwebmail.lintian-overrides ├── pgpkeys.txt ├── sqwebmail.spec.in └── sqwebmaild.rc.in └── sysconftool ├── .gitignore ├── AUTHORS ├── COPYING ├── COPYING.GPL ├── ChangeLog ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── autobloat ├── configure.ac ├── courier-debuild.in ├── index.html ├── packaging └── debian │ ├── .gitignore │ ├── changelog.in │ ├── control │ ├── copyright │ ├── rules │ └── source │ └── format ├── sysconftool.in ├── sysconftool.m4.in ├── sysconftool.spec.in ├── sysconftool1.sgml ├── sysconftool7.sgml ├── sysconftoolcheck.in ├── sysconftoolcheck.sgml ├── sysconftoolize.am ├── sysconftoolize.pl.in ├── testsuite └── testsuite.txt /.gitattributes: -------------------------------------------------------------------------------- 1 | *.in filter=keywords 2 | *.dist filter=keywords 3 | -------------------------------------------------------------------------------- /.github/workflows/build-test.yml: -------------------------------------------------------------------------------- 1 | name: Run builds on supported distributions 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | workflow_dispatch: 9 | 10 | jobs: 11 | build-combined: 12 | uses: ./.github/workflows/build-combined.yml 13 | with: 14 | libsrepo: svarshavchik/courier-libs 15 | libsbranch: master 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.a 2 | *.la 3 | *.bz2 4 | *.gz 5 | *.sig 6 | Makefile 7 | Makefile.in 8 | aclocal.m4 9 | autom4te.cache 10 | compile 11 | config.cache 12 | config.h 13 | config.h.in 14 | config.guess 15 | config.sub 16 | config.log 17 | config.status 18 | configure 19 | courier-debuild 20 | deb 21 | deb.release 22 | depcomp 23 | install-sh 24 | stamp-h1 25 | libtool 26 | ltmain.sh 27 | missing 28 | releasenotes.txt 29 | rpm 30 | rpm.release 31 | -------------------------------------------------------------------------------- /ci-scripts/arch/build_all: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | project="$1" 4 | 5 | source /etc/makepkg.conf; export $(egrep '^[[:alnum:]_]+=' /etc/makepkg.conf | cut -f1 -d=) 6 | 7 | pushd . 8 | 9 | for pkg in `pwd`/*.img.tar.bz2 10 | do 11 | cd / 12 | tar xf $pkg 13 | done 14 | 15 | popd 16 | 17 | rm -f *.img.tar.bz2 18 | ldconfig 19 | 20 | rm -rf build 21 | mkdir build 22 | mv *.bz2 build 23 | cd build 24 | tar xf * 25 | cd */. 26 | ./configure --with-notice=unicode 27 | make 28 | make check 29 | make install 30 | -------------------------------------------------------------------------------- /ci-scripts/arch/build_all_setup: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | sh ci-scripts/arch/build_shared_setup 4 | -------------------------------------------------------------------------------- /ci-scripts/arch/build_shared: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | project="$1" 4 | 5 | source /etc/makepkg.conf; export $(egrep '^[[:alnum:]_]+=' /etc/makepkg.conf | cut -f1 -d=) 6 | 7 | cd build 8 | 9 | tar xf *.tar.bz2 10 | cd */. 11 | ./configure --with-notice=unicode 12 | make 13 | make install 14 | ldconfig 15 | mkdir ../inst 16 | make install DESTDIR=`cd ../inst; pwd` 17 | cd ../inst 18 | 19 | tar cjvf ../../packages/$project.img.tar.bz2 `find . ! -type d -print` 20 | -------------------------------------------------------------------------------- /ci-scripts/centos/build_all: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | project="$1" 4 | 5 | mkdir rpm 6 | 7 | rpmbuild -ta --clean \ 8 | --define 'notice_option --with-notice=unicode' \ 9 | --define "_topdir `pwd`/rpm" *.tar.bz2 10 | -------------------------------------------------------------------------------- /ci-scripts/centos/build_all_setup: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | sh ci-scripts/centos/build_shared_setup 4 | 5 | rpm -ivhf *.rpm 6 | rm -f *.rpm 7 | -------------------------------------------------------------------------------- /ci-scripts/centos/build_shared: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | cd build 4 | mkdir rpm 5 | 6 | rpmbuild -ta --clean \ 7 | --define 'notice_option --with-notice=unicode' \ 8 | --define "_topdir `pwd`/rpm" *.tar.bz2 9 | 10 | # Do not install courier-authlib modules 11 | 12 | rm -f rpm/RPMS/*/*ldap* 13 | rm -f rpm/RPMS/*/*mysql* 14 | rm -f rpm/RPMS/*/*pgsql* 15 | rm -f rpm/RPMS/*/*pipe* 16 | rm -f rpm/RPMS/*/*sqlite* 17 | rm -f rpm/RPMS/*/*userdb* 18 | 19 | # Do not install courier-sox-utils, CentOS7 does not have Net::CIDR 20 | # Do not install courier-sox-server either 21 | 22 | rm -f rpm/RPMS/*/courier-sox-utils* 23 | rm -f rpm/RPMS/*/courier-sox-server* 24 | 25 | rm -f rpm/RPMS/*/*debug* 26 | 27 | rpm -ivh rpm/RPMS/*/*.rpm 28 | mv rpm/RPMS/*/*.rpm ../packages 29 | -------------------------------------------------------------------------------- /ci-scripts/make_dist_environment: -------------------------------------------------------------------------------- 1 | eval $(rpm --eval '%{set_build_flags}') 2 | PATH=/usr/bin:/bin:/usr/sbin:/sbin 3 | export PATH 4 | -------------------------------------------------------------------------------- /ci-scripts/rocky/build_all: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | project="$1" 4 | 5 | mkdir rpm 6 | 7 | if test -f /opt/rh/gcc-toolset-14/enable 8 | then 9 | scl enable gcc-toolset-14 "bash ci-scripts/rocky/buildcmd" 10 | else 11 | bash ci-scripts/rocky/buildcmd 12 | fi 13 | -------------------------------------------------------------------------------- /ci-scripts/rocky/build_all_setup: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | sh ci-scripts/rocky/build_shared_setup 4 | 5 | rpm -ivhf *.rpm 6 | rm -f *.rpm 7 | -------------------------------------------------------------------------------- /ci-scripts/rocky/build_shared: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | cd build 4 | mkdir rpm 5 | 6 | if test -f /opt/rh/gcc-toolset-14/enable 7 | then 8 | scl enable gcc-toolset-14 "bash ../ci-scripts/rocky/buildcmd" 9 | else 10 | bash ../ci-scripts/rocky/buildcmd 11 | fi 12 | 13 | # Do not install courier-authlib modules 14 | 15 | rm -f rpm/RPMS/*/*ldap* 16 | rm -f rpm/RPMS/*/*mysql* 17 | rm -f rpm/RPMS/*/*pgsql* 18 | rm -f rpm/RPMS/*/*pipe* 19 | rm -f rpm/RPMS/*/*sqlite* 20 | rm -f rpm/RPMS/*/*userdb* 21 | 22 | # Do not install courier-sox-utils, Rocky does not have Net::CIDR 23 | # Do not install courier-sox-server either 24 | 25 | rm -f rpm/RPMS/*/courier-sox-utils* 26 | rm -f rpm/RPMS/*/courier-sox-server* 27 | 28 | rm -f rpm/RPMS/*/*debug* 29 | 30 | rpm -ivh rpm/RPMS/*/*.rpm 31 | mv rpm/RPMS/*/*.rpm ../packages 32 | -------------------------------------------------------------------------------- /ci-scripts/rocky/buildcmd: -------------------------------------------------------------------------------- 1 | set -vx 2 | 3 | rpmbuild -ta --clean \ 4 | --define 'notice_option --with-notice=unicode' \ 5 | --define "_topdir `pwd`/rpm" *.tar.bz2 && exit 0 6 | 7 | cat rpm/BUILD/*/config.log 8 | exit 1 9 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu-gcc10/build_all: -------------------------------------------------------------------------------- 1 | set -evx 2 | export DEBGCC=10 3 | . ci-scripts/ubuntu/build_all 4 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu-gcc10/build_all_setup: -------------------------------------------------------------------------------- 1 | export DEBGCC=10 2 | . ci-scripts/ubuntu/build_all_setup 3 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu-gcc10/build_shared: -------------------------------------------------------------------------------- 1 | set -evx 2 | export DEBGCC=10 3 | . ci-scripts/ubuntu/build_shared 4 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu-gcc10/build_shared_setup: -------------------------------------------------------------------------------- 1 | export DEBGCC=10 2 | . ci-scripts/ubuntu/build_shared_setup 3 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu/build_all: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | export DEBIAN_FRONTEND=noninteractive 4 | 5 | project="$1" 6 | 7 | rm -rf build 8 | mkdir build 9 | cd build 10 | mv ../*.tar.bz2 . 11 | tar xf * 12 | cd */. 13 | ./courier-debuild -us -uc 14 | ls -al deb 15 | eval `/usr/bin/dpkg-architecture` 16 | cp deb/*.deb /var/local/packages/pool 17 | ( 18 | cd /var/local/packages 19 | dpkg-scanpackages pool >dists/main/main/binary-$DEB_TARGET_ARCH/Packages 20 | ) 21 | 22 | apt update 23 | cd deb 24 | apt install -y `ls *.deb | sed '/dbgsym/d;s/_.*//'` 25 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu/build_all_setup: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | sh ci-scripts/ubuntu/build_shared_setup 4 | 5 | eval `/usr/bin/dpkg-architecture` 6 | cp *.deb /var/local/packages/pool 7 | ( 8 | cd /var/local/packages 9 | dpkg-scanpackages pool >dists/main/main/binary-$DEB_TARGET_ARCH/Packages 10 | ) 11 | 12 | apt update 13 | apt install -y `ls *.deb | sed 's/_.*//'` 14 | rm -f *.deb 15 | -------------------------------------------------------------------------------- /ci-scripts/ubuntu/build_shared: -------------------------------------------------------------------------------- 1 | set -evx 2 | 3 | export DEBIAN_FRONTEND=noninteractive 4 | 5 | cd build 6 | 7 | tar xf *.tar.bz2 8 | cd */. 9 | ./courier-debuild -us -uc 10 | 11 | # Do not install courier-authlib modules 12 | 13 | rm -f deb/*ldap* 14 | rm -f deb/*mysql* 15 | rm -f deb/*pgsql* 16 | rm -f deb/*pipe* 17 | rm -f deb/*sqlite* 18 | rm -f deb/*userdb* 19 | 20 | # Do not install courier-sox-server 21 | 22 | rm -f deb/*courier-sox-server* 23 | 24 | eval `/usr/bin/dpkg-architecture` 25 | cp deb/*.deb /var/local/packages/pool 26 | ( 27 | cd /var/local/packages 28 | dpkg-scanpackages pool >dists/main/main/binary-$DEB_TARGET_ARCH/Packages 29 | ) 30 | 31 | apt update 32 | apt install -y `cd deb; ls *.deb | sed '/dbgsym/d;s/_.*//'` 33 | 34 | mv deb/*.deb ../../packages 35 | -------------------------------------------------------------------------------- /cone/.gitignore: -------------------------------------------------------------------------------- 1 | /libs 2 | /cone.dist 3 | /cone.sh 4 | /cone.spec 5 | /coneversion 6 | /config.cache 7 | /config.rpath 8 | /dbobj.config 9 | /help.txt 10 | /sysconftool 11 | -------------------------------------------------------------------------------- /cone/AUTHORS: -------------------------------------------------------------------------------- 1 | Cone is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | -------------------------------------------------------------------------------- /cone/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /cone/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /cone/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /cone/cone/.gitignore: -------------------------------------------------------------------------------- 1 | /html 2 | /man 3 | /ABOUT-NLS 4 | /APPLICATION.PDF.filter 5 | /ChangeLog 6 | /IMAGE.filter 7 | /buildversion.H 8 | /cone 9 | /cone.dist 10 | /cone.dist.in 11 | /cone.sh 12 | /help.txt 13 | /helpfile.H 14 | /htmlparsertest 15 | /http.handler 16 | /leaf 17 | /m4 18 | /pwtest 19 | /sgmltimestamp 20 | -------------------------------------------------------------------------------- /cone/cone/APPLICATION.PDF.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # 4 | # Copyright 2003, Double Precision Inc. 5 | # 6 | # See COPYING for distribution information. 7 | # 8 | 9 | PHASE="$1" 10 | MIMETYPE="$2" # If you need it 11 | 12 | if test "$PHASE" = "check" 13 | then 14 | if test "$DISPLAY" = "" 15 | then 16 | exit 1 17 | fi 18 | 19 | if test -x @XPDF@ 20 | then 21 | exit 0 22 | fi 23 | exit 1 24 | fi 25 | 26 | if test "$PHASE" = "filter" 27 | then 28 | FILENAME="$3" 29 | 30 | ( @XPDF@ "$FILENAME" & ) >/dev/null 2>&1 31 | exit 0 32 | fi 33 | -------------------------------------------------------------------------------- /cone/cone/addressbookinterface.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2006, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "addressbookinterface.H" 8 | 9 | AddressBook::Interface::Interface() 10 | { 11 | } 12 | 13 | AddressBook::Interface::~Interface() 14 | { 15 | } 16 | 17 | -------------------------------------------------------------------------------- /cone/cone/certificates.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2008, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef certificates_H 8 | #define certificates_H 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | class Certificates { 15 | 16 | public: 17 | class cert { 18 | public: 19 | std::string name; 20 | std::string cert; 21 | }; 22 | 23 | std::map certs; 24 | }; 25 | 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /cone/cone/colors.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef colors_H 8 | #define colors_H 9 | 10 | #include "config.h" 11 | 12 | #include 13 | 14 | 15 | // 16 | // Custom colors 17 | // 18 | 19 | struct CustomColor { 20 | const char *descr; 21 | const char *shortname; 22 | int defaultFcolor; 23 | int fcolor; 24 | }; 25 | 26 | struct CustomColorGroup { 27 | const char *groupDescr; 28 | struct CustomColor **colors; 29 | }; 30 | 31 | extern struct CustomColorGroup *getColorGroups(); 32 | 33 | extern void initColorGroups(); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /cone/cone/cone.sh.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | 3 | prefix="@prefix@" 4 | exec_prefix="@exec_prefix@" 5 | sysconfdir="@sysconfdir@" 6 | libexecdir="@libexecdir@" 7 | 8 | if test -f ${sysconfdir}/cone 9 | then 10 | set -a 11 | . ${sysconfdir}/cone 12 | set +a 13 | fi 14 | 15 | if test -f ${HOME}/.conerc 16 | then 17 | set -a 18 | . ${HOME}/.conerc 19 | set +a 20 | fi 21 | exec $libexecdir/cone "$@" 22 | -------------------------------------------------------------------------------- /cone/cone/ctrlchandler.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef cntrlchandler_h 7 | #define cntrlchandler_h 8 | 9 | #include "config.h" 10 | #include "curses/mycurses.H" 11 | #include "curses/curseskeyhandler.H" 12 | 13 | #include 14 | 15 | // 16 | // Handle CTRL-C events 17 | // 18 | 19 | class CtrlCHandler : public CursesKeyHandler { 20 | 21 | public: 22 | CtrlCHandler(); 23 | ~CtrlCHandler(); 24 | 25 | static bool loggingOut; // Logout/termination in progress 26 | static time_t lastCtrlC; // When last ctrlc was hit 27 | 28 | private: 29 | virtual bool processKey(const Curses::Key &key) override; 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /cone/cone/disconnectcallbackstub.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "config.h" 8 | #include "disconnectcallbackstub.H" 9 | 10 | #include "curses/mycurses.H" 11 | #include "curses/cursesstatusbar.H" 12 | 13 | extern CursesStatusBar *statusBar; 14 | 15 | disconnectCallbackStub::disconnectCallbackStub() 16 | { 17 | } 18 | 19 | disconnectCallbackStub::~disconnectCallbackStub() 20 | { 21 | } 22 | 23 | void disconnectCallbackStub::disconnected(const char *errmsg) 24 | { 25 | if (errmsg) 26 | statusBar->status(errmsg, statusBar->DISCONNECTED); 27 | } 28 | 29 | void disconnectCallbackStub::servererror(const char *errmsg) 30 | { 31 | if (errmsg) 32 | statusBar->status(errmsg, statusBar->SERVERERROR); 33 | } 34 | -------------------------------------------------------------------------------- /cone/cone/disconnectcallbackstub.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef disconnectcallbackstub_H 7 | #define disconnectcallbackstub_H 8 | 9 | #include "config.h" 10 | 11 | #include "libmail/mail.H" 12 | 13 | // 14 | // When we need to open a libmail account temporarily, use this account 15 | // callback object. 16 | // 17 | 18 | class disconnectCallbackStub : public mail::callback::disconnect { 19 | public: 20 | disconnectCallbackStub(); 21 | ~disconnectCallbackStub(); 22 | 23 | void disconnected(const char *errmsg) override; 24 | void servererror(const char *errmsg) override; 25 | }; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /cone/cone/fixonlinehelp.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | my $filename=shift @ARGV; 4 | 5 | open(IN, $filename) || die "$filename: $!\n"; 6 | open(OUT, ">$filename.tmp") || die "$filename.tmp: $!\n"; 7 | 8 | my $l; 9 | 10 | while (defined($l=)) 11 | { 12 | unless ($l =~ /::B::/) 13 | { 14 | $l =~ s/

/; 22 | print OUT $l; 23 | $l=; 24 | chomp $l; 25 | $l=substr($l . (" " x 76), 0, 76); 26 | print OUT "$l\n"; 27 | } 28 | close(OUT); 29 | rename "$filename.tmp", "$filename" || die "$filename: $!\n"; 30 | -------------------------------------------------------------------------------- /cone/cone/http.handler.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # 4 | # Copyright 2005, Double Precision Inc. 5 | # 6 | # See COPYING for distribution information. 7 | # 8 | # Sample Cone URL handler. 9 | # 10 | # Searches for "firefox", then "mozilla", and runs whatever it finds. 11 | 12 | prog="`which firefox 2>/dev/null`" 13 | 14 | if test "$prog" = "" 15 | then 16 | prog="`which mozilla 2>/dev/null`" 17 | fi 18 | 19 | # Debian? 20 | 21 | for f in /etc/alternatives/x-www-browser /etc/alternatives/www-browser 22 | do 23 | if test -x $f 24 | then 25 | prog=$f 26 | fi 27 | done 28 | 29 | if test "$prog" = "" 30 | then 31 | exit 1 32 | fi 33 | 34 | $prog "$1" & 35 | exit 0 36 | 37 | -------------------------------------------------------------------------------- /cone/cone/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/cone/cone/icon.gif -------------------------------------------------------------------------------- /cone/cone/init.H: -------------------------------------------------------------------------------- 1 | #ifndef init_H 2 | #define init_H 3 | 4 | #include "curses/cursesscreen.H" 5 | #include "curses/cursestitlebar.H" 6 | #include "curses/cursesstatusbar.H" 7 | #include "curses/cursesmainscreen.H" 8 | 9 | #include "spellcheckerbase.H" 10 | 11 | extern CursesScreen *cursesScreen; 12 | extern CursesMainScreen *mainScreen; 13 | extern CursesStatusBar *statusBar; 14 | extern CursesTitleBar *titleBar; 15 | extern SpellCheckerBase *spellCheckerBase; 16 | 17 | extern void init(); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /cone/cone/macros.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2004, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "macros.H" 8 | 9 | using namespace std; 10 | 11 | Macros::Macros() 12 | { 13 | } 14 | 15 | Macros::~Macros() 16 | { 17 | } 18 | -------------------------------------------------------------------------------- /cone/cone/manpage.css: -------------------------------------------------------------------------------- 1 | body { margin-top: 0px; margin-bottom: 0px; background-color: #ffffff; font-family: times new roman,serif; color: #000000;} 2 | 3 | a { color: #0000FF; } 4 | a:visited { color: #880000; } 5 | a:hover { color: #000000 } 6 | 7 | h1 { font-family: arial,helvetica,sans serif; font-size: 200% } 8 | h2 { font-family: arial,helvetica,sans serif; font-size: 150% } 9 | 10 | ul li { padding-top: 5px; } 11 | -------------------------------------------------------------------------------- /cone/cone/messagesize.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "config.h" 8 | #include 9 | #include 10 | #include "messagesize.H" 11 | #include "gettext.H" 12 | 13 | MessageSize::MessageSize(unsigned long bytes, bool showBytes) 14 | { 15 | char buf[100]; 16 | 17 | buf[0]=0; 18 | 19 | if (bytes > 1024L * 1024) 20 | sprintf(buf, _("%.1f Mb"), bytes / (1024.0 * 1024.0)); 21 | else if (bytes > 1024) 22 | sprintf(buf, _("%lu Kb"), (bytes + 512) / 1024); 23 | else if (bytes > 0) 24 | sprintf(buf, showBytes ? _("%lu bytes"): "%lu", bytes); 25 | 26 | buffer=buf; 27 | } 28 | 29 | MessageSize::~MessageSize() 30 | { 31 | } 32 | -------------------------------------------------------------------------------- /cone/cone/messagesize.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef messagesize_H 8 | #define messagesize_H 9 | 10 | /////////////////////////////////////////////////////////////////// 11 | // 12 | // Convert byte count to a meaningful string 13 | 14 | #include "config.h" 15 | 16 | #include 17 | 18 | class MessageSize { 19 | std::string buffer; 20 | public: 21 | MessageSize(unsigned long bytes, bool showBytes=false); 22 | ~MessageSize(); 23 | operator std::string() const { return buffer; } 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /cone/cone/opensubfolders.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef opensubfolders_H 7 | #define opensubfolders_H 8 | 9 | #include "config.h" 10 | 11 | #include "libmail/mail.H" 12 | 13 | #include 14 | 15 | /////////////////////////////////////////////////////////// 16 | // 17 | // Helper class for opening a hierarchy. The list of open subfolders, 18 | // by LibMAIL is captured. 19 | // 20 | 21 | class OpenSubFoldersCallback : 22 | public mail::callback::folderList { 23 | 24 | public: 25 | std::vector folders; 26 | 27 | OpenSubFoldersCallback(); 28 | ~OpenSubFoldersCallback(); 29 | void success(const std::vector &folders) override; 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /cone/cone/po/.gitignore: -------------------------------------------------------------------------------- 1 | /ChangeLog 2 | /Makefile.in.in 3 | /Makefile.in 4 | /Makefile 5 | /Makevars.template 6 | /POTFILES 7 | /Rules-quot 8 | /boldquot.sed 9 | /en@boldquot.header 10 | /en@quot.header 11 | /insert-header.sed 12 | /insert-header.sin 13 | /quot.sed 14 | /remove-potcdate.sed 15 | /remove-potcdate.sin 16 | /stamp-po 17 | *.pot 18 | -------------------------------------------------------------------------------- /cone/cone/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | addressbook.C 2 | colors_inc.h 3 | cone.C 4 | configscreen.C 5 | ctrlchandler.C 6 | cursesaddresslist.C 7 | cursesedit.C 8 | curseseditmessage.C 9 | curseshierarchy.C 10 | cursesindexdisplay.C 11 | cursesmessage.C 12 | cursesmessagedisplay.C 13 | cursesmessagehtmlparser.C 14 | encryptionmenu.C 15 | filter.C 16 | filtereditscreen.C 17 | gettext.C 18 | globalkeys.C 19 | gpg.C 20 | hierarchy.C 21 | init.C 22 | leaf.C 23 | mainmenu.C 24 | messagesize.C 25 | myfolder.C 26 | myfolderfilter.C 27 | mymessage.C 28 | myserver.C 29 | myservercallback.C 30 | myserverlogincallback.C 31 | myserverremoteconfig.C 32 | nntpcommand.C 33 | outputdialog.C 34 | passwordlist.C 35 | savedialog.C 36 | searchcallback.C 37 | searchprompt.C 38 | specialfolder.C 39 | spellcheckerNone.C 40 | tags.C 41 | -------------------------------------------------------------------------------- /cone/cone/pwtest.txt: -------------------------------------------------------------------------------- 1 | pwtest: ok 2 | -------------------------------------------------------------------------------- /cone/cone/savedialog.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef savedialog_H 8 | #define savedialog_H 9 | 10 | #include "config.h" 11 | 12 | #include "curses/cursesfilereq.H" 13 | 14 | #include 15 | 16 | // 17 | // A CursesFileReq subclass for creating a new file. 18 | 19 | class SaveDialog : public CursesFileReq { 20 | 21 | std::string filename; 22 | 23 | bool closing; 24 | public: 25 | SaveDialog(std::string defaultName=""); 26 | ~SaveDialog(); 27 | 28 | void selected(std::vector &) override; 29 | void abort() override; 30 | 31 | operator std::string(); 32 | }; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /cone/cone/sgml/cone-blindfwd.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Blindly forward the current message. 6 | The message is resent without adding any additional comments, or changing the 7 | sender's name. 8 | &app; prompt for the recipient's name, or names, and send the messages without 9 | changing the message's headers in any way (additional headers may be added by the 10 | mail server, of course). 11 | -------------------------------------------------------------------------------- /cone/cone/sgml/cone-fwd.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Forwards the current message. 6 | &app; opens a screen where a new message may be written. 7 | The current message is either saved as an attachment to the new message, or is 8 | quoted in the new message's text (&app; prompts to choose one or the other before 9 | opening the new message screen). 10 | -------------------------------------------------------------------------------- /cone/cone/sgml/cone-list.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This option closes the folder index screen, 6 | and returns to the folder listing screen. 7 | -------------------------------------------------------------------------------- /cone/cone/sgml/cone-mainmenu.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Pressing M closes this screen, and opens the Main Menu 6 | screen. 7 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-account-return.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | This method returns true if it succeeds, or 5 | false if it fails. 6 | If the method fails, use 7 | mail::ACCOUNT::getErrmsg() to read a brief 8 | description of the error. 9 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-accterrmsg.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | std::string errmsg=mail->getErrmsg(); 5 | 6 | 7 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-acladddelrights.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | If rights begins with +, the 6 | remaining access rights are added to any existing rights that 7 | identifier already has. 8 | If rights begins with -, the 9 | remaining access rights are removed from 10 | identifier existing access rights. 11 | 12 | 13 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-acldelrights.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This function 6 | removes identifier 7 | from folder's access control list. 8 | 9 | 10 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-aclentitiesutf8.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | username 7 | and 8 | groupname must specified using the 9 | UTF-8 character set. 10 | 11 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-aclgetmyrights.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | This function 7 | computes application's access 8 | rights on the folder. 9 | If this function succeeds (this function may fail if the requesting 10 | client does not have the required access to the folder), 11 | rights will be initialized by a text string that 12 | contains a list of character which describe the requested client's 13 | access rights on the folder. 14 | 15 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-aclgetrights.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This function 6 | obtains folder's entire access control list. 7 | If this function succeeds (this function may fail if the requesting 8 | client does not have the required access to the folder), 9 | rights will be initialized to an array of 10 | identifier/accessrights 11 | tuples. 12 | 13 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-aclintro.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This function implements folder access control lists (ACLs). 6 | Access control lists define who is allowed to do certain operations on 7 | a folder, or on messages in the folder. 8 | Folder ACLs are implement only for IMAP accounts on IMAP servers that 9 | implement access control lists. 10 | This function will fail if 11 | folder 12 | is not a folder on an IMAP server that 13 | supports access control lists. 14 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-aclsetrights.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This function 6 | changes folder's access control list entry for 7 | identifier. 8 | Any existing access rights for identifier 9 | are replaced by rights. 10 | If the access control list does not have an entry 11 | for identifier, one is created. 12 | With some servers, setting identifier's rights 13 | to an empty string automatically removes identifier 14 | from the access control list. 15 | 16 | 17 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-amsgnum.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | messageNum must be between zero and one less than 5 | the return code from 6 | 7 | mail::ACCOUNT::getFolderIndexSize 8 | 3x. 9 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-concurrency.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Multiple applications may have the same account and folder opened at the 7 | same time. 8 | It is possible that a message referenced by this request was already 9 | deleted by another application. 10 | Depending on the underlying server implementation this will result in 11 | either a failed request, invoking 12 | callback.fail, or the request completing 13 | (callback.success invoked) but without invoking 14 | any callback function that refer to the message. 15 | 16 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-foldernote2.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Folders may only be recreated by mail::account 7 | objects that reference the same mail account referenced by the 8 | original mail::folder object. 9 | 10 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-imap.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Do not use the SMAP if the server claims the 5 | availability of this experimental mail access protocol, and fall back to 6 | IMAP compatibility mode (this option is meaningful only with 7 | imap:// and 8 | imaps:// URLs). 9 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-includemail.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include <libmail/mail.H> 4 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-includesynch.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include <libmail/sync.H> 4 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-libname.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | LibMAIL 5 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-msglist.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | msgList specifies a list of messages. 5 | Messages are numbered starting with message #0 and up to one 6 | less than 7 | 8 | mail::account::getFolderIndexSize 9 | 3x() 10 | (when mail::account::getFolderIndexSize returns 6, 11 | the messages are numbered 0 through 5). 12 | Only the messages that appear in msgList are 13 | processed by this request. 14 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-mycallback.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | &libmail-includemail; 6 | 7 | class myCallback : public mail::callback { 8 | public: 9 | void success(std::string msg); 10 | void fail(std::string msg); 11 | }; 12 | 13 | 14 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-mycallbackfolderlist.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | class myFolderCallback : public mail::callback::folderlist { 6 | public: 7 | void success(const std::vector<const mail::folder *> &folders); 8 | }; 9 | 10 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-mysearchparams.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | mail::searchParams mySearchParams; 4 | 5 | mySearchParams.criteria=criteria; 6 | mySearchParams.searchNot=notFlag; 7 | mySearchParams.param1="text"; 8 | mySearchParams.param2="text"; 9 | mySearchParams.charset="text"; 10 | mySearchParams.scope=scope; 11 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-nossl.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Do not upgrade a plain connection to an encrypted one. 6 | This option is primarily used for testing and debugging purposes. 7 | Sometimes this option might be useful with servers that claim to offer 8 | encryption, but are unable to do so when taken up on their offer. 9 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-peek.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Setting peek to true does not reset the 6 | unread message status flag for this message. 7 | Otherwise the 8 | unread message status flag will be reset. 9 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-readfolders1.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | The application must not destroy 7 | folderCallback until this request 8 | fails or succeeds. 9 | folderCallback's 10 | success method is invoked just before 11 | the 12 | callback's 13 | success method. 14 | 15 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-removemessages.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | This request should not be used with accounts on IMAP servers that do 7 | not implement the 8 | UIDPLUS 9 | IMAP extension. 10 | UIDPLUS is required to directly support this functionality. 11 | An alternative, much slower, fallback implementation will be used with 12 | IMAP servers that do not implement this protocol extension. 13 | 14 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-store.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | &libmail-includesynch; 6 | 7 | class myStoreCallback : public mail::ACCOUNT::Store { 8 | 9 | public: 10 | void search(size_t messageNumber, std::string messageContents); 11 | }; 12 | 13 | myStoreCallback storeCallback; 14 | 15 | 16 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-translatepath2.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | This function returns the converted path string. 6 | An empty string is returned if folderPath is not 7 | a valid folder path. 8 | -------------------------------------------------------------------------------- /cone/cone/sgml/libmail-updatestatus.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | The application is notified about when a message's status changes by 7 | by invoking the 8 | messageChanged callback method of the currently 9 | opened folder's 10 | mail::folderCallback object. 11 | Depending on the mail server, the 12 | messageChanged method may be 13 | invoked as part of processing this request, 14 | or some time later after this request is completed, 15 | and callback's success 16 | method was invoked. 17 | 18 | -------------------------------------------------------------------------------- /cone/cone/spellchecker.H: -------------------------------------------------------------------------------- 1 | #ifndef spellchecker_H 2 | #define spellchecker_H 3 | 4 | #include "config.h" 5 | 6 | #if USE_ASPELL 7 | #include "spellcheckerAspell.H" 8 | #else 9 | #if USE_PSPELL 10 | #include "spellcheckerPspell.H" 11 | #else 12 | #include "spellcheckerNone.H" 13 | #endif 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /cone/cone/spellcheckerbase.C: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | #include "spellcheckerbase.H" 3 | 4 | SpellCheckerBase::SpellCheckerBase() 5 | { 6 | } 7 | 8 | SpellCheckerBase::~SpellCheckerBase() 9 | { 10 | } 11 | 12 | SpellCheckerBase::Manager::Manager() 13 | { 14 | } 15 | 16 | SpellCheckerBase::Manager::~Manager() 17 | { 18 | } 19 | -------------------------------------------------------------------------------- /cone/cone/tags.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef tags_H 8 | #define tags_H 9 | 10 | #include "config.h" 11 | 12 | #include 13 | #include 14 | 15 | class Tags { 16 | 17 | public: 18 | Tags(); 19 | 20 | std::vector names; 21 | 22 | ~Tags(); 23 | 24 | std::string getTagName(size_t n) const; 25 | bool isTagName(std::string, size_t &) const; 26 | static Tags tags; 27 | }; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /cone/cone/testsuite1.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/cone/cone/testsuite1.out -------------------------------------------------------------------------------- /cone/cone/typeahead.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include 7 | 8 | Typeahead *Typeahead::typeahead=NULL; 9 | 10 | Typeahead::Typeahead() 11 | { 12 | typeahead=this; 13 | } 14 | 15 | Typeahead::~Typeahead() 16 | { 17 | } 18 | 19 | -------------------------------------------------------------------------------- /cone/curses/.gitignore: -------------------------------------------------------------------------------- 1 | /curses_config.h.in 2 | /curses_config.h 3 | /curseslib 4 | -------------------------------------------------------------------------------- /cone/curses/cursesflowedline.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2011, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef cursesflowedline_H 8 | #define cursesflowedline_H 9 | 10 | #include 11 | 12 | // 13 | // A line of text, a string, encoded in UTF-8, and a flag whether this line 14 | // flows (or wraps) into the next one. 15 | // 16 | 17 | class CursesFlowedLine { 18 | 19 | public: 20 | std::string text; 21 | bool flowed; 22 | 23 | CursesFlowedLine(const std::string &textArg="", bool flowedArg=false) 24 | : text(textArg), flowed(flowedArg) 25 | { 26 | } 27 | 28 | CursesFlowedLine(const std::u32string &textArg, 29 | bool flowedArg); 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /cone/curses/cursesobject.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "curses_config.h" 8 | #include "cursesobject.H" 9 | 10 | using namespace std; 11 | 12 | cursesPtrBase::cursesPtrBase() 13 | { 14 | } 15 | 16 | cursesPtrBase::~cursesPtrBase() 17 | { 18 | } 19 | 20 | CursesObj::CursesObj() 21 | { 22 | } 23 | 24 | CursesObj::CursesObj(const CursesObj &o) 25 | { 26 | } 27 | 28 | CursesObj &CursesObj::operator=(const CursesObj &o) 29 | { 30 | return *this; 31 | } 32 | 33 | CursesObj::~CursesObj() 34 | { 35 | set::iterator b=cursesBase.begin(), 36 | e=cursesBase.end(); 37 | 38 | while (b != e) 39 | (*b++)->ptrDestroyed(); 40 | } 41 | -------------------------------------------------------------------------------- /cone/dbobj.config.in: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2000-2008 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | 5 | -------------------------------------------------------------------------------- /cone/libmail/.gitignore: -------------------------------------------------------------------------------- 1 | /autodeps 2 | /autodeps.includes 3 | /libmail_config.h.in 4 | /libcouriertls.h 5 | /libmail_config.h 6 | /mailtool 7 | /mimetypefiles.h 8 | /testsuite 9 | -------------------------------------------------------------------------------- /cone/libmail/autodeps.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003-2004, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "libmail_config.h" 8 | #include "addmessage.H" 9 | #include "addressbook.H" 10 | #include "attachments.H" 11 | #include "autodecoder.H" 12 | #include "base64.H" 13 | #include "envelope.H" 14 | #include "headers.H" 15 | #include "logininfo.H" 16 | #include "mail.H" 17 | #include "mimetypes.H" 18 | #include "qp.H" 19 | #include "rfc2047decode.H" 20 | #include "rfcaddr.H" 21 | #include "smtpinfo.H" 22 | #include "structure.H" 23 | #include "snapshot.H" 24 | #include "sync.H" 25 | 26 | int main() 27 | { 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /cone/libmail/decoder.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "libmail_config.h" 7 | 8 | #include "decoder.H" 9 | 10 | mail::decoder::decoder() 11 | { 12 | } 13 | 14 | mail::decoder::~decoder() 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /cone/libmail/decoder.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef libmail_decoder_H 7 | #define libmail_decoder_H 8 | 9 | #include "libmail_config.h" 10 | #include "namespace.H" 11 | 12 | #include 13 | 14 | LIBMAIL_START 15 | 16 | /////////////////////////////////////////////////////////////////////////// 17 | // 18 | // Common superclass for objects that decode MIME encoding. (quoted-printable, 19 | // base64). Each superclass decoder repeatedly invokes the decode() method, 20 | // with partial decoded contents as arguments. 21 | 22 | class decoder { 23 | public: 24 | decoder(); 25 | virtual ~decoder(); 26 | virtual void decode(std::string)=0; 27 | }; 28 | 29 | LIBMAIL_END 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /cone/libmail/driver.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #include "driver.H" 8 | 9 | LIBMAIL_START 10 | 11 | extern mail::driver inbox_driver, mbox_driver, maildir_driver, 12 | imap_driver, pop3_driver, pop3maildrop_driver, 13 | nntp_driver, smtp_driver, tmp_driver; 14 | 15 | LIBMAIL_END 16 | 17 | static mail::driver *drivers[]={ 18 | &mail::inbox_driver, 19 | &mail::mbox_driver, 20 | &mail::maildir_driver, 21 | &mail::imap_driver, 22 | &mail::pop3_driver, 23 | &mail::pop3maildrop_driver, 24 | &mail::nntp_driver, 25 | &mail::smtp_driver, 26 | &mail::tmp_driver, 27 | NULL }; 28 | 29 | mail::driver **mail::driver::get_driver_list() 30 | { 31 | return drivers; 32 | } 33 | -------------------------------------------------------------------------------- /cone/libmail/driver.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef libmail_driver_H 7 | #define libmail_driver_H 8 | 9 | #include "libmail_config.h" 10 | 11 | #include "namespace.H" 12 | #include "mail.H" 13 | 14 | LIBMAIL_START 15 | 16 | class account; 17 | 18 | class driver { 19 | 20 | public: 21 | bool (*open_func)(mail::account *&retobj, 22 | mail::account::openInfo &oi, 23 | mail::callback &callback, 24 | mail::callback::disconnect &disconnectCallback); 25 | 26 | bool (*isRemote_func)(std::string url, bool &flag); 27 | 28 | static driver **get_driver_list(); 29 | }; 30 | 31 | LIBMAIL_END 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /cone/libmail/envelope.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "libmail_config.h" 7 | #include "envelope.H" 8 | #include "rfcaddr.H" 9 | 10 | LIBMAIL_START 11 | 12 | envelope::envelope() : date(0) 13 | { 14 | } 15 | 16 | envelope::~envelope() 17 | { 18 | } 19 | 20 | xenvelope::xenvelope() : arrivalDate(0), messageSize(0) 21 | { 22 | } 23 | 24 | xenvelope::~xenvelope() 25 | { 26 | } 27 | 28 | xenvelope &xenvelope::operator=(const envelope &e) 29 | { 30 | ((envelope &)*this)=e; 31 | return *this; 32 | } 33 | 34 | LIBMAIL_END 35 | -------------------------------------------------------------------------------- /cone/libmail/namespace.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef libmail_namespace_H 7 | #define libmail_namespace_H 8 | 9 | #define LIBMAIL_START namespace mail { 10 | 11 | #define LIBMAIL_END } 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /cone/libmail/objectmonitor.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "libmail_config.h" 7 | #include "objectmonitor.H" 8 | 9 | using namespace std; 10 | 11 | mail::ptrBase::ptrBase() 12 | { 13 | } 14 | 15 | mail::ptrBase::~ptrBase() 16 | { 17 | } 18 | 19 | mail::obj::obj() 20 | { 21 | } 22 | 23 | mail::obj::obj(const mail::obj &o) 24 | { 25 | } 26 | 27 | mail::obj &mail::obj::operator=(const mail::obj &o) 28 | { 29 | return *this; 30 | } 31 | 32 | mail::obj::~obj() 33 | { 34 | set::iterator b=objectBaseSet.begin(), 35 | e=objectBaseSet.end(); 36 | 37 | while (b != e) 38 | (*b++)->ptrDestroyed(); 39 | } 40 | -------------------------------------------------------------------------------- /cone/libmail/poll.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2004, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "mail.H" 7 | #include "soxwrap/soxwrap.h" 8 | #include 9 | 10 | int mail::account::poll(std::vector &fds, int timeout) 11 | { 12 | int npfd=fds.size(); 13 | 14 | struct ::pollfd *pfd=npfd == 0 ? NULL: &fds[0]; 15 | 16 | return ::sox_poll(pfd, npfd, timeout); 17 | } 18 | -------------------------------------------------------------------------------- /cone/libmail/qp.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef libmail_qp_H 7 | #define libmail_qp_H 8 | 9 | #include "libmail_config.h" 10 | #include "decoder.H" 11 | #include "namespace.H" 12 | 13 | #include 14 | 15 | LIBMAIL_START 16 | 17 | // 18 | // MIME quoted-printable decoder 19 | 20 | class decodeqp : public decoder { 21 | std::string decodeBuffer; 22 | 23 | public: 24 | decodeqp(); 25 | virtual ~decodeqp(); 26 | 27 | void decode(std::string text) override; 28 | private: 29 | virtual void decoded(std::string buffer)=0; 30 | }; 31 | 32 | LIBMAIL_END 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /cone/libmail/smapdelete.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #ifndef libmail_smapdelete_H 7 | #define libmail_smapdelete_H 8 | 9 | #include "libmail_config.h" 10 | #include "mail.H" 11 | #include "imap.H" 12 | #include "smap.H" 13 | 14 | #include 15 | 16 | LIBMAIL_START 17 | 18 | class smapDELETE : public smapHandler { 19 | 20 | std::string path; 21 | bool deleteDirectory; 22 | 23 | const char *getName() override; 24 | 25 | public: 26 | smapDELETE(std::string pathArg, 27 | bool deleteDirectoryArg, 28 | mail::callback &callbackArg); 29 | 30 | ~smapDELETE(); 31 | void installed(imap &) override; 32 | }; 33 | 34 | LIBMAIL_END 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /cone/libmail/snapshot.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2003, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "snapshot.H" 7 | 8 | using namespace std; 9 | 10 | mail::snapshot::restore::restore() 11 | { 12 | } 13 | 14 | mail::snapshot::restore::~restore() 15 | { 16 | } 17 | 18 | mail::snapshot::snapshot() 19 | { 20 | } 21 | 22 | mail::snapshot::~snapshot() 23 | { 24 | } 25 | 26 | -------------------------------------------------------------------------------- /cone/libmail/sortfolders.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002-2008, Double Precision Inc. 3 | ** 4 | ** See COPYING for distribution information. 5 | */ 6 | #include "libmail_config.h" 7 | #include "mail.H" 8 | #include 9 | 10 | mail::folder::sort::sort(bool foldersFirstArg) // TRUE: sort folders first 11 | : foldersFirst(foldersFirstArg) 12 | { 13 | } 14 | 15 | mail::folder::sort::~sort() 16 | { 17 | } 18 | 19 | bool mail::folder::sort::operator()(const mail::folder *a, 20 | const mail::folder *b) 21 | { 22 | int an=a->hasSubFolders() ? 1:0; 23 | int bn=b->hasSubFolders() ? 1:0; 24 | 25 | if (!foldersFirst) 26 | { 27 | an= 1-an; 28 | bn= 1-bn; 29 | } 30 | 31 | if (an != bn) 32 | return an < bn; 33 | 34 | return (strcoll(a->getName().c_str(), b->getName().c_str()) < 0); 35 | } 36 | -------------------------------------------------------------------------------- /cone/libmail/testsuite.txt: -------------------------------------------------------------------------------- 1 | misc.test: 2,4,8-9,11-12 2 | misc.test: 1-2,4,8-9,11-13 3 | misc.test: 1-4,8-9,11-13 4 | misc.test: 1-4,8-9,11-13 5 | control! 1-5,10-15,20-25 6 | control! 2-5,10-15,20-25 7 | control! 2-4,10-15,20-25 8 | control! 2-4,10-11,13-15,20-25 9 | control! 2-4,11,13-15,20-25 10 | control! 2-4,13-15,20-25 11 | control! 2-4,20-25 12 | control! 2-4,20-25 13 | -------------------------------------------------------------------------------- /cone/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /cone/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | cone (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /cone/packaging/debian/cone.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Manual pages generated using Docbook stylesheet 3 | # 4 | 5 | groff-message * 6 | -------------------------------------------------------------------------------- /cone/packaging/debian/libmail-cone-dev.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Manual pages generated using Docbook stylesheet 3 | # 4 | groff-message * 5 | # 6 | # False positive 7 | # 8 | package-name-defined-in-config-h usr/include/libmail/rfc822/config.h 9 | -------------------------------------------------------------------------------- /cone/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /cone/packaging/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export CXX=g++%DEBGCC% 4 | export CC=gcc%DEBGCC% 5 | 6 | %: 7 | dh $@ 8 | 9 | override_dh_auto_configure: 10 | dh_auto_configure -- \ 11 | --with-devel --with-notice=unicode --with-gnutls --with-gpg2 12 | 13 | override_dh_auto_install: debian/auto_install.sh 14 | dh_auto_install -- 15 | debian/auto_install.sh 16 | 17 | debian/auto_install.sh: config.status debian/auto_install.sh.in 18 | CONFIG_FILES=debian/auto_install.sh ./config.status 19 | chmod +x debian/auto_install.sh 20 | 21 | override_dh_builddeb: 22 | dh_builddeb -- $(DEB_BUILDDEB_OPTIONS) 23 | -------------------------------------------------------------------------------- /cone/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /cone/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Documentation in upstream packaging or tarball 3 | # 4 | source-is-missing * 5 | -------------------------------------------------------------------------------- /courier-analog/.gitignore: -------------------------------------------------------------------------------- 1 | /courier-analog 2 | /courier-analog.8 3 | /courier-analog.html 4 | /courier-analog.spec 5 | /libs 6 | /manpage.css 7 | -------------------------------------------------------------------------------- /courier-analog/AUTHORS: -------------------------------------------------------------------------------- 1 | Courier log analyzer is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | -------------------------------------------------------------------------------- /courier-analog/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /courier-analog/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /courier-analog/NEWS: -------------------------------------------------------------------------------- 1 | Courier-analog has been released! 2 | 3 | Courier-analog requires Courier 0.47, or later. Courier-analog can also 4 | be used with the Courier-IMAP build, version 3.0.8 or later, but will obviously 5 | generate IMAP and POP3 reports only. All SMTP reports will be blank. 6 | 7 | 8 | -------------------------------------------------------------------------------- /courier-analog/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /courier-analog/configure.ac: -------------------------------------------------------------------------------- 1 | dnl Process this file with autoconf to produce a configure script. 2 | dnl 3 | dnl Copyright 2004 - 2022 Double Precision, Inc. See COPYING for 4 | dnl distribution information. 5 | 6 | AC_INIT([courier-analog],[0.22],[courier-users@lists.sourceforge.net]) 7 | AM_INIT_AUTOMAKE(foreign) 8 | LPATH="$PATH:/usr/local/bin" 9 | 10 | # Checks for programs. 11 | AC_PATH_PROGS(PERL, perl5 perl, perl, $LPATH) 12 | 13 | # Checks for libraries. 14 | 15 | # Checks for header files. 16 | 17 | # Checks for typedefs, structures, and compiler characteristics. 18 | 19 | # Checks for library functions. 20 | 21 | AM_CONDITIONAL(HAVE_SGML, test -d ${srcdir}/libs/docbook) 22 | AC_CONFIG_FILES([Makefile 23 | courier-analog 24 | courier-analog.spec 25 | courier-debuild 26 | ]) 27 | AC_OUTPUT 28 | -------------------------------------------------------------------------------- /courier-analog/courier-debuild.in: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # 3 | # Wrapper script for running debuild to build this package. 4 | 5 | set -e 6 | 7 | f=`cd .. && ls @PACKAGE@-@VERSION@.tar* | sed -n 1p` 8 | rm -rf deb 9 | mkdir deb 10 | cp ../$f deb/`echo $f | sed 's/@PACKAGE@-/@PACKAGE@_/;s/.tar./.orig.tar./'` 11 | cd deb 12 | tar xf * 13 | cd @PACKAGE@-@VERSION@ 14 | cp -pr packaging/debian . 15 | debuild "$@" 16 | cd .. 17 | rm -rf @PACKAGE@-@VERSION@ 18 | echo "Built packages in the deb subdirectory." 19 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | courier-analog (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/control: -------------------------------------------------------------------------------- 1 | Source: courier-analog 2 | Section: contrib/admin 3 | Priority: optional 4 | Maintainer: Sam Varshavchik 5 | Build-Depends: debhelper-compat (= 12), pkgconf 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.courier-mta.org/ 8 | 9 | Package: courier-analog 10 | Architecture: all 11 | Depends: ${misc:Depends}, 12 | ${perl:Depends}, 13 | libdate-calc-perl 14 | Description: Courier log analyzer 15 | The courier-analog script generates log summaries for the Courier mail server. 16 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/courier-analog.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # troff docs are generated using Docbook stylesheets. 3 | # 4 | groff-message * 5 | # 6 | # Package was created directly from the upstream tarball. 7 | # 8 | wrong-name-for-upstream-changelog [usr/share/doc/courier-analog/ChangeLog] 9 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | %: 4 | dh $@ 5 | 6 | override_dh_auto_install: 7 | dh_auto_install 8 | dh_installdocs AUTHORS ChangeLog NEWS COPYING courier-analog.html manpage.css 9 | 10 | override_dh_builddeb: 11 | dh_builddeb -- $(DEB_BUILDDEB_OPTIONS) 12 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /courier-analog/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package was created directly from the upstream tarball. 3 | # 4 | source-is-missing [courier-analog.html] 5 | -------------------------------------------------------------------------------- /courier-authlib/AUTHORS: -------------------------------------------------------------------------------- 1 | Courier is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | authldap based upon work by Luc Saillard 10 | 11 | MySQL support based on a patch by: 12 | Laszlo KAISER 13 | 14 | The HTML layout of the webmail server based on on a design by cniconsulting.com 15 | 16 | PostgreSQL support based on a patch by: 17 | Vittorio Ballestra 18 | -------------------------------------------------------------------------------- /courier-authlib/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /courier-authlib/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /courier-authlib/authcustom.h: -------------------------------------------------------------------------------- 1 | #ifndef authcustom_h 2 | #define authcustom_h 3 | 4 | /* 5 | ** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 6 | ** distribution information. 7 | */ 8 | 9 | /* Based on code by Luc Saillard . */ 10 | 11 | #if HAVE_CONFIG_H 12 | #include "courier_auth_config.h" 13 | #endif 14 | 15 | 16 | struct authinfo; 17 | 18 | int authcustomcommon(const char *, 19 | const char *, int (*)(struct authinfo *, void *), void *); 20 | 21 | void authcustomclose(); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /courier-authlib/authdaemond.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # 4 | # Copyright 1998 - 2004 Double Precision, Inc. See COPYING for 5 | # distribution information. 6 | # 7 | # Courier authentication daemon startup script. 8 | 9 | prefix=@prefix@ 10 | exec_prefix=@exec_prefix@ 11 | sbindir=@sbindir@ 12 | localstatedir=@localstatedir@ 13 | 14 | set -a 15 | . @authdaemonrc@ 16 | 17 | exec ${sbindir}/courierlogger -pid=@authdaemonvar@/pid $LOGGEROPTS -$1 @libexecdir@/courier-authlib/authdaemond 18 | -------------------------------------------------------------------------------- /courier-authlib/authdaemondcpp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2016 Double Precision, Inc. See COPYING for 3 | ** distribution information. 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | extern "C" { 10 | 11 | #include "courierauthdebug.h" 12 | 13 | int start(); 14 | }; 15 | 16 | int main(int argc, char **argv) 17 | { 18 | courier_authdebug_login_init(); 19 | 20 | if (argc > 1) 21 | { 22 | std::cerr << 23 | "Error: authdaemond no longer handles its own daemonizing." 24 | << std::endl 25 | << "Use new startup script." << std::endl; 26 | exit(1); 27 | } 28 | 29 | start(); 30 | return (0); 31 | } 32 | -------------------------------------------------------------------------------- /courier-authlib/authpgsql.h: -------------------------------------------------------------------------------- 1 | #ifndef authpgsql_h 2 | #define authpgsql_h 3 | 4 | #include "courier_auth_config.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | /* 11 | #include 12 | */ 13 | 14 | extern int auth_pgsql_login(const char *service, char *authdata, 15 | int (*callback_func)(struct authinfo *, void *), 16 | void *callback_arg); 17 | extern int auth_pgsql_changepw(const char *service, const char *user, 18 | const char *pass, 19 | const char *newpass); 20 | 21 | extern void auth_pgsql_cleanup(); 22 | 23 | struct authinfo; 24 | 25 | extern int auth_pgsql_pre(const char *, const char *, 26 | int (*)(struct authinfo *, void *), void *arg); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /courier-authlib/authpipe.h: -------------------------------------------------------------------------------- 1 | #ifndef authpipe_h 2 | #define authpipe_h 3 | 4 | /* 5 | ** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 6 | ** distribution information. 7 | */ 8 | 9 | /* Based on code by Luc Saillard . */ 10 | 11 | #if HAVE_CONFIG_H 12 | #include "courier_auth_config.h" 13 | #endif 14 | 15 | 16 | struct authinfo; 17 | 18 | int authpipecommon(const char *, 19 | const char *, int (*)(struct authinfo *, void *), void *); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /courier-authlib/authpipelib.h: -------------------------------------------------------------------------------- 1 | #ifndef PIPE_H 2 | #define PIPE_H PIPE_H 3 | 4 | /* no headers needed */ 5 | 6 | /* forks the pipe-program fills the 2 filed 7 | returns 0 for success, 1 for error */ 8 | int getPipe(int *dataIn, int *dataOut); 9 | 10 | /* closes fds */ 11 | void closePipe(void); 12 | 13 | #endif 14 | 15 | -------------------------------------------------------------------------------- /courier-authlib/authsaslclientexternal.c: -------------------------------------------------------------------------------- 1 | /* $Id $ */ 2 | 3 | /* 4 | ** Copyright 2008 Double Precision, Inc. See COPYING for 5 | ** distribution information. 6 | */ 7 | 8 | #include "courier_auth_config.h" 9 | #include "courierauthsasl.h" 10 | #include "authsaslclient.h" 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | int authsaslclient_external(const struct authsaslclientinfo *info) 18 | { 19 | int i; 20 | 21 | i=(*info->plain_conv_func)("EXTERNAL", "", info->conv_func_arg); 22 | 23 | return (i); 24 | } 25 | -------------------------------------------------------------------------------- /courier-authlib/authsqlite.h: -------------------------------------------------------------------------------- 1 | #ifndef authsqlite_h 2 | #define authsqlite_h 3 | 4 | #include "courier_auth_config.h" 5 | 6 | #include 7 | #include 8 | 9 | class authsqliteuserinfo { 10 | 11 | public: 12 | std::string username; 13 | std::string fullname; 14 | std::string cryptpw; 15 | std::string clearpw; 16 | std::string home; 17 | std::string maildir; 18 | std::string quota; 19 | std::string options; 20 | uid_t uid; 21 | gid_t gid; 22 | 23 | authsqliteuserinfo() : uid(0), gid(0) {} 24 | } ; 25 | 26 | extern bool auth_sqlite_getuserinfo(const char *, 27 | const char *, 28 | authsqliteuserinfo &); 29 | 30 | extern void auth_sqlite_cleanup(); 31 | 32 | extern int auth_sqlite_setpass(const char *, const char *, const char *); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /courier-authlib/authwait.h: -------------------------------------------------------------------------------- 1 | #ifndef authwait_h 2 | #define authwait_h 3 | 4 | /* 5 | ** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 6 | ** distribution information. 7 | */ 8 | 9 | #if HAVE_CONFIG_H 10 | #include "courier_auth_config.h" 11 | #endif 12 | 13 | 14 | #include 15 | #if HAVE_SYS_WAIT_H 16 | #include 17 | #endif 18 | #ifndef WEXITSTATUS 19 | #define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) 20 | #endif 21 | #ifndef WIFEXITED 22 | #define WIFEXITED(stat_val) (((stat_val) & 255) == 0) 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /courier-authlib/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /courier-authlib/courier-authlib.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Courier Authentication Library 3 | 4 | [Service] 5 | Type=forking 6 | RemainAfterExit=true 7 | ExecStart=@libexecdir@/courier-authlib/courier-authlib.sysvinit start 8 | ExecStop=@libexecdir@/courier-authlib/courier-authlib.sysvinit stop 9 | 10 | [Install] 11 | WantedBy=multi-user.target 12 | -------------------------------------------------------------------------------- /courier-authlib/dbobj.config.in: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1998 - 2008 Double Precision, Inc. 3 | # See COPYING for distribution information. 4 | 5 | dblibrary="@dblibrary@" 6 | -------------------------------------------------------------------------------- /courier-authlib/liblog/.gitignore: -------------------------------------------------------------------------------- 1 | /courierlogger 2 | /courierlogger.1 3 | /courierlogger.html 4 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | courier-authlib (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-config-daemon-daemon.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions are set by the package 3 | # 4 | non-standard-file-perm 0444 != 0644 [etc/authlib/config] 5 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-dev.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Manual pages generated using Docbook stylesheet 3 | # 4 | groff-message * 5 | # 6 | # Internal tool 7 | # 8 | no-manual-page [usr/bin/courierauthconfig] 9 | # 10 | # File permissions are set by the package 11 | # 12 | non-standard-executable-perm 0555 != 0755 [usr/bin/courierauthconfig] 13 | non-standard-file-perm 0444 != 0644 [usr/include/courierauth.h] 14 | non-standard-file-perm 0444 != 0644 [usr/include/courierauthdebug.h] 15 | non-standard-file-perm 0444 != 0644 [usr/include/courierauthsasl.h] 16 | non-standard-file-perm 0444 != 0644 [usr/include/courierauthsaslclient.h] 17 | non-standard-file-perm 0444 != 0644 [usr/include/courierauthstaticlist.h] 18 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-ldap.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions set by the package 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthldap.so.0.0.0] 5 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthldap.so.0.0.0] 6 | # 7 | # Debhelper/lintian bug 8 | # 9 | package-has-unnecessary-activation-of-ldconfig-trigger 10 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-mysql.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions are set by the package. 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthmysql.so.0.0.0] 5 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthmysql.so.0.0.0] 6 | # 7 | # Debhelper/lintian bug 8 | # 9 | package-has-unnecessary-activation-of-ldconfig-trigger 10 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-pgsql.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions are set by the package. 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthpgsql.so.0.0.0] 5 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthpgsql.so.0.0.0] 6 | # 7 | # Debhelper/lintian bug 8 | # 9 | package-has-unnecessary-activation-of-ldconfig-trigger 10 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-pipe.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions are set by the package. 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthpipe.so.0.0.0] 5 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthpipe.so.0.0.0] 6 | # 7 | # Debhelper/lintian bug 8 | # 9 | package-has-unnecessary-activation-of-ldconfig-trigger 10 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-sqlite.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # File permissions are specified by the package 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthsqlite.so.0.0.0] 5 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthsqlite.so.0.0.0] 6 | # 7 | # Debhelper/lintian bug 8 | # 9 | package-has-unnecessary-activation-of-ldconfig-trigger 10 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/libcourier-auth-userdb.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Upstream packaging 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthuserdb.so.0.0.0] 5 | # 6 | # Upstream packaging 7 | # 8 | odd-permissions-on-shared-library 0444 [usr/lib/x86_64-linux-gnu/courier-authlib/libauthuserdb.so.0.0.0] 9 | # 10 | # Debhelper/lintian bug 11 | # 12 | package-has-unnecessary-activation-of-ldconfig-trigger 13 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/patches/remove-L-from-authconfig.diff: -------------------------------------------------------------------------------- 1 | Index: courier-authlib-0.71.5/authinfo.c 2 | =================================================================== 3 | --- courier-authlib-0.71.5.orig/authinfo.c 4 | +++ courier-authlib-0.71.5/authinfo.c 5 | @@ -105,8 +105,10 @@ int main(int argc, char **argv) 6 | 7 | if (strcmp(argv[n], "--ldflags") == 0) 8 | { 9 | + /* 10 | printf("-L%s -Wl,-rpath -Wl,%s\n", 11 | PKGLIBDIR, PKGLIBDIR); 12 | + */ 13 | } 14 | if (strcmp(argv[n], "--cppflags") == 0) 15 | { 16 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/patches/series: -------------------------------------------------------------------------------- 1 | remove-L-from-authconfig.diff 2 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /courier-authlib/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Documentation in upstream packaging or tarball 3 | # 4 | source-is-missing * 5 | 6 | # 7 | # The file permissions are specified by the package's install script 8 | # 9 | override_dh_fixperms-does-not-call-dh_fixperms * -------------------------------------------------------------------------------- /courier-authlib/preauthldap.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 3 | ** distribution information. 4 | */ 5 | 6 | #if HAVE_CONFIG_H 7 | #include "courier_auth_config.h" 8 | #endif 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #if HAVE_UNISTD_H 15 | #include 16 | #endif 17 | 18 | #include "auth.h" 19 | #include "authldap.h" 20 | 21 | 22 | int auth_ldap_pre(const char *userid, const char *service, 23 | int (*callback)(struct authinfo *, void *), 24 | void *arg) 25 | { 26 | return (authldapcommon(service, userid, 0, callback, arg)); 27 | } 28 | -------------------------------------------------------------------------------- /courier-authlib/preauthuserdb.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 3 | ** distribution information. 4 | */ 5 | 6 | 7 | 8 | #include "auth.h" 9 | 10 | extern int auth_userdb_pre_common(const char *, const char *, int, 11 | int (*callback)(struct authinfo *, void *), 12 | void *arg); 13 | 14 | int auth_userdb_pre(const char *userid, const char *service, 15 | int (*callback)(struct authinfo *, void *), 16 | void *arg) 17 | { 18 | return (auth_userdb_pre_common(userid, service, 1, callback, arg)); 19 | } 20 | -------------------------------------------------------------------------------- /courier-authlib/userdb/.gitignore: -------------------------------------------------------------------------------- 1 | /dummy 2 | /makeuserdb 3 | /makeuserdb.8 4 | /makeuserdb.8.in 5 | /makeuserdb.html 6 | /makeuserdb.html.in 7 | /pw2userdb 8 | /pw2userdb.8 9 | /userdb.8 10 | /userdb.8.in 11 | /userdb.html 12 | /userdb.html.in 13 | /userdb.pl 14 | /userdbpw 15 | /userdbpw.8 16 | /userdbpw.8.in 17 | /userdbpw.html 18 | /userdbpw.html.in 19 | -------------------------------------------------------------------------------- /courier-imap/AUTHORS: -------------------------------------------------------------------------------- 1 | Courier-IMAP is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | authldap based upon work by Luc Saillard 10 | 11 | MySQL support based on a patch by: 12 | Laszlo KAISER 13 | 14 | PostgreSQL support based on a patch by: 15 | Vittorio Ballestra 16 | -------------------------------------------------------------------------------- /courier-imap/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /courier-imap/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /courier-imap/ChangeLog: -------------------------------------------------------------------------------- 1 | Look in libs/imap/ChangeLog for the real ChangeLog. 2 | -------------------------------------------------------------------------------- /courier-imap/authconfig.in: -------------------------------------------------------------------------------- 1 | authmailuser=@authmailuser@ 2 | authmailgroup=@authmailgroup@ 3 | -------------------------------------------------------------------------------- /courier-imap/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /courier-imap/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier-imap/bg.png -------------------------------------------------------------------------------- /courier-imap/courier-imap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier-imap/courier-imap.png -------------------------------------------------------------------------------- /courier-imap/dbobj.config.in: -------------------------------------------------------------------------------- 1 | dblibrary=@dblibrary@ 2 | -------------------------------------------------------------------------------- /courier-imap/makeimapaccess.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2015 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | localstatedir="@localstatedir@" 10 | bindir="@bindir@" 11 | sbindir="@sbindir@" 12 | libexecdir="@libexecdir@" 13 | 14 | . ${sysconfdir}/imapd 15 | . ${sysconfdir}/imapd-ssl 16 | 17 | umask 022 18 | ${bindir}/makedat \ 19 | -src=${IMAPACCESSFILE} \ 20 | -file=${IMAPACCESSFILE}.dat \ 21 | -tmp=${IMAPACCESSFILE}.tmp -cidr || exit 1 22 | 23 | ${libexecdir}/couriertcpd -pid=$PIDFILE -restart 24 | ${libexecdir}/couriertcpd -pid=$SSLPIDFILE -restart 25 | -------------------------------------------------------------------------------- /courier-imap/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /courier-imap/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | courier-imap (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /courier-imap/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /courier-imap/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /courier-imap/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # DOCUMENT ME 3 | # 4 | source-is-missing [libs/imap/README.proxy.html] 5 | # 6 | # DOCUMENT ME 7 | # 8 | source-is-missing [libs/liblock/lockmail.html] 9 | # 10 | # DOCUMENT ME 11 | # 12 | source-is-missing [libs/maildir/maildirkw.html] 13 | # 14 | # DOCUMENT ME 15 | # 16 | source-is-missing [libs/maildir/maildirquota.html] 17 | # 18 | # DOCUMENT ME 19 | # 20 | source-is-missing [libs/maildir/maildirwatch.html] 21 | # 22 | # DOCUMENT ME 23 | # 24 | source-is-missing [libs/rfc2045/makemime.html] 25 | # 26 | # DOCUMENT ME 27 | # 28 | source-is-missing [libs/rfc2045/reformime.html] 29 | # 30 | # DOCUMENT ME 31 | # 32 | source-is-missing [libs/tcpd/couriertcpd.html] 33 | # 34 | # DOCUMENT ME 35 | # 36 | source-is-missing [libs/tcpd/couriertls.html] 37 | -------------------------------------------------------------------------------- /courier-imap/packaging/suse/.gitignore: -------------------------------------------------------------------------------- 1 | courier-imap.init 2 | -------------------------------------------------------------------------------- /courier-imap/packaging/suse/imap.pam: -------------------------------------------------------------------------------- 1 | # Sample PAM configuration for SuSE distributions. 2 | # 3 | # Author: Jan Zimmerschied 4 | # 5 | # To use the authpam authentication module with courierimapd, you must 6 | # configure your PAM library to authenticate the "imap" service. 7 | # See your system documentation for information on how to configure your 8 | # PAM services. In most cases, all you need to do is to install this file 9 | # as /etc/pam.d/imap, but check your system documentation to make sure. 10 | # 11 | auth required pam_unix2.so nullok 12 | account required pam_unix2.so 13 | session required pam_unix2.so 14 | -------------------------------------------------------------------------------- /courier-imap/packaging/suse/pop3.pam: -------------------------------------------------------------------------------- 1 | # Sample PAM configuration for SuSE distributions. 2 | # 3 | # Author: Jan Zimmerschied 4 | # 5 | # To use the authpam authentication module with courierpop3d, you must 6 | # configure your PAM library to authenticate the "pop3" service. 7 | # See your system documentation for information on how to configure your 8 | # PAM services. In most cases, all you need to do is to install this file 9 | # as /etc/pam.d/pop3, but check your system documentation to make sure. 10 | # 11 | auth required pam_unix2.so nullok 12 | account required pam_unix2.so 13 | session required pam_unix2.so 14 | -------------------------------------------------------------------------------- /courier-imap/packaging/systemd/.gitignore: -------------------------------------------------------------------------------- 1 | courier-imap.service 2 | courier-imap.sysvinit 3 | -------------------------------------------------------------------------------- /courier-imap/packaging/systemd/courier-imap.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Courier-IMAP service 3 | Wants=network-online.target 4 | Wants=courier-authlib.service 5 | After=network-online.target 6 | After=courier-authlib.service 7 | 8 | [Install] 9 | WantedBy=mail-transfer-agent.target 10 | WantedBy=multi-user.target 11 | 12 | # First start could take several minutes, to generate the DH param file 13 | [Service] 14 | Type=forking 15 | Restart=no 16 | RemainAfterExit=true 17 | ExecStart=@datadir@/courier-imap.sysvinit start 18 | ExecStop=@datadir@/courier-imap.sysvinit stop 19 | -------------------------------------------------------------------------------- /courier-sox/.gitignore: -------------------------------------------------------------------------------- 1 | /configfile.h 2 | /courier-sox.service 3 | /courier-sox.spec 4 | /courier-sox.sysvinit 5 | /courier_socks_config.h 6 | /courier_socks_config.h.in 7 | /libltdl 8 | /libs 9 | /libsocks.sym 10 | /mkbl4 11 | /mkbl4.8 12 | /mkbl4.8.in 13 | /mkbl4.html 14 | /mkbl4.html.in 15 | /sockd 16 | /sockd.1 17 | /sockd.1.in 18 | /sockd.html 19 | /sockd.html.in 20 | /sockd.rc 21 | /socks.3 22 | /socks.h 23 | /socks.html 24 | /socksify 25 | /socksify.1 26 | /socksify.1.in 27 | /socksify.html 28 | /socksify.html.in 29 | /socksrc.5 30 | /socksrc.5.in 31 | /socksrc.html 32 | /socksrc.html.in 33 | /system 34 | /testbind 35 | /testcidr 36 | /testcidr.sh 37 | /testconnect 38 | -------------------------------------------------------------------------------- /courier-sox/AUTHORS: -------------------------------------------------------------------------------- 1 | Courier is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | To subscribe to the courier-users mailing list: 10 | 11 | http://lists.sourceforge.net/lists/listinfo/courier-users 12 | -------------------------------------------------------------------------------- /courier-sox/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /courier-sox/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /courier-sox/README: -------------------------------------------------------------------------------- 1 | Welcome to the Courier Socks 5 proxy library. 2 | 3 | See NEWS for the latest Courier-specific Socks NEWS. 4 | 5 | This is a generic Socks 5 client support library, and a Socks 5 server. 6 | 7 | A typical "socksify" script is included, and will be installed. Do not 8 | install this Socks library on a system that already includes another 9 | Socks library. It is very likely that installing this library will overwrite 10 | some files. 11 | 12 | 13 | -------------------------------------------------------------------------------- /courier-sox/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /courier-sox/courier-sox.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Courier SOCKS 5 proxy 3 | Wants=network-online.target 4 | Wants=courier-authlib.service 5 | After=network-online.target 6 | After=courier-authlib.service 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | 11 | [Service] 12 | Type=forking 13 | RemainAfterExit=true 14 | ExecStart=@sbindir@/sockd start 15 | ExecStop=@sbindir@/sockd stop 16 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | courier-sox (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/libcourier-sox.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package was created directly from the upstream tarball. 3 | # 4 | wrong-name-for-upstream-changelog usr/share/doc/libcourier-sox/ChangeLog.gz 5 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/libcourier-sox.soname.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Upstream naming convention. 3 | # 4 | package-name-doesnt-match-sonames libsocks0 libsockswrap0 5 | # 6 | # Library does not use any libc symbols 7 | # 8 | library-not-linked-against-libc usr/lib/x86_64-linux-gnu/libsockswrap.so* 9 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export CXX=g++%DEBGCC% 4 | export CC=gcc%DEBGCC% 5 | export SOVERSION=%SOVERSION% 6 | 7 | %: 8 | dh $@ 9 | 10 | override_dh_auto_install: 11 | dh_auto_install -- 12 | CONFIG_FILES=debian/auto_install.sh ./config.status 13 | chmod +x debian/auto_install.sh 14 | rm -f debian/libcourier-sox$(SOVERSION)/lintian-overrides 15 | ln -s libcourier-sox.soname.lintian-overrides debian/libcourier-sox$(SOVERSION).lintian-overrides 16 | debian/auto_install.sh 17 | 18 | override_dh_installsystemd: 19 | dh_installsystemd --package libcourier-sox-server --name courier-sox 20 | 21 | override_dh_builddeb: 22 | dh_builddeb -- $(DEB_BUILDDEB_OPTIONS) 23 | -------------------------------------------------------------------------------- /courier-sox/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /courier-sox/sockd.rc.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | 6 | pidfile=@localstatedir@/run/sockd.pid 7 | courierlogger=@courierlogger@ 8 | sockd=@libexecdir@/sockd 9 | umask 022 10 | 11 | uidgid=`@libexecdir@/sockd -uidgid` 12 | test $? = 0 || exit 1 13 | 14 | opts=`@libexecdir@/sockd -opts` 15 | test $? = 0 || exit 1 16 | 17 | exec @courierlogger@ -pid=$pidfile -droproot $uidgid -facility=daemon -$1 \ 18 | @libexecdir@/sockd $opts 19 | -------------------------------------------------------------------------------- /courier-sox/socksify.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # 4 | # Copyright 2004 Double Precision, Inc. 5 | # See COPYING for distribution information. 6 | # 7 | 8 | if test "$LD_PRELOAD" != "" 9 | then 10 | LD_PRELOAD=" $LD_PRELOAD" 11 | fi 12 | LD_PRELOAD="@LIBNAME@${LD_PRELOAD}" 13 | export LD_PRELOAD 14 | exec "$@" 15 | -------------------------------------------------------------------------------- /courier/.gitignore: -------------------------------------------------------------------------------- 1 | /libs 2 | /INSTALL 3 | /NEWS 4 | /config.cache 5 | /config.guess 6 | /config.rpath 7 | /config.sub 8 | /configure.args 9 | /courier.config.cache 10 | /courier.service 11 | /courier.spec 12 | /courier.sysvinit 13 | /dbobj.config 14 | /dbobj.h 15 | /sysconftool 16 | /version 17 | permissions.dat 18 | -------------------------------------------------------------------------------- /courier/AUTHORS: -------------------------------------------------------------------------------- 1 | Courier is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | The HTML layout of the webmail server based on on a design by cniconsulting.com 10 | -------------------------------------------------------------------------------- /courier/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /courier/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /courier/ChangeLog.2001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier/ChangeLog.2001 -------------------------------------------------------------------------------- /courier/TODO: -------------------------------------------------------------------------------- 1 | 1. Destroy Exchange 2 | -------------------------------------------------------------------------------- /courier/afx/.gitignore: -------------------------------------------------------------------------------- 1 | /testafxpipe 2 | -------------------------------------------------------------------------------- /courier/afx/ChangeLog: -------------------------------------------------------------------------------- 1 | * Tue Apr 6 02:23:18 EDT 1999 2 | 3 | libafx.a now has a ChangeLog. 4 | Minor Solaris warnings fixed. 5 | Removed embarassing clutter from .h-s. 6 | configure.in changed to add -Wall for gcc. 7 | -------------------------------------------------------------------------------- /courier/afx/Makefile.am: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1998 - 2007 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | 5 | noinst_LIBRARIES=libafx.a 6 | noinst_PROGRAMS=testafxpipe 7 | 8 | AFXSRC=afxpipe.C 9 | AFXINCLUDE=afx.h 10 | 11 | libafx_a_SOURCES=$(AFXSRC) $(AFXINCLUDE) 12 | 13 | testafxpipe_SOURCES=testafxpipe.C 14 | testafxpipe_DEPENDENCIES=libafx.a 15 | testafxpipe_LDADD=libafx.a 16 | 17 | check-am: testafxpipe 18 | ./testafxpipe 9 | 10 | int main(int argc, char **argv) 11 | { 12 | int fd0=dup(0); 13 | int fd1=dup(1); 14 | 15 | afxipipestream i(fd0); 16 | afxopipestream o(fd1); 17 | 18 | int c; 19 | 20 | i.seekg(0); 21 | while ((c=i.get()) != EOF) 22 | o << (char)c; 23 | return (0); 24 | } 25 | -------------------------------------------------------------------------------- /courier/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /courier/courier.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Courier Mail Server 3 | Wants=network-online.target 4 | Wants=courier-authlib.service 5 | After=network-online.target 6 | After=courier-authlib.service 7 | 8 | # Fedora has a mail-transfer-agent.target 9 | # 10 | # Ubuntu/Debian apparently does not, only a multi-user.target 11 | [Install] 12 | WantedBy=mail-transfer-agent.target 13 | WantedBy=multi-user.target 14 | 15 | # First start could take several minutes, to generate the DH param file 16 | [Service] 17 | Restart=no 18 | Type=forking 19 | RemainAfterExit=true 20 | ExecStart=@datadir@/courier.sysvinit start 21 | ExecStop=@datadir@/courier.sysvinit stop 22 | -------------------------------------------------------------------------------- /courier/courier/adminrequest.tmpl: -------------------------------------------------------------------------------- 1 | This message looks like an administrative request. The address 2 | <####> is NOT 3 | for administrative requests. This is the posting address for 4 | the mailing list itself. For additional help, write to 5 | <##help##>. To reach 6 | the mailing list administrator, write to 7 | <##owner##>. 8 | -------------------------------------------------------------------------------- /courier/courier/cddelinfo.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "cddelinfo.h" 7 | 8 | delinfo::delinfo() : freenext(0), dlvrphost(0), rcptlist(0) {} 9 | delinfo::~delinfo() {} 10 | -------------------------------------------------------------------------------- /courier/courier/cddelinfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef cddelinfo_h 7 | #define cddelinfo_h 8 | 9 | #include "config.h" 10 | class delinfo; 11 | class dlvrhost; 12 | class msgq; 13 | class rcptinfo; 14 | 15 | class delinfo { 16 | public: 17 | delinfo *freenext; // List of unused delinfo in the same module. 18 | unsigned delid; // My index in delinfo_list array 19 | dlvrhost *dlvrphost; // Host we're delivering to 20 | rcptinfo *rcptlist; // List of recipients being delivered 21 | delinfo(); 22 | ~delinfo(); 23 | } ; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /courier/courier/cddlvrhost.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "cddlvrhost.h" 7 | 8 | dlvrhost::dlvrhost() : next(0), prev(0), dlvrcount(0), pending_list(0) {} 9 | dlvrhost::~dlvrhost() {} 10 | -------------------------------------------------------------------------------- /courier/courier/cddlvrhost.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2007 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef cddlvrhost_h 7 | #define cddlvrhost_h 8 | 9 | #include "config.h" 10 | #include 11 | 12 | class rcptinfo; 13 | class pendelinfo; 14 | class drvinfo; 15 | 16 | class dlvrhost { 17 | public: 18 | dlvrhost *next, *prev; // next used on hdlvrpfree list, else 19 | // this is the first/last list, in MRU order 20 | std::string hostname; // Name of this host 21 | unsigned dlvrcount; // How many deliveries to this host are 22 | // in progress 23 | pendelinfo *pending_list; 24 | dlvrhost(); 25 | ~dlvrhost(); 26 | } ; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /courier/courier/cdfilters.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef cdfilters_h 7 | #define cdfilters_h 8 | 9 | /* 10 | */ 11 | 12 | #if HAVE_CONFIG_H 13 | #include "config.h" 14 | #endif 15 | 16 | #include 17 | 18 | int run_filter( 19 | const char *, // Filename containing the message 20 | unsigned, // How many message IDs (can be >1 if 21 | // message was split due to too many 22 | // recipients 23 | int, // whitelisted flag, used to select 24 | // filters 25 | std::string (*)(unsigned, void *), // Function to return message id 26 | // #n (n is 0..count-1) 27 | void *); // Second argument to function. 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /courier/courier/cdpendelinfo.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2000 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "cdpendelinfo.h" 7 | #include "cddlvrhost.h" 8 | #include "cddelinfo.h" 9 | #include "cddrvinfo.h" 10 | #include "cdrcptinfo.h" 11 | #include "cdmsgq.h" 12 | 13 | pendelinfo::pendelinfo() : hostp(0) {} 14 | pendelinfo::~pendelinfo() {} 15 | -------------------------------------------------------------------------------- /courier/courier/cdpendelinfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2007 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef cdpendelinfo_h 7 | #define cdpendelinfo_h 8 | 9 | #include "config.h" 10 | #include 11 | #include 12 | 13 | class dlvrhost; 14 | class rcptinfo; 15 | class drvinfo; 16 | 17 | class pendelinfo; 18 | 19 | class pendelinfo { 20 | public: 21 | std::list::iterator pos; 22 | // My location in hostp->mydrvinfo->pendelinfo_list 23 | 24 | drvinfo *drvp; 25 | std::string hostname; 26 | std::list receipient_list; 27 | dlvrhost *hostp; // Could be null 28 | pendelinfo(); 29 | ~pendelinfo(); 30 | 31 | pendelinfo(const pendelinfo &p) {} 32 | } ; 33 | #endif 34 | -------------------------------------------------------------------------------- /courier/courier/cmlmbounce.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmbounce_h 2 | #define cmlmbounce_h 3 | 4 | /* 5 | ** Copyright 2000-2007 Double Precision, Inc. 6 | ** See COPYING for distribution information. 7 | */ 8 | 9 | 10 | #include "config.h" 11 | 12 | #include 13 | 14 | int dobounce(const char *); 15 | int dobounce1(const char *); 16 | int dobounce2(const char *); 17 | int bouncewarning(std::string, std::string, std::string); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /courier/courier/cmlmcleanup.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmcleanup_h 2 | #define cmlmcleanup_h 3 | 4 | #include 5 | #include 6 | 7 | /* 8 | ** Copyright 2000-2007 Double Precision, Inc. 9 | ** See COPYING for distribution information. 10 | */ 11 | 12 | 13 | int cmdhourly(const std::vector &); 14 | int cmddaily(const std::vector &); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /courier/courier/cmlmfetch.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmfetch_h 2 | #define cmlmfetch_h 3 | 4 | #include "config.h" 5 | 6 | 7 | /* 8 | ** Copyright 2000 Double Precision, Inc. 9 | ** See COPYING for distribution information. 10 | */ 11 | 12 | int doindex(const char *); 13 | int dofetch(const char *); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /courier/courier/cmlmfilter.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmfilter_h 2 | #define cmlmfilter_h 3 | 4 | #include "config.h" 5 | 6 | 7 | /* 8 | ** Copyright 2018 Double Precision, Inc. 9 | ** See COPYING for distribution information. 10 | */ 11 | 12 | int rcptfilter_msg(); 13 | int smtpfilter_msg(); 14 | int rcptfilter_ctlmsg(); 15 | int smtpfilter_ctlmsg(); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /courier/courier/cmlmmoderate.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmmoderate_h 2 | #define cmlmmoderate_h 3 | 4 | /* 5 | ** Copyright 2000 Double Precision, Inc. 6 | ** See COPYING for distribution information. 7 | */ 8 | 9 | 10 | #include "config.h" 11 | #include 12 | 13 | int sendinitmod(afxipipestream &, const char *, const char *); 14 | int cmdmoderate(); 15 | int postmsg(std::istream &, int (*)(std::istream &, std::ostream &)); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /courier/courier/cmlmstartmail.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmstartmail_h 2 | #define cmlmstartmail_h 3 | /* 4 | ** Copyright 2000-2007 Double Precision, Inc. 5 | ** See COPYING for distribution information. 6 | */ 7 | 8 | 9 | #include "config.h" 10 | #include 11 | #include 12 | #include 13 | 14 | class StartMail { 15 | 16 | std::istream &msg; 17 | std::string verp_ret; 18 | std::vector recipients; 19 | size_t n; 20 | 21 | public: 22 | StartMail(std::istream &, std::string); 23 | ~StartMail(); 24 | void To(std::string); 25 | void Send(); 26 | } ; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /courier/courier/cmlmsubunsub.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmsubunsub_h 2 | #define cmlmsubunsub_h 3 | 4 | /* 5 | ** Copyright 2000-2007 Double Precision, Inc. 6 | ** See COPYING for distribution information. 7 | */ 8 | 9 | 10 | #include "config.h" 11 | #include "cmlm.h" 12 | #include "afx/afx.h" 13 | 14 | #include 15 | 16 | int cmdsub(const std::vector &); // Manual subscribe 17 | int cmdunsub(const std::vector &); // Manual unsubscribe 18 | 19 | int docmdsub(const char *, std::string); 20 | int docmdsub(const char *, std::string, bool addheader); 21 | // Do the subscription action 22 | 23 | int docmdunsub(const char *, std::string); // Do the unsubscription action 24 | 25 | int docmdunsub_bounce(std::string, std::string); // Unsub due to bounces 26 | #endif 27 | -------------------------------------------------------------------------------- /courier/courier/cmlmsubunsubmsg.h: -------------------------------------------------------------------------------- 1 | #ifndef cmlmsubunsubmsg_h 2 | #define cmlmsubunsubmsg_h 3 | /* 4 | ** Copyright 2000 Double Precision, Inc. 5 | ** See COPYING for distribution information. 6 | */ 7 | 8 | 9 | int dosub(const char *); 10 | int domodsub(const char *); 11 | int dounsub(const char *); 12 | int doalias(const char *); 13 | 14 | int dosubunsubconfirm(const char *, 15 | const char *, int (*)(const char *, std::string), 16 | const char *, const char *, int); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /courier/courier/confsubj.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list confirmation request. 2 | -------------------------------------------------------------------------------- /courier/courier/courierctl.start.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 1998 - 2005 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | # This is a sample script to start Courier, reading the configuration from 7 | # ${sysconfdir}/courierd 8 | 9 | prefix="@prefix@" 10 | exec_prefix="@exec_prefix@" 11 | sysconfdir="@sysconfdir@" 12 | libexecdir="@libexecdir@" 13 | 14 | cd ${prefix} 15 | 16 | @SETENV@ -i @SHELL@ -c "set -a ; . ${sysconfdir}/courierd; ( ${libexecdir}/courier/courierd & )" 17 | -------------------------------------------------------------------------------- /courier/courier/courierd.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef courierd_h 7 | #define courierd_h 8 | 9 | #if HAVE_CONFIG_H 10 | #undef PACKAGE 11 | #undef VERSION 12 | #include "config.h" 13 | #endif 14 | 15 | #include 16 | #include 17 | 18 | extern pid_t couriera, courierb; 19 | extern unsigned queuelo, queuehi; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/couriermlm-rcptfilter-ctlmsg.in: -------------------------------------------------------------------------------- 1 | # Not implemented 2 | import SENDER 3 | system '@bindir@/couriermlm rcptfilter-ctlmsg' 4 | EXITCODE=$RETURNCODE 5 | exit 6 | -------------------------------------------------------------------------------- /courier/courier/couriermlm-rcptfilter-msg.in: -------------------------------------------------------------------------------- 1 | import SENDER 2 | import DEFAULT 3 | system '@bindir@/couriermlm rcptfilter-msg' 4 | EXITCODE=$RETURNCODE 5 | exit 6 | -------------------------------------------------------------------------------- /courier/courier/couriermlm-smtpfilter-ctlmsg.in: -------------------------------------------------------------------------------- 1 | import SENDER 2 | `@bindir@/couriermlm smtpfilter-ctlmsg` 3 | 4 | EXITCODE=$RETURNCODE 5 | exit 6 | -------------------------------------------------------------------------------- /courier/courier/couriermlm-smtpfilter-msg.in: -------------------------------------------------------------------------------- 1 | import SENDER 2 | `@bindir@/couriermlm smtpfilter-msg` 3 | EXITCODE=$RETURNCODE 4 | exit 5 | -------------------------------------------------------------------------------- /courier/courier/cppmain.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "config.h" 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | extern int cppmain(int, char **); 14 | 15 | int main(int argc, char **argv) 16 | { 17 | int rc; 18 | 19 | try 20 | { 21 | rc=cppmain(argc, argv); 22 | } 23 | catch (const char *errmsg) 24 | { 25 | std::cerr << argv[0] << ": " << errmsg << std::endl; 26 | exit (1); 27 | } 28 | catch (char *errmsg) 29 | { 30 | std::cerr << argv[0] << ": " << errmsg << std::endl; 31 | exit (1); 32 | } 33 | exit(rc); 34 | return (rc); 35 | } 36 | -------------------------------------------------------------------------------- /courier/courier/digestsubj.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Courier Mailing List Digest #@ 2 | -------------------------------------------------------------------------------- /courier/courier/doc/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier/courier/doc/bg.png -------------------------------------------------------------------------------- /courier/courier/doc/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier/courier/doc/icon.gif -------------------------------------------------------------------------------- /courier/courier/doc/japanese_flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/courier/courier/doc/japanese_flag.png -------------------------------------------------------------------------------- /courier/courier/dot-qmail-to-dot-courier.pl.in: -------------------------------------------------------------------------------- 1 | #! @PERL@ 2 | # 3 | # Copyright 2000 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | # 7 | # "Convert" .qmail to .courier 8 | # 9 | # I don't really do anything here, I just print the mv commands to stdout. 10 | # 11 | 12 | while (($name,$passwd,$uid,$gid, 13 | $quota,$comment,$gcos,$dir,$shell,$expire) = getpwent) 14 | { 15 | opendir(DIR, "$dir") || next; 16 | while (defined ($name=readdir(DIR))) 17 | { 18 | next unless $name =~ /^\.qmail(.*)/; 19 | print "mv -f $dir/.qmail$1 $dir/.courier$1\n"; 20 | } 21 | closedir(DIR); 22 | } 23 | -------------------------------------------------------------------------------- /courier/courier/dotforward.tst.chk: -------------------------------------------------------------------------------- 1 | Exit code: 0 2 | !john, john@another.example.com 3 | | /bin/true 4 | Exit code: 99 5 | !john@another.example.com 6 | | /bin/true 7 | Exit code: 99 8 | !john, john@another.example.com 9 | | /bin/true 10 | Exit code: 0 11 | !john, john@another.example.com 12 | | /bin/true 13 | Exit code: 0 14 | |/usr/bin/foo 15 | !john 16 | Exit code: 99 17 | -------------------------------------------------------------------------------- /courier/courier/fetch.tmpl: -------------------------------------------------------------------------------- 1 | Content-Type: text/plain; charset=iso-8859-1 2 | Content-Transfer-Encoding: 8bit 3 | 4 | Hello, this is the Courier mailing list manager. I manage the mailing 5 | list <####>. 6 | 7 | I received your request to return one or more messages from the archive 8 | of this mailing list. A copy of your request follows, followed by the 9 | archived messages. 10 | 11 | If you did not receive all the messages you've asked for, the messages 12 | you've asked for probably do not exist. In order to prevent abuse, 13 | the entire digest is limited. For more information, write to 14 | <##help##>. 15 | 16 | -------------------------------------------------------------------------------- /courier/courier/fetchsubj.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list archive fetch response. 2 | -------------------------------------------------------------------------------- /courier/courier/filters/.gitignore: -------------------------------------------------------------------------------- 1 | /courierfilter 2 | /courierfilter.8 3 | /courierfilter.8.in 4 | /courierfilter.html 5 | /courierfilter.html.in 6 | /courierfilter.start 7 | /courierperlfilter.8 8 | /courierperlfilter.8.in 9 | /courierperlfilter.html 10 | /courierperlfilter.html.in 11 | /dupfilter 12 | /dupfilter.8 13 | /dupfilter.8.in 14 | /dupfilter.html 15 | /dupfilter.html.in 16 | /filteractivedir.h 17 | /filterctl 18 | /filtersocketdir.h 19 | /pidfile.h 20 | /ratefilter 21 | /ratefilter.8 22 | /ratefilter.8.in 23 | /ratefilter.html 24 | /ratefilter.html.in 25 | /verifyfilter.8 26 | /verifyfilter.8.in 27 | /verifyfilter.html 28 | /verifyfilter.html.in 29 | /verifyfilter 30 | /verifyfilter.stamp 31 | /verifysmtp 32 | /verifysmtp.8 33 | /verifysmtp.8.in 34 | /verifysender 35 | /verifysenderfull 36 | -------------------------------------------------------------------------------- /courier/courier/filters/courierfilter.start.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2017 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | # Start courierfilter, reading the configuration from 7 | # ${sysconfdir}/courierd 8 | 9 | prefix="@prefix@" 10 | exec_prefix="@exec_prefix@" 11 | sysconfdir="@sysconfdir@" 12 | libexecdir="@libexecdir@" 13 | 14 | cd ${prefix} 15 | 16 | exec @SETENV@ -i @SHELL@ -c "set -a ; . ${sysconfdir}/courierd; ${libexecdir}/courier/courierfilter $*" 17 | -------------------------------------------------------------------------------- /courier/courier/filters/libfilter/Makefile.am: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2000-2002 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | 5 | CLEANFILES=permissions.dat 6 | 7 | noinst_LTLIBRARIES=libfilter.la 8 | 9 | libfilter_la_SOURCES=libfilter.c libfilter.h 10 | -------------------------------------------------------------------------------- /courier/courier/filters/perlfilter/.gitignore: -------------------------------------------------------------------------------- 1 | /filtersocketdir.h 2 | /perlfilter 3 | /wrapperpl.h 4 | /xsinit.c 5 | -------------------------------------------------------------------------------- /courier/courier/filters/testsuite.txt: -------------------------------------------------------------------------------- 1 | Ready. 2 | Ready. 3 | Ready. 4 | Ready. 5 | Ready. 6 | Cancel: 4 7 | Cancel: 3 8 | Cancel: 2 9 | Cancel: 1 10 | Cancel: 4 11 | Cancel: 3 12 | Cancel: 2 13 | Cancel: 1 14 | Ready. 15 | -------------------------------------------------------------------------------- /courier/courier/filters/verifysender.in: -------------------------------------------------------------------------------- 1 | # Reminder: do not edit this file, edit the .in file 2 | # 3 | # Copyright 2017 Double Precision, Inc. See COPYING for --> 4 | # distribution information. 5 | # 6 | # Included from rcptfilter, to verify the sender's address, excluding any 7 | # VERP component (if the local part of the email address includes a dash, 8 | # everything the dash and everything that follows it, until the @, is 9 | # removed). 10 | # 11 | # Must mkdir $HOME/.trackdir before using this. 12 | 13 | import SENDER 14 | system '@bindir@/verifysmtp -n -t $HOME/.trackdir' 15 | 16 | if ($RETURNCODE != 0) 17 | { 18 | EXITCODE=1 19 | exit 20 | } 21 | -------------------------------------------------------------------------------- /courier/courier/filters/verifysenderfull.in: -------------------------------------------------------------------------------- 1 | # Reminder: do not edit this file, edit the .in file 2 | # 3 | # Copyright 2017 Double Precision, Inc. See COPYING for --> 4 | # distribution information. 5 | # 6 | # Included from rcptfilter, to verify the full sender's address. 7 | # 8 | # Must mkdir $HOME/.trackdir before using this. 9 | 10 | import SENDER 11 | system '@bindir@/verifysmtp -n -m full -t $HOME/.trackdir' 12 | 13 | if ($RETURNCODE != 0) 14 | { 15 | EXITCODE=1 16 | exit 17 | } 18 | -------------------------------------------------------------------------------- /courier/courier/filters/verifysmtp.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | 3 | prefix="@prefix@" 4 | exec_prefix="@exec_prefix@" 5 | sysconfdir="@sysconfdir@" 6 | libexecdir="@libexecdir@" 7 | 8 | set -a 9 | . @sysconfdir@/courierd 10 | exec ${libexecdir}/filters/verifyfilter -c "$@" 11 | -------------------------------------------------------------------------------- /courier/courier/idxheader2html.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /courier/courier/idxsubject.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list index. 2 | -------------------------------------------------------------------------------- /courier/courier/ldapaliasdrc.h: -------------------------------------------------------------------------------- 1 | #ifndef ldapaliasdrc_h 2 | #define ldapaliasdrc_h 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | /* 9 | ** Copyright 2000 Double Precision, Inc. 10 | ** See COPYING for distribution information. 11 | ** 12 | */ 13 | 14 | #include "config.h" 15 | #include 16 | 17 | const char *ldapaliasd_config(const char *); 18 | FILE *ldapaliasd_connect(); 19 | 20 | void ldapaliasd_configchanged(); 21 | 22 | #define LDAPALIASDCONFIGFILE SYSCONFDIR "/ldapaliasrc" 23 | #define SOCKETFILE LOCALSTATEDIR "/tmp/ldapaliasd" 24 | #define LOCKFILE LOCALSTATEDIR "/tmp/ldapaliasd.lock" 25 | #define PIDFILE LOCALSTATEDIR "/tmp/ldapaliasd.pid" 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /courier/courier/libs/.gitignore: -------------------------------------------------------------------------------- 1 | /courier_lib_config.h 2 | /courier_lib_config.h.in 3 | /lcrwstatic.h 4 | /libexecdir.h 5 | /localstatedir.h 6 | /sbindir.h 7 | /sysconfdir.h 8 | /testaliases 9 | /courier_version.h 10 | -------------------------------------------------------------------------------- /courier/courier/libs/cdefaultdelivery.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "config.h" 7 | #include 8 | 9 | const char *config_defaultdelivery() 10 | { 11 | const char *p=getenv("DEFAULTDELIVERY"); 12 | 13 | if (!p) p="./Maildir"; 14 | return (p); 15 | } 16 | -------------------------------------------------------------------------------- /courier/courier/libs/cdefaultsep.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2018 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | 10 | static const char *cdefaultsep; 11 | 12 | const char *config_defaultsep() 13 | { 14 | if (!cdefaultsep) 15 | { 16 | char *f=config_localfilename("defaultsep"); 17 | 18 | if ((cdefaultsep=config_read1l(f)) == 0) 19 | cdefaultsep="+"; 20 | free(f); 21 | } 22 | return cdefaultsep; 23 | } 24 | -------------------------------------------------------------------------------- /courier/courier/libs/cfilteracct.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | 9 | static const char *filteracct; 10 | 11 | const char *config_filteracct() 12 | { 13 | if (!filteracct) 14 | { 15 | char *f=config_localfilename("aliasfilteracct"); 16 | 17 | if ((filteracct=config_read1l(f)) == 0) 18 | filteracct=""; 19 | free(f); 20 | } 21 | return (filteracct); 22 | } 23 | -------------------------------------------------------------------------------- /courier/courier/libs/chelohost.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | 9 | static const char *helohost; 10 | 11 | const char *config_esmtphelo() 12 | { 13 | if (!helohost) 14 | { 15 | char *f=config_localfilename("esmtphelo"); 16 | 17 | if ((helohost=config_read1l(f)) == 0) 18 | helohost=config_me(); 19 | free(f); 20 | } 21 | return (helohost); 22 | } 23 | -------------------------------------------------------------------------------- /courier/courier/libs/cmaildropfilter.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2000 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | #if HAVE_UNISTD_H 10 | #include 11 | #endif 12 | 13 | static char *maildrop; 14 | 15 | const char *config_maildropfilter() 16 | { 17 | if (!maildrop) 18 | { 19 | char *filename=config_localfilename("maildropfilter"); 20 | 21 | maildrop=config_read1l(filename); 22 | free(filename); 23 | 24 | if (!maildrop) 25 | maildrop=""; 26 | } 27 | return (*maildrop ? maildrop:0); 28 | } 29 | -------------------------------------------------------------------------------- /courier/courier/libs/cmaildropmda.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2000 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | #if HAVE_UNISTD_H 10 | #include 11 | #endif 12 | 13 | static char *maildrop; 14 | 15 | const char *config_maildropmda() 16 | { 17 | if (!maildrop) 18 | { 19 | char *filename=config_localfilename("maildrop"); 20 | 21 | maildrop=config_read1l(filename); 22 | free(filename); 23 | 24 | if (!maildrop) 25 | maildrop=MAILDROP; 26 | if (access(maildrop, 0)) 27 | maildrop=""; 28 | } 29 | return (*maildrop ? maildrop:0); 30 | } 31 | -------------------------------------------------------------------------------- /courier/courier/libs/cmsgidhost.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | 9 | static const char *msgidhost; 10 | 11 | const char *config_msgidhost() 12 | { 13 | if (!msgidhost) 14 | { 15 | char *f=config_localfilename("msgidhost"); 16 | 17 | if ((msgidhost=config_read1l(f)) == 0) 18 | msgidhost=config_me(); 19 | free(f); 20 | } 21 | return (msgidhost); 22 | } 23 | -------------------------------------------------------------------------------- /courier/courier/libs/comaliases3.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "aliases.h" 7 | 8 | // 9 | // Iterate through all the addresses in this alias. 10 | // 11 | 12 | void AliasRecord::StartForEach() 13 | { 14 | Init(); 15 | feptr=list.c_str(); 16 | } 17 | 18 | std::string AliasRecord::NextForEach() 19 | { 20 | std::string buf; 21 | int l; 22 | 23 | if (!feptr || !*feptr) 24 | { 25 | ++recnum; 26 | if (fetch(1)) 27 | { 28 | --recnum; 29 | return (buf); 30 | } 31 | feptr=list.c_str(); 32 | } 33 | 34 | for (l=0; feptr[l] && feptr[l] != '\n'; l++) 35 | ; 36 | 37 | buf=std::string(feptr, feptr+l); 38 | feptr += l; 39 | if (*feptr) ++feptr; 40 | return (buf); 41 | } 42 | -------------------------------------------------------------------------------- /courier/courier/libs/comcargs.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comcargs_h 7 | #define comcargs_h 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | struct courier_args { 14 | const char *argname; 15 | const char **argval; 16 | void (*argfunc)(const char *); 17 | } ; 18 | 19 | int cargs(int argc, char **argv, const struct courier_args *); 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /courier/courier/libs/comconfig.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "comconfig.h" 7 | #include "courier.h" 8 | #include 9 | #include 10 | 11 | int config_retrybeta() 12 | { 13 | char *f=config_localfilename("retrybeta"); 14 | char *p=config_read1l(f); 15 | int n=3; 16 | 17 | free(f); 18 | 19 | if (p) 20 | { 21 | n=atoi(p); 22 | free(p); 23 | } 24 | return (n); 25 | } 26 | 27 | int config_retrymaxdelta() 28 | { 29 | char *f=config_localfilename("retrymaxdelta"); 30 | char *p=config_read1l(f); 31 | int n=3; 32 | 33 | free(f); 34 | if (p) 35 | { 36 | n=atoi(p); 37 | free(p); 38 | } 39 | return (n); 40 | } 41 | -------------------------------------------------------------------------------- /courier/courier/libs/comconfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comconfig_h 7 | #define comconfig_h 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | extern int config_retrybeta(); 14 | extern int config_retrymaxdelta(); 15 | 16 | #ifdef __cplusplus 17 | } 18 | #endif 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /courier/courier/libs/comfax.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comfax_h 7 | #define comfax_h 8 | 9 | #include "courier.h" 10 | #include 11 | #include 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | 18 | #define FAX_LOWRES 1 19 | #define FAX_OKUNKNOWN 2 20 | #define FAX_COVERONLY 4 21 | 22 | int comgetfaxopts(const char *, int *); 23 | int comgetfaxoptsn(const char *, int, int *); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /courier/courier/libs/commsgcancel.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2000 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef commsgcancel_h 7 | #define commsgcancel_h 8 | 9 | #ifdef __cplusplus 10 | extern "C" { 11 | #endif 12 | 13 | int msgcancel(const char *, const char **, int, int); 14 | 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /courier/courier/libs/comparseqid.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "comparseqid.h" 7 | #include 8 | 9 | static const char hex[]="0123456789ABCDEF"; 10 | 11 | int comparseqid(const char *qid, ino_t *n) 12 | { 13 | const char *p; 14 | 15 | *n=0; 16 | for ( ; *qid; qid++) 17 | { 18 | if (*qid == '.') return (0); 19 | 20 | if ((p=strchr(hex, *qid)) == 0) return (-1); 21 | *n= (*n << 4) + (p-hex); 22 | } 23 | return (-1); 24 | } 25 | -------------------------------------------------------------------------------- /courier/courier/libs/comparseqid.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comparseqid_h 7 | #define comparseqid_h 8 | 9 | #include "config.h" 10 | #include 11 | #include 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | int comparseqid(const char *, ino_t *); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /courier/courier/libs/comqueuename.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comqueuename_h 7 | #define comqueuename_h 8 | 9 | #include 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | const char *qmsgsdir(ino_t); 16 | const char *qmsgsctlname(ino_t); 17 | const char *qmsgsdatname(ino_t); 18 | 19 | const char *qmsgqdir(time_t); 20 | const char *qmsgqname(ino_t, time_t); 21 | 22 | void qmsgunlink(ino_t, time_t); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /courier/courier/libs/comrwerrfunc.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "rw.h" 8 | /* Popular error handler - save error handler in udata pointer */ 9 | 10 | void rw_err_func(int n, const char *txt, struct rw_info *rwi) 11 | { 12 | ((struct rw_info_rewrite *)rwi->udata)->errmsg 13 | =makeerrmsgtext(n, txt); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /courier/courier/libs/comrwinfoinit.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "rw.h" 7 | #include "courier.h" 8 | 9 | void rw_info_init(struct rw_info *p, struct rfc822token *t, 10 | void (*err_func)(int, const char *, struct rw_info *p)) 11 | { 12 | p->mode=0; 13 | p->ptr=t; 14 | p->err_func=err_func; 15 | p->sender=0; 16 | p->udata=0; 17 | p->smodule=0; 18 | p->host=0; 19 | } 20 | -------------------------------------------------------------------------------- /courier/courier/libs/comrwinstall2.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | 7 | int rw_init_verbose_flag; 8 | 9 | void rw_init_verbose(int f) 10 | { 11 | rw_init_verbose_flag=f; 12 | } 13 | -------------------------------------------------------------------------------- /courier/courier/libs/comrwmsg8bit.c: -------------------------------------------------------------------------------- 1 | #include "courier.h" 2 | #include "rw.h" 3 | #include "rwint.h" 4 | #if HAVE_UNISTD_H 5 | #include 6 | #endif 7 | 8 | int rw_rewrite_msg(int fp, 9 | int (*writefunc)(const char *p, unsigned l, void *), 10 | void (*rewritefunc)(struct rw_info *, 11 | void (*)(struct rw_info *), void *), 12 | void *arg 13 | ) 14 | { 15 | struct rwmsginfo rwinfo; 16 | char buffer[BUFSIZ]; 17 | int i, j; 18 | 19 | rw_rewrite_msg_init(&rwinfo, writefunc, rewritefunc, arg); 20 | 21 | while ((j=read(fp, buffer, sizeof(buffer))) > 0) 22 | { 23 | if (rw_rewrite_msgheaders(buffer, j, &rwinfo) < 0) 24 | { 25 | j= -1; 26 | break; 27 | } 28 | } 29 | 30 | if ((i=rw_rewrite_msg_finish(&rwinfo)) != 0) 31 | j=i; 32 | return (j); 33 | } 34 | -------------------------------------------------------------------------------- /courier/courier/libs/comsecurity.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "libs/courier_lib_config.h" 7 | #include "courier.h" 8 | #include "comctlfile.h" 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | 15 | const char *ctlfile_security(struct ctlfile *p) 16 | { 17 | int i=ctlfile_searchfirst(p, COMCTLFILE_SECURITY); 18 | 19 | return (i < 0 ? "":p->lines[i]+1); 20 | } 21 | -------------------------------------------------------------------------------- /courier/courier/libs/comsizelimit.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "maxlongsize.h" 8 | #include 9 | #include 10 | 11 | 12 | static char *sizelimit_ptr=0; 13 | 14 | unsigned long config_sizelimit() 15 | { 16 | char *sizelimitfilename; 17 | 18 | if (sizelimit_ptr == 0) 19 | { 20 | sizelimit_ptr=getenv("SIZELIMIT"); 21 | if (sizelimit_ptr == 0) 22 | { 23 | sizelimitfilename=config_localfilename("sizelimit"); 24 | sizelimit_ptr=config_read1l(sizelimitfilename); 25 | free(sizelimitfilename); 26 | if (sizelimit_ptr == 0) 27 | sizelimit_ptr="10485760"; 28 | } 29 | } 30 | return (atol(sizelimit_ptr)); 31 | } 32 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrinode.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "comstrinode.h" 7 | #include "maxlongsize.h" 8 | 9 | const char *strinode(ino_t n) 10 | { 11 | static char buf[MAXLONGSIZE]; 12 | char *p=buf+sizeof(buf)-1; 13 | 14 | *p=0; 15 | do 16 | { 17 | *--p='0' + (n % 10); 18 | n=n / 10; 19 | } while (n); 20 | return (p); 21 | } 22 | 23 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrinode.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comstrinode_h 7 | #define comstrinode_h 8 | 9 | #include "config.h" 10 | #include 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | const char *strinode(ino_t); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrtimestamp.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "comstrtimestamp.h" 7 | #include "maxlongsize.h" 8 | 9 | const char *strtimestamp(time_t n) 10 | { 11 | static char buf[MAXLONGSIZE]; 12 | char *p=buf+sizeof(buf)-1; 13 | 14 | *p=0; 15 | do 16 | { 17 | *--p='0' + (n % 10); 18 | n=n / 10; 19 | } while (n); 20 | return (p); 21 | } 22 | 23 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrtimestamp.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comstrtimestamp_h 7 | #define comstrtimestamp_h 8 | 9 | #include "config.h" 10 | #include 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | const char *strtimestamp(time_t); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrtotime.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "comstrtotime.h" 7 | #include 8 | 9 | time_t strtotime(const char *p) 10 | { 11 | time_t n=0; 12 | 13 | while (isdigit((int)(unsigned char)*p)) 14 | { 15 | n *= 10; 16 | n += *p++ - '0'; 17 | } 18 | return (n); 19 | } 20 | -------------------------------------------------------------------------------- /courier/courier/libs/comstrtotime.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comstrtotime_h 7 | #define comstrtotime_h 8 | 9 | #include "config.h" 10 | #include 11 | #include 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | time_t strtotime(const char *p); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | #endif 23 | -------------------------------------------------------------------------------- /courier/courier/libs/comsubmitclient2.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2006 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | 10 | void submit_print_stdout(const char *p) 11 | { 12 | if (p) 13 | { 14 | if (fwrite(p, strlen(p), 1, stdout) != 1) 15 | ; /* muzzle gcc warning */ 16 | } 17 | else fflush(stdout); 18 | } 19 | -------------------------------------------------------------------------------- /courier/courier/libs/comtrigger.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2006 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "localstatedir.h" 8 | #include 9 | #if HAVE_UNISTD_H 10 | #include 11 | #endif 12 | #if HAVE_FCNTL_H 13 | #include 14 | #endif 15 | #include 16 | 17 | int trigger_open(int mode) 18 | { 19 | int fd; 20 | 21 | fd=open(TMPDIR "/trigger", mode); 22 | return (fd); 23 | } 24 | 25 | void trigger(const char *command) 26 | { 27 | int fd=trigger_open(O_WRONLY | O_NDELAY); 28 | 29 | if (fd >= 0) 30 | { 31 | if (write( fd, command, strlen(command))) 32 | ; /* ignore */ 33 | close(fd); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /courier/courier/libs/comuidgid.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2022 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "config.h" 7 | #include "courier.h" 8 | #include "comuidgid.h" 9 | #include "numlib/numlib.h" 10 | 11 | uid_t courier_mailuid() 12 | { 13 | static const uid_t u=libmail_getuid(MAILUSER, 0); 14 | 15 | return u; 16 | } 17 | 18 | gid_t courier_mailgid() 19 | { 20 | static const gid_t g=libmail_getgid(MAILGROUP); 21 | 22 | return g; 23 | } 24 | -------------------------------------------------------------------------------- /courier/courier/libs/comuidgid.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2022 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comuidgid_h 7 | #define comuidgid_h 8 | 9 | #include 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | extern uid_t courier_mailuid(); 15 | extern gid_t courier_mailgid(); 16 | 17 | #ifdef __cplusplus 18 | } 19 | #endif 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/libs/comverp.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2000 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef comverp_h 7 | #define comverp_h 8 | 9 | #if HAVE_CONFIG_H 10 | #include "libs/courier_lib_config.h" 11 | #endif 12 | 13 | #include 14 | 15 | #ifdef __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | struct ctlfile; 20 | 21 | extern char *verp_getsender(struct ctlfile *, const char *); 22 | extern size_t verp_encode(const char *, char *); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /courier/courier/libs/courier_malloc.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2018 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | 10 | void *courier_malloc(unsigned n) 11 | { 12 | void *p=malloc(n); 13 | 14 | if (!p) clog_msg_errno(); 15 | return (p); 16 | } 17 | 18 | char *courier_strdup(const char *c) 19 | { 20 | char *s=strdup(c); 21 | 22 | if (!s) clog_msg_errno(); 23 | return (s); 24 | } 25 | -------------------------------------------------------------------------------- /courier/courier/libs/courierdir.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | 8 | static const char *home=COURIER_HOME; 9 | 10 | void set_courierdir(const char *p) 11 | { 12 | home=p; 13 | } 14 | 15 | const char *courierdir() 16 | { 17 | return (home); 18 | } 19 | -------------------------------------------------------------------------------- /courier/courier/libs/cread1l.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2006 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include 8 | #include 9 | #include 10 | 11 | /* 12 | Open and read a one-line configuration file. 13 | 14 | Assume the line is less than 256 characters. 15 | 16 | Returns NULL if the configuration file does not exist. 17 | */ 18 | 19 | char *config_read1l(const char *filename) 20 | { 21 | FILE *fp=fopen(filename, "r"); 22 | char buf[256]; 23 | char *p; 24 | 25 | if (!fp) return (0); 26 | if (fgets(buf, sizeof(buf), fp) == NULL) 27 | buf[0]=0; 28 | fclose(fp); 29 | if ((p=strchr(buf, '\n')) != 0) *p=0; 30 | return (strcpy( (char *)courier_malloc(strlen(buf)+1), buf)); 31 | } 32 | -------------------------------------------------------------------------------- /courier/courier/libs/islocalt.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "rfc822/rfc822.h" 8 | #include 9 | #include 10 | 11 | int configt_islocal(const struct rfc822token *t, char **p) 12 | { 13 | char *address=rfc822_gettok(t); 14 | int rc; 15 | 16 | if (!address) clog_msg_errno(); 17 | rc=config_islocal(address, p); 18 | free(address); 19 | return (rc); 20 | } 21 | -------------------------------------------------------------------------------- /courier/courier/libs/lcclog2.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "comctlfile.h" 8 | #include 9 | #include 10 | #include 11 | #if HAVE_UNISTD_H 12 | #include "unistd.h" 13 | #endif 14 | #include "numlib/numlib.h" 15 | 16 | void clog_msg_msgid(struct ctlfile *ctf) 17 | { 18 | int n=ctlfile_searchfirst(ctf, COMCTLFILE_MSGID); 19 | 20 | if (n >= 0) 21 | clog_msg_str(ctf->lines[n]+1); 22 | } 23 | -------------------------------------------------------------------------------- /courier/courier/libs/lcrwstaticlist.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "rw.h" 8 | #include "lcrwstaticlist.h" 9 | #include "lcrwstatic.h" 10 | -------------------------------------------------------------------------------- /courier/courier/libs/maxlongsize.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef MAXLONGSIZE 7 | 8 | #include 9 | 10 | #ifdef ULLONG_MAX 11 | #define MAXLONGSIZE MAXLONGSIZE1(ULLONG_MAX) 12 | #else 13 | #define MAXLONGSIZE MAXLONGSIZE1(ULONG_MAX) 14 | #endif 15 | 16 | #define MAXLONGSIZE1(x) MAXLONGSIZE2(x) 17 | #define MAXLONGSIZE2(x) sizeof( # x ) 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /courier/courier/libs/removecomments.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | /* Remove #+comments from file read into memory. */ 7 | 8 | void removecomments(char *p) 9 | { 10 | char *q; 11 | 12 | for (q=p; *p; ) 13 | { 14 | if (*p == '#') 15 | while (*p && *p != '\n') 16 | p++; 17 | *q++= *p; 18 | if (*p) p++; 19 | } 20 | *q=0; 21 | } 22 | -------------------------------------------------------------------------------- /courier/courier/makehosteddomains.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2000 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | bindir="@bindir@" 10 | 11 | umask 022 12 | exec ${bindir}/makedat \ 13 | -src=${sysconfdir}/hosteddomains \ 14 | -file=${sysconfdir}/hosteddomains.dat \ 15 | -tmp=${sysconfdir}/hosteddomains.tmp 16 | -------------------------------------------------------------------------------- /courier/courier/makeimapaccess.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2015 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | localstatedir="@localstatedir@" 10 | bindir="@bindir@" 11 | sbindir="@sbindir@" 12 | libexecdir="@libexecdir@" 13 | 14 | . ${sysconfdir}/imapd 15 | . ${sysconfdir}/imapd-ssl 16 | 17 | umask 022 18 | ${bindir}/makedat \ 19 | -src=${IMAPACCESSFILE} \ 20 | -file=${IMAPACCESSFILE}.dat \ 21 | -tmp=${IMAPACCESSFILE}.tmp -cidr || exit 1 22 | 23 | ${sbindir}/couriertcpd -pid=$PIDFILE -restart 24 | ${sbindir}/couriertcpd -pid=$SSLPIDFILE -restart 25 | -------------------------------------------------------------------------------- /courier/courier/modrejbody.tmpl: -------------------------------------------------------------------------------- 1 | Content-Type: text/plain; charset=iso-8859-1 2 | 3 | Hello, this is the Courier mailing list manager. I manage the mailing 4 | list <####>. 5 | 6 | Your following message to the mailing list was not approved by the 7 | moderator, and is being returned to you. This is a moderated mailing 8 | list, and all messages are subject to moderator's approval. 9 | 10 | 11 | -------------------------------------------------------------------------------- /courier/courier/modrejheader.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Message rejected by moderator. 2 | -------------------------------------------------------------------------------- /courier/courier/modsubject.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Moderation request. 2 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/.gitignore: -------------------------------------------------------------------------------- 1 | /courierdsn 2 | /dsnheader.txt 3 | /module.dsn 4 | /sysconfdir.h 5 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/courier.config: -------------------------------------------------------------------------------- 1 | NAME=dsn 2 | PRIORITY=99 3 | PROG=./courierdsn 4 | MAXDELS=4 5 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsndelivered.txt: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------- 3 | 4 | MESSAGE DELIVERED SUCCESSFULLY 5 | 6 | Your E-mail requested a delivery notice/return receipt for the following 7 | addresses: 8 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnfailed.txt: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------- 3 | 4 | UNDELIVERABLE MAIL 5 | 6 | Your message to the following recipients cannot be delivered: 7 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnfooter.txt: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------- 3 | 4 | If your message was also sent to additional recipients, their delivery 5 | status is not included in this report. You may or may not receive 6 | other delivery status notifications for additional recipients. 7 | 8 | The original message follows as a separate attachment. 9 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnheader.txt.in: -------------------------------------------------------------------------------- 1 | Content-Type: text/plain; charset="utf-8" 2 | 3 | 4 | This is a delivery status notification from [#ME#], 5 | running the Courier mail server, version @version@. 6 | 7 | The original message was received on [#FROMTIME#] 8 | from [#FROMMTA#] 9 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnrelayed.txt: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------- 3 | 4 | MESSAGE DELIVERED TO A MAIL GATEWAY 5 | 6 | You requested a delivery acknowledgement (a return receipt) for the 7 | following recipients of your E-mail message. Unfortunately, your message 8 | has been transferred to an intermediate mail gateway that is not capable 9 | of generating delivery acknowledgements. 10 | 11 | Unless your message is eventually returned as undeliverable, you may not 12 | receive any further delivery notices for the following addresses: 13 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnsubjectnotice.txt: -------------------------------------------------------------------------------- 1 | NOTICE: mail delivery status. 2 | -------------------------------------------------------------------------------- /courier/courier/module.dsn/dsnsubjectwarn.txt: -------------------------------------------------------------------------------- 1 | WARNING: delayed mail. 2 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/.gitignore: -------------------------------------------------------------------------------- 1 | /addcr 2 | /courieresmtp 3 | /courieresmtpd 4 | /esmtp.authpam 5 | /esmtpd 6 | /esmtpd-msa.dist 7 | /esmtpd-msa.dist.in 8 | /esmtpd-ssl 9 | /esmtpd-ssl.dist 10 | /esmtpd-ssl.dist.in 11 | /esmtpd.cnf 12 | /esmtpd.dist 13 | /esmtpd.dist.in 14 | /libexecdir.h 15 | /localstatedir.h 16 | /makeacceptmailfor 17 | /makepercentrelay 18 | /makesmtpaccess 19 | /mkesmtpdcert 20 | /module.esmtp 21 | /staticlist.c 22 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/courier.config: -------------------------------------------------------------------------------- 1 | NAME=esmtp 2 | PRIORITY=50 3 | PROG=./courieresmtp 4 | MAXDELS=40 5 | MAXHOST=4 6 | MAXRCPT=100 7 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtp.authpam.dist: -------------------------------------------------------------------------------- 1 | #%PAM-1.0 2 | # 3 | # 4 | # Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 5 | # distribution information. 6 | # 7 | # To use the authpam authentication module for authenticated SMTP, you must 8 | # configure your PAM library to authenticate the "esmtp" service. 9 | # See your system documentation for information on how to configure your 10 | # PAM services. In most cases, all you need to do is to install this file 11 | # as /etc/pam.d/esmtp, but check your system documentation to make sure. 12 | 13 | auth required /lib/security/pam_pwdb.so shadow nullok 14 | account required /lib/security/pam_pwdb.so 15 | session required /lib/security/pam_pwdb.so 16 | 17 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtpconfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef esmtpconfig_h 7 | #define esmtpconfig_h 8 | 9 | #include 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | 16 | time_t config_time_esmtptimeout(); 17 | time_t config_time_esmtpkeepalive(); 18 | time_t config_time_esmtpkeepaliveping(); 19 | time_t config_time_esmtphelo(); 20 | time_t config_time_esmtpquit(); 21 | time_t config_time_esmtpconnect(); 22 | time_t config_time_esmtpdata(); 23 | time_t config_time_esmtpdelay(); 24 | 25 | #ifdef __cplusplus 26 | } 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtpd.cnf.gnutls: -------------------------------------------------------------------------------- 1 | organization = "Courier Mail Server" 2 | unit = "Automatically-generated ESMTP SSL key" 3 | locality = "New York" 4 | state = "NY" 5 | country = US 6 | cn = "localhost" 7 | serial = 001 8 | expiration_days = 365 9 | email = "postmaster@example.com" 10 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtpd.cnf.openssl: -------------------------------------------------------------------------------- 1 | 2 | RANDFILE = /usr/lib/courier/share/esmtpd.rand 3 | 4 | [ req ] 5 | default_bits = 4096 6 | encrypt_key = yes 7 | distinguished_name = req_dn 8 | x509_extensions = cert_type 9 | prompt = no 10 | default_md = sha256 11 | 12 | [ req_dn ] 13 | C=US 14 | ST=NY 15 | L=New York 16 | O=Courier Mail Server 17 | OU=Automatically-generated ESMTP STARTTLS key 18 | CN=localhost 19 | emailAddress=postmaster@example.com 20 | 21 | 22 | [ cert_type ] 23 | nsCertType = server 24 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtpd.cnf.openssl.in: -------------------------------------------------------------------------------- 1 | 2 | RANDFILE = @certsdir@/esmtpd.rand 3 | 4 | [ req ] 5 | default_bits = 4096 6 | encrypt_key = yes 7 | distinguished_name = req_dn 8 | x509_extensions = cert_type 9 | prompt = no 10 | default_md = sha256 11 | 12 | [ req_dn ] 13 | C=US 14 | ST=NY 15 | L=New York 16 | O=Courier Mail Server 17 | OU=Automatically-generated ESMTP STARTTLS key 18 | CN=localhost 19 | emailAddress=postmaster@example.com 20 | 21 | 22 | [ cert_type ] 23 | nsCertType = server 24 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/esmtpiov.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef esmtpiov_h 7 | #define esmtpiov_h 8 | 9 | #if HAVE_CONFIG_H 10 | #include "config.h" 11 | #endif 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | extern time_t iovread_timeout, iovwrite_timeout; 18 | extern void iovflush(); 19 | extern int iovwaitfordata(time_t *, int); 20 | extern char *iovreadline(); 21 | extern void addiovec(const char *, size_t); 22 | extern void iovreset(); 23 | 24 | extern void iov_logerror(const char *, const char *); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/makeacceptmailfor.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | localstatedir="@localstatedir@" 10 | bindir="@bindir@" 11 | 12 | umask 022 13 | exec ${bindir}/makedat \ 14 | -src=${sysconfdir}/esmtpacceptmailfor.dir \ 15 | -file=${sysconfdir}/esmtpacceptmailfor.dat \ 16 | -tmp=${sysconfdir}/esmtpacceptmailfor.tmp 17 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/makepercentrelay.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 1998 - 1999 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | localstatedir="@localstatedir@" 10 | bindir="@bindir@" 11 | 12 | umask 022 13 | exec ${bindir}/makedat \ 14 | -src=${sysconfdir}/esmtppercentrelay.dir \ 15 | -file=${sysconfdir}/esmtppercentrelay.dat \ 16 | -tmp=${sysconfdir}/esmtppercentrelay.tmp 17 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/smtproutes.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2001 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef smtproutes_h 7 | #define smtproutes_h 8 | 9 | #if HAVE_CONFIG_H 10 | #include "config.h" 11 | #endif 12 | 13 | extern char *smtproutes(const char *, int *); 14 | 15 | #define ROUTE_STARTTLS 1 16 | #define ROUTE_TLS_REQUIRED 2 17 | #define ROUTE_SMTPS 4 18 | #define ROUTE_IPV4 8 19 | #define ROUTE_IPV6 16 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/module.esmtp/staticlist.c.in: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "rw.h" 8 | #include "lcrwstaticlist.h" 9 | 10 | DECLARE_STATICFUNCS(esmtp) 11 | 12 | struct rw_static_info rw_static[] = { 13 | LIST_STATICFUNCS(esmtp), 14 | { 0, 0, 0} 15 | } ; 16 | -------------------------------------------------------------------------------- /courier/courier/module.fax/.gitignore: -------------------------------------------------------------------------------- 1 | /application-pdf.filter 2 | /application-postscript.filter 3 | /courierfax 4 | /courierfax.8 5 | /courierfax.8.in 6 | /courierfax.html 7 | /courierfax.html.in 8 | /coverpage 9 | /faxcoverpage.tr.dist 10 | /faxnotifyrc.dist 11 | /faxrc.dist 12 | /faxtmpdir.h 13 | /filterbindir.h 14 | /image-gif.filter 15 | /image-jpeg.filter 16 | /image-png.filter 17 | /init 18 | /module.fax 19 | /new_fax 20 | /sendfax.h 21 | /text-plain.filter 22 | -------------------------------------------------------------------------------- /courier/courier/module.fax/application-pdf.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002-2010 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | cat >$OUTDIR/.pdf 10 | @PDFTOPS@ -q $OUTDIR/.pdf $OUTDIR/.ps 11 | rm -f $OUTDIR/.pdf 12 | 13 | $GS -P -sDEVICE=faxg3 $FAXRES -dBATCH -sOutputFile=$OUTDIR/f%04d -dNOPAUSE -q -dSAFER - <$OUTDIR/.ps 14 | -------------------------------------------------------------------------------- /courier/courier/module.fax/application-postscript.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002-2010 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | $GS -P -sDEVICE=faxg3 $FAXRES -dBATCH -sOutputFile=$OUTDIR/f%04d -dNOPAUSE -q -dSAFER - 10 | -------------------------------------------------------------------------------- /courier/courier/module.fax/courier.config: -------------------------------------------------------------------------------- 1 | NAME=fax 2 | PRIORITY=45 3 | PROG=./courierfax 4 | MAXDELS=1 5 | MAXHOST=1 6 | MAXRCPT=1 7 | -------------------------------------------------------------------------------- /courier/courier/module.fax/faxconvert.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 2002 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef faxconvert_h 7 | #define faxconvert_h 8 | 9 | #include "config.h" 10 | 11 | struct sort_file_list { 12 | struct sort_file_list *next; 13 | char *filename; 14 | } ; 15 | 16 | struct sort_file_list *read_dir_sort_filenames(const char *, 17 | const char *); 18 | 19 | void rmdir_contents(const char *); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /courier/courier/module.fax/image-gif.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | cat >$OUTDIR/.gif 10 | @GIFTOPNM@ $OUTDIR/.gif >$OUTDIR/.pnm 11 | rm -f $OUTDIR/.gif 12 | @PNMSCALE@ -xysize 1728 2000 $OUTDIR/.pnm >$OUTDIR/.pnm2 2>/dev/null 13 | rm -f $OUTDIR/.pnm 14 | 15 | if test "$FAXRES" = "lo" 16 | then 17 | @PNMSCALE@ -yscale 0.5 $OUTDIR/.pnm2 >$OUTDIR/.pnm 2>/dev/null 18 | mv $OUTDIR/.pnm $OUTDIR/.pnm2 19 | fi 20 | 21 | @PPMTOPGM@ $OUTDIR/.pnm2 >$OUTDIR/.pgm 22 | rm -f $OUTDIR/.pnm2 23 | @PGMTOPBM@ $OUTDIR/.pgm >$OUTDIR/.pbm 24 | rm -f $OUTDIR/.pgm 25 | @PBMTOG3@ $OUTDIR/.pbm >$OUTDIR/f0001.g3 26 | -------------------------------------------------------------------------------- /courier/courier/module.fax/image-jpeg.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | cat >$OUTDIR/.jpg 10 | @JPEGTOPNM@ $OUTDIR/.jpg >$OUTDIR/.pnm 11 | rm -f $OUTDIR/.jpg 12 | @PNMSCALE@ -xysize 1728 2000 $OUTDIR/.pnm >$OUTDIR/.pnm2 2>/dev/null 13 | rm -f $OUTDIR/.pnm 14 | 15 | if test "$FAXRES" = "lo" 16 | then 17 | @PNMSCALE@ -yscale 0.5 $OUTDIR/.pnm2 >$OUTDIR/.pnm 2>/dev/null 18 | mv $OUTDIR/.pnm $OUTDIR/.pnm2 19 | fi 20 | 21 | @PPMTOPGM@ $OUTDIR/.pnm2 >$OUTDIR/.pgm 22 | rm -f $OUTDIR/.pnm2 23 | @PGMTOPBM@ $OUTDIR/.pgm >$OUTDIR/.pbm 24 | rm -f $OUTDIR/.pgm 25 | @PBMTOG3@ $OUTDIR/.pbm >$OUTDIR/f0001.g3 26 | -------------------------------------------------------------------------------- /courier/courier/module.fax/image-png.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | cat >$OUTDIR/.png 10 | @PNGTOPNM@ $OUTDIR/.png >$OUTDIR/.pnm 11 | rm -f $OUTDIR/.png 12 | @PNMSCALE@ -xysize 1728 2000 $OUTDIR/.pnm >$OUTDIR/.pnm2 2>/dev/null 13 | rm -f $OUTDIR/.pnm 14 | 15 | if test "$FAXRES" = "lo" 16 | then 17 | @PNMSCALE@ -yscale 0.5 $OUTDIR/.pnm2 >$OUTDIR/.pnm 2>/dev/null 18 | mv $OUTDIR/.pnm $OUTDIR/.pnm2 19 | fi 20 | 21 | @PPMTOPGM@ $OUTDIR/.pnm2 >$OUTDIR/.pgm 22 | rm -f $OUTDIR/.pnm2 23 | @PGMTOPBM@ $OUTDIR/.pgm >$OUTDIR/.pbm 24 | rm -f $OUTDIR/.pgm 25 | @PBMTOG3@ $OUTDIR/.pbm >$OUTDIR/f0001.g3 26 | -------------------------------------------------------------------------------- /courier/courier/module.fax/init.in: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2002 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | # 5 | # Common initialization for shell-based filters 6 | 7 | OUTDIR="$1" 8 | TROFF=@TROFF@ 9 | DPOST=@DPOST@ 10 | TBL=@TBL@ 11 | GS="@GS@ -P-" 12 | 13 | prefix=@prefix@ 14 | exec_prefix=@exec_prefix@ 15 | sysconfdir=@sysconfdir@ 16 | 17 | FAXRES="${FAXRES:-hi}" 18 | 19 | if test "$FAXRES" = "lo" 20 | then 21 | FAXRES="-r204x98" 22 | else 23 | FAXRES="-r204x196" 24 | fi 25 | 26 | die() { 27 | echo "Unable to generate fax document - $1 not found" >&2 28 | exit 1 29 | } 30 | 31 | test -x $TROFF || die $TROFF 32 | test -x $DPOST || die $DPOST 33 | test -x $TBL || die $TBL 34 | 35 | set -e 36 | -------------------------------------------------------------------------------- /courier/courier/module.fax/text-plain.filter.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2002 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | # 6 | 7 | . @filterbindir@/init 8 | 9 | ( 10 | echo ".de HD" 11 | echo ".sp 4" 12 | echo ".in -1i" 13 | echo ".ll 7.5i" 14 | echo ".." 15 | echo ".de FT" 16 | echo ".bp" 17 | echo ".." 18 | echo ".wh 0 HD" 19 | echo ".wh -1i FT" 20 | echo ".ft CW" 21 | echo ".nf" 22 | sed 's/\\/\\\\/g;s/^/\\\&/' 23 | echo ".fi" 24 | ) >$OUTDIR/.troff 25 | $TROFF <$OUTDIR/.troff >$OUTDIR/.dpost 26 | rm -f $OUTDIR/.troff 27 | $DPOST <$OUTDIR/.dpost >$OUTDIR/.ps 28 | rm -f $OUTDIR/.dpost 29 | $GS -sDEVICE=faxg3 $FAXRES -dBATCH -sOutputFile=$OUTDIR/f%04d -dNOPAUSE -q -dSAFER - <$OUTDIR/.ps 30 | -------------------------------------------------------------------------------- /courier/courier/module.local/.gitignore: -------------------------------------------------------------------------------- 1 | /courierdeliver 2 | /courierlocal 3 | /libexecdir.h 4 | /module.local 5 | /modulelist.h 6 | /preline 7 | /sysconfdir.h 8 | -------------------------------------------------------------------------------- /courier/courier/module.local/courier.config: -------------------------------------------------------------------------------- 1 | NAME=local 2 | PRIORITY=10 3 | PROG=./courierlocal 4 | MAXDELS=10 5 | MAXHOST=4 6 | -------------------------------------------------------------------------------- /courier/courier/module.uucp/.gitignore: -------------------------------------------------------------------------------- 1 | /courieruucp 2 | /courieruucp.8 3 | /courieruucp.8.in 4 | /courieruucp.html 5 | /courieruucp.html.in 6 | /makeuucpneighbors 7 | /module.uucp 8 | /staticlist.c 9 | /sysconfdir.h 10 | -------------------------------------------------------------------------------- /courier/courier/module.uucp/courier.config: -------------------------------------------------------------------------------- 1 | NAME=uucp 2 | PRIORITY=5 3 | PROG=./courieruucp 4 | MAXDELS=4 5 | MAXHOST=4 6 | MAXRCPT=16 7 | -------------------------------------------------------------------------------- /courier/courier/module.uucp/makeuucpneighbors.in: -------------------------------------------------------------------------------- 1 | #! @SHELL@ 2 | # 3 | # Copyright 2000 Double Precision, Inc. See COPYING for 4 | # distribution information. 5 | 6 | prefix="@prefix@" 7 | exec_prefix="@exec_prefix@" 8 | sysconfdir="@sysconfdir@" 9 | localstatedir="@localstatedir@" 10 | bindir="@bindir@" 11 | 12 | umask 022 13 | exec ${bindir}/makedat \ 14 | -src=${sysconfdir}/uucpneighbors \ 15 | -file=${sysconfdir}/uucpneighbors.dat \ 16 | -tmp=${sysconfdir}/uucpneighbors.tmp 17 | -------------------------------------------------------------------------------- /courier/courier/module.uucp/staticlist.c.in: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2004 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "rw.h" 8 | #include "lcrwstaticlist.h" 9 | 10 | DECLARE_STATICFUNCS(uucp) 11 | 12 | struct rw_static_info rw_static[] = { 13 | LIST_STATICFUNCS(uucp), 14 | { 0, 0, 0} 15 | } ; 16 | -------------------------------------------------------------------------------- /courier/courier/mydirent.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #ifndef mydirent_h 7 | #define mydirent_h 8 | 9 | #if HAVE_CONFIG_H 10 | #undef PACKAGE 11 | #undef VERSION 12 | #include "config.h" 13 | #endif 14 | 15 | #if HAVE_DIRENT_H 16 | #include 17 | #else 18 | #define dirent direct 19 | #if HAVE_SYS_NDIR_H 20 | #include 21 | #endif 22 | #if HAVE_SYS_DIR_H 23 | #include 24 | #endif 25 | #if HAVE_NDIR_H 26 | #include 27 | #endif 28 | #endif 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /courier/courier/showmodules.C: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 2007 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "comcargs.h" 8 | #include 9 | #include 10 | 11 | 12 | static const char *courierdir_arg=0; 13 | 14 | static struct courier_args arginfo[]={ 15 | {"dir", &courierdir_arg}, 16 | {0} 17 | } ; 18 | 19 | int cppmain(int argc, char **argv) 20 | { 21 | clog_open_stderr("showmodules"); 22 | rw_init_verbose(1); 23 | (void)cargs(argc, argv, arginfo); 24 | 25 | if (courierdir_arg) 26 | set_courierdir(courierdir_arg); 27 | if (rw_init_courier(0)) 28 | exit(1); 29 | exit (0); 30 | return (0); 31 | } 32 | -------------------------------------------------------------------------------- /courier/courier/style.css.tmpl: -------------------------------------------------------------------------------- 1 | /* style sheet */ 2 | 3 | body { font-family: Arial, Helvetica, "Sans Serif"; 4 | background-color: #ffffff; 5 | color: #000000; 6 | } 7 | 8 | a:link, a:visited { color: #000080 } 9 | a:active { color: #ff0000 } 10 | 11 | .error { color: #ff0000 } 12 | 13 | .configtbl { width: 100%; border-collapse: collapse; 14 | border-width: thin; border-style: solid; 15 | border-color: #000000 } 16 | 17 | .configtbl tbody tr td { padding-top: .1em; padding-bottom: .1em } 18 | 19 | .oddrow { background-color: #eeeeee } 20 | .evenrow { background-color: #cccccc } 21 | 22 | .email { font-family: "Courier New", monospace } 23 | -------------------------------------------------------------------------------- /courier/courier/sub2.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Subscription confirmation. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=iso-8859-1 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | Your subscription request has been succesfully confirmed! 10 | 11 | To unsubscribe to this mailing list, send an empty message to the following 12 | address: <##unsubscribe##> 13 | 14 | To send messages to this mailing list, write to the following address: 15 | <####> 16 | 17 | This mailing list manager can automatically process a number of mailing 18 | list functions, such as retrieving messages from the archive. For more 19 | help, write <##help##>. 20 | 21 | Your confirmation: 22 | 23 | -------------------------------------------------------------------------------- /courier/courier/sub3.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Subscription confirmation. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=iso-8859-1 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | Your subscription request has been received, but it appears that you 10 | are already subscribed to this mailing list, so no further action was 11 | taken. 12 | 13 | Your confirmation: 14 | 15 | -------------------------------------------------------------------------------- /courier/courier/sub4.tmpl: -------------------------------------------------------------------------------- 1 | Mime-Version: 1.0 2 | Content-Type: text/plain; charset=iso-8859-1 3 | Content-Transfer-Encoding: 8bit 4 | 5 | Hello, this is the Courier mailing list manager. I manage the mailing 6 | list <####>. 7 | 8 | I received the following subscription request. To approve this 9 | subscription request, just reply to this message. To reject this 10 | subscription request, reply to this message and add the word "no" to the 11 | start of the subject line. 12 | 13 | Copy of the original subscription request received: 14 | 15 | -------------------------------------------------------------------------------- /courier/courier/sub5.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Subscription rejection. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=utf-8 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | I received the following subscription request, but it has been rejected 10 | by the moderator. This is a moderated mailing list, and all subscription 11 | requests are subject to moderator's approval. 12 | 13 | Copy of the original subscription request received: 14 | 15 | -------------------------------------------------------------------------------- /courier/courier/suback.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list acknowledgement 2 | -------------------------------------------------------------------------------- /courier/courier/subjrequest.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list confirmation request 2 | -------------------------------------------------------------------------------- /courier/courier/submitmkdir.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright 1998 - 1999 Double Precision, Inc. 3 | ** See COPYING for distribution information. 4 | */ 5 | 6 | #include "courier.h" 7 | #include "localstatedir.h" 8 | #include 9 | #include 10 | #if HAVE_SYS_TYPES_H 11 | #include 12 | #endif 13 | #if HAVE_SYS_STAT_H 14 | #include 15 | #endif 16 | #if HAVE_UNISTD_H 17 | #include 18 | #endif 19 | 20 | int main(int argc, char **argv) 21 | { 22 | umask(007); 23 | if (chdir(courierdir()) == 0 && chdir(TMPDIR) == 0 && argc > 1) 24 | { 25 | const char *p=argv[1]; 26 | 27 | for ( ; *p; p++) 28 | if (*p < '0' || *p > '9') exit(0); 29 | mkdir(argv[1], 0770); 30 | } 31 | exit(0); 32 | } 33 | -------------------------------------------------------------------------------- /courier/courier/subreportfooter.tmpl: -------------------------------------------------------------------------------- 1 | 2 | Have a nice day. 3 | -------------------------------------------------------------------------------- /courier/courier/subreporthdr.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list subscriber report. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=iso-8859-1 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | This is your report of new/removed subscribers for this mailing list. 10 | -------------------------------------------------------------------------------- /courier/courier/subreporthdr1.tmpl: -------------------------------------------------------------------------------- 1 | 2 | New subscribers: 3 | -------------------------------------------------------------------------------- /courier/courier/subreporthdr2.tmpl: -------------------------------------------------------------------------------- 1 | 2 | Subscribers removed by request: 3 | -------------------------------------------------------------------------------- /courier/courier/subreporthdr3.tmpl: -------------------------------------------------------------------------------- 1 | 2 | Subscribers automatically removed as undeliverable: 3 | -------------------------------------------------------------------------------- /courier/courier/testsuite.alias: -------------------------------------------------------------------------------- 1 | everyone@example.com: gloria@example.com 2 | everyone@example.com: john@example.com 3 | everyone@example.com: steve@domain.com 4 | everyone@example.com: steve@example.com 5 | sales@example.com: gloria@example.com 6 | sales@example.com: john@example.com 7 | steve@example.com: steve@domain.com 8 | steve@example.com: steve@example.com 9 | sysadmin@example.com: john@example.com 10 | sysadmin@example.com: steve@domain.com 11 | sysadmin@example.com: steve@example.com 12 | -------------------------------------------------------------------------------- /courier/courier/testsuite.alias1.in: -------------------------------------------------------------------------------- 1 | *steve@example.com 2 | *everyone@example.com 3 | *sysadmin@example.com 4 | *sales@example.com 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | . 22 | -------------------------------------------------------------------------------- /courier/courier/testsuite.alias2.in: -------------------------------------------------------------------------------- 1 | *steve@example.com 2 | *everyone@example.com 3 | *sysadmin@example.com 4 | *sales@example.com 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | . 22 | -------------------------------------------------------------------------------- /courier/courier/unsub2.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Subscription removal confirmation. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=iso-8859-1 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | Your unsubscription request has been succesfully processed. 10 | 11 | Your confirmation: 12 | 13 | -------------------------------------------------------------------------------- /courier/courier/unsub3.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Subscription removal confirmation. 2 | Mime-Version: 1.0 3 | Content-Type: text/plain; charset=iso-8859-1 4 | Content-Transfer-Encoding: 8bit 5 | 6 | Hello, this is the Courier mailing list manager. I manage the mailing 7 | list <####>. 8 | 9 | Your unsubscription request has been received, but I cannot find your 10 | E-mail address on the subscription list for this mailing list, so no 11 | further action was taken. 12 | 13 | Your confirmation: 14 | 15 | -------------------------------------------------------------------------------- /courier/courier/warn1headers.tmpl: -------------------------------------------------------------------------------- 1 | Subject: Mailing list warning. 2 | -------------------------------------------------------------------------------- /courier/courier/warn1text2.tmpl: -------------------------------------------------------------------------------- 1 | 2 | A copy of the most recent non-delivery report is attached. 3 | 4 | -------------------------------------------------------------------------------- /courier/courier/webadmin/.gitignore: -------------------------------------------------------------------------------- 1 | /admin-05local.pl 2 | -------------------------------------------------------------------------------- /courier/courier/webmlm.tmpl: -------------------------------------------------------------------------------- 1 | Or, instead of replying, click here: 2 | 3 | 4 | -------------------------------------------------------------------------------- /courier/courier/webmlm.tmpl.html: -------------------------------------------------------------------------------- 1 |

Or, instead of replying, click on the following link: 2 | <[url]>.

3 | 4 | -------------------------------------------------------------------------------- /courier/courier/webmlmconfirm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Courier Mailing List Manager 8 | 9 | 10 | 11 |

Request confirmation

12 | 13 |
14 |

Your confirmation is required to process this 15 | request.

18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /courier/courier/webmlmddirs.H: -------------------------------------------------------------------------------- 1 | /* 2 | ** 3 | ** Copyright 2007 Double Precision, Inc. 4 | ** See COPYING for distribution information. 5 | */ 6 | 7 | #ifndef webmlmddirs_H 8 | #define webmlmddirs_H 9 | 10 | #include 11 | #include 12 | 13 | namespace webmlmd { 14 | 15 | // List of mailing list directories managed by webmlmd 16 | 17 | class dirs : public std::vector { 18 | 19 | class OrderByLastComponent; 20 | class OrderByListName; 21 | class EqualLastComponent; 22 | 23 | public: 24 | dirs(); 25 | ~dirs(); 26 | 27 | bool initialize(std::string colonpath); // From here 28 | }; 29 | } 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /courier/courier/webmlmerror.tmpl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Courier Mailing List Manager 8 | 9 | 10 | 11 |

Error

12 | 13 |

[@ERRMSG@]

14 | 15 |

Continue

16 | 17 | 18 | -------------------------------------------------------------------------------- /courier/courier/webmlmnotprocessed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Courier Mailing List Manager 8 | 9 | 10 | 11 |

ERROR: Request not processed

12 |
13 | [@ERROR@]
14 | 
15 | 16 |

Continue

17 | 18 | 19 | -------------------------------------------------------------------------------- /courier/courier/webmlmpleasewait.tmpl.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | Courier Mailing List Manager 12 | 13 | 14 | 15 |

[@LISTNAME@] - please wait...

16 | 17 |

Please wait...

18 |
19 | Cancel, and return to list 20 | administration page 21 | 22 | 23 | -------------------------------------------------------------------------------- /courier/courier/webmlmprocessed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Courier Mailing List Manager 8 | 9 | 10 | 11 |

Request processed

12 | 13 |

Your request was processed, and a confirmation E-mail was sent to you.

14 | 15 |

Continue

16 | 17 | 18 | -------------------------------------------------------------------------------- /courier/courier/webmlmrequestreceived.tmpl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Courier Mailing List Manager 8 | 9 | 10 | 11 |

Request received

12 | 13 |

An E-mail message was sent to this address, which you should 14 | receive shortly. Follow the instructions in the E-mail message to 15 | process your request.

16 | 17 |

Continue

18 | 19 | 20 | -------------------------------------------------------------------------------- /courier/courier/webmlmsubinfo.tmpl.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | Courier Mailing List Manager 11 | 12 | 13 | 14 |

[@LISTNAME@] - subscribtion information

15 |
16 | [@SUBINFO@]
17 | 
18 |
19 | 20 |

Close

21 | 22 | 23 | -------------------------------------------------------------------------------- /courier/dbobj.config.in: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2000-2008 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | 5 | dblibrary="@dblibrary@" 6 | -------------------------------------------------------------------------------- /courier/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /courier/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | courier (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-ldap.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | executable-is-not-world-readable 0500 [usr/lib/courier/sbin/courierldapaliasd] 5 | non-standard-executable-perm 0500 != 0755 [usr/lib/courier/sbin/courierldapaliasd] 6 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15ldap.html] 7 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15ldap.pl] 8 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15ldapa.html] 9 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15ldapa.pl] 10 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-maildrop.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | elevated-privileges 4511 root/daemon [usr/lib/courier/bin/maildrop] 5 | executable-is-not-world-readable 4511 [usr/lib/courier/bin/maildrop] 6 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/bin/mailbot] 7 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/bin/reformail] 8 | non-standard-setuid-executable-perm 4511 [usr/lib/courier/bin/maildrop] 9 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-mlm-web-apache2.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically disable courier-mlm-web when removing this package 3 | # 4 | apache2-reverse-dependency-calls-wrapper-script a2disconf [prerm:10] 5 | # 6 | # Automatically reload apache when removing this package 7 | # 8 | maintainer-script-calls-systemctl [prerm:11] 9 | # 10 | # Separate subpackage, for convenience. Dependency specified. 11 | # 12 | web-application-works-only-with-apache courier-mlm-web.conf* 13 | # 14 | # Separate subpackage, for convenience. Dependency specified. 15 | # 16 | non-standard-apache2-configuration-name courier-mlm-web.conf* 17 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-mlm-web.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/bin/webmlmd.rc] 5 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/bin/webmlmd] 6 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/libexec/cgi-bin/webmlm] 7 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-mlm.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/bin/couriermlm] 5 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-mysql.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15mysql.html] 5 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15mysql.pl] 6 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-pgsql.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15pgsql.html] 5 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-15pgsql.pl] 6 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-pop3d.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/libexec/courier/courierpop3d] 5 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/libexec/courier/courierpop3login] 6 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/share/pop3d-ssl] 7 | non-standard-executable-perm 0555 != 0755 [usr/lib/courier/share/pop3d] 8 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/configlist.pop3] 9 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-45pop3.html] 10 | non-standard-file-perm 0444 != 0644 [usr/lib/courier/share/courierwebadmin/admin-45pop3.pl] 11 | non-standard-file-perm 0600 != 0644 [etc/courier/pop3d.cnf] 12 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-webadmin-apache2.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically disable courier-webadmin when removing this package 3 | # 4 | apache2-reverse-dependency-calls-wrapper-script a2disconf [prerm:10] 5 | # 6 | # Automatically reload apache when removing this package 7 | # 8 | maintainer-script-calls-systemctl [prerm:11] 9 | # 10 | # Separate subpackage, for convenience. Dependency specified. 11 | # 12 | web-application-works-only-with-apache courier-webadmin.conf* 13 | # 14 | # Separate subpackage, for convenience. Dependency specified. 15 | # 16 | non-standard-apache2-configuration-name courier-webadmin.conf* 17 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-webadmin.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package explicitly sets these permissions 3 | # 4 | executable-is-not-world-readable 0511 [usr/lib/courier/libexec/cgi-bin/webadmin] 5 | non-standard-executable-perm 0511 != 0755 [usr/lib/courier/libexec/cgi-bin/webadmin] 6 | -------------------------------------------------------------------------------- /courier/packaging/debian/courier-webmail-apache2.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically disable courier-webmail when removing this package 3 | # 4 | apache2-reverse-dependency-calls-wrapper-script a2disconf [prerm:10] 5 | # 6 | # Automatically reload apache when removing this package 7 | # 8 | maintainer-script-calls-systemctl [prerm:11] 9 | # 10 | # Separate subpackage, for convenience. Dependency specified. 11 | # 12 | web-application-works-only-with-apache courier-webmail.conf [etc/apache2/conf-available/courier-webmail.conf] 13 | # 14 | # Separate subpackage, for convenience. Dependency specified. 15 | # 16 | non-standard-apache2-configuration-name courier-webmail.conf* 17 | -------------------------------------------------------------------------------- /courier/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | package-contains-file-in-etc-skel 3 | -------------------------------------------------------------------------------- /courier/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /courier/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Documentation in upstream packaging or tarball 3 | # 4 | source-is-missing * 5 | # 6 | # Package installs specific permissions for every file and directory 7 | # 8 | override_dh_fixperms-does-not-call-dh_fixperms [debian/rules:*] 9 | -------------------------------------------------------------------------------- /courier/webadmin/.gitignore: -------------------------------------------------------------------------------- 1 | dumpenv.pl 2 | webadmin 3 | webadmin.pl 4 | sockdir.h 5 | -------------------------------------------------------------------------------- /courier/webadmin/admin-cancel.pl: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2001 Double Precision, Inc. See COPYING for 3 | # distribution information. 4 | 5 | foreach (ReadConfigFiles()) 6 | { 7 | unlink ("$sysconfdir/webadmin/added/$_", 8 | "$sysconfdir/webadmin/removed/$_"); 9 | } 10 | unlink("$sysconfdir/webadmin/subdirs-removed"); 11 | unlink("$sysconfdir/webadmin/subdirs-added"); 12 | unlink "$sysconfdir/webadmin/changed"; 13 | 14 | print $cgi->redirect( $cgi->url(-full=>1)); 15 | exit 0 16 | -------------------------------------------------------------------------------- /courier/webadmin/dumpenv.pl.in: -------------------------------------------------------------------------------- 1 | #! @PERL@ 2 | 3 | foreach (keys %ENV) 4 | { 5 | my $v=$ENV{$_}; 6 | 7 | $v =~ s:\\:\\\\:g; 8 | $v =~ s:\n:\\n:g; 9 | 10 | print "$_=$v\n"; 11 | } 12 | -------------------------------------------------------------------------------- /maildrop/AUTHORS: -------------------------------------------------------------------------------- 1 | maildrop is written by: 2 | 3 | Sam Varshavchik 4 | 402 Main Street 5 | Suite 100-241 6 | Metuchen, NJ 08840 7 | 8 | -------------------------------------------------------------------------------- /maildrop/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /maildrop/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /maildrop/NEWS: -------------------------------------------------------------------------------- 1 | Maildrop 1.7 2 | ------------ 3 | 4 | The new URL for maildrop's home page is http://www.courier-mta.org/maildrop/ 5 | 6 | Maildrop 1.2 7 | ------------ 8 | 9 | The major change in maildrop 1.2 is that the legacy installation layout has 10 | been finally removed. maildrop now installs in the standard GNU/FHS-compliant 11 | installation directories. The standard options to configure, --prefix, 12 | --exec-prefix, and others, are now used as intended. 13 | 14 | Additionally, development libraries are also installed. The development 15 | libraries contain functions that may be useful for programs and applications 16 | that parse E-mail and MIME headers. 17 | -------------------------------------------------------------------------------- /maildrop/README.html.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/maildrop/README.html.in -------------------------------------------------------------------------------- /maildrop/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /maildrop/dbobj.config.in: -------------------------------------------------------------------------------- 1 | dblibrary="@dblibrary@" 2 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | maildrop (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/maildrop-dev.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # DOCUMENT ME 3 | # 4 | groff-message troff::111: warning: macro 'an-trap' not defined [usr/share/man/man3/rfc822.3.gz:1] 5 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/maildrop-dev.soname.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Package was created directly from the upstream tarball. 3 | # 4 | package-name-doesnt-match-sonames librfc2045-0 librfc822-0 5 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | export CXX=g++%DEBGCC% 4 | export CC=gcc%DEBGCC% 5 | export SOVERSION=%SOVERSION% 6 | 7 | %: 8 | dh $@ 9 | 10 | override_dh_auto_configure: 11 | dh_auto_configure -- --with-devel --enable-syslog=1 --enable-trusted-users='root mail daemon postmaster qmaild mmdf' --enable-restrict-trusted=0 --enable-sendmail=/usr/sbin/sendmail 12 | 13 | override_dh_auto_install: 14 | dh_auto_install -- 15 | CONFIG_FILES=debian/auto_install.sh ./config.status 16 | chmod +x debian/auto_install.sh 17 | ln -s maildrop-dev.soname.lintian-overrides debian/maildrop-dev$(SOVERSION).lintian-overrides 18 | debian/auto_install.sh 19 | 20 | override_dh_builddeb: 21 | dh_builddeb -- $(DEB_BUILDDEB_OPTIONS) 22 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /maildrop/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Documentation in upstream packaging or tarball 3 | # 4 | source-is-missing * 5 | -------------------------------------------------------------------------------- /sqwebmail/.gitignore: -------------------------------------------------------------------------------- 1 | /INSTALL 2 | /INSTALL.txt 3 | /NEWS 4 | /README 5 | /config.rpath 6 | /dbobj.config 7 | /dbobj.h 8 | /deliverquota 9 | /deliverquota.8 10 | /libs 11 | /maildirmake 12 | /maildirmake.1 13 | /makemime 14 | /pcpd 15 | /reformime 16 | /sharedindexinstall 17 | /sharedindexsplit 18 | /sqwebmail.spec 19 | /sqwebmaild.rc 20 | /sysconftool 21 | -------------------------------------------------------------------------------- /sqwebmail/AUTHORS: -------------------------------------------------------------------------------- 1 | SqWebmail is written by 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | Vchkpw support based on code by Ken Jones, http://www.inter7.com 10 | 11 | LDAP support based on a patch by: 12 | Luc Saillard Thu, 30 Dec 1999 20:33:08 +0100 13 | 14 | MySQL support based on a patch by: 15 | Laszlo KAISER 16 | 17 | Current set of HTML templates file based on design by cniconsulting.com 18 | 19 | PostgreSQL support based on a patch by: 20 | Vittorio Ballestra 21 | -------------------------------------------------------------------------------- /sqwebmail/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /sqwebmail/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /sqwebmail/ChangeLog: -------------------------------------------------------------------------------- 1 | See libs/sqwebmail/ChangeLog for the real ChangeLog 2 | -------------------------------------------------------------------------------- /sqwebmail/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /sqwebmail/dbobj.config.in: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 1998 - 2008 Double Precision, Inc. 3 | # See COPYING for distribution information. 4 | 5 | dblibrary="@dblibrary@" 6 | -------------------------------------------------------------------------------- /sqwebmail/html/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | ForceType application/x-httpd-php 3 | 4 | -------------------------------------------------------------------------------- /sqwebmail/html/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/bg.gif -------------------------------------------------------------------------------- /sqwebmail/html/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/icon.gif -------------------------------------------------------------------------------- /sqwebmail/html/images/addressbook-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/addressbook-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/addressbook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/addressbook.png -------------------------------------------------------------------------------- /sqwebmail/html/images/addressbook2-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/addressbook2-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/addressbook2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/addressbook2.png -------------------------------------------------------------------------------- /sqwebmail/html/images/dsn-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/dsn-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/dsn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/dsn.png -------------------------------------------------------------------------------- /sqwebmail/html/images/filters-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/filters-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/filters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/filters.png -------------------------------------------------------------------------------- /sqwebmail/html/images/flowed-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/flowed-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/flowed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/flowed.png -------------------------------------------------------------------------------- /sqwebmail/html/images/folders-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/folders-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/folders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/folders.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgcreate-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgcreate-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgcreate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgcreate.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgkeys-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgkeys-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgkeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgkeys.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgsigned-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgsigned-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/gpgsigned.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/gpgsigned.png -------------------------------------------------------------------------------- /sqwebmail/html/images/html-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/html-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/html.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/html.png -------------------------------------------------------------------------------- /sqwebmail/html/images/monthly-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/monthly-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/monthly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/monthly.png -------------------------------------------------------------------------------- /sqwebmail/html/images/recurring-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/recurring-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/recurring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/recurring.png -------------------------------------------------------------------------------- /sqwebmail/html/images/spellcheck-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/spellcheck-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/spellcheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/spellcheck.png -------------------------------------------------------------------------------- /sqwebmail/html/images/weekly-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/weekly-sm.png -------------------------------------------------------------------------------- /sqwebmail/html/images/weekly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svarshavchik/courier/d94e0f46ecbf5c0c77f1a3b31e12d47abeed12cb/sqwebmail/html/images/weekly.png -------------------------------------------------------------------------------- /sqwebmail/html/manpage.css: -------------------------------------------------------------------------------- 1 | 2 | .LITERALLAYOUT, .STRUCTNAME, dt { font-family: courier new } 3 | .NOTE { background-color: #dddddd } 4 | 5 | .TOC dl dt { font-family: sans serif } 6 | .TOC dl dt a { font-family: courier new } 7 | 8 | .VARIABLELIST dl dt { background-color: #ddddff } 9 | 10 | .APPLICATION { font-family: serif; font-style: italic } 11 | 12 | .CALSTABLE { background-color: #ffffff } 13 | -------------------------------------------------------------------------------- /sqwebmail/html/style.css: -------------------------------------------------------------------------------- 1 | body { margin-top: 0px; margin-bottom: 0px; background-image: url(bg.gif); font-family: times new roman,serif; color: #000000;} 2 | 3 | a { color: #0000FF; } 4 | a:visited { color: #FF0000; } 5 | a:hover { color: #000000 } 6 | 7 | .button { color: #000000 } 8 | .button a { padding-left: 2pt; padding-right: 2pt } 9 | .button a:link,.button a:visited { color: #000080; text-decoration: none } 10 | .button a:hover { background-color: #ffff00; text-decoration: none; color: #000000 } 11 | 12 | h1 { font-family: arial,helvetica,sans serif; font-size: 200% } 13 | h2 { font-family: arial,helvetica,sans serif; font-size: 150% } 14 | 15 | ul li { padding-top: 5px; } 16 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | sqwebmail (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/lintian-overrides.allow-errors: -------------------------------------------------------------------------------- 1 | source-is-missing 2 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/source/lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Documentation in upstream packaging or tarball 3 | # 4 | source-is-missing * 5 | -------------------------------------------------------------------------------- /sqwebmail/packaging/debian/sqwebmail-apache2.lintian-overrides: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically disable sqwebmail when removing this package 3 | # 4 | apache2-reverse-dependency-calls-wrapper-script a2disconf [prerm:9] 5 | # 6 | # Automatically reload apache when removing this package 7 | # 8 | maintainer-script-calls-systemctl [prerm:10] 9 | # 10 | # Separate subpackage, for convenience. Dependency specified. 11 | # 12 | web-application-works-only-with-apache sqwebmail.conf [etc/apache2/conf-available/sqwebmail.conf] 13 | # 14 | # Separate subpackage, for convenience. Dependency specified. 15 | # 16 | non-standard-apache2-configuration-name sqwebmail.conf* 17 | -------------------------------------------------------------------------------- /sysconftool/.gitignore: -------------------------------------------------------------------------------- 1 | /libs 2 | /install-sh 3 | /missing 4 | /sysconftool 5 | /sysconftool.1 6 | /sysconftool.1.in 7 | /sysconftool.1.html 8 | /sysconftool.1.html.in 9 | /sysconftool.1.stamp 10 | /sysconftool.7 11 | /sysconftool.7.in 12 | /sysconftool.7.html 13 | /sysconftool.7.html.in 14 | /sysconftool.m4 15 | /sysconftool.spec 16 | /sysconftoolcheck 17 | /sysconftoolcheck.1 18 | /sysconftoolcheck.1.in 19 | /sysconftoolcheck.1.html 20 | /sysconftoolcheck.1.html.in 21 | /sysconftoolize.pl 22 | /sysconftoolize.1 23 | -------------------------------------------------------------------------------- /sysconftool/AUTHORS: -------------------------------------------------------------------------------- 1 | sysconftool is written by: 2 | 3 | Sam Varshavchik 4 | Double Precision, Inc. 5 | 402 Main Street 6 | Suite 100-241 7 | Metuchen, NJ 08840 8 | 9 | -------------------------------------------------------------------------------- /sysconftool/COPYING: -------------------------------------------------------------------------------- 1 | libs/common/COPYING -------------------------------------------------------------------------------- /sysconftool/COPYING.GPL: -------------------------------------------------------------------------------- 1 | libs/common/COPYING.GPL -------------------------------------------------------------------------------- /sysconftool/NEWS: -------------------------------------------------------------------------------- 1 | sysconftool is a script that is used by applications to update configuration 2 | files when a new version of the application is installed. sysconftool reads 3 | the new application configuration files, reads any older versions of those 4 | files that are already installed, then replaces the old versions with the 5 | new ones, but preserving any custom changes contained in the old versions. 6 | 7 | For more information on sysconftool, and why applications need it, see 8 | the installed manual pages: sysconftool(1) and sysconftool(7). With most 9 | versions of the man command: "man 1 sysconftool" and "man 7 sysconftool". 10 | Some man commands use the following syntax: "man -s 1 sysconftool" and 11 | "man -s 7 sysconftool". 12 | 13 | -------------------------------------------------------------------------------- /sysconftool/README: -------------------------------------------------------------------------------- 1 | The sysconftool package installs the sysconftool script for managing 2 | configuration files. The sysconftool package needs to be built and 3 | installed before installing all other Courier packages. 4 | -------------------------------------------------------------------------------- /sysconftool/autobloat: -------------------------------------------------------------------------------- 1 | libs/common/autobloat -------------------------------------------------------------------------------- /sysconftool/courier-debuild.in: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # 3 | # Wrapper script for running debuild to build this package. 4 | 5 | set -e 6 | 7 | f=`cd .. && ls @PACKAGE@-@VERSION@.tar* | sed -n 1p` 8 | rm -rf deb 9 | mkdir deb 10 | cp ../$f deb/`echo $f | sed 's/-/_/;s/.tar./.orig.tar./'` 11 | cd deb 12 | tar xf * 13 | cd @PACKAGE@-@VERSION@ 14 | cp -pr packaging/debian . 15 | debuild "$@" 16 | cd .. 17 | rm -rf @PACKAGE@-@VERSION@ 18 | echo "Built packages in the deb subdirectory." 19 | -------------------------------------------------------------------------------- /sysconftool/packaging/debian/.gitignore: -------------------------------------------------------------------------------- 1 | /changelog 2 | -------------------------------------------------------------------------------- /sysconftool/packaging/debian/changelog.in: -------------------------------------------------------------------------------- 1 | sysconftool (@VERSION@-100) devel; urgency=medium 2 | 3 | * Upstream release 4 | 5 | -- Sam Varshavchik @DATEFULL@ 6 | -------------------------------------------------------------------------------- /sysconftool/packaging/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | %: 4 | dh $@ 5 | 6 | override_dh_builddeb: 7 | dh_builddeb -- $(DEB_BUILDDEB_OPTIONS) 8 | -------------------------------------------------------------------------------- /sysconftool/packaging/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | --------------------------------------------------------------------------------