Permalink
Jump to Line
Switch branches/tags
master
projects/altix
projects/altix2
projects/amd64_xen_pv
projects/arm_eabi_vfp
projects/arm_eabi
projects/arm_intrng
projects/arm64
projects/armv6
projects/arpv2_merge_1
projects/ath_hal
projects/atomic64
projects/bhyve_npt_pmap
projects/bhyve_ref
projects/bhyve_svm
projects/bhyve
projects/bigbb
projects/binutils-2.17
projects/bmake
projects/bpfjit
projects/building-blocks
projects/calloutng
projects/cambria
projects/camlock
projects/capabilities8
projects/ci20_mips
projects/cider
projects/clang-sparc64
projects/clang-trunk
projects/clang350-import
projects/clang360-import
projects/clang370-import
projects/clangbsd-import
projects/clangbsd
projects/collation
projects/counters
projects/csup_wip
projects/cxl_iscsi
projects/diffused_head
projects/dtrace
projects/efi
projects/efika_mx
projects/elftoolchain-update-r3130
projects/elftoolchain
projects/em_mq
projects/enhanced_coredumps
projects/etc_ipv6
projects/flex-sf
projects/fuse
projects/geom-events
projects/geom_raid5
projects/graid/head
projects/graid/7
projects/graid/8
projects/gvinum
projects/hastd_wan
projects/head_mfi
projects/hid
projects/hps_head
projects/hwpmc
projects/hyperv
projects/ifnet
projects/ifq
projects/ino64
projects/iosched
projects/ipfw
projects/iscsi_opt
projects/jailconf
projects/jbuild
projects/jeff_mbuf
projects/jeff_mbuf2
projects/l2filter
projects/libpcap-update
projects/libprocstat
projects/libzfs_core
projects/lld-import
projects/lldb-r201577
projects/llvm-ia64
projects/lua-bootloader
projects/lwref
projects/mbuf_iovec
projects/mips
projects/mpsutil
projects/mtree
projects/multi-fibv6
projects/nand
projects/net80211_testsuite
projects/nfsv4-packrats
projects/nfsv4.1-client
projects/nfsv4.1-server
projects/ngroups
projects/numa
projects/ofed/base
projects/ofed/head
projects/onewire
projects/openssl-1.0.2
projects/openssl_098_merge_8
projects/paravirt
projects/pciehp
projects/pf
projects/physbio
projects/pmac_pmu
projects/pms
projects/pnet
projects/portbuild
projects/powernv
projects/powerpcspe
projects/ppc_linuxemu
projects/ppc64
projects/pseries
projects/quota64
projects/random_number_generator
projects/release-arm-redux
projects/release-arm64
projects/release-debugdist
projects/release-embedded
projects/release-install-debug
projects/release-mips
projects/release-noxdev
projects/release-pkg
projects/release-vmimage
projects/release_6_3_xen
projects/releng_6_xen
projects/releng_7_xen
projects/relnotes-restructure
projects/routing
projects/rrs_mqueue
projects/rrs_socrypto_tls
projects/rtentry_cache
projects/sbruno_firewire
projects/sbruno_64cpus
projects/sendfile
projects/specific_leg
projects/stable-10-opts-mk
projects/stable_7_xen
projects/stress2
projects/suj
projects/sv
projects/tcp_cc_head
projects/tcp_cc_7.x
projects/tcp_cc_8.x
projects/tcp_ffcaia2008_head
projects/tcp_ffcaia2008_8.x
projects/uefi
projects/umtx
projects/utrace2
projects/vap7
projects/varsym
projects/virtio
projects/vmxnet
projects/vps
projects/vxlan
projects/x2apic
projects/zfsd
release/2.0
release/2.0.5
release/2.1.0
release/2.1.5
release/2.1.6
release/2.1.6.1
release/2.1.7
release/2.2.0
release/2.2.1
release/2.2.2
release/2.2.5
release/2.2.6
release/2.2.7
release/2.2.8
release/3.0.0
release/3.1.0
release/3.2.0
release/3.3.0
release/3.4.0
release/3.5.0
release/4.0.0
release/4.1.0
release/4.1.1
release/4.2.0
release/4.3.0
release/4.4.0
release/4.5.0
release/4.6.0
release/4.6.1
release/4.6.2
release/4.7.0
release/4.8.0
release/4.9.0
release/4.10.0
release/4.11.0
release/5.0.0
release/5.1.0
release/5.2.0
release/5.2.1
release/5.3.0
release/5.4.0
release/5.5.0
release/6.0.0
release/6.1.0
release/6.2.0
release/6.3.0
release/6.4.0
release/7.0.0
release/7.1.0
release/7.2.0
release/7.3.0
release/7.4.0
release/8.0.0
release/8.1.0
release/8.2.0
release/8.3.0
release/8.4.0
release/9.0.0
release/9.1.0
release/9.2.0
release/9.3.0
release/10.0.0
release/10.1.0
release/10.2.0
releng/2.0a
releng/2.0b
releng/2.0.5
releng/4.3
releng/4.4
releng/4.5
releng/4.6
releng/4.7
releng/4.8
releng/4.9
releng/4.10
releng/4.11
releng/5.0
releng/5.1
releng/5.2
releng/5.3
releng/5.4
releng/5.5
releng/6.0
releng/6.1
releng/6.2
releng/6.3
releng/6.4
releng/7.0
releng/7.1
releng/7.2
releng/7.3
releng/7.4
releng/8.0
releng/8.1
releng/8.2
releng/8.3
releng/8.4
releng/9.0
releng/9.1
releng/9.2
releng/9.3
releng/10.0
releng/10.1
releng/10.2
stable/2.0.5
stable/2.1
stable/2.2
stable/3
stable/4
stable/5
stable/6
stable/7
stable/8
stable/9
stable/10
svn_head
user/adrian/ath_radar_stuff
user/adrian/if_ath_devel
user/adrian/if_ath_tx
user/adrian/net80211_amsdu_ff
user/adrian/net80211_tx
user/adrian/spoof_bind
user/ae/bootcode
user/ae/inet6
user/ae/usr.sbin
user/alc/PQ_LAUNDRY
user/alc/cachefree
user/alc/pagelock
user/alc/pmap
user/alc/pvh_global_lock
user/alc/superpages
user/alc/zerocopy
user/alfred/ewatchdog
user/alfred/so_discard
user/alfred/9-alfred
user/andre/mbuf_staging
user/andre/routelocking
user/andre/tcp-ao
user/andre/tcp_workqueue
user/attilio/jeff-numa
user/attilio/membarclean
user/attilio/rm_vmobj_cache
user/attilio/vmc-playground
user/attilio/vmcontention
user/attilio/vmobj-fullread
user/attilio/vmobj-readlock
user/attilio/vmobj-rwlock
user/avg/xcpu
user/brooks/openssh-hpn
user/brooks/tchacks
user/bryanv/vtnetmq
user/bugmeister/gnats
user/bz/unbound_dns64
user/cperciva/EC2-build
user/cperciva/freebsd-update-build
user/cperciva/freebsd-update-mirror
user/cperciva/panicmail
user/cperciva/pkesh
user/cperciva/portsnap-build
user/cperciva/portsnap-mirror
user/crees/rclint
user/davidxu/libthr
user/davidxu/pth_objdestroy
user/dchagin/lemul
user/delphij/libz-8
user/delphij/patch
user/delphij/zfs-arc-rebase
user/delphij/zfs-lz4
user/des/bsddom
user/des/fbce
user/des/fbp
user/des/fetch
user/des/fmerge
user/des/ndr
user/des/phybs
user/des/refetch
user/des/sizes
user/des/struct
user/des/svnsup
user/des/tinderbox
user/des/zfs-backup
user/dfr/gssapi
user/dfr/xenhvm
user/dim/merge-test
user/dim/merge-test2
user/dougb/portmaster
user/ed/newcons
user/edwin/calendar
user/edwin/locale
user/edwin/releasenotes
user/edwin/tftpd
user/edwin/top
user/edwin/tzcode
user/eri/net
user/eri/netinet
user/eri/pf45
user/fabient/svctest
user/gabor/grep
user/gabor/tre-integration
user/gad/singlemod
user/gjb/hacking
user/gjb/release-embedded
user/gjb/thermite
user/glebius/course
user/gnn/fasttrap
user/gnn/geom
user/gonzo/bugzilla-freebsd
user/hrs/arm
user/hrs/ipv6
user/hrs/rc.d
user/hrs/releng
user/imp/config_reorg_sys
user/imp/ext_comp
user/imp/extern_cc
user/imp/masq
user/imp/newcard
user/imp/nopriv
user/imp/tbemd
user/jceel/soc2012_armv6
user/jceel/soc2014_evdev
user/jchandra/xlp-merge
user/jchandra/8-stable-mips
user/jgh/icedtea6
user/jimharris/ioat
user/jimharris/isci
user/jmallett/octeon
user/jmmv/autotest
user/keramida/tzcode
user/keramida/vendor
user/kib/vm6
user/kmacy/HEAD_ECMP
user/kmacy/HEAD_fast_multi_xmit
user/kmacy/HEAD_fast_net_merge
user/kmacy/HEAD_fast_net
user/kmacy/HEAD_fast_xmit
user/kmacy/HEAD_flowtable
user/kmacy/HEAD_multi_tx
user/kmacy/head_arpv2
user/kmacy/head_flowtable_v6
user/kmacy/head_page_lock_incr
user/kmacy/head_page_lock
user/kmacy/head_page_lock_2
user/kmacy/head_ppacket
user/kmacy/head_zfs_merge
user/kmacy/head_zfs_updates
user/kmacy/head_zlib
user/kmacy/releng_7_fast_net
user/kmacy/releng_7_2_fast_net
user/kmacy/releng_7_2_fcs
user/kmacy/releng_7_2_fcs_1
user/kmacy/releng_7_2_xen
user/kmacy/releng_7_2_zfs
user/kmacy/releng_8_fcs_buf_xen
user/kmacy/releng_8_fcs_buf
user/kmacy/releng_8_fcs
user/kmacy/releng_8_page_lock
user/kmacy/releng_8_rump
user/kmacy/stable_7_page_lock
user/lstewart/alq_varlen_7.x
user/lstewart/alq_varlen_8.x
user/lstewart/dummynet_7.x
user/lstewart/dummynet_8.x
user/lstewart/misc_7.x
user/lstewart/misc_8.x
user/luigi/geom_sched
user/luigi/ipfw
user/luigi/ipfw_80
user/luigi/netmap
user/marcel/altix-eol
user/marcel/ia64-eol
user/marcel/libvdsk
user/marcel/mkimg
user/marcel/vtc.sys
user/mjacob/sys
user/mlaier/pf44head
user/mr/ficl
user/netchild/calendar-utf8
user/netchild/coverity
user/netchild/deskjail
user/netchild/doxygen
user/netchild/jailmount
user/netchild/linuxaio
user/netchild/linuxulator-dtrace
user/netchild/misc
user/netchild/obsolete
user/ngie/add-pjdfstest
user/ngie/bug203673
user/ngie/checkdpadd-fixes
user/ngie/detangle-rc
user/ngie/fix-progs
user/ngie/github-test-cherrypicks
user/ngie/more-tests.broken
user/ngie/more-tests
user/ngie/more-tests2
user/ngie/optional-require
user/np/cxl_tuning
user/np/stable_9_toe
user/np/toe_iwarp
user/nwhitehorn/bsdinstall
user/nwhitehorn/ps3
user/nyan/pc98
user/obrien/krb5bld
user/obrien/libmd-ossl
user/peter/kinfo
user/peter/long_cpumask
user/pho/stress2
user/piso/ipfw_old
user/piso/ipfw
user/rafan/ncurses
user/rpaulo/aird
user/rpaulo/armpmc
user/rpaulo/eeemon
user/rpaulo/ubthidctl
user/sam/wifi
user/sbruno/ard
user/sbruno/head_146698
user/sbruno/head_177038
user/sbruno/head_189017
user/sbruno/mfid
user/sbruno/mptd
user/sbruno/pxe_http-gsoc2007
user/sbruno/pxe_http_head
user/sbruno/pxe_http
user/sbruno/pxestuff
user/sbruno/1394dev
user/syuu/bhyve_standalone_guest_test1
user/syuu/bhyve_standalone_guest
user/syuu/mq_bpf
user/thompsa/usb
user/thompsa/vaptq
user/uqs/scan-world
user/weongyo/usb
user/yar/rcguard
Nothing to show
Nothing to show
| #!/bin/sh | |
| # | |
| # $FreeBSD$ | |
| # | |
| # PROVIDE: mail | |
| # REQUIRE: LOGIN FILESYSTEMS | |
| # we make mail start late, so that things like .forward's are not | |
| # processed until the system is fully operational | |
| # KEYWORD: shutdown | |
| # XXX - Get together with sendmail mantainer to figure out how to | |
| # better handle SENDMAIL_ENABLE and 3rd party MTAs. | |
| # | |
| . /etc/rc.subr | |
| name="sendmail" | |
| rcvar="sendmail_enable" | |
| required_files="/etc/mail/${name}.cf" | |
| start_precmd="sendmail_precmd" | |
| load_rc_config $name | |
| command=${sendmail_program:-/usr/sbin/${name}} | |
| pidfile=${sendmail_pidfile:-/var/run/${name}.pid} | |
| procname=${sendmail_procname:-/usr/sbin/${name}} | |
| CERTDIR=/etc/mail/certs | |
| case ${sendmail_enable} in | |
| [Nn][Oo][Nn][Ee]) | |
| sendmail_enable="NO" | |
| sendmail_submit_enable="NO" | |
| sendmail_outbound_enable="NO" | |
| sendmail_msp_queue_enable="NO" | |
| ;; | |
| esac | |
| # If sendmail_enable=yes, don't need submit or outbound daemon | |
| if checkyesno sendmail_enable; then | |
| sendmail_submit_enable="NO" | |
| sendmail_outbound_enable="NO" | |
| fi | |
| # If sendmail_submit_enable=yes, don't need outbound daemon | |
| if checkyesno sendmail_submit_enable; then | |
| sendmail_outbound_enable="NO" | |
| fi | |
| sendmail_cert_create() | |
| { | |
| cnname="${sendmail_cert_cn:-`hostname`}" | |
| cnname="${cnname:-amnesiac}" | |
| # based upon: | |
| # http://www.sendmail.org/~ca/email/other/cagreg.html | |
| CAdir=`mktemp -d` && | |
| certpass=`(date; ps ax ; hostname) | md5 -q` | |
| # make certificate authority | |
| ( cd "$CAdir" && | |
| chmod 700 "$CAdir" && | |
| mkdir certs crl newcerts && | |
| echo "01" > serial && | |
| :> index.txt && | |
| cat <<-OPENSSL_CNF > openssl.cnf && | |
| RANDFILE = $CAdir/.rnd | |
| [ ca ] | |
| default_ca = CA_default | |
| [ CA_default ] | |
| dir = . | |
| certs = \$dir/certs # Where the issued certs are kept | |
| crl_dir = \$dir/crl # Where the issued crl are kept | |
| database = \$dir/index.txt # database index file. | |
| new_certs_dir = \$dir/newcerts # default place for new certs. | |
| certificate = \$dir/cacert.pem # The CA certificate | |
| serial = \$dir/serial # The current serial number | |
| crlnumber = \$dir/crlnumber # the current crl number | |
| crl = \$dir/crl.pem # The current CRL | |
| private_key = \$dir/cakey.pem | |
| x509_extensions = usr_cert # The extentions to add to the cert | |
| name_opt = ca_default # Subject Name options | |
| cert_opt = ca_default # Certificate field options | |
| default_days = 365 # how long to certify for | |
| default_crl_days= 30 # how long before next CRL | |
| default_md = default # use public key default MD | |
| preserve = no # keep passed DN ordering | |
| policy = policy_anything | |
| [ policy_anything ] | |
| countryName = optional | |
| stateOrProvinceName = optional | |
| localityName = optional | |
| organizationName = optional | |
| organizationalUnitName = optional | |
| commonName = supplied | |
| emailAddress = optional | |
| [ req ] | |
| default_bits = 2048 | |
| default_keyfile = privkey.pem | |
| distinguished_name = req_distinguished_name | |
| attributes = req_attributes | |
| x509_extensions = v3_ca # The extentions to add to the self signed cert | |
| string_mask = utf8only | |
| prompt = no | |
| [ req_distinguished_name ] | |
| countryName = XX | |
| stateOrProvinceName = Some-state | |
| localityName = Some-city | |
| 0.organizationName = Some-org | |
| CN = $cnname | |
| [ req_attributes ] | |
| challengePassword = foobar | |
| unstructuredName = An optional company name | |
| [ usr_cert ] | |
| basicConstraints=CA:FALSE | |
| nsComment = "OpenSSL Generated Certificate" | |
| subjectKeyIdentifier=hash | |
| authorityKeyIdentifier=keyid,issuer | |
| [ v3_req ] | |
| basicConstraints = CA:FALSE | |
| keyUsage = nonRepudiation, digitalSignature, keyEncipherment | |
| [ v3_ca ] | |
| subjectKeyIdentifier=hash | |
| authorityKeyIdentifier=keyid:always,issuer | |
| basicConstraints = CA:true | |
| OPENSSL_CNF | |
| # though we use a password, the key is discarded and never used | |
| openssl req -batch -passout pass:"$certpass" -new -x509 \ | |
| -keyout cakey.pem -out cacert.pem -days 3650 \ | |
| -config openssl.cnf -newkey rsa:2048 >/dev/null 2>&1 && | |
| # make new certificate | |
| openssl req -batch -nodes -new -x509 -keyout newkey.pem \ | |
| -out newreq.pem -days 365 -config openssl.cnf \ | |
| -newkey rsa:2048 >/dev/null 2>&1 && | |
| # sign certificate | |
| openssl x509 -x509toreq -in newreq.pem -signkey newkey.pem \ | |
| -out tmp.pem >/dev/null 2>&1 && | |
| openssl ca -notext -config openssl.cnf \ | |
| -out newcert.pem -keyfile cakey.pem -cert cacert.pem \ | |
| -key "$certpass" -batch -infiles tmp.pem >/dev/null 2>&1 && | |
| mkdir -p "$CERTDIR" && | |
| chmod 0755 "$CERTDIR" && | |
| chmod 644 newcert.pem cacert.pem && | |
| chmod 600 newkey.pem && | |
| cp -p newcert.pem "$CERTDIR"/host.cert && | |
| cp -p cacert.pem "$CERTDIR"/cacert.pem && | |
| cp -p newkey.pem "$CERTDIR"/host.key && | |
| ln -s cacert.pem "$CERTDIR"/`openssl x509 -hash -noout \ | |
| -in cacert.pem`.0) | |
| retVal="$?" | |
| rm -rf "$CAdir" | |
| return "$retVal" | |
| } | |
| sendmail_precmd() | |
| { | |
| # Die if there's pre-8.10 custom configuration file. This check is | |
| # mandatory for smooth upgrade. See NetBSD PR 10100 for details. | |
| # | |
| if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then | |
| if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then | |
| warn \ | |
| "${name} was not started; you have multiple copies of sendmail.cf." | |
| return 1 | |
| fi | |
| fi | |
| # check modifications on /etc/mail/aliases | |
| if checkyesno sendmail_rebuild_aliases; then | |
| if [ -f "/etc/mail/aliases.db" ]; then | |
| if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then | |
| echo \ | |
| "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" | |
| /usr/bin/newaliases | |
| fi | |
| else | |
| echo \ | |
| "${name}: /etc/mail/aliases.db not present, generating" | |
| /usr/bin/newaliases | |
| fi | |
| fi | |
| if checkyesno sendmail_cert_create && [ ! \( \ | |
| -f "$CERTDIR/host.cert" -o -f "$CERTDIR/host.key" -o \ | |
| -f "$CERTDIR/cacert.pem" \) ]; then | |
| if ! openssl version >/dev/null 2>&1; then | |
| warn "OpenSSL not available, but sendmail_cert_create is YES." | |
| else | |
| info Creating certificate for sendmail. | |
| sendmail_cert_create | |
| fi | |
| fi | |
| } | |
| run_rc_command "$1" | |
| required_files= | |
| if checkyesno sendmail_submit_enable; then | |
| name="sendmail_submit" | |
| rcvar="sendmail_submit_enable" | |
| run_rc_command "$1" | |
| fi | |
| if checkyesno sendmail_outbound_enable; then | |
| name="sendmail_outbound" | |
| rcvar="sendmail_outbound_enable" | |
| run_rc_command "$1" | |
| fi | |
| name="sendmail_msp_queue" | |
| rcvar="sendmail_msp_queue_enable" | |
| pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" | |
| required_files="/etc/mail/submit.cf" | |
| run_rc_command "$1" |